source: doc/man/cfa.1 @ 09a1ae6

new-envwith_gc
Last change on this file since 09a1ae6 was 7bd1bb5, checked in by Peter A. Buhr <pabuhr@…>, 7 years ago

change CFA file suffix

  • Property mode set to 100644
File size: 4.7 KB
RevLine 
[ab6ed1e]1.\"                             -*- Mode: Nroff -*-
2.\" 
3.\" Cforall Version 1.0.0 Copyright (C) 2017 University of Waterloo
4.\"
5.\" The contents of this file are covered under the licence agreement in the
6.\" file "LICENCE" distributed with Cforall.
7.\"
8.\" cfa.1 --
9.\"
10.\" Author           : Peter A. Buhr
11.\" Created On       : Wed Jul 26 22:34:47 2017
12.\" Last Modified By : Peter A. Buhr
[7bd1bb5]13.\" Last Modified On : Thu Jul 27 10:29:29 2017
14.\" Update Count     : 44
[ab6ed1e]15.\"
16.\" nroff -man cfa.1
17.\"
18.ds Ho "/usr/local
19.ds Mg "1
20.ds Mn "0
21.ds Pt "0
22.ds Vr "cfa-\*(Mg.\*(Mn.\*(Pt
23.ds Cf "Cforall
24.\"
25.TH cfa 1 2017-07-27 cfa-\*(Mg
26.SH NAME
27cfa \- \*(Cf Translator and Runtime Library
28.SH SYNOPSIS
29cfa [gcc-options] [C/\*(Cf source-files] [assembler/loader files]
30.SH DESCRIPTION
31The cfa command compiles C and \*(Cf source files and links C/\*(Cf object
32files named on the command line.
33
34The cfa command introduces a translator pass over the specified source files
35after the C preprocessor but before the C compilation.  The translator converts
36new \*(Cf constructs into C statements.  The cfa command also provides the
37runtime library, which is linked with each \*(Cf application.
38
39The command line options depend on the particular C compiler used (gcc/clang
40supported).  As with most C compilers, the output is sent to the file a.out(5)
41unless the -o option is present on the command line.  See the reference pages
42for gcc(1) for more information.
43.SH OPTIONS
44When multiple conflicting options appear on the command line, e.g.,
45.B -debug
46followed by
47.B -nodebug,
48the last option takes precedence.
49.LP
50All of the options available to the gcc compiler are available to the cfa
51translator.  The following gcc flags are implicitly turned on:
52.IP -std=gnu99 3
53The 1999 C standard plus GNU extensions.
54.IP -fgnu89-inline
55Use the traditional GNU semantics for inline routines in C99 mode, which allows inline routines in header files.
56.LP
57The following additional options are available:
58.IP -CFA 3
59Only the C preprocessor and the \*(Cf translator steps are performed and the transformed program is written to standard output, which makes it possible to examine the code generated by the \*(Cf translator.
60The generated code starts with the standard \*(Cf prelude.
61.IP -debug
62The program is linked with the debugging version of the runtime system.
63The debug version performs runtime checks to help during the debugging phase of a \*(Cf program, but can substantially slow program execution.
64The runtime checks should only be removed after the program is completely debugged.
65.B This option is the default.
66.IP -nodebug
67The program is linked with the non-debugging version of the runtime system, so the execution of the program is faster.
68.I However, no runtime checks or asserts are performed so errors usually result in abnormal program behaviour or termination.
69.IP -help
70Information about the set of \*(Cf compilation flags is printed.
71.IP -nohelp
72Information about the set of \*(Cf compilation flags is not printed.
73.B This option is the default.
74.IP -quiet
75The \*(Cf compilation message is not printed at the beginning of a compilation.
76.IP -noquiet
77The \*(Cf compilation message is printed at the beginning of a compilation.
78.B This option is the default.
79.SH PREPROCESSOR VARIABLES
80When programs are compiled using cfa, the following preprocessor variables are
81available.  These variables allow conditional compilation of programs that must
82work differently in these situations.
83.IP __CFA_MAJOR__ 3
84is available during preprocessing and its value is the major version number of \*(Cf.
85.IP __CFA_MINOR__
86is available during preprocessing and its value is the minor version number of \*(Cf.
87.IP __CFA_PATCH__
88is available during preprocessing and its value is the patch level number of \*(Cf.
89.IP "__CFA__, __CFORALL__, and __cforall"
90are always available during preprocessing and have no value.
91.IP __CFA_DEBUG__
92is available during preprocessing if the -debug compilation option is
93specified.
94.SH FILES
95.DS B
[7bd1bb5]96file.{c,cfa} - \*(Cf source file
[ab6ed1e]97.br
98file.s - assembly language file
99.br
100file.o - object file
101.br
102\*(Ho/\*(Vr/bin/cfa - translator
103.br
104\*(Ho/\*(Vr/doc - reference manuals and documents
105.br
106\*(Ho/\*(Vr/include - header files
107.br
108\*(Ho/\*(Vr/lib - run time libraries
109.br
110\*(Ho/\*(Vr/man - command documentation
111.br
112\*(Ho/\*(Vr/src - source code (optional)
113.DE
114.SH SEE ALSO
115cpp(1), gcc(1), gdb(1)
116.SH REFERENCES
117.HP 3
118\*(Cf Reference and Rational Manual
119.br
120http://plg.uwaterloo.ca/~cforall/refrat.pdf
121.HP
122.I \*(Cf User Manual
123.br
124http://plg.uwaterloo.ca/~cforall/user.pdf
125.SH BUGS
126Bugs should be reported to trac@plg.cs.uwaterloo.ca.
127.SH COPYRIGHT
128\*(Cf is covered under the licence agreement in the distribution.
129.SH AUTHORS
130Andrew Beach, Richard Bilson, Peter A. Buhr, Thierry Delisle, Glen Ditchfield,
131Rodolfo G. Esteves, Aaron Moss, Rob Schluntz
Note: See TracBrowser for help on using the repository browser.