[fpc-devel] Submitted bug report on option order -Sa -Sg-
Tom Verhoeff
T.Verhoeff at tue.nl
Wed Apr 18 14:19:22 CEST 2007
On Sun, Apr 15, 2007 at 09:51:55PM +0200, Tomas Hajny wrote:
> On 15 Apr 07, at 21:14, Tom Verhoeff wrote:
> > On Sat, Apr 14, 2007 at 06:56:12PM +0200, Jonas Maebe wrote:
> > > On 13 Apr 2007, at 17:38, Tom Verhoeff wrote:
> > >
> > > >The order -Sa -Sg- fails to generate assertion checking code, whereas
> > > >this is generated for the order -Sg- -Sa.
> > > >
> > > >A separate test confirms this (mis)behavior (see bug report: Steps To
> > > >Reproduce).
> > > >
> > > >Or am I missing the obvious, and is this really a feature and not a
> > > >bug?
> > >
> > > -S- disables all the -S options, regardless of where the second -
> > > appears (like -O- disables all -O options). This can indeed be
> > > confusing, since e.g. -Cor- turns on overflow checking, but disables
> > > range checking. This is indeed not consistent. Both cases work as
> > > designed, but the design is obviously not optimal.
> >
> > Thanks for the explanation. I think I understand what you are saying.
> >
> > In the (on-line) User's Guide, I can't find anything about the use of
> > a trailing - for options. Where is this documented?
> >
> > How would one disable just the goto statement, without affecting other
> > -S options?
> >
> > By the way, the User's Guide states that goto statements are disabled
> > by default. However, the reason we added the -Sg- (attempting to disable
> > just goto statements) was because after upgrading, suddenly programs
> > with goto were accepted (and we don't want that in our educational use
> > of Pascal). Hence, we added the option.
>
> The default mode is -Mfpc nowadays. Modes FPC and
> OBJFPC don't have goto enabled by default (i.e. -
> Sg is required to enable it), so the docs are
> correct (modes TP and Delphi both have -Sg
> enabled for compatibility reasons).
>
>
> > Could it be that the default configuration file also got changed by the
> > update and now enables goto statements? (This would be confusing.)
>
> This seems to be the case indeed (see
> /fpcsrc/compiler/utils/samplecfg,
> /fpcsrc/compiler/utils/fpc.cft,
> /fpcsrc/compiler/utils/fpinc.cfg and
> /fpcsrc/installer/install.dat). General question -
> do we want to change this (taking into account
> that having some default in the compiler and then
> changing it into something different in the
> default configuration file looks strange)?
>
> If nothing else, you can obviously change this in
> your own configuration files, of course.
So, it is now not possible to switch off goto statements in Delphi
mode by just giving some command-line options. It requires an adapted
configuration file, or knowing exactly what options are implicitly
set for -Mdelphi, and copying those, except -Sg, on the command-line.
Or do I overlook a simpler possbility?
My question about where -O-, -S-, and -Cx- are documented is
still open... (I like to read manuals, but couldn't find anything.)
I have added a clarifying note to my original bug report (#0008686).
The original bug report is thereby resolved, but there are still some
related open ends:
* Documentation explaining -Sxxx-
* Defaults in standard config file(s) versus defaults for compiler
(w/o config file)
* Simpler way to switch off single -S options
Thanks,
Tom
--
E-MAIL: T.Verhoeff @ TUE.NL | Dept. of Math. & Comp. Science
PHONE: +31 40 247 41 25 | Technische Universiteit Eindhoven
FAX: +31 40 247 54 04 | PO Box 513, NL-5600 MB Eindhoven
http://www.win.tue.nl/~wstomv/ | The Netherlands
More information about the fpc-devel
mailing list