GCC common switches: Difference between revisions
From RISC OS
Jump to navigationJump to search
(Create page) |
(Add introduction) |
||
| Line 1: | Line 1: | ||
The following is an edited list of the command line switches for RISC OS GCC 3.4.6 release 3. GCC has many options, and only those most of interest to RISC OS users are listed here. The full list may be obtained with *gcc --help -v |
|||
--help Display this information |
--help Display this information |
||
-dumpspecs Display all of the built in spec strings |
-dumpspecs Display all of the built in spec strings |
||
Revision as of 20:59, 28 November 2007
The following is an edited list of the command line switches for RISC OS GCC 3.4.6 release 3. GCC has many options, and only those most of interest to RISC OS users are listed here. The full list may be obtained with *gcc --help -v
--help Display this information
-dumpspecs Display all of the built in spec strings
-dumpversion Display the version of the compiler
-dumpmachine Display the compiler's target processor
-Wa,<options> Pass comma-separated <options> on to the assembler
-Wp,<options> Pass comma-separated <options> on to the preprocessor
-Wl,<options> Pass comma-separated <options> on to the linker
-Xassembler <arg> Pass <arg> on to the assembler
-Xpreprocessor <arg> Pass <arg> on to the preprocessor
-Xlinker <arg> Pass <arg> on to the linker
-v Display the programs invoked by the compiler
-### Like -v but options quoted and commands not executed
-E Preprocess only; do not compile, assemble or link
-S Compile only; do not assemble or link
-c Compile and assemble, but do not link
-o <file> Place the output into <file>
-x <language> Specify the language of the following input files
Permissible languages include: c c++ assembler none
'none' means revert to the default behavior of
guessing the language based on the file's extension
Options starting with -g, -f, -m, -O, -W, or --param are automatically
passed on to the various sub-processes invoked by gcc. In order to pass
other options on to these processes the -W<letter> options must be used.
Configured with: ./configure
Thread model: posix
gcc version 3.4.6 (RISC OS GCCSDK 3.4.6 Release 3)
--help Display this information
--version This switch lacks documentation
-O<number> Set optimization level to <number>
-Os Optimize for space rather than speed
-Werror Treat all warnings as errors
-Wextra Print extra (possibly unwanted) warnings
-fPIC This switch lacks documentation
-funroll-all-loops Perform loop unrolling for all loops
-funroll-loops Perform loop unrolling when iteration count is
known
-g Generate debug information in default format
-o <file> Place output into <file>
-p Enable function profiling
-pedantic Issue warnings needed for strict compliance to
the standard
-pedantic-errors Like -pedantic but issue them as errors
-quiet Do not display functions compiled or elapsed time
-version Display the compiler's version
-w Suppress warnings
The C front end recognizes the following options:
-U<macro> Undefine <macro>
-Wall This switch lacks documentation
-Wdeclaration-after-statement Warn when a declaration is found after a
statement
-Wdiv-by-zero Warn about compile-time integer division by zero
-Wformat Warn about printf/scanf/strftime/strfmon format
string anomalies
-Wformat-extra-args Warn if passing too many arguments to a function
for its format string
-Wlong-long Do not warn about using "long long" when -pedantic
-Wmissing-braces Warn about possibly missing braces around
initializers
-Wmissing-declarations Warn about global functions without previous
declarations
-Wmissing-format-attribute Warn about functions which might be candidates
for format attributes
-Wmissing-prototypes Warn about global functions without prototypes
-ansi A synonym for -std=c89 (for C) or -std=c++98 (for
C++).
-icrossdirafter <dir> Add <dir> to the end of the system include path
-idirafter <dir> Add <dir> to the end of the system include path
-imacros <file> Accept definition of macros in <file>
-include <file> Include the contents of <file> before other files
-iprefix <path> Specify <path> as a prefix for next two options
-isysroot <dir> Set <dir> to be the system root directory
-isystem <dir> Add <dir> to the start of the system include path
-iwithprefix <dir> Add <dir> to the end of the system include path
-iwithprefixbefore <dir> Add <dir> to the end of the main include path
-nostdinc Do not search standard system include directories
(those specified with -isystem will still be used)
-remap Remap file names when including files
-std=c89 Conform to the ISO 1990 C standard
-std=c99 Conform to the ISO 1999 C standard
-std=c9x Deprecated in favor of -std=c99
-std=gnu89 Conform to the ISO 1990 C standard with GNU
extensions
-std=gnu99 Conform to the ISO 1999 C standard with GNU
extensions
-std=gnu9x Deprecated in favor of -std=gnu99
-std=iso9899:1990 Conform to the ISO 1990 C standard
-std=iso9899:199409 Conform to the ISO 1990 C standard as amended in
1994
-std=iso9899:1999 Conform to the ISO 1999 C standard
-std=iso9899:199x Deprecated in favor of -std=iso9899:1999
-traditional-cpp Enable traditional preprocessing
-undef Do not predefine system-specific and GCC-specific
macros
-v Enable verbose output
The C++ front end recognizes the following options:
--output-pch=, -A, -C, -CC, -D, -H, -I, -M, -MD, -MF, -MG, -MM, -MMD, -MP, -MQ,
-MT, -P, -U, -Wall, -Wcast-qual, -Wchar-subscripts, -Wcomment, -Wcomments,
-Wconversion, -Wendif-labels, -Wfloat-equal, -Wformat, -Wformat-extra-args,
-Wformat-nonliteral, -Wformat-security, -Wformat-y2k, -Wformat=, -Wimplicit,
-Wimport, -Winit-self, -Winvalid-pch, -Wlong-long, -Wmissing-braces,
-Wmissing-format-attribute, -Wmultichar, -Wparentheses, -Wpointer-arith,
-Wredundant-decls, -Wreturn-type, -Wsign-compare, -Wtrigraphs, -Wundef,
-Wunknown-pragmas, -Wunused-macros, -Wwrite-strings, -ansi, -fasm, -fbuiltin,
-fbuiltin-, -fcond-mismatch, -fdollars-in-identifiers, -fdump-,
-fexec-charset=, -finput-charset=, -fms-extensions, -fpch-deps, -fpreprocessed,
-fshort-double, -fshort-enums, -fshort-wchar, -fshow-column,
-fsigned-bitfields, -fsigned-char, -ftabstop=, -funsigned-bitfields,
-funsigned-char, -fwide-exec-charset=, -fworking-directory, -icrossdirafter,
-idirafter, -imacros, -include, -iprefix, -isysroot, -isystem, -iwithprefix,
-iwithprefixbefore, -nostdinc, -remap, -traditional-cpp, -trigraphs, -undef,
-v
-fxref Emit cross referencing information
-nostdinc++ Do not search standard system include directories
for C++
-std=c++98 Conform to the ISO 1998 C++ standard
-std=gnu++98 Conform to the ISO 1998 C++ standard with GNU
extensions
/gccpkg:bin/arm-riscos-aof/3_4/as -t ARM6 -apcsfpv3 -apcs32 --help -o /tmp/cckCXpgh.o /tmp/ccePwa4J.s
AS AOF/ELF Assembler v1.46 (Jul 17 2007) [GCCSDK 3.4.6 (RISC OS GCCSDK 3.4.6 Release 3)]
Usage: gccpkg:bin.arm-riscos-aof.3_4.as [option]... <asmfile>
Options:
-o objfile Specifies destination AOF file.
-Idirectory Search 'directory' for included assembler files.
-pedantic -p Display extra warnings.
-verbose -v Display progress information.
-fussy -f Display conversion information. Can be specified more than once for more conversion information.
-dde Replace '@' in filenames with <Prefix$Dir>.
-throwback -tb Throwback errors to a text editor.
-autocast -ac Enable casting from integer to float.
-target -t Target ARM CPU (ARM2...SA110).
-gas Support some GNU GAS keywords (NOT IMPLEMENTED).
-depend <file> -d <file> Write 'make' source file dependency information to 'file'.
-noalign -na Don't auto-align words and halfwords.
-nolocal -nl No builtin LOCAL support.
-objasm -obj More compatibility with ObjAsm.
-upper -up Mnemonics must be in upper case.
-help -h -H -? Display this help.
-version -ver Display the version number.
-From asmfile Source assembler file (ObjAsm compatibility).
-To objfile Destination AOF file (ObjAsm compatibility).
-apcs26 26-bit APCS AREAs.
-apcs32 32-bit APCS AREAs [default].
-apcsfpv2 Use floating point v2 AREAs.
-apcsfpv3 Use floating point v3 AREAs (SFM, LFM) [default]
-soft-float Mark code as using -msoft-float (avoids explicit FP instructions). This is a GCCSDK extension to the AOF file format.
-hard-float Mark code as using -mhard-float (uses explicit FP instructions) [default].
-module Set if building RISC OS RMA modules.
-elf Output ELF file.
/gccpkg:bin/arm-riscos-aof/3_4/ld --help -L/gccpkg:bin/arm-riscos-aof/3_4/apcs32/abs/unixlib -L/gccpkg:bin/arm-riscos-aof/3_4 -L/gccpkg:startup /tmp/cckCXpgh.o -lgcc -lunixlib -lgcc
ld: RISC OS linker front end v2.30 (Jul 17 2007) [GCCSDK 3.4.6 (RISC OS GCCSDK 3.4.6 Release 3)]
Including C++ template repository support
LD is used by GCC to convert command line options passed to
GNU LD into something that Drlink or Link can understand.
LD also provides support for C++ template instantiation by
compiling a C++ source file several times to resolve missing
symbol references.
Syntax:
ld -o <exec> o.<obj> [o.<obj> ...] [-L<path>] [-l<lib>]
Where:
-L<path> <path> is a library search path
-l<lib> <lib> is a library to link against
o.<obj> Object files
The following Drlink linker commands are recognised:
-acornmap, -area[map] <file>, -aif, -aof, -bin, -case
-leave[weak], -map, -m[odule], -no[unused], -output, -qui[et]
-res[can], -symbols <file>, -throwback, -via <file>, -verbose
The following Acorn Link linker (version 4) commands are recognised:
-aif, -aof, -bin, -map, -via <file>, -verbose
The following Acorn Link linker (version 5) commands are recognised:
-aif, -aof, -bin, -map, -via <file>, -nounused[areas], -verbose
Text within square brackets is optional
By default, the real linker will be Drlink, and this must be placed
in a directory searched by Run$Path. To use an alternative linker
(Acorn Link, or one that isn't contained within the Run$Path),
then GCC$Linker should contain the full pathname of the linker e.g.
*Set GCC$Linker "$.library.link"
For bug reporting instructions, please see:
<URL:http://gccsdk.riscos.info/>