Skip to content
GitLab
  • Menu
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • sac2c sac2c
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 392
    • Issues 392
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 15
    • Merge requests 15
  • Deployments
    • Deployments
    • Releases
  • Wiki
    • Wiki
  • External wiki
    • External wiki
  • Activity
  • Graph
  • Create a new issue
  • Commits
  • Issue Boards
Collapse sidebar
  • sac-group
  • sac2csac2c
  • Merge requests
  • !380

Help subsections

  • Review changes

  • Download
  • Email patches
  • Plain diff
Merged Jordy Aaldering requested to merge help-subsections into develop Apr 12, 2025
  • Overview 0
  • Commits 5
  • Changes 7

sac2c -h and sac2c -help now provide the same debug information, instead of being different.

Namely, they print:

---------------------------------------------------------------------------
 SAC - Single Assignment C
---------------------------------------------------------------------------

Name:    sac2c
Version: 2.0.0-Tintigny-66-g15bb7-dirty

    The sac2c compiler transforms SAC source code into executable programs
    (SAC programs) or into a SAC specific library format (SAC module and
    class implementations), respectively.

    The compilation process is performed in 4 separate stages:
      1. sac2c uses any C preprocessor to preprocess the given SAC source;
         while doing so we expose some internals via debug-flags:
             SAC_BUILD_STYLE=<xyz>
             SAC_BACKEND_<xyz>
             SAC_BACKEND_STRING="<xyz>"
             SAC_TARGET_<xyz>
             SAC_TARGET_STRING="<xyz>"
             SAC_RC_<resource-entry>=<val> for all numeric entries
      2. sac2c itself transforms preprocessed SAC source code into C code;
      3. sac2c uses any C compiler to generate target machine code;
      4. sac2c uses any C linker to create an executable program
         or sac2c itself creates a SAC library file.

    When compiling a SAC program, sac2c stores the corresponding
    intermediate C code either in the file a.out.c in the current directory
    (default) or in the file <file>.c if <file> is specified using the -o
    option. Here, any absolute or relative path name may be used.
    The executable program is either written to the file a.out or to any
    file specified using the -o option.

    However, when compiling a SAC module/class implementation, the
    resulting SAC library is stored in the files <mod/class name>.a
    and  <mod/class name>.so in the current directory.
    In this case, the -o option may be used to specify a
    different directory but not a different file name.

HELP OPTIONS:

    -h desc         Print tool description.
    -h features     Print installation-specific feature set.
    -h options      Print general compiler options.
    -h typeinfer    Print type inferencing options.
    -h break        Print break options.
    -h print        Print printing options.
    -h fredfish     Print Fred Fish's debug options.
    -h debug        Print debug options.
    -h opt          Print optimization options.
    -h mt           Print multithreading options.
    -h cuda         Print CUDA options.
    -h distmem      Print distributed memory backend options (experimental).
    -h backend      Print backend options.
    -h feedback     Print compile-time feedback options.
    -h messaging    Print compile-time messaging options.
    -h rtcheck      Print runtime checking options.
    -h rttrace      Print runtime tracing options.
    -h rtprofile    Print runtime profiling options.
    -h cachesim     Print runtime cache simulation options.
    -h lib          Print library options.
    -h c            Print C compiler options.
    -h custom       Print customization options.
    -h env          Print environment variables.
    -h copyright    Print copyright information.
    -h contact      Print contact information.
    -h authors      Print authors.

CONTACT:

    WWW:    https://www.sac-home.org/
    E-Mail: info@sac-home.org

BUGS:

    Bugs??  We????

    SAC is a research project!

    SAC tools are platforms for scientific research rather than
    "products" for end users. Although we try to do our very best,
    you may well run into a compiler bug. So, we are happy to receive
    your bug reports (Well, not really "happy", but ...).

To print a specific subsection (help page), one can use sac2c -h thename or sac2c -help thename.

For example, features

---------------------------------------------------------------------------
 SAC - Single Assignment C
---------------------------------------------------------------------------

Name:    sac2c
Version: 2.0.0-Tintigny-66-g15bb7-dirty

INSTALLATION-SPECIFIC FEATURE SET:

 - default path to sac2crc:  /usr/local/share/sac2c/2.0.0-Tintigny-66-g15bb7-dirty/sac2crc_d
 - build path to sac2crc:    /home/jordy/Documents/sac2c/build_d/sac2crc_d
 - default path to libsac2c: /usr/local/libexec/sac2c/2.0.0-Tintigny-66-g15bb7-dirty
 - build path to libsac2c:   /home/jordy/Documents/sac2c/build_d/lib

Alternatively, sac2c -h all or sac2c -help all prints EVERYTHING.

Edited Apr 12, 2025 by Jordy Aaldering
Assignee
Assign to
Reviewer
Request review from
Time tracking
Source branch: help-subsections