[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

7.1 GPC options besides those of GCC.

The following table lists the command line options GPC understands in addition to those understood by GCC.

--classic-pascal-level-0
Reject conformant arrays and anything besides ISO-7185 Pascal.
--classic-pascal
Reject anything besides ISO-7185 Pascal.
--standard-pascal-level-0
Reject conformant arrays and anything besides ISO-7185 Pascal.
--standard-pascal
Reject anything besides ISO-7185 Pascal.
--extended-pascal
Reject anything besides ISO-10206 Extended Pascal.
--object-pascal
Reject anything besides (the implemented parts of) ANSI draft Object Pascal.
--borland-pascal
Try to emulate Borland Pascal, version 7.0.
--delphi
Try to emulate Borland Pascal, version 7.0, with some Delphi extensions.
--pascal-sc
Be strict about the implemented Pascal-SC extensions.
--gnu-pascal
Undo the effect of a previous `--foo-pascal', `--delphi' or `--pascal-sc' switch.
--debug-tree
(For GPC developers.) Show the internal representation of a given tree node (name or address).
--debug-gpi
(For GPC developers.) Show what is written to and read from GPI files (huge output!).
--debug-automake
(For GPC developers.) Give additional information about the actions of automake.
--debug-source
Output the source while it is processed.
--no-debug-info
Inhibit `-g' options (temporary work-around, this option may disappear in the future).
--progress-messages
Output source file names and line numbers while compiling.
--progress-bar
Output number of processed lines while compiling.
--autolink
Automatically link object files provided by units/modules or `{$L ...}' (default).
--no-autolink
Do not automatically link object files provided by units/modules/`{$L ...}'.
--automake
Automatically compile changed units/modules/`{$L ...}' files and link the object files provided.
--no-automake
Same as `--no-autolink'.
--autobuild
Automatically compile all units/modules/`{$L ...}' files and link the object files provided.
--no-autobuild
Same as `--no-autolink'.
--amtmpfile
(Internal switch used for AutoMake).
--extended-syntax
Enable certain `dangerous' features such as ignoring function results, pointer arithmetic or using `CString's as strings (same as `{$X+}').
--no-extended-syntax
Disable the dangerous features enabled by `--extended-syntax' (default; same as `{$X-}').
--signed-char
Let `Char' be a signed type.
--no-signed-char
Let `Char' be an unsigned type.
--unsigned-char
Let `Char' be an unsigned type.
--no-unsigned-char
Let `Char' be a signed type.
--short-circuit
Guarantee short-circuit Boolean evaluation (default; same as `{$B-}').
--no-short-circuit
Do not guarantee short-circuit Boolean evaluation (same as `{$B+}').
--mixed-comments
Allow comments like `{ ... *)' as required in ISO Pascal (default in ISO 7185/10206 Pascal mode).
--no-mixed-comments
Ignore `{' and `}' within `(* ... *)' comments and vice versa (default).
--nested-comments
Allow nested comments like `{ { } }' and `(* (* *) *)'.
--no-nested-comments
Do not allow nested comments (default).
--delphi-comments
Allow Delphi style `//' comments (default).
--no-delphi-comments
Do not allow Delphi style `//' comments.
--macros
Expand macros (default).
--no-macros
Do not expand macros (default with `--borland-pascal' or `--delphi').
--ignore-function-results
Do not complain when a function is called like a procedure.
--no-ignore-function-results
Complain when a function is called like a procedure (default).
--borland-char-constants
Allow for Borland-style character constants like `#27' or `^L' (default).
--no-borland-char-constants
Reject Borland-style character constants like `#27' or `^L' (default in ISO 7185/10206 Pascal mode).
--truncate-strings
Truncate strings being assigned to other strings of too short capacity..
--no-truncate-strings
Treat string assignments to other strings of too short capacity as errors..
--exact-compare-strings
Do not blank-pad strings for comparisons.
--no-exact-compare-strings
Blank-pad strings for comparisons.
--double-quoted-strings
Allow strings enclosed in "\"..
--no-double-quoted-strings
Do not allow strings enclosed in "\"..
--io-checking
Do automatic run-time checks after I/O operations (same as `{$I+}').
--no-io-checking
Do not check I/O operations automatically (same as `{$I-}').
--read-base-specifier
In read statements, allow non-decimal input with `n#' (default).
--no-read-base-specifier
In read statements, do not allow non-decimal input with `n#' (default in ISO-7185 Pascal).
--read-hex
In read statements, allow hexadecimal input with `$' (default).
--no-read-hex
In read statements, do not allow hexadecimal input with `$' (default in ISO-7185 Pascal).
--read-white-space
In read statements, require whitespace after numbers.
--no-read-white-space
In read statements, do not require whitespace after numbers (default).
--write-clip-strings
In write statements, truncate strings exceeding their field width (`Write (SomeLongString : 3)').
--no-write-clip-strings
Do not truncate strings exceeding their field width.
--write-real-blank
Output a blank in front of positive reals in exponential form (default).
--no-write-real-blank
Do not output a blank in front of positive reals in exponential form.
--write-capital-exponent
Write real exponents with a capital `E'.
--no-write-capital-exponent
Write real exponents with a lowercase `e'.
--transparent-file-names
Derive external file names from variable names.
--no-transparent-file-names
Do not derive external file names from variable names (default).
--field-widths
Comma-separated list of default field widths for Integer, Real, Boolean, LongInt, LongReal.
--no-field-widths
Reset the default field widths.
--pedantic
Reject everything not allowed in some dialect, e.g. redefinition of its keywords.
--no-pedantic
Don't give pedantic warnings.
--stack-checking
Enable stack checking (same as `{$S+}').
--no-stack-checking
Disable stack checking (same as `{$S-}').
--typed-address
Make the result of the address operator typed (same as `{$T+}', default).
--no-typed-address
Make the result of the address operator an untyped pointer (same as `{$T-}').
--setlimit
Define the range for `set of Integer' etc..
--gpc-main
External name for the program's entry point (default: `main').
--interface-only
Compile only the interface part of a unit/module and exit.
--implementation-only
Do not produce a GPI file; only compile the implementation part.
--executable-file-name
Name for the output file, if specified; otherwise derive from main source file name.
--unit-path
Directories where to look for unit/module sources.
--no-unit-path
Forget about directories where to look for unit/module sources.
--object-path
Directories where to look for additional object (and source) files.
--no-object-path
Forget about directories where to look for additional object (and source) files.
--executable-path
Path where to create the executable file.
--no-executable-path
Create the executable file in the directory where the main source is (default).
--unit-destination-path
Path where to create object and GPI files of Pascal units.
--no-unit-destination-path
Create object and GPI files of Pascal units in the current directory (default).
--object-destination-path
Path where to create additional object files (e.g. of C files, not Pascal units).
--no-object-destination-path
Create additional object files (e.g. of C files, not Pascal units) in the current directory (default).
--no-default-paths
Do not add a default path to the unit and object path.
--gpi-destination-path
(Internal switch used for AutoMake).
--uses
Add an implicit `uses' clause.
--init-modules
Initialize the named modules in addition to those imported regularly; kind of a kludge.
--cidefine
Define a case-insensitive macro.
--csdefine
Define a case-sensitive macro.
--big-endian
Tell GPC that the system is big-endian (for those targets where it can very).
--little-endian
Tell GPC that the system is little-endian (for those targets where it can very).
--print-needed-options
Print the needed options.
-Wwarnings
Enable warnings (same as `{$W+}').
-Wno-warnings
Disable warnings (same as `{$W-}').
-Wfield-name-problem
Warn about ignored field names in initializers (default).
-Wno-field-name-problem
Do not warn about ignored field names in initializers.
-Wobject-directives
Warn about unimplemented `private', `protected' and `public' directives (default).
-Wno-object-directives
Do not warn about unimplemented `private', `protected' and `public' directives.
-Wimplicit-abstract
Warn if an object type not declared `abstract' contains an abstract method (default).
-Wno-implicit-abstract
Do not warn if an object type not `declared' abstract contains an abstract method.
-Winherited-abstract
Warn if an abstract object type inherits from a non-abstract one (default).
-Wno-inherited-abstract
Do not warn warn if an abstract object type inherits from a non-abstract one.
-Wtyped-const
Warn about misuse of typed constants as initialized variables (default).
-Wno-typed-const
Do not warn about misuse of typed constants as initialized variables.
-Wnear-far
Warn about use of useless `near' or `far' directives (default).
-Wno-near-far
Do not warn about use of useless `near' or `far' directives.
-Wunderscore
Warn about double/leading/trailing underscores in identifiers.
-Wno-underscore
Do not warn about double/leading/trailing underscores in identifiers.
-Wmixed-comments
Warn about mixed comments like `{ ... *)'.
-Wno-mixed-comments
Do not warn about mixed comments.
-Wnested-comments
Warn about nested comments like `{ { } }'.
-Wno-nested-comments
Do not warn about nested comments.
-Wsemicolon
Warn about a semicolon after @samp{then}, @samp{else} or @samp{do} (default).
-Wno-semicolon
Do not warn about a semicolon after @samp{then}, @samp{else} or @samp{do}.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

This document was generated by Frank Heckenbach on May, 10 2002 using texi2html