2 msggcc-4.3-20071109 is now available
5 msgNewbie
8 msgstructuring a front-end subdirectory

Inserting new parameter in gcc
\ Juan Luis Liarte (9 Nov 2007)
. \ Manuel López-Ibáñez (9 Nov 2007)
. . \ Basile STARYNKEVITCH (9 Nov 2007)
. . . \ Manuel López-Ibáñez (9 Nov 2007)
. \ Manuel López-Ibáñez (9 Nov 2007)

1 msgNew branches for ix86 backporting
4 msgAdding custom scheduler dependency between 2 insns
9 msgAttributes on structs
1 msggcc-4.2-20071107 is now available
1 msgGCC-4.x and 3.x for msp430
3 msgDependency check between instructions?
4 msgHow to turn off NRVO in gcc
108 msgProgress on GCC plugins ?
193 msgDesigns for better debug info in GCC (was: Re: ...
2 msgTarget specific attributes to variables
2 msgFw: error: array type has incomplete element ty...
7 msgAbout VLIW backend
1 msgMedical Doctor List
15 msgUsing crlibm as the default math library in GCC...
10 msgReload using a live register to reload into
1 msgHelp with debug info for fixed-point data types
Subject:Re: Inserting new parameter in gcc
Group:Gcc
From:Manuel López-Ibáñez
Date:9 Nov 2007


Just to complete this discussion, the syntax of the *.opt files is
(almost exactly) mapped by the gen-*.awk scripts into flags that are
defined in the file gcc/opts.h. This file contains some comments about
these flags:

#define CL_PARAMS (1 << 18) /* Fake entry. Used to
display --param info with --help. */
#define CL_WARNING (1 << 19) /* Enables an (optional) warning message. */
#define CL_OPTIMIZATION (1 << 20) /* Enables an (optional) optimization. */
#define CL_TARGET (1 << 21) /* Target-specific option. */
#define CL_COMMON (1 << 22) /* Language-independent. */

#define CL_MIN_OPTION_CLASS CL_PARAMS
#define CL_MAX_OPTION_CLASS CL_COMMON

/* From here on the bits describe attributes of the options.
Before this point the bits have described the class of the option.
This distinction is important because --help will not list options
which only have these higher bits set. */

#define CL_DISABLED (1 << 23) /* Disabled in this configuration. */
#define CL_REPORT (1 << 24) /* Report argument with -fverbose-asm */
#define CL_JOINED (1 << 25) /* If takes joined argument. */
#define CL_SEPARATE (1 << 26) /* If takes a separate argument. */
#define CL_REJECT_NEGATIVE (1 << 27) /* Reject no- form. */
#define CL_MISSING_OK (1 << 28) /* Missing argument OK (joined). */
#define CL_UINTEGER (1 << 29) /* Argument is an integer >=0. */
#define CL_UNDOCUMENTED (1 << 30) /* Do not output with --help. */

Juan Luis, if you really want to contribute in this area, I would
suggest to add a sentence to the *.opt files and the scripts pointing
to gcc/opts.h and then improve the documentation there to mention the
original syntax and how it maps into the flags (although in most cases
it is pretty obvious: RejectNegative -> CL_REJECT_NEGATIVE).

Nevertheless, this doesn't mean we are not open to suggestions on how
to improve the current system.

Thanks,

Manuel.


© 2004-2008 readlist.com