This man page is not kept up to date except when volunteers want to maintain it. If you find a discrepancy between the man page and the software, please check the Info file, which is the authoritative documentation.
If we find that the things in this man page that are out of date cause significant confusion or complaints, we will stop distributing the man page. The alternative, updating the man page when we update the Info file, is impossible because the rest of the work of maintaining GNU Pascal leaves us no time for that. The GNU project regards man pages as obsolete and should not let them take time away from other things.
For complete and current documentation, refer to the Info file ` gpc ' or the manual Using and Porting GNU Pascal . Both are made from the Texinfo source file gpc.texi.
Pascal source files use one of the suffixes ` .p ', or ` .pas '; preprocessed Pascal files use the suffix ` .i '.
Options must be separate: ` -dr ' is quite different from ` -d -r '.
Most ` -f ' and ` -W ' options have two contrary forms: -fname and -fno-name (or -Wname and -Wno-name ). Only the non-default forms are shown here.
VAX Options
-mg
-mgnu
-munix
SPARC Options
-mepilogue
-mfpu
-mhard-float
-mno-fpu
-mno-epilogue
-msoft-float
-msparclite
-mv8
-msupersparc
-mcypress
Convex Options
-margcount
-mc1
-mc2
-mnoargcount
AMD29K Options
-m29000
-m29050
-mbw
-mdw
-mkernel-registers
-mlarge
-mnbw
-mnodw
-msmall
-mstack-check
-muser-registers
M88K Options
-m88000
-m88100
-m88110
-mbig-pic
-mcheck-zero-division
-mhandle-large-shift
-midentify-revision
-mno-check-zero-division
-mno-ocs-debug-info
-mno-ocs-frame-position
-mno-optimize-arg-area
-mno-serialize-volatile
-mno-underscores
-mocs-debug-info
-mocs-frame-position
-moptimize-arg-area
-mserialize-volatile
-mshort-data-num
-msvr3
-msvr4
-mtrap-large-shift
-muse-div-instruction
-mversion-03.00
-mwarn-passed-structs
RS6000 Options
-mfp-in-toc
-mno-fop-in-toc
RT Options
-mcall-lib-mul
-mfp-arg-in-fpregs
-mfp-arg-in-gregs
-mfull-fp-blocks
-mhc-struct-return
-min-line-mul
-mminimum-fp-blocks
-mnohc-struct-return
MIPS Options
-mcpu=cpu type
-mips2
-mips3
-mint64
-mlong64
-mlonglong128
-mmips-as
-mgas
-mrnames
-mno-rnames
-mgpopt
-mno-gpopt
-mstats
-mno-stats
-mmemcpy
-mno-memcpy
-mno-mips-tfile
-mmips-tfile
-msoft-float
-mhard-float
-mabicalls
-mno-abicalls
-mhalf-pic
-mno-half-pic
-G num
-nocpp
i386 Options
-m486
-mno-486
-msoft-float
-mno-fp-ret-in-387
HPPA Options
-mpa-risc-1-0
-mpa-risc-1-1
-mkernel
-mshared-libs
-mno-shared-libs
-mlong-calls
-mdisable-fpregs
-mdisable-indexing
-mtrailing-colon
i960 Options
-mcpu-type
-mnumerics
-msoft-float
-mleaf-procedures
-mno-leaf-procedures
-mtail-call
-mno-tail-call
-mcomplex-addr
-mno-complex-addr
-mcode-align
-mno-code-align
-mic-compat
-mic2.0-compat
-mic3.0-compat
-masm-compat
-mintel-asm
-mstrict-align
-mno-strict-align
-mold-align
-mno-old-align
DEC Alpha Options
-mfp-regs
-mno-fp-regs
-mno-soft-float
-msoft-float
System V Options
-G
-Qy
-Qn
-YP,paths
-Ym,dir
By default, GPC makes the object file name for a source file by replacing the suffix ` .p ', ` .pas ', ` .i ', ` .s ', etc., with ` .o '. Use -o to select another name.
GPC ignores any unrecognized input files (those that do not require compilation or assembly) with the -c option.
By default, GPC makes the assembler file name for a source file by replacing the suffix ` .p ', ` .pas ', ` .i ', etc., with ` .s '. Use -o to select another name.
GPC ignores any input files that don't require compilation.
GPC ignores input files which don't require preprocessing.
Since only one output file can be specified, it does not make sense to use ` -o ' when compiling more than one input file, unless you are producing an executable file as output.
If you do not specify ` -o ', the default is to put an executable file in ` a.out ', the object file for ` source . suffix ' in ` source .o ', its assembler file in ` source .s ', and all preprocessed Pascal source on standard output.
WARNING: The AutoMake mechanism is a new feature in version 2.0 and may be unstable.
By default, GNU Pascal allows redefinition of keywords. Each of this switches causes GNU Pascal to forbid the redefinition of keywords of the specified standard.
Valid ISO Standard Pascal programs should compile properly with or without ` --standard-pascal '. However, without this option, certain GNU extensions and Pascal features from other dialects are supported as well. With this option, they are rejected.
This options are not intended to be useful ; they exist only to satisfy pedants who would otherwise claim that GNU Pascal fails to support the ISO Standard or is not really compatible to Borland Pascal, or whatever. We recommend, rather, that users take advantage of the extensions of GNU Pascal and disregard the limitations of other compilers.