Next: , Up: Invoking GPC



5.1 GPC opcije osim GCC-ovih.

Slijedeća tablica navodi opcije komandne linije osim onih koje također razumije i GCC.

(Sadržaj se automatski generira na engleskom.)

--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 being processed to standard error.
--no-debug-source
Do not output the source while it is being processed (default).
--disable-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.
--no-progress-messages
Do not output source file names and line numbers while compiling (default).
--progress-bar
Output number of processed lines while compiling.
--no-progress-bar
Do not output number of processed lines while compiling (default).
--automake-gpc
Set the Pascal compiler invoked by automake.
--automake-gcc
Set the C compiler invoked by automake.
--automake-g++
Set the C++ compiler invoked by automake.
--amtmpfile
(Internal switch used for automake).
--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.
--maximum-field-alignment
Set the maximum field alignment in bits if pack-struct is in effect.
--ignore-packed
Ignore packed in the source code (default in --borland-pascal).
--no-ignore-packed
Do not ignore packed in the source code (default).
--ignore-garbage-after-dot
Ignore anything after the terminating . (default in --borland-pascal).
--no-ignore-garbage-after-dot
Complain about anything after the terminating . (default).
--extended-syntax
same as --ignore-function-results --pointer-arithmetic --cstrings-as-strings -Wno-absolute (same as {$X+}).
--no-extended-syntax
Opposite of --extended-syntax (same as {$X-}).
--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).
--pointer-arithmetic
Enable pointer arithmetic.
--no-pointer-arithmetic
Disable pointer arithmetic (default).
--cstrings-as-strings
Treat CStrings as strings.
--no-cstrings-as-strings
Do not treat CStrings as strings (default).
-Wabsolute
Warn about variables at absolute adresses and absolute variable with non-constant addresses (default).
-Wno-absolute
Do not warn about variables at absolute adresses and absolute variable with non-constant addresses.
--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 --ucsd-pascal, --borland-pascal or --delphi).
--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 "\" (default).
--no-double-quoted-strings
Do not allow strings enclosed in "\" (default with dialect other than --mac-pascal).
--longjmp-all-nonlocal-labels
Use longjmp for all nonlocal labels.
--no-longjmp-all-nonlocal-labels
Use longjmp only for nonlocal labels in the main program (default).
--nonlocal-exit
Allow non-local Exit statements (default in --ucsd-pascal and --mac-pascal).
--no-nonlocal-exit
Do not allow non-local Exit statements (default).
--io-checking
Check I/O operations automatically (same as {$I+}) (default).
--no-io-checking
Do not check I/O operations automatically (same as {$I-}).
--pointer-checking-user-defined
Use user-defined procedure for validating pointers.
--no-pointer-checking-user-defined
Do not use user-defined procedure for validating pointers (default).
--pointer-checking
Validate pointers before dereferencing.
--no-pointer-checking
Do not validate pointers before dereferencing (default).
--object-checking
Check for valid objects on virtual method calls (default).
--no-object-checking
Do not check for valid objects on virtual method calls.
--range-checking
Do automatic range checks') (default).
--no-range-checking
Do not do automatic range checks (same as {$R-}).
--range-and-object-checking
Same as --range-checking --object-checking, same as {$R+}.
--no-range-and-object-checking
Same as --no-range-checking --no-object-checking, same as {$R-}.
--case-value-checking
Cause a runtime error if a case matches no branch (default in ISO Pascal modes).
--no-case-value-checking
Do not cause a runtime error if a case matches no branch (default).
--stack-checking
Enable stack checking (same as {$S+}).
--no-stack-checking
Disable stack checking (same as {$S-} (default)).
--read-base-specifier
In read statements, allow input base specifier n# (default).
--no-read-base-specifier
In read statements, do not allow input base specifier 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
Optional colon-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.
--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-}).
--enable-keyword
Enable a keyword, independently of dialect defaults.
--disable-keyword
Disable a keyword, independently of dialect defaults.
--implicit-result
Enable implicit Result for functions (default only in --delphi).
--no-implicit-result
Disable implicit Result for functions.
--enable-predefined-identifier
Enable a predefined identifier, independently of dialect defaults.
--disable-predefined-identifier
Disable a predefined identifier, independently of dialect defaults.
--assertions
Enable assertion checking (default).
--no-assertions
Disable assertion checking.
--setlimit
Define the range for set of Integer etc..
--gpc-main
External name for the program's entry point (default: main).
--propagate-units
Automatically re-export all imported declarations.
--no-propagate-units
Do not automatically re-export all imported declarations.
--interface-only
Compile only the interface part of a unit/module and exit (creates .gpi file, no .o file.
--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).
--disable-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 vary).
--little-endian
Tell GPC that the system is little-endian (for those targets where it can vary).
--print-needed-options
Print the needed options.
-Wwarnings
Enable warnings (same as {$W+}).
-Wno-warnings
Disable all warnings (same as {$W-}).
-Widentifier-case-local
Warn about an identifier written with varying case within one program/module/unit.
-Wno-identifier-case-local
Same as -Wno-identifier-case.
-Widentifier-case
Warn about an identifier written with varying case.
-Wno-identifier-case
Do not warn about an identifier written with varying case (default).
-Winterface-file-name
Warn when a unit/module interface differs from the file name.
-Wno-interface-file-name
Do not warn when a unit/module interface differs from the file name (default).
--methods-always-virtual
Make all methods virtual (default in --mac-pascal).
--no-methods-always-virtual
Do not make all methods virtual (default).
-Wimplicit-abstract
Warn when an object type not declared abstract contains an abstract method (default).
-Wno-implicit-abstract
Do not warn when an object type not declared abstract contains an abstract method.
-Winherited-abstract
Warn when an abstract object type inherits from a non-abstract one (default).
-Wno-inherited-abstract
Do not warn when an abstract object type inherits from a non-abstract one.
-Wobject-assignment
Warn when when assigning objects or declaring them as value parameters or function results (default).
-Wno-object-assignment
Do not warn when assigning objects or declaring them as value parameters or function results (default in --borland-pascal).
-Wimplicit-io
Warn when Input or Output are used implicitly.
-Wno-implicit-io
Do not warn when Input or Output are used implicitly (default).
-Wfloat-equal
Warn about = and <> comparisons of real numbers.
-Wno-float-equal
Do not warn about = and <> comparisons of real numbers.
-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.
-Wsemicolon
Warn about a semicolon after then, else or do (default).
-Wno-semicolon
Do not warn about a semicolon after then, else or do.
-Wlocal-external
Warn about local external declarations.
-Wno-local-external
Do not warn about local external declarations.
-Wdynamic-arrays
Warn about arrays whose size is determined at run time (including array slices).
-Wno-dynamic-arrays
Do not warn about arrays whose size is determined at run time (including array slices).
-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.
--classic-pascal-level-0
Reject conformant arrays and anything besides ISO 7185 Pascal.
--standard-pascal-level-0
Synonym for --classic-pascal-level-0.
--classic-pascal
Reject anything besides ISO 7185 Pascal.
--standard-pascal
Synonym for --classic-pascal.
--extended-pascal
Reject anything besides ISO 10206 Extended Pascal.
--object-pascal
Reject anything besides (the implemented parts of) ANSI draft Object Pascal.
--ucsd-pascal
Try to emulate UCSD 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.
--vax-pascal
Support (a few features of) VAX Pascal.
--sun-pascal
Support (a few features of) Sun Pascal.
--mac-pascal
Support (some features of) traditional Macintosh Pascal compilers.
--gnu-pascal
Undo the effect of previous dialect options, allow all features again.