@c Generated automatically from lang-options.h
@c DO NOT CHANGE THIS FILE MANUALLY!

@table @code
@item --debug-tree
@cindex --debug-tree
(For GPC developers.) Show the internal representation of a given tree node (name or address).
@item --debug-gpi
@cindex --debug-gpi
(For GPC developers.) Show what is written to and read from GPI files (huge output!).
@item --debug-automake
@cindex --debug-automake
(For GPC developers.) Give additional information about the actions of automake.
@item --debug-source
@cindex --debug-source
Output the source while it is being processed to standard error.
@item --no-debug-source
@cindex --no-debug-source
Do not output the source while it is being processed (default).
@item --disable-debug-info
@cindex --disable-debug-info
Inhibit @samp{-g} options (temporary work-around, this option may disappear in the future).
@item --progress-messages
@cindex --progress-messages
Output source file names and line numbers while compiling.
@item --no-progress-messages
@cindex --no-progress-messages
Do not output source file names and line numbers while compiling (default).
@item --progress-bar
@cindex --progress-bar
Output number of processed lines while compiling.
@item --no-progress-bar
@cindex --no-progress-bar
Do not output number of processed lines while compiling (default).
@item --automake-gpc
@cindex --automake-gpc
Set the Pascal compiler invoked by automake.
@item --automake-gcc
@cindex --automake-gcc
Set the C compiler invoked by automake.
@item --automake-g++
@cindex --automake-g++
Set the C++ compiler invoked by automake.
@item --amtmpfile
@cindex --amtmpfile
(Internal switch used for automake).
@item --autolink
@cindex --autolink
Automatically link object files provided by units/modules or @samp{@{$L ...@}} (default).
@item --no-autolink
@cindex --no-autolink
Do not automatically link object files provided by units/modules/@samp{@{$L ...@}}.
@item --automake
@cindex --automake
Automatically compile changed units/modules/@samp{@{$L ...@}} files and link the object files provided.
@item --no-automake
@cindex --no-automake
Same as @samp{--no-autolink}.
@item --autobuild
@cindex --autobuild
Automatically compile all units/modules/@samp{@{$L ...@}} files and link the object files provided.
@item --no-autobuild
@cindex --no-autobuild
Same as @samp{--no-autolink}.
@item --maximum-field-alignment
@cindex --maximum-field-alignment
Set the maximum field alignment in bits if @samp{pack-struct} is in effect.
@item --ignore-packed
@cindex --ignore-packed
Ignore @samp{packed} in the source code (default in @samp{--borland-pascal}).
@item --no-ignore-packed
@cindex --no-ignore-packed
Do not ignore @samp{packed} in the source code (default).
@item --ignore-garbage-after-dot
@cindex --ignore-garbage-after-dot
Ignore anything after the terminating @samp{.} (default in @samp{--borland-pascal}).
@item --no-ignore-garbage-after-dot
@cindex --no-ignore-garbage-after-dot
Complain about anything after the terminating @samp{.} (default).
@item --extended-syntax
@cindex --extended-syntax
same as @samp{--ignore-function-results --pointer-arithmetic --cstrings-as-strings -Wno-absolute} (same as @samp{@{$X+@}}).
@item --no-extended-syntax
@cindex --no-extended-syntax
Opposite of @samp{--extended-syntax} (same as @samp{@{$X-@}}).
@item --ignore-function-results
@cindex --ignore-function-results
Do not complain when a function is called like a procedure.
@item --no-ignore-function-results
@cindex --no-ignore-function-results
Complain when a function is called like a procedure (default).
@item --pointer-arithmetic
@cindex --pointer-arithmetic
Enable pointer arithmetic.
@item --no-pointer-arithmetic
@cindex --no-pointer-arithmetic
Disable pointer arithmetic (default).
@item --cstrings-as-strings
@cindex --cstrings-as-strings
Treat CStrings as strings.
@item --no-cstrings-as-strings
@cindex --no-cstrings-as-strings
Do not treat CStrings as strings (default).
@item -Wabsolute
@cindex -Wabsolute
Warn about variables at absolute adresses and @samp{absolute} variable with non-constant addresses (default).
@item -Wno-absolute
@cindex -Wno-absolute
Do not warn about variables at absolute adresses and @samp{absolute} variable with non-constant addresses.
@item --short-circuit
@cindex --short-circuit
Guarantee short-circuit Boolean evaluation (default; same as @samp{@{$B-@}}).
@item --no-short-circuit
@cindex --no-short-circuit
Do not guarantee short-circuit Boolean evaluation (same as @samp{@{$B+@}}).
@item --mixed-comments
@cindex --mixed-comments
Allow comments like @samp{@{ ... *)} as required in ISO Pascal (default in ISO 7185/10206 Pascal mode).
@item --no-mixed-comments
@cindex --no-mixed-comments
Ignore @samp{@{} and @samp{@}} within @samp{(* ... *)} comments and vice versa (default).
@item --nested-comments
@cindex --nested-comments
Allow nested comments like @samp{@{ @{ @} @}} and @samp{(* (* *) *)}.
@item --no-nested-comments
@cindex --no-nested-comments
Do not allow nested comments (default).
@item --delphi-comments
@cindex --delphi-comments
Allow Delphi style @samp{//} comments (default).
@item --no-delphi-comments
@cindex --no-delphi-comments
Do not allow Delphi style @samp{//} comments.
@item --macros
@cindex --macros
Expand macros (default).
@item --no-macros
@cindex --no-macros
Do not expand macros (default with @samp{--ucsd-pascal}, @samp{--borland-pascal} or @samp{--delphi}).
@item --truncate-strings
@cindex --truncate-strings
Truncate strings being assigned to other strings of too short capacity.
@item --no-truncate-strings
@cindex --no-truncate-strings
Treat string assignments to other strings of too short capacity as errors.
@item --exact-compare-strings
@cindex --exact-compare-strings
Do not blank-pad strings for comparisons.
@item --no-exact-compare-strings
@cindex --no-exact-compare-strings
Blank-pad strings for comparisons.
@item --double-quoted-strings
@cindex --double-quoted-strings
Allow strings enclosed in "\" (default).
@item --no-double-quoted-strings
@cindex --no-double-quoted-strings
Do not allow strings enclosed in "\" (default with dialect other than @samp{--mac-pascal}).
@item --longjmp-all-nonlocal-labels
@cindex --longjmp-all-nonlocal-labels
Use @samp{longjmp} for all nonlocal labels.
@item --no-longjmp-all-nonlocal-labels
@cindex --no-longjmp-all-nonlocal-labels
Use @samp{longjmp} only for nonlocal labels in the main program (default).
@item --nonlocal-exit
@cindex --nonlocal-exit
Allow non-local @samp{Exit} statements (default in @samp{--ucsd-pascal} and @samp{--mac-pascal}).
@item --no-nonlocal-exit
@cindex --no-nonlocal-exit
Do not allow non-local @samp{Exit} statements (default).
@item --io-checking
@cindex --io-checking
Check I/O operations automatically (same as @samp{@{$I+@}}) (default).
@item --no-io-checking
@cindex --no-io-checking
Do not check I/O operations automatically (same as @samp{@{$I-@}}).
@item --pointer-checking-user-defined
@cindex --pointer-checking-user-defined
Use user-defined procedure for validating pointers.
@item --no-pointer-checking-user-defined
@cindex --no-pointer-checking-user-defined
Do not use user-defined procedure for validating pointers (default).
@item --pointer-checking
@cindex --pointer-checking
Validate pointers before dereferencing.
@item --no-pointer-checking
@cindex --no-pointer-checking
Do not validate pointers before dereferencing (default).
@item --object-checking
@cindex --object-checking
Check for valid objects on virtual method calls (default).
@item --no-object-checking
@cindex --no-object-checking
Do not check for valid objects on virtual method calls.
@item --range-checking
@cindex --range-checking
Do automatic range checks') (default).
@item --no-range-checking
@cindex --no-range-checking
Do not do automatic range checks (same as @samp{@{$R-@}}).
@item --range-and-object-checking
@cindex --range-and-object-checking
Same as @samp{--range-checking --object-checking}, same as @samp{@{$R+@}}.
@item --no-range-and-object-checking
@cindex --no-range-and-object-checking
Same as @samp{--no-range-checking --no-object-checking}, same as @samp{@{$R-@}}.
@item --case-value-checking
@cindex --case-value-checking
Cause a runtime error if a @samp{case} matches no branch (default in ISO Pascal modes).
@item --no-case-value-checking
@cindex --no-case-value-checking
Do not cause a runtime error if a @samp{case} matches no branch (default).
@item --stack-checking
@cindex --stack-checking
Enable stack checking (same as @samp{@{$S+@}}).
@item --no-stack-checking
@cindex --no-stack-checking
Disable stack checking (same as @samp{@{$S-@} (default)}).
@item --read-base-specifier
@cindex --read-base-specifier
In read statements, allow input base specifier @samp{n#} (default).
@item --no-read-base-specifier
@cindex --no-read-base-specifier
In read statements, do not allow input base specifier @samp{n#} (default in ISO 7185 Pascal).
@item --read-hex
@cindex --read-hex
In read statements, allow hexadecimal input with @samp{$} (default).
@item --no-read-hex
@cindex --no-read-hex
In read statements, do not allow hexadecimal input with @samp{$} (default in ISO 7185 Pascal).
@item --read-white-space
@cindex --read-white-space
In read statements, require whitespace after numbers.
@item --no-read-white-space
@cindex --no-read-white-space
In read statements, do not require whitespace after numbers (default).
@item --write-clip-strings
@cindex --write-clip-strings
In write statements, truncate strings exceeding their field width (@samp{Write (SomeLongString : 3)}).
@item --no-write-clip-strings
@cindex --no-write-clip-strings
Do not truncate strings exceeding their field width.
@item --write-real-blank
@cindex --write-real-blank
Output a blank in front of positive reals in exponential form (default).
@item --no-write-real-blank
@cindex --no-write-real-blank
Do not output a blank in front of positive reals in exponential form.
@item --write-capital-exponent
@cindex --write-capital-exponent
Write real exponents with a capital @samp{E}.
@item --no-write-capital-exponent
@cindex --no-write-capital-exponent
Write real exponents with a lowercase @samp{e}.
@item --transparent-file-names
@cindex --transparent-file-names
Derive external file names from variable names.
@item --no-transparent-file-names
@cindex --no-transparent-file-names
Do not derive external file names from variable names (default).
@item --field-widths
@cindex --field-widths
Optional colon-separated list of default field widths for Integer, Real, Boolean, LongInt, LongReal.
@item --no-field-widths
@cindex --no-field-widths
Reset the default field widths.
@item --pedantic
@cindex --pedantic
Reject everything not allowed in some dialect, e.g. redefinition of its keywords.
@item --no-pedantic
@cindex --no-pedantic
Don't give pedantic warnings.
@item --typed-address
@cindex --typed-address
Make the result of the address operator typed (same as @samp{@{$T+@}}, default).
@item --no-typed-address
@cindex --no-typed-address
Make the result of the address operator an untyped pointer (same as @samp{@{$T-@}}).
@item --enable-keyword
@cindex --enable-keyword
Enable a keyword, independently of dialect defaults.
@item --disable-keyword
@cindex --disable-keyword
Disable a keyword, independently of dialect defaults.
@item --implicit-result
@cindex --implicit-result
Enable implicit @samp{Result} for functions (default only in @samp{--delphi}).
@item --no-implicit-result
@cindex --no-implicit-result
Disable implicit @samp{Result} for functions.
@item --enable-predefined-identifier
@cindex --enable-predefined-identifier
Enable a predefined identifier, independently of dialect defaults.
@item --disable-predefined-identifier
@cindex --disable-predefined-identifier
Disable a predefined identifier, independently of dialect defaults.
@item --assertions
@cindex --assertions
Enable assertion checking (default).
@item --no-assertions
@cindex --no-assertions
Disable assertion checking.
@item --setlimit
@cindex --setlimit
Define the range for @samp{set of Integer} etc..
@item --gpc-main
@cindex --gpc-main
External name for the program's entry point (default: @samp{main}).
@item --propagate-units
@cindex --propagate-units
Automatically re-export all imported declarations.
@item --no-propagate-units
@cindex --no-propagate-units
Do not automatically re-export all imported declarations.
@item --interface-only
@cindex --interface-only
Compile only the interface part of a unit/module and exit (creates @samp{.gpi} file, no @samp{.o} file.
@item --implementation-only
@cindex --implementation-only
Do not produce a GPI file; only compile the implementation part.
@item --executable-file-name
@cindex --executable-file-name
Name for the output file, if specified; otherwise derive from main source file name.
@item --unit-path
@cindex --unit-path
Directories where to look for unit/module sources.
@item --no-unit-path
@cindex --no-unit-path
Forget about directories where to look for unit/module sources.
@item --object-path
@cindex --object-path
Directories where to look for additional object (and source) files.
@item --no-object-path
@cindex --no-object-path
Forget about directories where to look for additional object (and source) files.
@item --executable-path
@cindex --executable-path
Path where to create the executable file.
@item --no-executable-path
@cindex --no-executable-path
Create the executable file in the directory where the main source is (default).
@item --unit-destination-path
@cindex --unit-destination-path
Path where to create object and GPI files of Pascal units.
@item --no-unit-destination-path
@cindex --no-unit-destination-path
Create object and GPI files of Pascal units in the current directory (default).
@item --object-destination-path
@cindex --object-destination-path
Path where to create additional object files (e.g. of C files, not Pascal units).
@item --no-object-destination-path
@cindex --no-object-destination-path
Create additional object files (e.g. of C files, not Pascal units) in the current directory (default).
@item --disable-default-paths
@cindex --disable-default-paths
Do not add a default path to the unit and object path.
@item --gpi-destination-path
@cindex --gpi-destination-path
(Internal switch used for automake).
@item --uses
@cindex --uses
Add an implicit @samp{uses} clause.
@item --init-modules
@cindex --init-modules
Initialize the named modules in addition to those imported regularly; kind of a kludge.
@item --cidefine
@cindex --cidefine
Define a case-insensitive macro.
@item --csdefine
@cindex --csdefine
Define a case-sensitive macro.
@item --big-endian
@cindex --big-endian
Tell GPC that the system is big-endian (for those targets where it can vary).
@item --little-endian
@cindex --little-endian
Tell GPC that the system is little-endian (for those targets where it can vary).
@item --print-needed-options
@cindex --print-needed-options
Print the needed options.
@item -Wwarnings
@cindex -Wwarnings
Enable warnings (same as @samp{@{$W+@}}).
@item -Wno-warnings
@cindex -Wno-warnings
Disable all warnings (same as @samp{@{$W-@}}).
@item -Widentifier-case-local
@cindex -Widentifier-case-local
Warn about an identifier written with varying case within one program/module/unit.
@item -Wno-identifier-case-local
@cindex -Wno-identifier-case-local
Same as @samp{-Wno-identifier-case}.
@item -Widentifier-case
@cindex -Widentifier-case
Warn about an identifier written with varying case.
@item -Wno-identifier-case
@cindex -Wno-identifier-case
Do not warn about an identifier written with varying case (default).
@item -Winterface-file-name
@cindex -Winterface-file-name
Warn when a unit/module interface differs from the file name.
@item -Wno-interface-file-name
@cindex -Wno-interface-file-name
Do not warn when a unit/module interface differs from the file name (default).
@item --methods-always-virtual
@cindex --methods-always-virtual
Make all methods virtual (default in @samp{--mac-pascal}).
@item --no-methods-always-virtual
@cindex --no-methods-always-virtual
Do not make all methods virtual (default).
@item --objects-are-references
@cindex --objects-are-references
Turn objects into references (default in @samp{--mac-pascal}).
@item --no-objects-are-references
@cindex --no-objects-are-references
Do not turn objects into references (default).
@item --objects-require-override
@cindex --objects-require-override
Require override directive for objects (default in @samp{--mac-pascal}).
@item --no-objects-require-override
@cindex --no-objects-require-override
Do not require override directive for objects (default).
@item --delphi-method-shadowing
@cindex --delphi-method-shadowing
Redefining methods silently shadows old definition (default in @samp{--delphi}).
@item --no-delphi-method-shadowing
@cindex --no-delphi-method-shadowing
Do not silently shadow method definitions (default).
@item --borland-objects
@cindex --borland-objects
Choose Borland object model.
@item --mac-objects
@cindex --mac-objects
Choose Mac object model.
@item --ooe-objects
@cindex --ooe-objects
Choose OOE object model.
@item --gnu-objects
@cindex --gnu-objects
Reset object model to default state.
@item -Wimplicit-abstract
@cindex -Wimplicit-abstract
Warn when an object type not declared @samp{abstract} contains an abstract method (default).
@item -Wno-implicit-abstract
@cindex -Wno-implicit-abstract
Do not warn when an object type not @samp{declared} abstract contains an abstract method.
@item -Winherited-abstract
@cindex -Winherited-abstract
Warn when an abstract object type inherits from a non-abstract one (default).
@item -Wno-inherited-abstract
@cindex -Wno-inherited-abstract
Do not warn when an abstract object type inherits from a non-abstract one.
@item -Wobject-assignment
@cindex -Wobject-assignment
Warn when when assigning objects or declaring them as value parameters or function results (default).
@item -Wno-object-assignment
@cindex -Wno-object-assignment
Do not warn when assigning objects or declaring them as value parameters or function results (default in @samp{--borland-pascal}).
@item -Wimplicit-io
@cindex -Wimplicit-io
Warn when @samp{Input} or @samp{Output} are used implicitly.
@item -Wno-implicit-io
@cindex -Wno-implicit-io
Do not warn when @samp{Input} or @samp{Output} are used implicitly (default).
@item -Wfloat-equal
@cindex -Wfloat-equal
Warn about @samp{=} and @samp{<>} comparisons of real numbers.
@item -Wno-float-equal
@cindex -Wno-float-equal
Do not warn about @samp{=} and @samp{<>} comparisons of real numbers.
@item -Wtyped-const
@cindex -Wtyped-const
Warn about misuse of typed constants as initialized variables (default).
@item -Wno-typed-const
@cindex -Wno-typed-const
Do not warn about misuse of typed constants as initialized variables.
@item -Wnear-far
@cindex -Wnear-far
Warn about use of useless @samp{near} or @samp{far} directives (default).
@item -Wno-near-far
@cindex -Wno-near-far
Do not warn about use of useless @samp{near} or @samp{far} directives.
@item -Wunderscore
@cindex -Wunderscore
Warn about double/leading/trailing underscores in identifiers.
@item -Wno-underscore
@cindex -Wno-underscore
Do not warn about double/leading/trailing underscores in identifiers.
@item -Wsemicolon
@cindex -Wsemicolon
Warn about a semicolon after @samp{then}, @samp{else} or @samp{do} (default).
@item -Wno-semicolon
@cindex -Wno-semicolon
Do not warn about a semicolon after @samp{then}, @samp{else} or @samp{do}.
@item -Wlocal-external
@cindex -Wlocal-external
Warn about local @samp{external} declarations.
@item -Wno-local-external
@cindex -Wno-local-external
Do not warn about local @samp{external} declarations.
@item -Wdynamic-arrays
@cindex -Wdynamic-arrays
Warn about arrays whose size is determined at run time (including array slices).
@item -Wno-dynamic-arrays
@cindex -Wno-dynamic-arrays
Do not warn about arrays whose size is determined at run time (including array slices).
@item -Wmixed-comments
@cindex -Wmixed-comments
Warn about mixed comments like @samp{@{ ... *)}.
@item -Wno-mixed-comments
@cindex -Wno-mixed-comments
Do not warn about mixed comments.
@item -Wnested-comments
@cindex -Wnested-comments
Warn about nested comments like @samp{@{ @{ @} @}}.
@item -Wno-nested-comments
@cindex -Wno-nested-comments
Do not warn about nested comments.
@item --classic-pascal-level-0
@cindex --classic-pascal-level-0
Reject conformant arrays and anything besides ISO 7185 Pascal.
@item --standard-pascal-level-0
@cindex --standard-pascal-level-0
Synonym for @samp{--classic-pascal-level-0}.
@item --classic-pascal
@cindex --classic-pascal
Reject anything besides ISO 7185 Pascal.
@item --standard-pascal
@cindex --standard-pascal
Synonym for @samp{--classic-pascal}.
@item --extended-pascal
@cindex --extended-pascal
Reject anything besides ISO 10206 Extended Pascal.
@item --object-pascal
@cindex --object-pascal
Reject anything besides (the implemented parts of) ANSI draft Object Pascal.
@item --ucsd-pascal
@cindex --ucsd-pascal
Try to emulate UCSD Pascal.
@item --borland-pascal
@cindex --borland-pascal
Try to emulate Borland Pascal, version 7.0.
@item --delphi
@cindex --delphi
Try to emulate Borland Pascal, version 7.0, with some Delphi extensions.
@item --pascal-sc
@cindex --pascal-sc
Be strict about the implemented Pascal-SC extensions.
@item --vax-pascal
@cindex --vax-pascal
Support (a few features of) VAX Pascal.
@item --sun-pascal
@cindex --sun-pascal
Support (a few features of) Sun Pascal.
@item --mac-pascal
@cindex --mac-pascal
Support (some features of) traditional Macintosh Pascal compilers.
@item --gnu-pascal
@cindex --gnu-pascal
Undo the effect of previous dialect options, allow all features again.
@end table
