Subversion Repositories Open64

[/] [trunk/] [osprey/] [driver/] [OPTIONS] - Diff between revs 2360 and 2694

Go to most recent revision | Only display areas with differences | Details | Blame | View Log

Rev 2360 Rev 2694
%
%
% Copyright 2005-2008 NVIDIA Corporation.  All rights reserved.
% Copyright 2005-2008 NVIDIA Corporation.  All rights reserved.
%
%
% -*- fundamental -*-
% -*- fundamental -*-
%
%
%  Copyright (C) 2008-2009 Advanced Micro Devices, Inc.  All Rights Reserved.
%  Copyright (C) 2008-2009 Advanced Micro Devices, Inc.  All Rights Reserved.
%
%
%  Copyright (C) 2006, 2007. QLogic Corporation. All Rights Reserved.
%  Copyright (C) 2006, 2007. QLogic Corporation. All Rights Reserved.
%
%
%  Copyright 2002, 2003, 2004, 2005, 2006 PathScale, Inc.  All Rights Reserved.
%  Copyright 2002, 2003, 2004, 2005, 2006 PathScale, Inc.  All Rights Reserved.
%
%
%  Copyright (C) 2000, 2001 Silicon Graphics, Inc.  All Rights Reserved.
%  Copyright (C) 2000, 2001 Silicon Graphics, Inc.  All Rights Reserved.
%
%
%  This program is free software; you can redistribute it and/or modify it
%  This program is free software; you can redistribute it and/or modify it
%  under the terms of version 2 of the GNU General Public License as
%  under the terms of version 2 of the GNU General Public License as
%  published by the Free Software Foundation.
%  published by the Free Software Foundation.
%
%
%  This program is distributed in the hope that it would be useful, but
%  This program is distributed in the hope that it would be useful, but
%  WITHOUT ANY WARRANTY; without even the implied warranty of
%  WITHOUT ANY WARRANTY; without even the implied warranty of
%  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
%  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
%
%
%  Further, this software is distributed without any warranty that it is
%  Further, this software is distributed without any warranty that it is
%  free of the rightful claim of any third person regarding infringement
%  free of the rightful claim of any third person regarding infringement
%  or the like.  Any license provided herein, whether implied or
%  or the like.  Any license provided herein, whether implied or
%  otherwise, applies only to this software file.  Patent licenses, if
%  otherwise, applies only to this software file.  Patent licenses, if
%  any, provided herein do not apply to combinations of this program with
%  any, provided herein do not apply to combinations of this program with
%  other software, or any other product whatsoever.
%  other software, or any other product whatsoever.
%
%
%  You should have received a copy of the GNU General Public License along
%  You should have received a copy of the GNU General Public License along
%  with this program; if not, write the Free Software Foundation, Inc., 59
%  with this program; if not, write the Free Software Foundation, Inc., 59
%  Temple Place - Suite 330, Boston MA 02111-1307, USA.
%  Temple Place - Suite 330, Boston MA 02111-1307, USA.
%
%
%  Contact information:  Silicon Graphics, Inc., 1600 Amphitheatre Pky,
%  Contact information:  Silicon Graphics, Inc., 1600 Amphitheatre Pky,
%  Mountain View, CA 94043, or:
%  Mountain View, CA 94043, or:
%
%
%  http://www.sgi.com
%  http://www.sgi.com
%
%
%  For further information regarding this notice, see:
%  For further information regarding this notice, see:
%
%
%  http://oss.sgi.com/projects/GenInfo/NoticeExplan
%  http://oss.sgi.com/projects/GenInfo/NoticeExplan
%
%
%
%
% Lines beginning with % are comment lines,
% Lines beginning with % are comment lines,
% lines beginning with %%% denote new sections.
% lines beginning with %%% denote new sections.
% Each option has two lines.
% Each option has two lines.
% The first line contains:
% The first line contains:
% the option name,
% the option name,
% an action to be done upon reading the option,
% an action to be done upon reading the option,
% what languages accept it,
% what languages accept it,
% what phases accept it,
% what phases accept it,
% and what other options it implies.
% and what other options it implies.
% The second line contains the help message for that option.
% The second line contains the help message for that option.
% There must be no spaces in any of the fields except the last one,
% There must be no spaces in any of the fields except the last one,
% or you can have spaces in an action if you surround it with braces.
% or you can have spaces in an action if you surround it with braces.
% There are several special syntax rules for option names that are used:
% There are several special syntax rules for option names that are used:
% Option names that start with I, e.g. I-foo, are internal names
% Option names that start with I, e.g. I-foo, are internal names
% that the user cannot access.  Internal names are used for phase options
% that the user cannot access.  Internal names are used for phase options
% (e.g. -pic2), and for implicit defaults like -D__sgi.
% (e.g. -pic2), and for implicit defaults like -D__sgi.
% A %s after an option name means to use the next string as an argument;
% A %s after an option name means to use the next string as an argument;
% a %- after an option name means to use the next string or '-' as an argument;
% a %- after an option name means to use the next string or '-' as an argument;
% a %d or %x after an option name means to use the next number as an argument;
% a %d or %x after an option name means to use the next number as an argument;
% a %D after an option name means to use the next directory as an argument;
% a %D after an option name means to use the next directory as an argument;
% the %{s,x,d,D} formats accept an optional space before the argument;
% the %{s,x,d,D} formats accept an optional space before the argument;
% if there is no number or directory for a corresponding %{x,d,D},
% if there is no number or directory for a corresponding %{x,d,D},
% then the option is not matched.
% then the option is not matched.
% A * in the middle of an argument means there can be an optional space here;
% A * in the middle of an argument means there can be an optional space here;
% a * at the end of the argument means the syntax is too complicated and a
% a * at the end of the argument means the syntax is too complicated and a
% call to a hand-written routine called parse_<prefix>_option will be generated.
% call to a hand-written routine called parse_<prefix>_option will be generated.
% A ? at the end of %D means the option will be ignored if the directory
% A ? at the end of %D means the option will be ignored if the directory
% argument is missing (KEY).
% argument is missing (KEY).
% A special action is toggle(&<var>,<val>) which stores the value in the
% A special action is toggle(&<var>,<val>) which stores the value in the
% variable, and gives an error if the variable has already been set.
% variable, and gives an error if the variable has already been set.
% This is useful for catching conflicts like -mips1 -mips2.
% This is useful for catching conflicts like -mips1 -mips2.
#ifdef KEY
#ifdef KEY
% Toggle is also used in support of options from compiler.defaults.  When the
% Toggle is also used in support of options from compiler.defaults.  When the
% driver starts, <var> is initially set to UNDEFINED.  <var> is toggled to
% driver starts, <var> is initially set to UNDEFINED.  <var> is toggled to
% other values according to command line options.  When parsing
% other values according to command line options.  When parsing
% compiler.defaults, toggle will silently drop an option if its <var> is not
% compiler.defaults, toggle will silently drop an option if its <var> is not
% UNDEFINED, meaning it is already set by a command line option.  All options
% UNDEFINED, meaning it is already set by a command line option.  All options
% in compiler.defaults must have a <var>.
% in compiler.defaults must have a <var>.
#endif
#endif
% The implies field should include the option name if that name is to be
% The implies field should include the option name if that name is to be
% passed to phases.  The special word "self" for the implies field means
% passed to phases.  The special word "self" for the implies field means
% to repeat the option name.
% to repeat the option name.
% Repeating a %{d,D,s} in the implies field shows the format to use
% Repeating a %{d,D,s} in the implies field shows the format to use
% when passing to phases, i.e. whether to have a blank space.
% when passing to phases, i.e. whether to have a blank space.
% A simple alias is recognized when you have an option that has
% A simple alias is recognized when you have an option that has
% no action, language=all, phases=none, and 1 implies option.
% no action, language=all, phases=none, and 1 implies option.
% This is directly translated to the implies option when processing.
% This is directly translated to the implies option when processing.
% The file is first preprocessed by cpp to expand macros, and then sorted
% The file is first preprocessed by cpp to expand macros, and then sorted
% by option names.
% by option names.
% the letter keys for languages and phases must match what is in lang_defs.c
% the letter keys for languages and phases must match what is in lang_defs.c
% ALL and NONE can be used for both languages and phases.
% ALL and NONE can be used for both languages and phases.
#define ALL A
#define ALL A
#define NONE  N
#define NONE  N
% languages
% languages
% use CPP not cpp to avoid conflict with -cpp option
% use CPP not cpp to avoid conflict with -cpp option
#define CPP   p
#define CPP   p
#define cc  c
#define cc  c
#define CC  C
#define CC  C
#define Cc  cc,CC
#define Cc  cc,CC
#define f77 f
#define f77 f
% f90 used in option name, so use F90 for define
% f90 used in option name, so use F90 for define
#define F90 F
#define F90 F
#define FTN f77,F90
#define FTN f77,F90
#define as  a
#define as  a
#define LINK  Cc,FTN
#define LINK  Cc,FTN
% phases
% phases
% CPP is a phase as well as a language, but the definition is the same
% CPP is a phase as well as a language, but the definition is the same
#define cfe C
#define cfe C
#define ffe F
#define ffe F
#define anyfe f
#define anyfe f
#define ipl i
#define ipl i
#define be  b
#define be  b
#define as  a
#define as  a
#define ld  l
#define ld  l
#define ipap  j
#define ipap  j
#define pwrc  K
#define pwrc  K
% pfa used in option name, so use PFA for define
% pfa used in option name, so use PFA for define
#define PFA K
#define PFA K
#define mpc M
#define mpc M
% GRP: All the pieces that swallow regular group options
% GRP: All the pieces that swallow regular group options
#define GRP ffe,b,i
#define GRP ffe,b,i
#define CMP anyfe,ipl,be
#define CMP anyfe,ipl,be
% ALLX: ALL except pca & pfa which do not accept the usual compilation args
% ALLX: ALL except pca & pfa which do not accept the usual compilation args
#define ALLX  CPP,CMP,ld
#define ALLX  CPP,CMP,ld
% <option name> <action> <languages> <phases> <implies>
% <option name> <action> <languages> <phases> <implies>
% <help message>
% <help message>
-help {print_help = TRUE;}  ALL NONE  ""
-help {print_help = TRUE;}  ALL NONE  ""
  "print list of possible options"
  "print list of possible options"
-h  {print_help = TRUE;}  ALL NONE  ""
-h  {print_help = TRUE;}  ALL NONE  ""
  ""
  ""
-realO  ;   ALL NONE  ""
-realO  ;   ALL NONE  ""
  "override the turning down of optimization levels"
  "override the turning down of optimization levels"
-help:%s  save_name(&help_pattern,optargs);   ALL NONE  ""
-help:%s  save_name(&help_pattern,optargs);   ALL NONE  ""
  "print list of possible options that contain given string"
  "print list of possible options that contain given string"
%
%
-show {show_flag = TRUE; }  ALL GRP self
-show {show_flag = TRUE; }  ALL GRP self
  "show phases as they are being invoked"
  "show phases as they are being invoked"
-show1  {show_flag = TRUE; }  ALL NONE  ""
-show1  {show_flag = TRUE; }  ALL NONE  ""
  ""
  ""
-show0  {show_flag = TRUE; execute_flag = FALSE;} ALL NONE  ""
-show0  {show_flag = TRUE; execute_flag = FALSE;} ALL NONE  ""
  "show what phases would be called, but do not invoke anything"
  "show what phases would be called, but do not invoke anything"
-showt  {time_flag = TRUE; }  ALL NONE  ""
-showt  {time_flag = TRUE; }  ALL NONE  ""
  "show time taken by each phase"
  "show time taken by each phase"
-Q  {quiet_flag = FALSE; }  ALL NONE  ""
-Q  {quiet_flag = FALSE; }  ALL NONE  ""
  "suppress timing information (g++) "
  "suppress timing information (g++) "
-version {show_version++; show_copyright = TRUE; execute_flag = FALSE;} ALL NONE  ""
-version {show_version++; show_copyright = TRUE; execute_flag = FALSE;} ALL NONE  ""
  "Show the version of the compiler being used"
  "Show the version of the compiler being used"
%-copyright {show_copyright = TRUE; execute_flag = FALSE;} ALL  NONE  ""
%-copyright {show_copyright = TRUE; execute_flag = FALSE;} ALL  NONE  ""
% "Show the copyright for the compiler being used"
% "Show the copyright for the compiler being used"
% Fix for bug 492
% Fix for bug 492
-dumpversion {dump_version = TRUE; execute_flag = FALSE;} ALL NONE  ""
-dumpversion {dump_version = TRUE; execute_flag = FALSE;} ALL NONE  ""
  "Show the version of the compiler being used, and nothing else"
  "Show the version of the compiler being used, and nothing else"
% -showd turns on internal driver debugging
% -showd turns on internal driver debugging
-showd  {show_flag = debug = TRUE; execute_flag = FALSE;} ALL NONE ""
-showd  {show_flag = debug = TRUE; execute_flag = FALSE;} ALL NONE ""
  ""
  ""
-show-defaults  {show_defaults = TRUE; execute_flag = FALSE;} ALL NONE  ""
-show-defaults  {show_defaults = TRUE; execute_flag = FALSE;} ALL NONE  ""
  "Show the default compiler options being used"
  "Show the default compiler options being used"
% gcc has -v show version as well as phases, so take that meaning
% gcc has -v show version as well as phases, so take that meaning
-v  {show_flag = TRUE; show_version++;} ALL CPP,as,ld self "-show"
-v  {show_flag = TRUE; show_version++;} ALL CPP,as,ld self "-show"
  "show phases and version as they are being invoked"
  "show phases and version as they are being invoked"
-fullwarn toggle(&msglevel,2);    FTN  CPP  "-m2"
-fullwarn toggle(&msglevel,2);    FTN  CPP  "-m2"
  "give more warnings, especially about missing prototypes"
  "give more warnings, especially about missing prototypes"
-w  toggle(&msglevel,0);    ALL CPP,cfe,as,PFA  self "-m0"
-w  toggle(&msglevel,0);    ALL CPP,cfe,as,PFA  self "-m0"
  ""
  ""
-w2     ;   f77 ffe self
-w2     ;   f77 ffe self
  "warnings count as errors"
  "warnings count as errors"
-w3     ;   f77 ffe self
-w3     ;   f77 ffe self
  "supress warnings but exit with error status"
  "supress warnings but exit with error status"
-w66      ;   f ffe self
-w66      ;   f ffe self
  "turn off F66 incompatibility warnings"
  "turn off F66 incompatibility warnings"
-66     ;   f ffe self
-66     ;   f ffe self
  "issue errors when non-F66 feature used"
  "issue errors when non-F66 feature used"
-woff*all toggle(&msglevel,0);    ALL NONE  "-w -m0"
-woff*all toggle(&msglevel,0);    ALL NONE  "-w -m0"
  "turn off all warnings"
  "turn off all warnings"
-woff*options   ;   ALL NONE  ""
-woff*options   ;   ALL NONE  ""
  "turn off warnings about options"
  "turn off warnings about options"
-woff%d     ;   FTN ffe,be  "-woff%d"
-woff%d     ;   FTN ffe,be  "-woff%d"
  "turn off named warnings"
  "turn off named warnings"
% -V is an svr4 option, currently ignored
% -V is an svr4 option, currently ignored
-V  {show_version++; show_copyright=TRUE; execute_flag=FALSE;} ALL NONE ""
-V  {show_version++; show_copyright=TRUE; execute_flag=FALSE;} ALL NONE ""
  "Show the version of the compiler being used"
  "Show the version of the compiler being used"
-V%d  {warn_ignored("-V <version>");} cc  ALLX  ""
-V%d  {warn_ignored("-V <version>");} cc  ALLX  ""
  ""
  ""
% last_phase gives the last phase to run, phase names from lang_defs.h
% last_phase gives the last phase to run, phase names from lang_defs.h
% If the user gives conflicting last phases, e.g. -c -P,
% If the user gives conflicting last phases, e.g. -c -P,
% then we use the earliest phase given.
% then we use the earliest phase given.
-c  last_phase=(((ipa==TRUE)&&(shared==RELOCATABLE))?P_any_ld:earliest_phase(P_any_as,last_phase));  ALL  NONE  ""
-c  last_phase=(((ipa==TRUE)&&(shared==RELOCATABLE))?P_any_ld:earliest_phase(P_any_as,last_phase));  ALL  NONE  ""
  "produce a .o and stop"
  "produce a .o and stop"
-r  toggle(&shared,RELOCATABLE);last_phase=P_any_ld;  ALL  ld self
-r  toggle(&shared,RELOCATABLE);last_phase=P_any_ld;  ALL  ld self
  "produce a relocatable .o and stop"
  "produce a relocatable .o and stop"
-S  last_phase=earliest_phase(P_be,last_phase);  Cc,FTN NONE  ""
-S  last_phase=earliest_phase(P_be,last_phase);  Cc,FTN NONE  ""
  "produce a .s and stop"
  "produce a .s and stop"
-fe last_phase=earliest_phase(P_any_fe,last_phase);  Cc,FTN NONE  ""
-fe last_phase=earliest_phase(P_any_fe,last_phase);  Cc,FTN NONE  ""
  "stop after the front end is run"
  "stop after the front end is run"
-F  dash_F_option();   f77  NONE  ""
-F  dash_F_option();   f77  NONE  ""
  "stop after RATFOR (f77 only)"
  "stop after RATFOR (f77 only)"
% just parse and then stop
% just parse and then stop
-parse  last_phase=earliest_phase(P_any_fe,last_phase);  Cc cfe self
-parse  last_phase=earliest_phase(P_any_fe,last_phase);  Cc cfe self
  ""
  ""
-I%D    ;   ALL CPP "-I%D -include=%D"
-I%D    ;   ALL CPP "-I%D -include=%D"
  "add following directory to the include search path list"
  "add following directory to the include search path list"
-iquote%D ;   ALL CPP "-iquote=%D"
-iquote%D ;   ALL CPP "-iquote=%D"
  "add following directory to the include search path list"
  "add following directory to the include search path list"
-x%-    set_explicit_lang(option_name,optargs);   ALL NONE  ""
-x%-    set_explicit_lang(option_name,optargs);   ALL NONE  ""
  "Specify explicit language for input files"
  "Specify explicit language for input files"
I-include=%D  ;   FTN     ffe,PFA     "-include=%D"
I-include=%D  ;   FTN     ffe,PFA     "-include=%D"
  ""
  ""
% KEY Make -I to always mean an include search path.  -I without a
% KEY Make -I to always mean an include search path.  -I without a
% directory argument does nothing.
% directory argument does nothing.
%-I ;   ALL NONE  "-nostdinc"
%-I ;   ALL NONE  "-nostdinc"
% ""
% ""
%I-ivpad  ;   LINK  ld  "-ivpad"
%I-ivpad  ;   LINK  ld  "-ivpad"
% "inter-variable padding of common blocks"
% "inter-variable padding of common blocks"
-nostdinc nostdinc=TRUE;    ALL CPP self
-nostdinc nostdinc=TRUE;    ALL CPP self
  "no predefined include search path list"
  "no predefined include search path list"
-stdinc   nostdinc=FALSE;   ALL CPP ""
-stdinc   nostdinc=FALSE;   ALL CPP ""
  "predefined include search path list"
  "predefined include search path list"
-nostdinc++ nostdinc=TRUE;    CC,CPP  CPP self
-nostdinc++ nostdinc=TRUE;    CC,CPP  CPP self
  "Do not search for header files in the standard directories specific to C++"
  "Do not search for header files in the standard directories specific to C++"
-nostdlib ; LINK  ld  self
-nostdlib ; LINK  ld  self
  "Do not use standard system startup files or libraries when linking"
  "Do not use standard system startup files or libraries when linking"
-ffast-stdlib ; A anyfe,ld  "-OPT:fast_stdlib=on"
-ffast-stdlib ; A anyfe,ld  "-OPT:fast_stdlib=on"
  "Use faster versions of some standard library functions, when available"
  "Use faster versions of some standard library functions, when available"
-fno-fast-stdlib  ; A anyfe,ld  "-OPT:fast_stdlib=off"
-fno-fast-stdlib  ; A anyfe,ld  "-OPT:fast_stdlib=off"
  "Do not use faster versions of standard library functions"
  "Do not use faster versions of standard library functions"
-nolibopen64rt  ; LINK  ld  ""
-nolibopen64rt  ; LINK  ld  ""
  "Do not link with libopen64rt"
  "Do not link with libopen64rt"
%I-split_common ;   LINK  ld  "-split_common"
%I-split_common ;   LINK  ld  "-split_common"
% "check split COMMON for inconsistencies and fix them"
% "check split COMMON for inconsistencies and fix them"
-LIST:%s  ;   ALL be,ipl  "-LIST:%s"
-LIST:%s  ;   ALL be,ipl  "-LIST:%s"
  "option group to control listing file and contents"
  "option group to control listing file and contents"
-LD_%s    ;   ALL ld  "-LD_%s"
-LD_%s    ;   ALL ld  "-LD_%s"
  ""
  ""
-L%D  add_library_dir(optargs);   LINK  ld  "-L%D"
-L%D  add_library_dir(optargs);   LINK  ld  "-L%D"
  "add following directory to the library search path list"
  "add following directory to the library search path list"
-L    ;   LINK  ld  self
-L    ;   LINK  ld  self
  ""
  ""
-s    ;   LINK  ld  self
-s    ;   LINK  ld  self
  "Strip symbol table and relocation information"
  "Strip symbol table and relocation information"
 
 
 
#ifdef SL
 
-G8     toggle(&gnum,optargd);    ALL ffe,be  "-G8"
 
  ""
 
-Gspace8  ;   ALL be  "-TENV:Gspace=8"
 
  ""
 
#else
-G%d  toggle(&gnum,optargd);    ALL ffe,be  "-G%d"
-G%d  toggle(&gnum,optargd);    ALL ffe,be  "-G%d"
  ""
  ""
-Gspace%d ;   ALL be  "-TENV:Gspace=%d"
-Gspace%d ;   ALL be  "-TENV:Gspace=%d"
  ""
  ""
 
#endif
% encourage people to replace -K with -keep
% encourage people to replace -K with -keep
-keep keep_flag=TRUE;   ALL ipap  self
-keep keep_flag=TRUE;   ALL ipap  self
  "keep intermediate files"
  "keep intermediate files"
-save-temps keep_flag=TRUE; ALL NONE  ""
-save-temps keep_flag=TRUE; ALL NONE  ""
  ""
  ""
-pass-exit-codes  pass_exit_codes=TRUE; ALL NONE  ""
-pass-exit-codes  pass_exit_codes=TRUE; ALL NONE  ""
  "Return the highest error code encountered by any phase"
  "Return the highest error code encountered by any phase"
% there are three shared modes:  non, dso, call; call-shared is the default.
% there are three shared modes:  non, dso, call; call-shared is the default.
% -KPIC can mean either dso or call, so it is only used to say "not non-shared".
% -KPIC can mean either dso or call, so it is only used to say "not non-shared".
% on linux, use g++ driver so do not need init and fini
% on linux, use g++ driver so do not need init and fini
#define PIC_FLAGS_1    "-TENV:PIC -pic2"
#define PIC_FLAGS_1    "-TENV:PIC -pic2"
#define PIC_FLAGS_2    "-TENV:PIC -pic2 -shared"
#define PIC_FLAGS_2    "-TENV:PIC -pic2 -shared"
I-cpp_pic ;   ALL NONE  "-D_PIC -D__DSO__"
I-cpp_pic ;   ALL NONE  "-D_PIC -D__DSO__"
  ""
  ""
% KEY support only -fpic, -fno-pic, -static, -shared, -pic1
% KEY support only -fpic, -fno-pic, -static, -shared, -pic1
-call_shared  toggle(&shared,CALL_SHARED);  ALL NONE  PIC_FLAGS_1
-call_shared  toggle(&shared,CALL_SHARED);  ALL NONE  PIC_FLAGS_1
  "call-shared PIC code"
  "call-shared PIC code"
%-shared  toggle(&shared,DSO_SHARED); ALL l PIC_FLAGS_2
%-shared  toggle(&shared,DSO_SHARED); ALL l PIC_FLAGS_2
% "dso-shared PIC code"
% "dso-shared PIC code"
-shared   toggle(&shared,DSO_SHARED); ALL l -TENV:PIC -shared
-shared   toggle(&shared,DSO_SHARED); ALL l -TENV:PIC -shared
  "dso-shared PIC code"
  "dso-shared PIC code"
%-non_shared  toggle(&shared,NON_SHARED);   ALL NONE  ""
%-non_shared  toggle(&shared,NON_SHARED);   ALL NONE  ""
% "compile non-shared (no DSOs)"
% "compile non-shared (no DSOs)"
-pic1   ;   ALL NONE  -TENV:CPIC
-pic1   ;   ALL NONE  -TENV:CPIC
  ""
  ""
-pic2   ;   ALL NONE  -TENV:PIC
-pic2   ;   ALL NONE  -TENV:PIC
  ""
  ""
% This option turns on everything of interest to SPEC:
% This option turns on everything of interest to SPEC:
-Ofast  Process_Ofast("");    ALL NONE  ""
-Ofast  Process_Ofast("");    ALL NONE  ""
  "default fast option configuration"
  "default fast option configuration"
-fb_phase=%s Process_fb_phase(optargs);        ALL     N       ""
-fb_phase=%s Process_fb_phase(optargs);        ALL     N       ""
        ""
        ""
-fb-phase=%s Process_fb_phase(optargs);        ALL     N       ""
-fb-phase=%s Process_fb_phase(optargs);        ALL     N       ""
        "Option needed to tell compile feedback phase"
        "Option needed to tell compile feedback phase"
-fbgen  Gen_feedback=TRUE;    ALL N ""
-fbgen  Gen_feedback=TRUE;    ALL N ""
  ""
  ""
-fbuse%s Process_fbuse(optargs);    ALL N ""
-fbuse%s Process_fbuse(optargs);    ALL N ""
  ""
  ""
-fbexe%s Process_fbexe(optargs);        ALL     N       ""
-fbexe%s Process_fbexe(optargs);        ALL     N       ""
  ""
  ""
-fb_xdir%D Process_fb_xdir(optargs);    ALL N ""
-fb_xdir%D Process_fb_xdir(optargs);    ALL N ""
  ""
  ""
-fb_cdir%D Process_fb_cdir(optargs);    ALL N ""
-fb_cdir%D Process_fb_cdir(optargs);    ALL N ""
  ""
  ""
-fb_create%s Process_fb_create(optargs);        ALL     N       ""
-fb_create%s Process_fb_create(optargs);        ALL     N       ""
        ""
        ""
-fb-create%s Process_fb_create(optargs);        ALL     N       ""
-fb-create%s Process_fb_create(optargs);        ALL     N       ""
        "Option needed for SPEC feedback file generation"
        "Option needed for SPEC feedback file generation"
-fb_opt%s Process_fb_opt(optargs);      ALL     N       ""
-fb_opt%s Process_fb_opt(optargs);      ALL     N       ""
        ""
        ""
-fb-opt%s Process_fb_opt(optargs);      ALL     N       ""
-fb-opt%s Process_fb_opt(optargs);      ALL     N       ""
        "Option needed for using SPEC feedback files"
        "Option needed for using SPEC feedback files"
-fb_type=%s Process_fb_type(optargs);   ALL    N     ""
-fb_type=%s Process_fb_type(optargs);   ALL    N     ""
        ""
        ""
-fb-type=%s Process_fb_type(optargs);   ALL    N     ""
-fb-type=%s Process_fb_type(optargs);   ALL    N     ""
        "Option need for the type of profiles"
        "Option need for the type of profiles"
-frandom-seed%s ; ALL N "-frandom-seed=%s"
-frandom-seed%s ; ALL N "-frandom-seed=%s"
  "specify random seed (string) for internal random number generator"
  "specify random seed (string) for internal random number generator"
-fivopts  ; ALL NONE  ""
-fivopts  ; ALL NONE  ""
  "Perform induction variable optimizations (for options compatibility only, performed by default by Open64)"
  "Perform induction variable optimizations (for options compatibility only, performed by default by Open64)"
-fno-ivopts ; ALL NONE  ""
-fno-ivopts ; ALL NONE  ""
  "Do not perform induction variable optimizations (for options compatibility only, ignored by Open64)"
  "Do not perform induction variable optimizations (for options compatibility only, ignored by Open64)"
-frename-registers  ;           ALL     NONE    ""
-frename-registers  ;           ALL     NONE    ""
             "for options compatibility only, ignored by Open64"
             "for options compatibility only, ignored by Open64"
-ftree-vectorize ;    ALL NONE  ""
-ftree-vectorize ;    ALL NONE  ""
       "Perform 'tree' specific vectorization; for options compatibility only, ignored by Open64"
       "Perform 'tree' specific vectorization; for options compatibility only, ignored by Open64"
-fno-tree-vectorize ;   ALL NONE  ""
-fno-tree-vectorize ;   ALL NONE  ""
       "Don't perform 'tree' specific vectorization; for options compatibility only, ignored by Open64"
       "Don't perform 'tree' specific vectorization; for options compatibility only, ignored by Open64"
-directives-only ; ALL NONE ""
-directives-only ; ALL NONE ""
             "ignored by open64"
             "ignored by open64"
% Basic option groups:
% Basic option groups:
% See opt_actions.c::Process_Ofast if you change the -OPT: item.
% See opt_actions.c::Process_Ofast if you change the -OPT: item.
-OPT:%s   Process_Opt_Group(optargs);   ALL CMP,ipap "-OPT:%s"
-OPT:%s   Process_Opt_Group(optargs);   ALL CMP,ipap "-OPT:%s"
  "option group to control optimization"
  "option group to control optimization"
-OPT:unroll_level=n ;   ALL be  ""
-OPT:unroll_level=n ;   ALL be  ""
  "where n=1,2 controls unrolling, default=1, aggressive=2"
  "where n=1,2 controls unrolling, default=1, aggressive=2"
-OPT:keep_ext=on,off ;  ALL be  ""
-OPT:keep_ext=on,off ;  ALL be  ""
  "where default is off, on means external syms are preserved"
  "where default is off, on means external syms are preserved"
-DEBUG:%s ;   ALL GRP "-DEBUG:%s"
-DEBUG:%s ;   ALL GRP "-DEBUG:%s"
  "option group to debugging options"
  "option group to debugging options"
-TENV:%s  Process_Tenv_Group(optargs);  ALL GRP "-TENV:%s"
-TENV:%s  Process_Tenv_Group(optargs);  ALL GRP "-TENV:%s"
  "option group to control target environment"
  "option group to control target environment"
-TARG:%s  Process_Targ_Group(optargs);  ALL GRP "-TARG:%s"
-TARG:%s  Process_Targ_Group(optargs);  ALL GRP "-TARG:%s"
  "option group to control compilation target"
  "option group to control compilation target"
-SWP:%s   ;   ALL be  "-SWP:%s"
-SWP:%s   ;   ALL be  "-SWP:%s"
  ""
  ""
-GRA:%s   ;   ALL be  "-GRA:%s"
-GRA:%s   ;   ALL be  "-GRA:%s"
  "option group to control global register allocation"
  "option group to control global register allocation"
#ifdef X8664
#ifdef X8664
-GRA:unspill=on,off ;   ALL be  ""
-GRA:unspill=on,off ;   ALL be  ""
  "when on enables optimal GRA/LRA boundary condition allocations"
  "when on enables optimal GRA/LRA boundary condition allocations"
#endif
#endif
-GCM:%s   {warning("-GCM group no longer supported");}  N NONE  ""
-GCM:%s   {warning("-GCM group no longer supported");}  N NONE  ""
  ""
  ""
-CG:%s    ;   ALL be  "-CG:%s"
-CG:%s    ;   ALL be  "-CG:%s"
  "option group to control code generation"
  "option group to control code generation"
-CG:unroll_level=n ;    ALL be  ""
-CG:unroll_level=n ;    ALL be  ""
  "where n=0,1,2 controls unrolling, none=0, default=1, aggressive=2"
  "where n=0,1,2 controls unrolling, none=0, default=1, aggressive=2"
-CG:unroll_fb_req=on,off ;    ALL be  ""
-CG:unroll_fb_req=on,off ;    ALL be  ""
  "when on with FDO disables cold code layout for unrolled loops"
  "when on with FDO disables cold code layout for unrolled loops"
#ifdef X8664
#ifdef X8664
-CG:cmp_peep=on,off ;   ALL be  ""
-CG:cmp_peep=on,off ;   ALL be  ""
  "when on load-exec opts include compare instructions"
  "when on load-exec opts include compare instructions"
-CG:compute_to=on,off ;   ALL be  ""
-CG:compute_to=on,off ;   ALL be  ""
  "when on, enables SSE based scheduling/local code motion optimizations"
  "when on, enables SSE based scheduling/local code motion optimizations"
#endif
#endif
-PHASE:%s ;   ALL be,ipl  "-PHASE:%s"
-PHASE:%s ;   ALL be,ipl  "-PHASE:%s"
  ""
  ""
-WOPT:%s  ;   ALL be,ipl  "-WOPT:%s"
-WOPT:%s  ;   ALL be,ipl  "-WOPT:%s"
  "option group internal-use WOPT options"
  "option group internal-use WOPT options"
-LNO:%s   ;   ALL be  "-LNO:%s"
-LNO:%s   ;   ALL be  "-LNO:%s"
  "option group to control loop nest optimization"
  "option group to control loop nest optimization"
-HP:%s    Process_Hugepage_Group(optargs);  ALL be  ""
-HP:%s    Process_Hugepage_Group(optargs);  ALL be  ""
  "option group to specify huge page usage, e.g., -HP:bdt=2m:heap=2m,limit=150"
  "option group to specify huge page usage, e.g., -HP:bdt=2m:heap=2m,limit=150"
-HP   Process_Hugepage_Default();   ALL be  ""
-HP   Process_Hugepage_Default();   ALL be  ""
  "equivalent to -HP:heap=2m"
  "equivalent to -HP:heap=2m"
-HUGEPAGE:%s  Process_Hugepage_Group(optargs);  ALL be  ""
-HUGEPAGE:%s  Process_Hugepage_Group(optargs);  ALL be  ""
  "equivalent to -HP:"
  "equivalent to -HP:"
-HUGEPAGE Process_Hugepage_Default();   ALL be  ""
-HUGEPAGE Process_Hugepage_Default();   ALL be  ""
  "equivalent to -HP"
  "equivalent to -HP"
#ifndef KEY
#ifndef KEY
-MP:%s    Process_Mp_Group(optargs);    ALL NONE  ""
-MP:%s    Process_Mp_Group(optargs);    ALL NONE  ""
  ""
  ""
#endif
#endif
-VHO:%s   ;   ALL ffe,be,ipl  "-VHO:%s"
-VHO:%s   ;   ALL ffe,be,ipl  "-VHO:%s"
  "option group to control vho lowering"
  "option group to control vho lowering"
% C and Fortran listing related options:
% C and Fortran listing related options:
-CLIST:%s ;   cc  be  "-PHASE:clist -CLIST:%s"
-CLIST:%s ;   cc  be  "-PHASE:clist -CLIST:%s"
  "option group to control C source listing of compiler intermediate"
  "option group to control C source listing of compiler intermediate"
-FLIST:%s ;   FTN be  "-PHASE:flist -FLIST:%s"
-FLIST:%s ;   FTN be  "-PHASE:flist -FLIST:%s"
  "option group to control Fortran source listing of compiler intermediate"
  "option group to control Fortran source listing of compiler intermediate"
-clist  ;   cc  be  "-PHASE:clist -CLIST:=ON"
-clist  ;   cc  be  "-PHASE:clist -CLIST:=ON"
  ""
  ""
-flist  ;   FTN be  "-PHASE:flist -FLIST:=ON"
-flist  ;   FTN be  "-PHASE:flist -FLIST:=ON"
  ""
  ""
-mplist   ;   FTN,cc  be  "-mplist"
-mplist   ;   FTN,cc  be  "-mplist"
  ""
  ""
-PURPLE:%s  ;   f77 be  "-PHASE:purple -PURPLE:%s"
-PURPLE:%s  ;   f77 be  "-PHASE:purple -PURPLE:%s"
  "option group to control problem isolation slicing tool"
  "option group to control problem isolation slicing tool"
-PROMP:next_id=%d ;   FTN,Cc  be  "-PROMP:next_id=%d"
-PROMP:next_id=%d ;   FTN,Cc  be  "-PROMP:next_id=%d"
  ""
  ""
-PROMP:%s ;   FTN,Cc  be  "-PHASE:prompf -PROMP:%s"
-PROMP:%s ;   FTN,Cc  be  "-PHASE:prompf -PROMP:%s"
  ""
  ""
-IPA:%s toggle(&ipa,TRUE);    ALL ipl,ipap  "-IPA:%s"
-IPA:%s toggle(&ipa,TRUE);    ALL ipl,ipap  "-IPA:%s"
  "option group to control interprocedural optimizations"
  "option group to control interprocedural optimizations"
-LANG:std toggle(&standard_cplusplus,TRUE);  CC    GRP  "-LANG:std"
-LANG:std toggle(&standard_cplusplus,TRUE);  CC    GRP  "-LANG:std"
        "Use ISO/ANSI standard-conforming C++ language and library"
        "Use ISO/ANSI standard-conforming C++ language and library"
-LANG:%s  ;   LINK  GRP "-LANG:%s"
-LANG:%s  ;   LINK  GRP "-LANG:%s"
  "option group to control language features"
  "option group to control language features"
-INTERNAL:%s  ;   LINK  GRP,ipap  "-INTERNAL:%s"
-INTERNAL:%s  ;   LINK  GRP,ipap  "-INTERNAL:%s"
  "option group to control features while testing"
  "option group to control features while testing"
-DEFAULT:%s Process_Default_Group(optargs);   ALL N ""
-DEFAULT:%s Process_Default_Group(optargs);   ALL N ""
  ""
  ""
-fverify-tree ;           CC     anyfe  "-fverify-tree"
-fverify-tree ;           CC     anyfe  "-fverify-tree"
        "Run verification routine before tree-to-whirl conversion"
        "Run verification routine before tree-to-whirl conversion"
% Linker Option Group(s)
% Linker Option Group(s)
-LMSG:%s  ;   ALL ld  "-LMSG:%s"
-LMSG:%s  ;   ALL ld  "-LMSG:%s"
  "option group to control error/warning messages in ld"
  "option group to control error/warning messages in ld"
-FE:%s    ;   ALL ffe "-FE:%s"
-FE:%s    ;   ALL ffe "-FE:%s"
  ""
  ""
I-init%s    ;   CC  ld  "-init %s"
I-init%s    ;   CC  ld  "-init %s"
  ""
  ""
I-fini%s    ;   CC  ld  "-fini %s"
I-fini%s    ;   CC  ld  "-fini %s"
  ""
  ""
% -C can have two different meanings, so escape to hand-code
% -C can have two different meanings, so escape to hand-code
-C*   ;   ALL NONE  ""
-C*   ;   ALL NONE  ""
  "C/C++: keep C comments after cpp; Fortran: runtime subscript checking"
  "C/C++: keep C comments after cpp; Fortran: runtime subscript checking"
-ffortran-bounds-check  ; FTN ffe "-DEBUG:subscript_check"
-ffortran-bounds-check  ; FTN ffe "-DEBUG:subscript_check"
  "check bounds"
  "check bounds"
-ffortran2003 ; FTN ffe self
-ffortran2003 ; FTN ffe self
  "Fortran 2003 behavior for BOZ constants in intrinsics"
  "Fortran 2003 behavior for BOZ constants in intrinsics"
% we can safely assume that P_cpp will be the earliest phase
% we can safely assume that P_cpp will be the earliest phase
% P_any_cpp is the generic union of all cpp phases
% P_any_cpp is the generic union of all cpp phases
-E  last_phase=P_any_cpp;   ALL NONE  self
-E  last_phase=P_any_cpp;   ALL NONE  self
  "run cpp and send result to standard output"
  "run cpp and send result to standard output"
-P    ;   ALL CPP self
-P    ;   ALL CPP self
  ""
  ""
-M  last_phase=P_any_cpp;   ALL CPP self
-M  last_phase=P_any_cpp;   ALL CPP self
  "run cpp and print list of make dependencies"
  "run cpp and print list of make dependencies"
-MDupdate%s ;   ALL CPP,ld  "-MDupdate %s"
-MDupdate%s ;   ALL CPP,ld  "-MDupdate %s"
  "update the following file with make dependencies"
  "update the following file with make dependencies"
-MDtarget%s ;   ALL CPP "-MDtarget %s"
-MDtarget%s ;   ALL CPP "-MDtarget %s"
  "use the following as the target for make dependencies"
  "use the following as the target for make dependencies"
-MDignore%s ;   ALL ld  "-MDignore %s"
-MDignore%s ;   ALL ld  "-MDignore %s"
  ""
  ""
-fdollars-in-identifiers   ;    ALL     CPP     self
-fdollars-in-identifiers   ;    ALL     CPP     self
        "Accept `$' in identifiers"
        "Accept `$' in identifiers"
% first_phase is P_cpp by default, so set it to anything different
% first_phase is P_cpp by default, so set it to anything different
-nocpp nocpp_flag=TRUE;first_phase=P_any_fe;  FTN anyfe self
-nocpp nocpp_flag=TRUE;first_phase=P_any_fe;  FTN anyfe self
  "do not do cpp processing"
  "do not do cpp processing"
-cpp  toggle(&use_ftpp,0);first_phase=P_any_cpp;  ALL NONE  ""
-cpp  toggle(&use_ftpp,0);first_phase=P_any_cpp;  ALL NONE  ""
  ""
  ""
% -o is now handled elsewhere because of complications introduced by cord
% -o is now handled elsewhere because of complications introduced by cord
-o%-  save_name(&outfile,optargs);check_output_name(optargs);cancel_saved_arg(2);  ALL NONE ""
-o%-  save_name(&outfile,optargs);check_output_name(optargs);cancel_saved_arg(2);  ALL NONE ""
  "put output in following file name rather than a.out"
  "put output in following file name rather than a.out"
-fonetrip ;   f77 ffe "-1"
-fonetrip ;   f77 ffe "-1"
  "One trip DO loops"
  "One trip DO loops"
-onetrip  ;   f77 ffe "-1"
-onetrip  ;   f77 ffe "-1"
  "One trip DO loops"
  "One trip DO loops"
-1    ;   f77 ffe self
-1    ;   f77 ffe self
  "One trip DO loops"
  "One trip DO loops"
-p  ;   ALL ld  self "-TENV:call_mcount"
-p  ;   ALL ld  self "-TENV:call_mcount"
  ""
  ""
-pg ;   ALL ld  self "-lm" "-TENV:call_mcount"
-pg ;   ALL ld  self "-lm" "-TENV:call_mcount"
  ""
  ""
-profile  ; ALL ld  self "-lm" "-TENV:call_mcount"
-profile  ; ALL ld  self "-lm" "-TENV:call_mcount"
  ""
  ""
#ifdef SL
#ifdef SL
% sl specific flags
% sl specific flags
-march=%s ;  ALL     as      ""
-march=%s ;  ALL     as      ""
        "Set CPU type"
        "Set CPU type"
-n32    toggle(&abi,ABI_N32);   ALL     PFA     "-n32" "-TARG:abi=n32"
-n32    toggle(&abi,ABI_N32);   ALL     PFA     "-n32" "-TARG:abi=n32"
        "Compile for 32-bit ABI"
        "Compile for 32-bit ABI"
-mips4  toggle(&isa,ISA_MIPS4);         ALL     as      "-mips4" "-TARG:isa=mips4"
-mips4  toggle(&isa,ISA_MIPS4);         ALL     as      "-mips4" "-TARG:isa=mips4"
        "compile for mips4 instruction set"
        "compile for mips4 instruction set"
-bblib  toggle(&use_bblibs,TRUE); ALL  NONE  "-CG:dsp_thread=on -TARG:processor=sl1_dsp"
-sl1_dsp   toggle(&use_sl1_dsp,TRUE);   ALL  NONE "-CG:dsp_thread=on -TARG:processor=sl1_dsp -march=sl1"
        ""
        ""
-sl1_dsp toggle(&use_sl1,TRUE);   ALL NONE  "-CG:dsp_thread=on -TARG:processor=sl1_dsp -march=sl1"
-sl1_pcore toggle(&use_sl1_pcore,TRUE); ALL  NONE   "-TARG:processor=sl1_pcore -march=sl1"
  ""
  ""
-sl1_pcore toggle(&use_sl1,TRUE); ALL     NONE    "-TARG:processor=sl1_pcore -march=sl1"
-sl5       toggle(&use_sl5,TRUE); ALL  NONE   "-TARG:processor=sl5 -march=sl5"
  ""
  ""
-mlong-long      Long_Long_Support=TRUE;   Cc,cpp f self
-mlong-long      Long_Long_Support=TRUE;   Cc,cpp f self
  "Supporting 64bit Long Long for SL"
  "Supporting 64bit Long Long for SL"
-msoft-float    Float_Point_Support=TRUE;  Cc,cpp f self
-msoft-float    Float_Point_Support=TRUE;  Cc,cpp f self
  "Supporting Float Point Emulation for SL"
  "Supporting Float Point Emulation for SL"
-ldscript ldscript_file=TRUE; ALL ld  ""
-ldscript ldscript_file=TRUE; ALL ld  ""
  "Using appointed link file"
  "Using appointed link file"
#endif
#endif
#ifdef X8664 /* Bug #381, here the MACRO is X8664/IA64, no 'TARG_' prefix */
#ifdef X8664 /* Bug #381, here the MACRO is X8664/IA64, no 'TARG_' prefix */
-m32  toggle(&abi,ABI_N32); ALL be  "-TARG:abi=n32"
-m32  toggle(&abi,ABI_N32); ALL be  "-TARG:abi=n32"
        "Compile for 32-bit ABI"
        "Compile for 32-bit ABI"
-m64  toggle(&abi,ABI_64);  ALL be  "-TARG:abi=n64"
-m64  toggle(&abi,ABI_64);  ALL be  "-TARG:abi=n64"
  "Compile for 64-bit ABI"
  "Compile for 64-bit ABI"
#endif
#endif
#ifdef TARG_NVISA
#ifdef TARG_NVISA
-m32    toggle(&abi,ABI_N32);   ALL     be      "-TARG:abi=n32"
-m32    toggle(&abi,ABI_N32);   ALL     be      "-TARG:abi=n32"
        "Compile for 32-bit ABI"
        "Compile for 32-bit ABI"
-m64    toggle(&abi,ABI_64);    ALL     be      "-TARG:abi=n64"
-m64    toggle(&abi,ABI_64);    ALL     be      "-TARG:abi=n64"
        "Compile for 64-bit ABI"
        "Compile for 64-bit ABI"
-w64  toggle(&abi,ABI_W64); ALL NONE  "-TARG:abi=w64"
-w64  toggle(&abi,ABI_W64); ALL NONE  "-TARG:abi=w64"
  "Compile for Windows 64-bit ABI"
  "Compile for Windows 64-bit ABI"
#endif
#endif
#ifdef KEY /* Bug 4210 */
#ifdef KEY /* Bug 4210 */
-module%s Process_module(optargs);  F90 NONE  ""
-module%s Process_module(optargs);  F90 NONE  ""
  "Directory in which to create .mod file"
  "Directory in which to create .mod file"
#endif /* KEY Bug 4210 */
#endif /* KEY Bug 4210 */
% KRDEFS are used by K&R compiles; ONANSI by any non-strict-ansi compile
% KRDEFS are used by K&R compiles; ONANSI by any non-strict-ansi compile
#define KRDEFS "-Dunix -Dsgi -DLANGUAGE_C"
#define KRDEFS "-Dunix -Dsgi -DLANGUAGE_C"
#define KRDEFS_linux "-Dunix -Dlinux"
#define KRDEFS_linux "-Dunix -Dlinux"
#define ANSI  "-Xansi -D__STRICT_ANSI__"
#define ANSI  "-Xansi -D__STRICT_ANSI__"
% One kludge that we do is to add -DMIPSE{L,B} by hand in the driver,
% One kludge that we do is to add -DMIPSE{L,B} by hand in the driver,
% by checking if ansi==KR_ANSI and then checking the endian value.
% by checking if ansi==KR_ANSI and then checking the endian value.
I-cpp_nonansi   ;   ALL NONE  "-D_LONGLONG"
I-cpp_nonansi   ;   ALL NONE  "-D_LONGLONG"
  ""
  ""
I-cpp_extensions  ;   ALL NONE  "-D__EXTENSIONS__ -D__MATH_HAS_NO_SIDE_EFFECTS"
I-cpp_extensions  ;   ALL NONE  "-D__EXTENSIONS__ -D__MATH_HAS_NO_SIDE_EFFECTS"
  ""
  ""
% KEY: Do not list FTN here because while FTN fe and FTN cpp take -ansi, gcc for
% KEY: Do not list FTN here because while FTN fe and FTN cpp take -ansi, gcc for
%      FTN preprocessing does not.  Handle FTN -ansi when calling individual
%      FTN preprocessing does not.  Handle FTN -ansi when calling individual
%      phases.
%      phases.
-ansi toggle(&ansi,STRICT_ANSI);  cc  CPP,anyfe self ANSI
-ansi toggle(&ansi,STRICT_ANSI);  cc  CPP,anyfe self ANSI
  "strict ansi and standard intrinsics only"
  "strict ansi and standard intrinsics only"
-std=c89    ;   Cc,CPP  CPP,cfe self
-std=c89    ;   Cc,CPP  CPP,cfe self
  "Support ISO C from 1990"
  "Support ISO C from 1990"
-std=iso9899:1990 ;   Cc,CPP  CPP,cfe self
-std=iso9899:1990 ;   Cc,CPP  CPP,cfe self
  "Support ISO C from 1990"
  "Support ISO C from 1990"
-std=iso9899:199409 ;   Cc,CPP  CPP,cfe self
-std=iso9899:199409 ;   Cc,CPP  CPP,cfe self
  "Support ISO C from 1990, with 1994 amendments"
  "Support ISO C from 1990, with 1994 amendments"
-std=c99    ;   Cc,CPP  CPP,cfe self
-std=c99    ;   Cc,CPP  CPP,cfe self
  "Support revised ISO C, from 1999"
  "Support revised ISO C, from 1999"
-std=c9x    ;   Cc,CPP  CPP,cfe self
-std=c9x    ;   Cc,CPP  CPP,cfe self
  "Support revised ISO C, from 1999"
  "Support revised ISO C, from 1999"
-std=iso9899:1999 ;   Cc,CPP  CPP,cfe self
-std=iso9899:1999 ;   Cc,CPP  CPP,cfe self
  "Support revised ISO C, from 1999"
  "Support revised ISO C, from 1999"
-std=iso9899:199x ;   Cc,CPP  CPP,cfe self
-std=iso9899:199x ;   Cc,CPP  CPP,cfe self
  "Support revised ISO C, from 1999"
  "Support revised ISO C, from 1999"
-std=gnu89    ;   Cc,CPP  CPP,cfe self
-std=gnu89    ;   Cc,CPP  CPP,cfe self
  "Support ISO C from 1990, with GNU extensions"
  "Support ISO C from 1990, with GNU extensions"
-std=gnu99    ;   Cc,CPP  CPP,cfe self
-std=gnu99    ;   Cc,CPP  CPP,cfe self
  "Support ISO C from 1999, with GNU extensions"
  "Support ISO C from 1999, with GNU extensions"
-std=gnu9x    ;   Cc,CPP  CPP,cfe self
-std=gnu9x    ;   Cc,CPP  CPP,cfe self
  "Support ISO C from 1999, with GNU extensions"
  "Support ISO C from 1999, with GNU extensions"
-std=c++98    ;   CC,CPP  CPP,cfe self
-std=c++98    ;   CC,CPP  CPP,cfe self
  "Support 1998 ISO C++ standard plus amendments"
  "Support 1998 ISO C++ standard plus amendments"
-std=gnu++98    ;   CC,CPP  CPP,cfe self
-std=gnu++98    ;   CC,CPP  CPP,cfe self
  "The same as '-std=c++98' plus GNU extensions.  This is the default for C++ code."
  "The same as '-std=c++98' plus GNU extensions.  This is the default for C++ code."
% these options are only set for cc:
% these options are only set for cc:
I-Xansi                 ;       cc      mpc     self
I-Xansi                 ;       cc      mpc     self
        ""
        ""
I-D_LANGUAGE_C    ; cc  CPP self
I-D_LANGUAGE_C    ; cc  CPP self
  ""
  ""
I-D__EXTENSIONS__   ; CC,cc CPP self
I-D__EXTENSIONS__   ; CC,cc CPP self
  ""
  ""
I-D__GNUC__ ; CC,cc CPP self
I-D__GNUC__ ; CC,cc CPP self
  ""
  ""
% these options are only set for CC:
% these options are only set for CC:
#define CXX_DEFS "-D_LANGUAGE_C_PLUS_PLUS=1 -D_MODERN_C"
#define CXX_DEFS "-D_LANGUAGE_C_PLUS_PLUS=1 -D_MODERN_C"
#define CXX_DEFS_LINUX "-D_LANGUAGE_C_PLUS_PLUS=1"
#define CXX_DEFS_LINUX "-D_LANGUAGE_C_PLUS_PLUS=1"
% the -Xcpluscomm is needed in case we use CPP
% the -Xcpluscomm is needed in case we use CPP
I-D_LANGUAGE_C_PLUS_PLUS=1 ;  CC  CPP self
I-D_LANGUAGE_C_PLUS_PLUS=1 ;  CC  CPP self
  ""
  ""
% these options are only set for as:
% these options are only set for as:
#define AS_DEFS "-D_LANGUAGE_ASSEMBLY -DLANGUAGE_ASSEMBLY"
#define AS_DEFS "-D_LANGUAGE_ASSEMBLY -DLANGUAGE_ASSEMBLY"
I-cpp_assembly    ;   as  CPP AS_DEFS
I-cpp_assembly    ;   as  CPP AS_DEFS
  ""
  ""
I-D_LANGUAGE_ASSEMBLY ;   as  CPP self
I-D_LANGUAGE_ASSEMBLY ;   as  CPP self
  ""
  ""
% these options are only set for fortran:
% these options are only set for fortran:
% these options are only set for fortran:
% these options are only set for fortran:
#define FTN_DEFS "-D_LANGUAGE_FORTRAN -DLANGUAGE_FORTRAN"
#define FTN_DEFS "-D_LANGUAGE_FORTRAN -DLANGUAGE_FORTRAN"
#define FTN77_DEFS "-D_LANGUAGE_FORTRAN77 -DLANGUAGE_FORTRAN77"
#define FTN77_DEFS "-D_LANGUAGE_FORTRAN77 -DLANGUAGE_FORTRAN77"
#define FTN90_DEFS "-D_LANGUAGE_FORTRAN90 -DLANGUAGE_FORTRAN90"
#define FTN90_DEFS "-D_LANGUAGE_FORTRAN90 -DLANGUAGE_FORTRAN90"
I-cpp_fortran   ;   FTN CPP FTN_DEFS
I-cpp_fortran   ;   FTN CPP FTN_DEFS
  ""
  ""
I-cpp_fortran90   ;   F90 CPP FTN90_DEFS
I-cpp_fortran90   ;   F90 CPP FTN90_DEFS
  ""
  ""
I-cpp_fortran77   ;   f77 CPP FTN77_DEFS
I-cpp_fortran77   ;   f77 CPP FTN77_DEFS
  ""
  ""
I-D_LANGUAGE_FORTRAN  ;   FTN CPP self
I-D_LANGUAGE_FORTRAN  ;   FTN CPP self
  ""
  ""
% f77 and as use cpp, but require k&r processing for things like # comments
% f77 and as use cpp, but require k&r processing for things like # comments
-A%s      ;   ALL CPP "-A%s"
-A%s      ;   ALL CPP "-A%s"
  "add following cpp assertions"
  "add following cpp assertions"
-D%s      ;   ALL CPP "-D%s"
-D%s      ;   ALL CPP "-D%s"
  "add following macro define"
  "add following macro define"
% -U can have two different meanings, so escape to hand-code
% -U can have two different meanings, so escape to hand-code
-U*   ;   ALL NONE  ""
-U*   ;   ALL NONE  ""
  ""
  ""
-U%s      ;   ALL CPP "-U%s"
-U%s      ;   ALL CPP "-U%s"
  "undefine the following macro"
  "undefine the following macro"
-l%s      ;   LINK  ld  "-l%s"
-l%s      ;   LINK  ld  "-l%s"
  "-l<arg> adds library lib<arg> to link list"
  "-l<arg> adds library lib<arg> to link list"
-WB,%s      ;   LINK  ld  "-WB,%s"
-WB,%s      ;   LINK  ld  "-WB,%s"
  "-WB,<arg> passes <arg> to the back-end via ipacom"
  "-WB,<arg> passes <arg> to the back-end via ipacom"
%the next 2 entries are allegedly handled by the W* entry -- gbl
%the next 2 entries are allegedly handled by the W* entry -- gbl
%Bug#551
%Bug#551
%-Wa,%s     ;   LINK  as  "-Wa,%s"
%-Wa,%s     ;   LINK  as  "-Wa,%s"
% "pass comma-separated opts to assembler as individual opts"
% "pass comma-separated opts to assembler as individual opts"
-Wl,%s      ;   LINK  ld  "-Wl,%s"
-Wl,%s      ;   LINK  ld  "-Wl,%s"
  "pass comma-separated opts to linker as individual opts"
  "pass comma-separated opts to linker as individual opts"
-Wp,%s      ;   ALL CPP "-Wp,%s"
-Wp,%s      ;   ALL CPP "-Wp,%s"
  "pass comma-separated opts to preprocessor as individual opts"
  "pass comma-separated opts to preprocessor as individual opts"
-W*     ;   ALL NONE  ""
-W*     ;   ALL NONE  ""
  "-W<phase>,<arg> sends arg to phase {p=cpp,f=fe,b=be,a=as,l=ld}"
  "-W<phase>,<arg> sends arg to phase {p=cpp,f=fe,b=be,a=as,l=ld}"
-Y%s  change_phase_path(optargs);   ALL ipap  "-Y%s"
-Y%s  change_phase_path(optargs);   ALL ipap  "-Y%s"
  "-Y<phase>,<path> uses path to find phase {p=cpp,f=fe,b=be,a=as,l=ld,i=inline,I=include,S=startup,L=libraries}"
  "-Y<phase>,<path> uses path to find phase {p=cpp,f=fe,b=be,a=as,l=ld,i=inline,I=include,S=startup,L=libraries}"
% XPG requires ability to do -O 0 as well as -O0
% XPG requires ability to do -O 0 as well as -O0
-O*0  toggle(&olevel,0);    ALL CMP,CPP "-O0"
-O*0  toggle(&olevel,0);    ALL CMP,CPP "-O0"
  "no optimization"
  "no optimization"
-O*1  toggle(&olevel,1);    ALL CMP,CPP "-O1 -D__OPTIMIZE__"
-O*1  toggle(&olevel,1);    ALL CMP,CPP "-O1 -D__OPTIMIZE__"
  "minimal optimization"
  "minimal optimization"
-O  toggle(&olevel,2);    ALL CMP,CPP "-O2 -D__OPTIMIZE__"
-O  toggle(&olevel,2);    ALL CMP,CPP "-O2 -D__OPTIMIZE__"
  "same as -O2"
  "same as -O2"
-O*2  toggle(&olevel,2);    ALL CMP,CPP "-O2 -D__OPTIMIZE__"
-O*2  toggle(&olevel,2);    ALL CMP,CPP "-O2 -D__OPTIMIZE__"
  "global optimization"
  "global optimization"
-O*3  O3_flag=TRUE;toggle(&olevel,3); ALL CMP,CPP "-O3 -D__OPTIMIZE__"
-O*3  O3_flag=TRUE;toggle(&olevel,3); ALL CMP,CPP "-O3 -D__OPTIMIZE__"
  "full optimization"
  "full optimization"
-O*%d ;       ALL CMP,CPP "-O3"
-O*%d ;       ALL CMP,CPP "-O3"
  "full optimization"
  "full optimization"
-Os toggle(&ospace,TRUE); ALL CMP "-OPT:space"
-Os toggle(&ospace,TRUE); ALL CMP "-OPT:space"
  "Optimize for space"
  "Optimize for space"
-mspace toggle(&ospace,TRUE); ALL CMP "-OPT:space"
-mspace toggle(&ospace,TRUE); ALL CMP "-OPT:space"
  ""
  ""
-g  toggle(&glevel,2);    ALL CMP "-g2"
-g  toggle(&glevel,2);    ALL CMP "-g2"
  "full debug info"
  "full debug info"
-g0 toggle(&glevel,0);    ALL CMP self
-g0 toggle(&glevel,0);    ALL CMP self
  "no debug info"
  "no debug info"
-g1 toggle(&glevel,1);    ALL CMP self "-Wl,--export-dynamic"
-g1 toggle(&glevel,1);    ALL CMP self "-Wl,--export-dynamic"
  ""
  ""
-g2 toggle(&glevel,2);    ALL CMP self
-g2 toggle(&glevel,2);    ALL CMP self
  ""
  ""
-g3 toggle(&glevel,3);    ALL CMP,CPP self
-g3 toggle(&glevel,3);    ALL CMP,CPP self
  "Add debugging information for C preprocessor macros"
  "Add debugging information for C preprocessor macros"
-gdwarf warn_ignored(option_name);  ALL NONE  ""
-gdwarf warn_ignored(option_name);  ALL NONE  ""
  ""
  ""
-gdwarf-1 warn_ignored(option_name);  ALL NONE  ""
-gdwarf-1 warn_ignored(option_name);  ALL NONE  ""
  ""
  ""
-gdwarf-1+  warn_ignored(option_name);  ALL NONE  ""
-gdwarf-1+  warn_ignored(option_name);  ALL NONE  ""
  ""
  ""
-gdwarf-2 toggle(&glevel,2);  ALL CMP "-g2"
-gdwarf-2 toggle(&glevel,2);  ALL CMP "-g2"
  "Produce debugging information in DWARF version 2 format"
  "Produce debugging information in DWARF version 2 format"
-gdwarf-20  toggle(&glevel,0);  ALL CMP "-g0"
-gdwarf-20  toggle(&glevel,0);  ALL CMP "-g0"
  "Produce DWARF 2 debugging information at debug level 0"
  "Produce DWARF 2 debugging information at debug level 0"
-gdwarf-21  toggle(&glevel,1);  ALL CMP "-g1"
-gdwarf-21  toggle(&glevel,1);  ALL CMP "-g1"
  "Produce DWARF 2 debugging information at debug level 1"
  "Produce DWARF 2 debugging information at debug level 1"
-gdwarf-22  toggle(&glevel,2);  ALL CMP "-g2"
-gdwarf-22  toggle(&glevel,2);  ALL CMP "-g2"
  "Produce DWARF 2 debugging information at debug level 2"
  "Produce DWARF 2 debugging information at debug level 2"
-gdwarf-23  toggle(&glevel,3);  ALL CMP "-g3"
-gdwarf-23  toggle(&glevel,3);  ALL CMP "-g3"
  "Produce DWARF 2 debugging information at debug level 3"
  "Produce DWARF 2 debugging information at debug level 3"
-ggdb toggle(&glevel,2);    ALL CMP "-g2"
-ggdb toggle(&glevel,2);    ALL CMP "-g2"
  "Produce debugging information for use by GDB"
  "Produce debugging information for use by GDB"
-ggdb3  toggle(&glevel,3);    ALL CMP "-g3"
-ggdb3  toggle(&glevel,3);    ALL CMP "-g3"
  "Produce debugging information for use by GDB"
  "Produce debugging information for use by GDB"
#ifdef KEY
#ifdef KEY
-gnu3 toggle(&gnu_major_version,3);toggle(&gnu_minor_version,3);  Cc  NONE  ""
-gnu3 toggle(&gnu_major_version,3);toggle(&gnu_minor_version,3);  Cc  NONE  ""
  "Use GCC 3.3 C/C++ front-end."
  "Use GCC 3.3 C/C++ front-end."
-gnu4 toggle(&gnu_major_version,4);toggle(&gnu_minor_version,2);  Cc  NONE  ""
-gnu4 toggle(&gnu_major_version,4);toggle(&gnu_minor_version,2);  Cc  NONE  ""
  "Use GCC 4.2 C/C++ front-end."
  "Use GCC 4.2 C/C++ front-end."
-gnu40  toggle(&gnu_major_version,4);toggle(&gnu_minor_version,0);  Cc  NONE  ""
-gnu40  toggle(&gnu_major_version,4);toggle(&gnu_minor_version,0);  Cc  NONE  ""
  "Use GCC 4.0 C/C++ front-end."
  "Use GCC 4.0 C/C++ front-end."
-gnu42  toggle(&gnu_major_version,4);toggle(&gnu_minor_version,2);  Cc  NONE  ""
-gnu42  toggle(&gnu_major_version,4);toggle(&gnu_minor_version,2);  Cc  NONE  ""
  "Use GCC 4.2 C/C++ front-end."
  "Use GCC 4.2 C/C++ front-end."
#endif
#endif
-gstabs   warn_ignored(option_name);  ALL NONE  ""
-gstabs   warn_ignored(option_name);  ALL NONE  ""
  ""
  ""
-gstabs+  warn_ignored(option_name);  ALL NONE  ""
-gstabs+  warn_ignored(option_name);  ALL NONE  ""
  ""
  ""
-gstabs0  warn_ignored(option_name);  ALL NONE  ""
-gstabs0  warn_ignored(option_name);  ALL NONE  ""
  ""
  ""
-gstabs1  warn_ignored(option_name);  ALL NONE  ""
-gstabs1  warn_ignored(option_name);  ALL NONE  ""
  ""
  ""
-gstabs2  warn_ignored(option_name);  ALL NONE  ""
-gstabs2  warn_ignored(option_name);  ALL NONE  ""
  ""
  ""
-gstabs3  warn_ignored(option_name);  ALL NONE  ""
-gstabs3  warn_ignored(option_name);  ALL NONE  ""
  ""
  ""
#define ABII32_DEFS     "-D_ILP32 -Amodel(ilp32)"
#define ABII32_DEFS     "-D_ILP32 -Amodel(ilp32)"
#define ABII64_DEFS     "-D_LP64"
#define ABII64_DEFS     "-D_LP64"
#define ABIIA32_DEFS    "-D_ILP32 -Amodel(ilp32)"
#define ABIIA32_DEFS    "-D_ILP32 -Amodel(ilp32)"
-i32    toggle(&abi,ABI_I32);       ALL     pwrc,PFA,mpc        "-i32" ABII32_DEFS "-TARG:abi=i32 -D__ia64=1"
-i32    toggle(&abi,ABI_I32);       ALL     pwrc,PFA,mpc        "-i32" ABII32_DEFS "-TARG:abi=i32 -D__ia64=1"
        ""
        ""
-i64     toggle(&abi,ABI_I64);       ALL     pwrc,PFA,mpc       "-i64" ABII64_DEFS "-TARG:abi=i64 -D__ia64=1"
-i64     toggle(&abi,ABI_I64);       ALL     pwrc,PFA,mpc       "-i64" ABII64_DEFS "-TARG:abi=i64 -D__ia64=1"
        ""
        ""
-ia32   toggle(&abi,ABI_IA32);       ALL     pwrc,PFA,mpc       "-ia32" ABIIA32_DEFS "-TARG:abi=ia32 -D__ia32=1"
-ia32   toggle(&abi,ABI_IA32);       ALL     pwrc,PFA,mpc       "-ia32" ABIIA32_DEFS "-TARG:abi=ia32 -D__ia32=1"
        ""
        ""
-itanium toggle(&isa,ISA_IA641);        ALL     NONE    "-i64"
-itanium toggle(&isa,ISA_IA641);        ALL     NONE    "-i64"
        ""
        ""
% See the comments associated with -mlittle/big-endian
% See the comments associated with -mlittle/big-endian
I-m0    ;   ALL GRP self
I-m0    ;   ALL GRP self
  ""
  ""
I-m1    ;   ALL GRP self
I-m1    ;   ALL GRP self
  ""
  ""
I-m2    ;   ALL GRP self
I-m2    ;   ALL GRP self
  ""
  ""
I-object    ; ALL ld  ""
I-object    ; ALL ld  ""
  ""
  ""
% -useas says to go through the assembler phase
% -useas says to go through the assembler phase
-useas  toggle(&skip_as,FALSE);   ALL NONE  ""
-useas  toggle(&skip_as,FALSE);   ALL NONE  ""
  ""
  ""
% -noas says to skip the assembler phase
% -noas says to skip the assembler phase
-noas toggle(&skip_as,TRUE);    ALL NONE  ""
-noas toggle(&skip_as,TRUE);    ALL NONE  ""
  ""
  ""
-usegfe   ;   Cc  NONE  ""
-usegfe   ;   Cc  NONE  ""
  ""
  ""
-usef90   ;   F90 NONE  ""
-usef90   ;   F90 NONE  ""
  ""
  ""
-NC%d ;  FTN  ffe "-NC%d"
-NC%d ;  FTN  ffe "-NC%d"
  "set max # of continuation lines"
  "set max # of continuation lines"
I-cvs   ;   FTN F self
I-cvs   ;   FTN F self
  ""
  ""
I-cvs,%D  ;   FTN F "-cvs,%D"
I-cvs,%D  ;   FTN F "-cvs,%D"
  ""
  ""
I-cvs_nosrc ;   FTN F self
I-cvs_nosrc ;   FTN F self
  ""
  ""
I-cvs_nosrc,%D  ;   FTN F "-cvs_nosrc,%D"
I-cvs_nosrc,%D  ;   FTN F "-cvs_nosrc,%D"
  ""
  ""
-automatic  toggle(&isstatic,1);    FTN NONE  ""
-automatic  toggle(&isstatic,1);    FTN NONE  ""
  ""
  ""
-auto_use%s ;     F90 ffe "-auto_use=%s"
-auto_use%s ;     F90 ffe "-auto_use=%s"
  ""
  ""
-auto-use%s ;     F90 ffe "-auto_use=%s"
-auto-use%s ;     F90 ffe "-auto_use=%s"
  "Act as if a USE statement is specified in every PU"
  "Act as if a USE statement is specified in every PU"
#ifdef KEY  /* bug 9058 */
#ifdef KEY  /* bug 9058 */
-fcoco    toggle(&use_coco,TRUE); FTN NONE  ""
-fcoco    toggle(&use_coco,TRUE); FTN NONE  ""
  "use coco Fortran preprocessor"
  "use coco Fortran preprocessor"
-fcoco=%s toggle(&use_coco,TRUE);save_name(&coco_setfile,optargs);  FTN NONE  ""
-fcoco=%s toggle(&use_coco,TRUE);save_name(&coco_setfile,optargs);  FTN NONE  ""
  "use coco Fortran preprocessor"
  "use coco Fortran preprocessor"
#endif
#endif
-ftpp   toggle(&use_ftpp,1);  F90 NONE  ""
-ftpp   toggle(&use_ftpp,1);  F90 NONE  ""
  ""
  ""
-macro_expand expand_ftpp_macros=TRUE;  F90 N ""
-macro_expand expand_ftpp_macros=TRUE;  F90 N ""
  ""
  ""
-macro-expand expand_ftpp_macros=TRUE;  F90 N ""
-macro-expand expand_ftpp_macros=TRUE;  F90 N ""
  "expand macros everywhere in ftpp"
  "expand macros everywhere in ftpp"
-static-data    ;   FTN ffe self
-static-data    ;   FTN ffe self
  "treat local data as static"
  "treat local data as static"
-static   ;   LINK  ld  self
-static   ;   LINK  ld  self
  ""
  ""
-static_threadprivate   ;   FTN ffe self
-static_threadprivate   ;   FTN ffe self
  ""
  ""
-static-threadprivate   ;   FTN ffe self
-static-threadprivate   ;   FTN ffe self
  "treat locals as static but not shared among multiple threads"
  "treat locals as static but not shared among multiple threads"
-dumpspecs  warn_ignored(option_name);  ALL anyfe self
-dumpspecs  warn_ignored(option_name);  ALL anyfe self
  ""
  ""
-backslash  first_phase=P_any_fe;   f77 ffe self
-backslash  first_phase=P_any_fe;   f77 ffe self
  "treat backslash as normal character rather than an escape"
  "treat backslash as normal character rather than an escape"
#ifdef KEY /* Bug 4260 */
#ifdef KEY /* Bug 4260 */
-byteswapio toggle(&io_byteswap,1);   F90 ffe self
-byteswapio toggle(&io_byteswap,1);   F90 ffe self
  "Swap bytes during file I/O"
  "Swap bytes during file I/O"
-convert%s  toggle(&io_byteswap,2);check_convert_name(optargs); F90 ffe "-convert %s"
-convert%s  toggle(&io_byteswap,2);check_convert_name(optargs); F90 ffe "-convert %s"
  "Convert files by swapping bytes during I/O"
  "Convert files by swapping bytes during I/O"
#endif /* KEY Bug 4260 */
#endif /* KEY Bug 4260 */
-noexpopt ;   FTN be  "-OPT:fast_exp=no"
-noexpopt ;   FTN be  "-OPT:fast_exp=no"
  "Do not optimize exponentiation operations"
  "Do not optimize exponentiation operations"
-keepdollar ;   f77 ffe self
-keepdollar ;   f77 ffe self
  "Treat $ as a normal last character in symbol names"
  "Treat $ as a normal last character in symbol names"
-chararg1 ;   f77 ffe self
-chararg1 ;   f77 ffe self
  ""
  ""
-nof77  ;   f77 ffe self
-nof77  ;   f77 ffe self
  ""
  ""
-ff77 warn_ignored(option_name);  FTN NONE  ""
-ff77 warn_ignored(option_name);  FTN NONE  ""
  "Use idiomatic UNIX FORTRAN 77"
  "Use idiomatic UNIX FORTRAN 77"
-ff90 ;   FTN NONE  ""
-ff90 ;   FTN NONE  ""
  "Allow Fortran 90 constructs"
  "Allow Fortran 90 constructs"
-fdirectives  ; FTN ffe ""
-fdirectives  ; FTN ffe ""
  "Recognize Fortran compiler directives inside comments"
  "Recognize Fortran compiler directives inside comments"
-fno-directives ; FTN ffe "-xall"
-fno-directives ; FTN ffe "-xall"
  "Ignore Fortran compiler directives inside comments"
  "Ignore Fortran compiler directives inside comments"
I-xall    ; FTN ffe self
I-xall    ; FTN ffe self
  ""
  ""
-fsecond-underscore ;   FTN ffe self
-fsecond-underscore ;   FTN ffe self
  "Append a second underscore to symbols that already contain an underscore"
  "Append a second underscore to symbols that already contain an underscore"
-fno-second-underscore  ;   FTN ffe self
-fno-second-underscore  ;   FTN ffe self
  "Do not append a second underscore to symbols that already contain an underscore"
  "Do not append a second underscore to symbols that already contain an underscore"
-funderscoring  ;   FTN ffe self
-funderscoring  ;   FTN ffe self
  "Append underscores to symbols"
  "Append underscores to symbols"
-fno-underscoring ;   FTN ffe self
-fno-underscoring ;   FTN ffe self
  "Do not append underscores to symbols"
  "Do not append underscores to symbols"
-fcheck-new ; CC  cfe self
-fcheck-new ; CC  cfe self
  "Check result of operator new for NULL"
  "Check result of operator new for NULL"
-fno-check-new  ; CC  cfe self
-fno-check-new  ; CC  cfe self
  "Do not check result of operator new for NULL"
  "Do not check result of operator new for NULL"
-fvisibility-inlines-hidden ;   CC      cfe     self
-fvisibility-inlines-hidden ;   CC      cfe     self
        "for options compatibility only, ignored by Open64"
        "for options compatibility only, ignored by Open64"
-frepo          ;       CC      cfe     self
-frepo          ;       CC      cfe     self
        "Enable automatic template instantiation at link time, for options compatibility only, ignored by Open64"
        "Enable automatic template instantiation at link time, for options compatibility only, ignored by Open64"
-fconserve-space        ;       CC      cfe     self
-fconserve-space        ;       CC      cfe     self
        "Put uninitialized or runtime-initialized global variables into the common segment, for options compatibility only, ignored by Open64"
        "Put uninitialized or runtime-initialized global variables into the common segment, for options compatibility only, ignored by Open64"
-felide-constructors    ;       CC      cfe     self
-felide-constructors    ;       CC      cfe     self
        "for options compatibility only, ignored by Open64"
        "for options compatibility only, ignored by Open64"
-fno-elide-constructors ; CC  cfe self
-fno-elide-constructors ; CC  cfe self
  "Do not perform an optimization that can avoid calling the copy constructor"
  "Do not perform an optimization that can avoid calling the copy constructor"
-fno-implement-inlines  ;       CC      cfe     self
-fno-implement-inlines  ;       CC      cfe     self
        "Do not emit out-of-line copies of inline functions controlled by `#pragma implementation', for options compatibility only, ignored by Open64"
        "Do not emit out-of-line copies of inline functions controlled by `#pragma implementation', for options compatibility only, ignored by Open64"
-ffor-scope ; CC  cfe self
-ffor-scope ; CC  cfe self
  "Variables declared in a for-init loop are constrained to that scope"
  "Variables declared in a for-init loop are constrained to that scope"
-fno-for-scope  ; CC  cfe self
-fno-for-scope  ; CC  cfe self
  "Variables declared in a for-init loop extend to the enclosing scope"
  "Variables declared in a for-init loop extend to the enclosing scope"
-fuse-cxa-atexit  ; CC  cfe self
-fuse-cxa-atexit  ; CC  cfe self
  "Register static destructors with __cxa_atexit instead of atexit"
  "Register static destructors with __cxa_atexit instead of atexit"
-fno-use-cxa-atexit ; CC  cfe self
-fno-use-cxa-atexit ; CC  cfe self
  "Register static destructors with atexit instead of __cxa_atexit"
  "Register static destructors with atexit instead of __cxa_atexit"
-frtti  ; CC  cfe self
-frtti  ; CC  cfe self
  "Generate runtime type information"
  "Generate runtime type information"
-fno-rtti ; CC  cfe self
-fno-rtti ; CC  cfe self
  "Do not generate runtime type information"
  "Do not generate runtime type information"
-fimplicit-templates  ; CC  cfe self
-fimplicit-templates  ; CC  cfe self
  "Emit code for non-inline templates instantiated implicitly"
  "Emit code for non-inline templates instantiated implicitly"
-fno-implicit-templates ; CC  cfe self
-fno-implicit-templates ; CC  cfe self
  "Never emit code for non-inline templates instantiated implicitly"
  "Never emit code for non-inline templates instantiated implicitly"
-fimplicit-inline-templates ; CC  cfe self
-fimplicit-inline-templates ; CC  cfe self
  "Emit code for inline templates instantiated implicitly"
  "Emit code for inline templates instantiated implicitly"
-fno-implicit-inline-templates  ; CC  cfe self
-fno-implicit-inline-templates  ; CC  cfe self
  "Never emit code for inline templates instantiated implicitly"
  "Never emit code for inline templates instantiated implicitly"
-fweak  warn_ignored(option_name);  ALL NONE  ""
-fweak  warn_ignored(option_name);  ALL NONE  ""
  ""
  ""
-fno-weak warn_ignored(option_name);  ALL NONE  ""
-fno-weak warn_ignored(option_name);  ALL NONE  ""
  ""
  ""
-fssa warn_ignored(option_name);  ALL NONE  ""
-fssa warn_ignored(option_name);  ALL NONE  ""
  ""
  ""
-fno-ssa  warn_ignored(option_name);  ALL NONE  ""
-fno-ssa  warn_ignored(option_name);  ALL NONE  ""
  ""
  ""
-fssa-ccp warn_ignored(option_name);  ALL NONE  ""
-fssa-ccp warn_ignored(option_name);  ALL NONE  ""
  ""
  ""
-fno-ssa-ccp  warn_ignored(option_name);  ALL NONE  ""
-fno-ssa-ccp  warn_ignored(option_name);  ALL NONE  ""
  ""
  ""
-fssa-dce warn_ignored(option_name);  ALL NONE  ""
-fssa-dce warn_ignored(option_name);  ALL NONE  ""
  ""
  ""
-fno-ssa-dce  warn_ignored(option_name);  ALL NONE  ""
-fno-ssa-dce  warn_ignored(option_name);  ALL NONE  ""
  ""
  ""
-foptimize-register-move  warn_ignored(option_name);  ALL NONE  ""
-foptimize-register-move  warn_ignored(option_name);  ALL NONE  ""
  ""
  ""
-fno-optimize-register-move warn_ignored(option_name);  ALL NONE  ""
-fno-optimize-register-move warn_ignored(option_name);  ALL NONE  ""
  ""
  ""
-foptimize-sibling-calls  warn_ignored(option_name);  ALL NONE  ""
-foptimize-sibling-calls  warn_ignored(option_name);  ALL NONE  ""
  ""
  ""
-fno-optimize-sibling-calls warn_ignored(option_name);  ALL NONE  ""
-fno-optimize-sibling-calls warn_ignored(option_name);  ALL NONE  ""
  ""
  ""
-femit-class-debug-always warn_ignored(option_name);  ALL NONE  ""
-femit-class-debug-always warn_ignored(option_name);  ALL NONE  ""
  ""
  ""
-fno-emit-class-debug-always  warn_ignored(option_name);  ALL NONE  ""
-fno-emit-class-debug-always  warn_ignored(option_name);  ALL NONE  ""
  ""
  ""
-ftree-vrp  warn_ignored(option_name);  ALL NONE  ""
-ftree-vrp  warn_ignored(option_name);  ALL NONE  ""
  "Perform Value Range Propagation on trees"
  "Perform Value Range Propagation on trees"
-fno-tree-vrp warn_ignored(option_name);  ALL NONE  ""
-fno-tree-vrp warn_ignored(option_name);  ALL NONE  ""
  ""
  ""
-Wframe-larger-than-100000000   warn_ignored(option_name);      ALL     NONE    ""
-Wframe-larger-than-100000000   warn_ignored(option_name);      ALL     NONE    ""
        "help noticing functions with larger than usual frame sizes"
        "help noticing functions with larger than usual frame sizes"
-Wno-vla   warn_ignored(option_name);      ALL     NONE    ""
-Wno-vla   warn_ignored(option_name);      ALL     NONE    ""
        "prevent the -pedantic warning of the variable length array"
        "prevent the -pedantic warning of the variable length array"
-Wno-error=%s   warn_ignored(option_name);      ALL     NONE    ""
-Wno-error=%s   warn_ignored(option_name);      ALL     NONE    ""
        "makes -Ws warnings not be error"
        "makes -Ws warnings not be error"
-ftls-model=%s  check_opt_tls_model(optargs);   Cc  cfe "-ftls-model=%s"
-ftls-model=%s  check_opt_tls_model(optargs);   Cc  cfe "-ftls-model=%s"
  "Thread-Local Storage model. \n\t\tShould be one of `global-dynamic', `local-dynamic', `initial-exec' or `local-exec'.\n\t\tThe default without -fpic is `initial-exec'; with -fpic the default is `global-dynamic`."
  "Thread-Local Storage model. \n\t\tShould be one of `global-dynamic', `local-dynamic', `initial-exec' or `local-exec'.\n\t\tThe default without -fpic is `initial-exec'; with -fpic the default is `global-dynamic`."
-varargs  ;   f77 ffe self
-varargs  ;   f77 ffe self
  "MATRA varargs"
  "MATRA varargs"
%-nocode last_phase=earliest_phase(P_any_fe,last_phase);  FTN ffe   self
%-nocode last_phase=earliest_phase(P_any_fe,last_phase);  FTN ffe   self
%        "do not generate any intermediate code from front-end"
%        "do not generate any intermediate code from front-end"
-vms  warn_no_longer_supported2(option_name,"-vms_cc");   FTN NONE  self
-vms  warn_no_longer_supported2(option_name,"-vms_cc");   FTN NONE  self
  ""
  ""
-vms_cc   ;   f77 ffe self
-vms_cc   ;   f77 ffe self
  ""
  ""
-old_rl   ;   f77 ffe self
-old_rl   ;   f77 ffe self
  ""
  ""
-bytereclen ;   f77 ffe "-old_rl"
-bytereclen ;   f77 ffe "-old_rl"
  ""
  ""
-vms_stdin    ;   f77 ffe self
-vms_stdin    ;   f77 ffe self
  ""
  ""
-vms_endfile    ;   f77 ffe self
-vms_endfile    ;   f77 ffe self
  ""
  ""
-vms_library    ;   f77 ffe self
-vms_library    ;   f77 ffe self
  ""
  ""
-usefpidx   ;   f ffe self
-usefpidx   ;   f ffe self
  ""
  ""
% this should be on by default unless -mp, but off now until freeze over
% this should be on by default unless -mp, but off now until freeze over
-cray_directives  ;   FTN N self
-cray_directives  ;   FTN N self
  ""
  ""
-mipslibs      toggle(&use_mipslibs,TRUE);toggle(&use_craylibs,FALSE);         f77     NONE    ""
-mipslibs      toggle(&use_mipslibs,TRUE);toggle(&use_craylibs,FALSE);         f77     NONE    ""
       ""
       ""
-craylibs      toggle(&use_craylibs,TRUE);toggle(&use_mipslibs,FALSE);         f77     NONE    ""
-craylibs      toggle(&use_craylibs,TRUE);toggle(&use_mipslibs,FALSE);         f77     NONE    ""
       ""
       ""
#ifndef KEY
#ifndef KEY
-cray_mp    toggle(&mpkind,CRAY_MP);   FTN ffe self
-cray_mp    toggle(&mpkind,CRAY_MP);   FTN ffe self
    "enable Cray micro-tasking directives"
    "enable Cray micro-tasking directives"
-dsm      ;   FTN,Cc  GRP self
-dsm      ;   FTN,Cc  GRP self
  ""
  ""
#endif
#endif
-mp     toggle(&mpkind,NORMAL_MP);      FTN,Cc  ffe,cfe     self
-mp     toggle(&mpkind,NORMAL_MP);      FTN,Cc  ffe,cfe     self
        "enable the multiprocessing directives"
        "enable the multiprocessing directives"
-openmp     ;   FTN,Cc  ffe -mp
-openmp     ;   FTN,Cc  ffe -mp
        "enable the multiprocessing directives (same as -mp)"
        "enable the multiprocessing directives (same as -mp)"
#ifdef KEY
#ifdef KEY
-fopenmp    ;   Cc  cfe self
-fopenmp    ;   Cc  cfe self
        ""
        ""
#endif
#endif
#ifndef KEY
#ifndef KEY
-dsm_clone    ;   ALL ipl,be,d  self
-dsm_clone    ;   ALL ipl,be,d  self
  ""
  ""
-dsm_check    ;   ALL be  self
-dsm_check    ;   ALL be  self
  ""
  ""
-dsm_recompile    ;   ALL ffe,cfe,be,ipl  self
-dsm_recompile    ;   ALL ffe,cfe,be,ipl  self
  ""
  ""
#endif
#endif
-memsim     ;   ALL N "-LNO:mem_sim=TRUE -lmemsim"
-memsim     ;   ALL N "-LNO:mem_sim=TRUE -lmemsim"
  ""
  ""
-memctr     ;   ALL be  "-memctr"
-memctr     ;   ALL be  "-memctr"
  ""
  ""
-mieee-fp ;   ALL be  "-OPT:IEEE_NaN_Inf=on"
-mieee-fp ;   ALL be  "-OPT:IEEE_NaN_Inf=on"
  "Use IEEE floating point comparisons"
  "Use IEEE floating point comparisons"
-mno-ieee-fp  ; ALL be  "-OPT:IEEE_NaN_Inf=off"
-mno-ieee-fp  ; ALL be  "-OPT:IEEE_NaN_Inf=off"
  "IEEE floating point comparisons not required"
  "IEEE floating point comparisons not required"
-mp_keep warn_no_longer_supported2(option_name,"-CLIST/-FLIST");  FTN,cc  NONE  ""
-mp_keep warn_no_longer_supported2(option_name,"-CLIST/-FLIST");  FTN,cc  NONE  ""
  ""
  ""
-mpio     ;   FTN be  self
-mpio     ;   FTN be  self
  ""
  ""
-mp_schedtype=%s  ;   FTN PFA,ffe   "-mp_schedtype=%s"
-mp_schedtype=%s  ;   FTN PFA,ffe   "-mp_schedtype=%s"
  ""
  ""
-chunk=%d   ;   FTN PFA,ffe "-chunk=%d"
-chunk=%d   ;   FTN PFA,ffe "-chunk=%d"
  "Set the MP chunksize"
  "Set the MP chunksize"
-mp_chunk=%d    ;   FTN ffe "-mp_chunk=%d"
-mp_chunk=%d    ;   FTN ffe "-mp_chunk=%d"
  ""
  ""
-mp_use_locks warn_no_longer_needed(option_name);  FTN NONE ""
-mp_use_locks warn_no_longer_needed(option_name);  FTN NONE ""
  ""
  ""
-mp_use_copy  warn_no_longer_needed(option_name);  FTN NONE ""
-mp_use_copy  warn_no_longer_needed(option_name);  FTN NONE ""
  ""
  ""
% invoke apo  - which discovers parallelism (synonym for -pfa, -pca)
% invoke apo  - which discovers parallelism (synonym for -pfa, -pca)
-apo    auto_parallelize=TRUE;    Cc,FTN  be  "-pfa"
-apo    auto_parallelize=TRUE;    Cc,FTN  be  "-pfa"
  ""
  ""
-apo*list auto_parallelize=TRUE;keep_list=TRUE;   Cc,FTN  be  "-pfa -LNO:prompl"
-apo*list auto_parallelize=TRUE;keep_list=TRUE;   Cc,FTN  be  "-pfa -LNO:prompl"
  ""
  ""
-apo*keep auto_parallelize=TRUE;keep_list=keep_mp=TRUE;Process_Promp();   Cc,FTN  be  "-pfa -LNO:prompl"
-apo*keep auto_parallelize=TRUE;keep_list=keep_mp=TRUE;Process_Promp();   Cc,FTN  be  "-pfa -LNO:prompl"
  ""
  ""
% invoke pfa  - which discovers parallelism
% invoke pfa  - which discovers parallelism
-pfa    auto_parallelize=TRUE;    Cc,FTN  be  "-pfa"
-pfa    auto_parallelize=TRUE;    Cc,FTN  be  "-pfa"
  ""
  ""
-pfa*list auto_parallelize=TRUE;keep_list=TRUE;   Cc,FTN  be  "-pfa -LNO:prompl"
-pfa*list auto_parallelize=TRUE;keep_list=TRUE;   Cc,FTN  be  "-pfa -LNO:prompl"
  ""
  ""
-pfa*keep auto_parallelize=TRUE;keep_list=keep_mp=TRUE;Process_Promp();   Cc,FTN  be  "-pfa -LNO:prompl"
-pfa*keep auto_parallelize=TRUE;keep_list=keep_mp=TRUE;Process_Promp();   Cc,FTN  be  "-pfa -LNO:prompl"
  ""
  ""
% Because of limitation on derived flags, we repeat the -pfa,%s in the
% Because of limitation on derived flags, we repeat the -pfa,%s in the
% implied list.  This is to find the parent flag so action is done.
% implied list.  This is to find the parent flag so action is done.
-pfa,%s   {auto_parallelize=TRUE; warning("options after -pfa, are ignored; should just use -pfa");}    Cc,FTN  be  "-pfa"
-pfa,%s   {auto_parallelize=TRUE; warning("options after -pfa, are ignored; should just use -pfa");}    Cc,FTN  be  "-pfa"
  ""
  ""
-pfa2 warn_no_longer_supported2(option_name,"-pfa");  ALL NONE ""
-pfa2 warn_no_longer_supported2(option_name,"-pfa");  ALL NONE ""
  ""
  ""
I-lo=ocktl  ;   FTN PFA self
I-lo=ocktl  ;   FTN PFA self
  ""
  ""
-i2 toggle(&iflag,1);   f77 ffe self
-i2 toggle(&iflag,1);   f77 ffe self
  "make integer and logical quantities short (2 bytes)"
  "make integer and logical quantities short (2 bytes)"
-noi4 toggle(&iflag,1);   f77 ffe self
-noi4 toggle(&iflag,1);   f77 ffe self
  "make integer and logical quantities short (2 bytes)"
  "make integer and logical quantities short (2 bytes)"
-i4 toggle(&iflag,2);   FTN ffe self
-i4 toggle(&iflag,2);   FTN ffe self
  "make integer and logical quantities long (4 bytes)"
  "make integer and logical quantities long (4 bytes)"
-i8 toggle(&iflag,3);   FTN ffe self
-i8 toggle(&iflag,3);   FTN ffe self
  "make integer and logical quantities long long (8 bytes)"
  "make integer and logical quantities long long (8 bytes)"
-r4 toggle(&rflag,1);   FTN ffe self
-r4 toggle(&rflag,1);   FTN ffe self
  "use REAL*4 and COMPLEX*8 as the defaults for real and complex"
  "use REAL*4 and COMPLEX*8 as the defaults for real and complex"
-r8 toggle(&rflag,2);   FTN ffe self
-r8 toggle(&rflag,2);   FTN ffe self
  "use REAL*8 and COMPLEX*16 as the defaults for real and complex"
  "use REAL*8 and COMPLEX*16 as the defaults for real and complex"
-r8const    ;   f77 ffe self
-r8const    ;   f77 ffe self
  ""
  ""
-d8 toggle(&dflag,1);   FTN ffe self
-d8 toggle(&dflag,1);   FTN ffe self
  "use double=8 and dcomplex=16"
  "use double=8 and dcomplex=16"
-dump_input     ;   f77 ffe self
-dump_input     ;   f77 ffe self
  ""
  ""
-extend_source fortran_line_length=132;   FTN ffe self "-scan=132"
-extend_source fortran_line_length=132;   FTN ffe self "-scan=132"
  ""
  ""
-extend-source fortran_line_length=132;   FTN ffe "-extend_source -scan=132"
-extend-source fortran_line_length=132;   FTN ffe "-extend_source -scan=132"
  "make each source line 132 bytes long"
  "make each source line 132 bytes long"
-e*     ;   LINK  ld  ""
-e*     ;   LINK  ld  ""
  ""
  ""
-d_lines    ;   FTN ffe self
-d_lines    ;   FTN ffe self
  ""
  ""
-d-lines    ;   FTN ffe self
-d-lines    ;   FTN ffe self
  "compile lines with a D in column 1"
  "compile lines with a D in column 1"
-pad_char_literals    ;   F90 ffe self
-pad_char_literals    ;   F90 ffe self
  ""
  ""
-pad-char-literals    ;   F90 ffe "-pad_char_literals"
-pad-char-literals    ;   F90 ffe "-pad_char_literals"
  "blank pad character literal actual arguments to word boundary"
  "blank pad character literal actual arguments to word boundary"
-expand_include   ;   FTN ffe self
-expand_include   ;   FTN ffe self
  ""
  ""
-noextend_source fortran_line_length=72;  FTN ffe self "-scan=72"
-noextend_source fortran_line_length=72;  FTN ffe self "-scan=72"
  ""
  ""
-noextend-source fortran_line_length=72;  FTN ffe "-noextend_source -scan=72"
-noextend-source fortran_line_length=72;  FTN ffe "-noextend_source -scan=72"
  ""
  ""
-col72  fortran_line_length=72;   FTN ffe self "-scan=72"
-col72  fortran_line_length=72;   FTN ffe self "-scan=72"
  "sets the source statement length to 72 columns"
  "sets the source statement length to 72 columns"
-col80  fortran_line_length=80;   F90 ffe self "-scan=80"
-col80  fortran_line_length=80;   F90 ffe self "-scan=80"
  "sets the source statement length to 80 columns"
  "sets the source statement length to 80 columns"
-col120 fortran_line_length=120;  FTN ffe self "-scan=120"
-col120 fortran_line_length=120;  FTN ffe self "-scan=120"
  "sets the source statement length to 120 columns"
  "sets the source statement length to 120 columns"
I-scan%s    ;   FTN PFA self
I-scan%s    ;   FTN PFA self
  ""
  ""
-freeform toggle(&fortran_form,2);  F90 ffe ""
-freeform toggle(&fortran_form,2);  F90 ffe ""
  "sets Fortran 90 free form source statement formatting"
  "sets Fortran 90 free form source statement formatting"
-fixedform  toggle(&fortran_form,1);  F90 ffe ""
-fixedform  toggle(&fortran_form,1);  F90 ffe ""
  "sets Fortran 90 fixed form source statement formatting"
  "sets Fortran 90 fixed form source statement formatting"
-default64    ;   F90  ffe  self
-default64    ;   F90  ffe  self
  "Cray compatibility mode for F90"
  "Cray compatibility mode for F90"
% handle with special routine which reads option groups
% handle with special routine which reads option groups
% after all switches read, pass switch to ld if ipa run, or to inline if
% after all switches read, pass switch to ld if ipa run, or to inline if
% stand-alone inliner run
% stand-alone inliner run
-INLINE:%s  Process_Inline();        ALL     ipap "-INLINE:%s"
-INLINE:%s  Process_Inline();        ALL     ipap "-INLINE:%s"
  "specify inline processing option group"
  "specify inline processing option group"
% handle with special routine which reads option groups
% handle with special routine which reads option groups
-INLINE   Process_Inline();        ALL     NONE    ""
-INLINE   Process_Inline();        ALL     NONE    ""
  "request inline processing"
  "request inline processing"
-inline   Process_Inline();   Cc  NONE  "-INLINE"
-inline   Process_Inline();   Cc  NONE  "-INLINE"
  "request inline processing"
  "request inline processing"
-noinline Process_Inline();   Cc  NONE  "-INLINE:=OFF"
-noinline Process_Inline();   Cc  NONE  "-INLINE:=OFF"
  "suppress inline processing"
  "suppress inline processing"
-minline-all-stringops ; Cc ipap ""
-minline-all-stringops ; Cc ipap ""
   "force inline all stringops,ignored at present"
   "force inline all stringops,ignored at present"
-intrinsic=%s ;     FTN ffe "-intrinsic=%s"
-intrinsic=%s ;     FTN ffe "-intrinsic=%s"
  "Add intrinsic to the initial set the compiler recognizes"
  "Add intrinsic to the initial set the compiler recognizes"
-no-intrinsic=%s  ;   FTN ffe "-no-intrinsic=%s"
-no-intrinsic=%s  ;   FTN ffe "-no-intrinsic=%s"
  "Remove intrinsic from the initial set the compiler recognizes"
  "Remove intrinsic from the initial set the compiler recognizes"
-nobool ;   CC  cfe self
-nobool ;   CC  cfe self
  "disallow bool keyword"
  "disallow bool keyword"
-fprofile-arcs  Process_Profile_Arcs();   ALL be  "-OPT:profile_arcs=true"
-fprofile-arcs  Process_Profile_Arcs();   ALL be  "-OPT:profile_arcs=true"
  ""
  ""
-ftest-coverage Process_Test_Coverage();  ALL be  "-CG:test_coverage=true"
-ftest-coverage Process_Test_Coverage();  ALL be  "-CG:test_coverage=true"
  "turn on test coverage"
  "turn on test coverage"
% warn about old flag no longer supported; new driver will split this
% warn about old flag no longer supported; new driver will split this
% flag, which may cause confusion
% flag, which may cause confusion
-Olimit%d warn_no_longer_supported2(option_name,"-OPT:Olimit=n");  ALL NONE self
-Olimit%d warn_no_longer_supported2(option_name,"-OPT:Olimit=n");  ALL NONE self
  ""
  ""
-pedantic   ;   Cc,CPP  CPP,cfe self
-pedantic   ;   Cc,CPP  CPP,cfe self
  ""
  ""
-fpermissive    ;   CC  cfe self
-fpermissive    ;   CC  cfe self
  "Downgrade messages about nonconformant code to warnings"
  "Downgrade messages about nonconformant code to warnings"
-fno-permissive   ;   CC  cfe self
-fno-permissive   ;   CC  cfe self
  "Keep messages about nonconformant code as errors"
  "Keep messages about nonconformant code as errors"
-use_readonly_const ;   FTN cfe self
-use_readonly_const ;   FTN cfe self
  ""
  ""
-use_readwrite_const  ;   FTN cfe self
-use_readwrite_const  ;   FTN cfe self
  ""
  ""
-change_const   ;   FTN NONE  ""
-change_const   ;   FTN NONE  ""
  ""
  ""
% invoke pca  - which discovers parallelism
% invoke pca  - which discovers parallelism
-pca    auto_parallelize=TRUE;    Cc,FTN  be  "-pfa"
-pca    auto_parallelize=TRUE;    Cc,FTN  be  "-pfa"
  ""
  ""
-pca*list auto_parallelize=TRUE;keep_list=TRUE;   Cc,FTN be "-pfa -LNO:prompl"
-pca*list auto_parallelize=TRUE;keep_list=TRUE;   Cc,FTN be "-pfa -LNO:prompl"
  ""
  ""
-pca*keep auto_parallelize=TRUE;keep_list=keep_mp=TRUE;Process_Promp();  cc,FTN be  "-pfa -LNO:prompl"
-pca*keep auto_parallelize=TRUE;keep_list=keep_mp=TRUE;Process_Promp();  cc,FTN be  "-pfa -LNO:prompl"
  ""
  ""
-pca,%s   {auto_parallelize=TRUE; warning("options after -pca, are ignored; should just use -pca");}  Cc,FTN  be  "-pfa"
-pca,%s   {auto_parallelize=TRUE; warning("options after -pca, are ignored; should just use -pca");}  Cc,FTN  be  "-pfa"
  ""
  ""
% for kernel folks
% for kernel folks
-jalr   ;   ALL NONE  "-TARG:force_jalr"
-jalr   ;   ALL NONE  "-TARG:force_jalr"
  ""
  ""
-align8   ;   Cc,f77  ffe,be  self
-align8   ;   Cc,f77  ffe,be  self
  "align data in common blocks to 8-bit boundaries"
  "align data in common blocks to 8-bit boundaries"
-align16  ;   Cc,f77  ffe,be  self
-align16  ;   Cc,f77  ffe,be  self
  "align data in common blocks to 16-bit boundaries"
  "align data in common blocks to 16-bit boundaries"
-align32  ;   Cc,FTN  ffe,be  self
-align32  ;   Cc,FTN  ffe,be  self
  "align data in common blocks to 32-bit boundaries"
  "align data in common blocks to 32-bit boundaries"
-align64  ;   Cc,FTN  ffe,be  self
-align64  ;   Cc,FTN  ffe,be  self
  "align data in common blocks to 64-bit boundaries"
  "align data in common blocks to 64-bit boundaries"
-align128 ;   Cc,f77  ffe,be  self
-align128 ;   Cc,f77  ffe,be  self
  "align data in common blocks to 128-bit boundaries"
  "align data in common blocks to 128-bit boundaries"
% -u can have two different meanings, so escape to hand-code
% -u can have two different meanings, so escape to hand-code
-u*   ;   ALL NONE  ""
-u*   ;   ALL NONE  ""
  ""
  ""
I-u%s   ;   Cc  ld  "-u %s"
I-u%s   ;   Cc  ld  "-u %s"
  ""
  ""
-soname%s ;   LINK  ld  "-soname %s"
-soname%s ;   LINK  ld  "-soname %s"
  ""
  ""
-y%s    ;   LINK  ld  "-y %s"
-y%s    ;   LINK  ld  "-y %s"
  ""
  ""
-n    ;   LINK  ld  self
-n    ;   LINK  ld  self
  ""
  ""
-all    ;   LINK  ld  --whole-archive
-all    ;   LINK  ld  --whole-archive
  ""
  ""
-rpath%s  ;   LINK  ld  "-rpath %s"
-rpath%s  ;   LINK  ld  "-rpath %s"
  ""
  ""
--whole-archive   ; LINK  ld  self
--whole-archive   ; LINK  ld  self
  ""
  ""
--no-whole-archive  ; LINK  ld  self
--no-whole-archive  ; LINK  ld  self
  ""
  ""
% CC options:
% CC options:
-demangle ;   CC  ld  self
-demangle ;   CC  ld  self
  ""
  ""
-prelink  ;   CC  NONE  ""
-prelink  ;   CC  NONE  ""
  "use prelinker (default)"
  "use prelinker (default)"
-no_prelink prelink_flag=FALSE;   CC  cfe self
-no_prelink prelink_flag=FALSE;   CC  cfe self
  ""
  ""
-no-prelink prelink_flag=FALSE;   CC  cfe self
-no-prelink prelink_flag=FALSE;   CC  cfe self
  "do not use prelinker (i.e. instantiate all templates immediately)"
  "do not use prelinker (i.e. instantiate all templates immediately)"
% IPA-related options:
% IPA-related options:
-ipa  toggle(&ipa,TRUE);    ALL ipap  self
-ipa  toggle(&ipa,TRUE);    ALL ipap  self
  "Perform interprocedural analysis and optimization"
  "Perform interprocedural analysis and optimization"
-IPA  toggle(&ipa,TRUE);    ALL NONE  "-ipa"
-IPA  toggle(&ipa,TRUE);    ALL NONE  "-ipa"
  "Perform interprocedural analysis and optimization"
  "Perform interprocedural analysis and optimization"
-R*   ;   ALL NONE  ""
-R*   ;   ALL NONE  ""
  "pass flags to RATFOR"
  "pass flags to RATFOR"
% KEY Pass "-m elf_i386" and "-m elf_x86_64" to linker.  They are the only
% KEY Pass "-m elf_i386" and "-m elf_x86_64" to linker.  They are the only
%     two valid linker emulation modes.  Bug 8441.
%     two valid linker emulation modes.  Bug 8441.
-m*elf_i386 ; LINK  ld  ""
-m*elf_i386 ; LINK  ld  ""
  "Pass -m args to linker"
  "Pass -m args to linker"
-m*elf_x86_64 ; LINK  ld  ""
-m*elf_x86_64 ; LINK  ld  ""
  "Pass -m args to linker"
  "Pass -m args to linker"
#ifdef SL
#ifdef SL
-m%s            ;               ALL     NONE    "-m %s"
-m%s            ;               ALL     NONE    "-m %s"
        "Pass -m args to as"
        "Pass -m args to as"
#endif
#endif
%-m run_m4=TRUE;    f77 NONE  ""
%-m run_m4=TRUE;    f77 NONE  ""
% "run m4 on each RATFOR source"
% "run m4 on each RATFOR source"
-framepointer warn_no_longer_supported2(option_name,"-TENV:large_stack");  ALL  NONE ""
-framepointer warn_no_longer_supported2(option_name,"-TENV:large_stack");  ALL  NONE ""
  ""
  ""
-trapuv     ;   Cc,FTN  be  "-DEBUG:trap_uninitialized"
-trapuv     ;   Cc,FTN  be  "-DEBUG:trap_uninitialized"
  "trap uninitialized variables"
  "trap uninitialized variables"
-zerouv     ;   Cc,FTN  be  "-DEBUG:zero_uninitialized"
-zerouv     ;   Cc,FTN  be  "-DEBUG:zero_uninitialized"
  "set uninitialized variables to zero"
  "set uninitialized variables to zero"
-H  ;   Cc,as,CPP CPP self
-H  ;   Cc,as,CPP CPP self
  "print name of each header file used"
  "print name of each header file used"
% cord
% cord
-cord toggle(&cordflag,TRUE);   ALL NONE  ""
-cord toggle(&cordflag,TRUE);   ALL NONE  ""
  ""
  ""
-feedback*%s  add_string(feedback_files,optargs);   ALL NONE  ""
-feedback*%s  add_string(feedback_files,optargs);   ALL NONE  ""
  ""
  ""
-fb%s save_name(&internal_fb_file,optargs);   ALL NONE  ""
-fb%s save_name(&internal_fb_file,optargs);   ALL NONE  ""
  ""
  ""
-   read_stdin=TRUE;  ALL CPP ""
-   read_stdin=TRUE;  ALL CPP ""
  ""
  ""
--    check_dashdash(); ALL NONE  ""
--    check_dashdash(); ALL NONE  ""
  ""
  ""
-ignore_suffix  ignore_suffix=TRUE; ALL NONE  ""
-ignore_suffix  ignore_suffix=TRUE; ALL NONE  ""
  ""
  ""
-ignore-suffix  ignore_suffix=TRUE; ALL NONE  ""
-ignore-suffix  ignore_suffix=TRUE; ALL NONE  ""
  "ignore source suffix when determining compiler language"
  "ignore source suffix when determining compiler language"
-cif    keep_cif=TRUE;       F90  anyfe      self
-cif    keep_cif=TRUE;       F90  anyfe      self
        ""
        ""
-ar ;   ALL NONE  ""
-ar ;   ALL NONE  ""
  "create an archive (instead of a shared object or executable) using ar"
  "create an archive (instead of a shared object or executable) using ar"
-promp  ;   FTN,Cc   be "-PHASE:prompf -PROMP:=on"
-promp  ;   FTN,Cc   be "-PHASE:prompf -PROMP:=on"
  ""
  ""
%%% gcc compiler options
%%% gcc compiler options
-mcpu=%s  set_cpu(optargs,M_CPU); ALL NONE  ""
-mcpu=%s  set_cpu(optargs,M_CPU); ALL NONE  ""
  "Set CPU type"
  "Set CPU type"
#if !defined(SL)
#if !defined(SL)
-march=%s set_cpu(optargs,M_ARCH);  ALL NONE  ""
-march=%s set_cpu(optargs,M_ARCH);  ALL NONE  ""
  "Set CPU type"
  "Set CPU type"
#endif
#endif
-mtune=%s set_cpu(optargs,M_TUNE);  ALL NONE  ""
-mtune=%s set_cpu(optargs,M_TUNE);  ALL NONE  ""
  "Set CPU type"
  "Set CPU type"
-pipe ;   ALL NONE  ""
-pipe ;   ALL NONE  ""
  ""
  ""
--help  {print_help = TRUE;}  ALL NONE  ""
--help  {print_help = TRUE;}  ALL NONE  ""
  "print list of possible options"
  "print list of possible options"
-dumpmachine  {printf(OPEN64_TARGET "\n"); execute_flag=FALSE;} ALL NONE  ""
-dumpmachine  {printf(OPEN64_TARGET "\n"); execute_flag=FALSE;} ALL NONE  ""
  "Print the compilers target machine"
  "Print the compilers target machine"
%%% C language options
%%% C language options
-flang-isoc9x ;   Cc  f self
-flang-isoc9x ;   Cc  f self
  ""
  ""
#ifndef SL
#ifndef SL
-msoft-float  warn_ignored(option_name);  ALL NONE  ""
-msoft-float  warn_ignored(option_name);  ALL NONE  ""
  ""
  ""
-mno-soft-float warn_ignored(option_name);  ALL NONE  ""
-mno-soft-float warn_ignored(option_name);  ALL NONE  ""
  ""
  ""
#endif
#endif
-fcond-mismatch ;   Cc  f self
-fcond-mismatch ;   Cc  f self
  ""
  ""
#ifdef KEY
#ifdef KEY
-fcxx-openmp  toggle(&fcxx_openmp,1);   Cc  NONE  self -LANG:cxx_openmp=on
-fcxx-openmp  toggle(&fcxx_openmp,1);   Cc  NONE  self -LANG:cxx_openmp=on
  "Do OpenMP processing under C++"
  "Do OpenMP processing under C++"
-fno-cxx-openmp toggle(&fcxx_openmp,0);   Cc  NONE  self -LANG:cxx_openmp=off
-fno-cxx-openmp toggle(&fcxx_openmp,0);   Cc  NONE  self -LANG:cxx_openmp=off
  "Do not handle OpenMP under C++"
  "Do not handle OpenMP under C++"
#endif
#endif
-fasm ;   Cc  f self
-fasm ;   Cc  f self
  ""
  ""
-fms-extensions ;   Cc  f self
-fms-extensions ;   Cc  f self
  "Accept broken MFC extensions without warning"
  "Accept broken MFC extensions without warning"
-fno-asm  ;   Cc  f self
-fno-asm  ;   Cc  f self
  "Do not recognise the 'asm' keyword"
  "Do not recognise the 'asm' keyword"
-fbuiltin toggle(&fbuiltin,1);    Cc  NONE  self
-fbuiltin toggle(&fbuiltin,1);    Cc  NONE  self
  ""
  ""
-fno-builtin  toggle(&fbuiltin,0);    Cc  NONE  self
-fno-builtin  toggle(&fbuiltin,0);    Cc  NONE  self
  "Do not recognise any built in functions"
  "Do not recognise any built in functions"
-fmath-errno  toggle(&fmath_errno,1);   Cc,FTN  NONE  self
-fmath-errno  toggle(&fmath_errno,1);   Cc,FTN  NONE  self
  ""
  ""
-fno-math-errno toggle(&fmath_errno,0);   Cc,FTN  NONE  self -LANG:math_errno=off
-fno-math-errno toggle(&fmath_errno,0);   Cc,FTN  NONE  self -LANG:math_errno=off
  "Do not set ERRNO after calling math functions that are executed with a single instruction"
  "Do not set ERRNO after calling math functions that are executed with a single instruction"
-fmessage-length=%d ; C f "-fmessage-length=%d"
-fmessage-length=%d ; C f "-fmessage-length=%d"
  "Try to format error messages so that they fit on lines of about n characters."
  "Try to format error messages so that they fit on lines of about n characters."
-fdiagnostics-show-location=once  ; C f self
-fdiagnostics-show-location=once  ; C f self
  "Instructs the diagnostic messages reporter to emit source location information once"
  "Instructs the diagnostic messages reporter to emit source location information once"
-fdiagnostics-show-location=every-line  ; C f self
-fdiagnostics-show-location=every-line  ; C f self
  "Instructs the diagnostic messages reporter to emit source location information on every line"
  "Instructs the diagnostic messages reporter to emit source location information on every line"
-ffreestanding  ;   Cc  f self
-ffreestanding  ;   Cc  f self
  ""
  ""
-fno-freestanding ;   Cc  f self
-fno-freestanding ;   Cc  f self
  ""
  ""
-fhosted  ;   Cc  f self
-fhosted  ;   Cc  f self
  ""
  ""
-fno-hosted ;   Cc  f self
-fno-hosted ;   Cc  f self
  ""
  ""
-fgnu-keywords  ;   Cc  f self
-fgnu-keywords  ;   Cc  f self
  "Recognize 'typeof' as a keyword"
  "Recognize 'typeof' as a keyword"
-fno-gnu-keywords ;   Cc  f self
-fno-gnu-keywords ;   Cc  f self
  "Do not recognize 'typeof' as a keyword"
  "Do not recognize 'typeof' as a keyword"
-fsigned-bitfields  ;   Cc  f self
-fsigned-bitfields  ;   Cc  f self
  "Make bitfields be signed by default"
  "Make bitfields be signed by default"
-fno-signed-bitfields ;   Cc  f self
-fno-signed-bitfields ;   Cc  f self
  "Make bitfields be unsigned by default"
  "Make bitfields be unsigned by default"
-fsigned-char ;   Cc  f self
-fsigned-char ;   Cc  f self
  "Make 'char' be signed by default"
  "Make 'char' be signed by default"
-fno-signed-char  ; Cc  f self "-D__CHAR_UNSIGNED__"
-fno-signed-char  ; Cc  f self "-D__CHAR_UNSIGNED__"
  "Make 'char' be unsigned by default"
  "Make 'char' be unsigned by default"
-funsigned-bitfields  ;   Cc  f self
-funsigned-bitfields  ;   Cc  f self
  "Make bitfields be unsigned by default"
  "Make bitfields be unsigned by default"
-fno-unsigned-bitfields ;   Cc  f self
-fno-unsigned-bitfields ;   Cc  f self
  "Make bitfields be signed by default"
  "Make bitfields be signed by default"
-funsigned-char ;   Cc  f self "-D__CHAR_UNSIGNED__"
-funsigned-char ;   Cc  f self "-D__CHAR_UNSIGNED__"
  "Make 'char' be unsigned by default"
  "Make 'char' be unsigned by default"
-fno-unsigned-char  ; Cc  f self
-fno-unsigned-char  ; Cc  f self
  ""
  ""
-fwritable-strings  ;   Cc  f self
-fwritable-strings  ;   Cc  f self
  "Attempt to support writable-strings K&R style C"
  "Attempt to support writable-strings K&R style C"
-fno-writable-strings ;   Cc  f self
-fno-writable-strings ;   Cc  f self
  ""
  ""
-ftraditional ;   Cc  f self
-ftraditional ;   Cc  f self
  ""
  ""
-fno-traditional ;    Cc  f self
-fno-traditional ;    Cc  f self
  ""
  ""
-fnotraditional ;   Cc  f self
-fnotraditional ;   Cc  f self
  ""
  ""
-traditional  ;   Cc,CPP  CPP self
-traditional  ;   Cc,CPP  CPP self
  "Attempt to support traditional K&R style C"
  "Attempt to support traditional K&R style C"
-no-traditional ;   Cc  f self
-no-traditional ;   Cc  f self
  ""
  ""
-gcc    ;   Cc  CPP self
-gcc    ;   Cc  CPP self
  "Define __GNUC__ and other macros"
  "Define __GNUC__ and other macros"
-no-gcc   ;   Cc  CPP self
-no-gcc   ;   Cc  CPP self
  "Do not define __GNUC__ and other macros"
  "Do not define __GNUC__ and other macros"
-opencc   ;   Cc  CPP ""
-opencc   ;   Cc  CPP ""
  "Define __OPENCC__ and other macros"
  "Define __OPENCC__ and other macros"
-no-opencc    ;   Cc  CPP ""
-no-opencc    ;   Cc  CPP ""
  "Do not define __OPENCC__ and other macros"
  "Do not define __OPENCC__ and other macros"
-traditional-cpp  ; Cc,CPP  NONE  "-traditional"
-traditional-cpp  ; Cc,CPP  NONE  "-traditional"
  ""
  ""
-trigraphs  ;   Cc,CPP  CPP self
-trigraphs  ;   Cc,CPP  CPP self
  ""
  ""
%%% Warning Options
%%% Warning Options
-syntax-only  ;   Cc  f self
-syntax-only  ;   Cc  f self
  ""
  ""
-pedantic-errors  ;   Cc,CPP  CPP,f self
-pedantic-errors  ;   Cc,CPP  CPP,f self
  "Issue warnings needed by strict compliance to ANSI C"
  "Issue warnings needed by strict compliance to ANSI C"
% -w  ;   Cc  f self
% -w  ;   Cc  f self
% "Suppress warnings"
% "Suppress warnings"
-W  ;   Cc  f self
-W  ;   Cc  f self
  "Enable extra warnings"
  "Enable extra warnings"
-Wall ;   Cc,CPP  CPP,f self "-WOPT:warn_uninit=on"
-Wall ;   Cc,CPP  CPP,f self "-WOPT:warn_uninit=on"
  "Enable most warning messages"
  "Enable most warning messages"
-Waggregate-return  ;   Cc  f self
-Waggregate-return  ;   Cc  f self
  "Warn about returning structures, unions or arrays"
  "Warn about returning structures, unions or arrays"
-Wno-aggregate-return ;   Cc  f self
-Wno-aggregate-return ;   Cc  f self
  "Do not warn about returning structures, unions or arrays"
  "Do not warn about returning structures, unions or arrays"
-Wbad-function-cast ;   Cc  f self
-Wbad-function-cast ;   Cc  f self
  "Attempt to support writable-strings K&R style C"
  "Attempt to support writable-strings K&R style C"
-Wno-bad-function-cast  ;   Cc  f self
-Wno-bad-function-cast  ;   Cc  f self
  "Do not warn when a function call is cast to a non-matching type"
  "Do not warn when a function call is cast to a non-matching type"
-Wcast-align  ;   Cc  f self
-Wcast-align  ;   Cc  f self
  "Warn about pointer casts which increase alignment"
  "Warn about pointer casts which increase alignment"
-Wno-cast-align ;   Cc  f self
-Wno-cast-align ;   Cc  f self
  "Do not warn about pointer casts which increase alignment"
  "Do not warn about pointer casts which increase alignment"
-Wcast-qual ;   Cc  f self
-Wcast-qual ;   Cc  f self
  "Warn about casts which discard qualifiers"
  "Warn about casts which discard qualifiers"
-Wno-cast-qual  ;   Cc  f self
-Wno-cast-qual  ;   Cc  f self
  "Do not warn about casts which discard qualifiers"
  "Do not warn about casts which discard qualifiers"
-Wchar-subscripts ;   Cc  f self
-Wchar-subscripts ;   Cc  f self
  "Warn about subscripts whose type is 'char'"
  "Warn about subscripts whose type is 'char'"
-Wno-char-subscripts  ;   Cc  f self
-Wno-char-subscripts  ;   Cc  f self
  "Do not warn about subscripts whose type is 'char'"
  "Do not warn about subscripts whose type is 'char'"
-Wcomment ;   Cc,CPP  CPP,f self
-Wcomment ;   Cc,CPP  CPP,f self
  "Warn if nested comments are detected"
  "Warn if nested comments are detected"
-Wno-comment  ;   Cc,CPP  CPP,f self
-Wno-comment  ;   Cc,CPP  CPP,f self
  "Do not warn if nested comments are detected"
  "Do not warn if nested comments are detected"
-Wcomments  ;   Cc,CPP  CPP,f self
-Wcomments  ;   Cc,CPP  CPP,f self
  "Warn if nested comments are detected"
  "Warn if nested comments are detected"
-Wno-comments ;   Cc,CPP  CPP,f self
-Wno-comments ;   Cc,CPP  CPP,f self
  "Do not warn if nested comments are detected"
  "Do not warn if nested comments are detected"
-Wconversion  ;   Cc  f self
-Wconversion  ;   Cc  f self
  "Warn about possibly confusing type conversions"
  "Warn about possibly confusing type conversions"
-Wno-conversion ;   Cc  f self
-Wno-conversion ;   Cc  f self
  "Do not warn about possibly confusing type conversions"
  "Do not warn about possibly confusing type conversions"
-Werror   ;   Cc,CPP  CPP,f,be  self
-Werror   ;   Cc,CPP  CPP,f,be  self
  "Make all warnings into errors"
  "Make all warnings into errors"
-Wno-error  ;   Cc,CPP  CPP,f self
-Wno-error  ;   Cc,CPP  CPP,f self
  "Do not make all warnings into errors"
  "Do not make all warnings into errors"
-Wformat  ;   Cc  f self
-Wformat  ;   Cc  f self
  "Warn about printf format anomalies"
  "Warn about printf format anomalies"
-Wno-format ;   Cc  f self
-Wno-format ;   Cc  f self
  "Do not warn about printf format anomalies"
  "Do not warn about printf format anomalies"
-Wformat=2  ;   Cc  f "-Wformat -Wformat-nonliteral -Wformat-security"
-Wformat=2  ;   Cc  f "-Wformat -Wformat-nonliteral -Wformat-security"
  "Enable -Wformat plus format checks not included in -Wformat"
  "Enable -Wformat plus format checks not included in -Wformat"
-Wimplicit  ;   Cc  f self
-Wimplicit  ;   Cc  f self
  "Warn about implicit declarations of functions or variables"
  "Warn about implicit declarations of functions or variables"
-Wno-implicit ;   Cc  f self
-Wno-implicit ;   Cc  f self
  "Do not warn about implicit declarations of functions or variables"
  "Do not warn about implicit declarations of functions or variables"
-Wimplicit-int  ;   Cc  f self
-Wimplicit-int  ;   Cc  f self
  "Warn when a declaration does not specify a type"
  "Warn when a declaration does not specify a type"
-Wno-implicit-int ;   Cc  f self
-Wno-implicit-int ;   Cc  f self
  "Do not warn when a declaration does not specify a type"
  "Do not warn when a declaration does not specify a type"
-Wimplicit-function-declaration ;   Cc  f self
-Wimplicit-function-declaration ;   Cc  f self
  "Warn when a function is used before being declared"
  "Warn when a function is used before being declared"
-Wno-implicit-function-declaration  ;   Cc  f self
-Wno-implicit-function-declaration  ;   Cc  f self
  "Do not warn when a function is used before being declared"
  "Do not warn when a function is used before being declared"
-Werror-implicit-function-declaration ;   Cc  f self
-Werror-implicit-function-declaration ;   Cc  f self
  "Give an error when a function is used before being declared"
  "Give an error when a function is used before being declared"
%-Wno-error-implicit-function-declaration ;   Cc  f self
%-Wno-error-implicit-function-declaration ;   Cc  f self
% "Do not give an error when a function is used before being declared"
% "Do not give an error when a function is used before being declared"
-Wimport  ;   Cc,CPP  CPP,f self
-Wimport  ;   Cc,CPP  CPP,f self
  "Warn about the use of the #import directive"
  "Warn about the use of the #import directive"
-Wno-import ;   Cc,CPP  CPP,f self
-Wno-import ;   Cc,CPP  CPP,f self
  "Do not warn about the use of the #import directive"
  "Do not warn about the use of the #import directive"
-Winline  ;   Cc  f self
-Winline  ;   Cc  f self
  "Warn if a function declared as inline cannot be inlined"
  "Warn if a function declared as inline cannot be inlined"
-Wno-inline ;   Cc  f self
-Wno-inline ;   Cc  f self
  "Do not warn if a function declared as inline cannot be inlined"
  "Do not warn if a function declared as inline cannot be inlined"
-Winvalid-pch ;   Cc  f ""
-Winvalid-pch ;   Cc  f ""
  ""
  ""
-Wno-invalid-pch  ;   Cc  f ""
-Wno-invalid-pch  ;   Cc  f ""
  ""
  ""
-Wlarger-than-%d  ;   Cc  f "-Wlarger-than-%d"
-Wlarger-than-%d  ;   Cc  f "-Wlarger-than-%d"
  "Warn if an object is larger than <number> bytes"
  "Warn if an object is larger than <number> bytes"
-Wno-larger-than-%d ;   Cc  f "-Wno-larger-than-%d"
-Wno-larger-than-%d ;   Cc  f "-Wno-larger-than-%d"
  "Do not warn if an object is larger than <number> bytes"
  "Do not warn if an object is larger than <number> bytes"
-Wlong-long ;   Cc  f self
-Wlong-long ;   Cc  f self
  "Warn if the long long type is used"
  "Warn if the long long type is used"
-Wno-long-long  ;   Cc  f self
-Wno-long-long  ;   Cc  f self
  "Do not warn if the long long type is used"
  "Do not warn if the long long type is used"
-Wmain  ;   Cc  f self
-Wmain  ;   Cc  f self
  "Warn about suspicious declarations of main"
  "Warn about suspicious declarations of main"
-Wno-main ;   Cc  f self
-Wno-main ;   Cc  f self
  "Do not warn about suspicious declarations of main"
  "Do not warn about suspicious declarations of main"
-Wmissing-braces  ; Cc  f self
-Wmissing-braces  ; Cc  f self
  "Warn about possibly missing braces around initialisers"
  "Warn about possibly missing braces around initialisers"
-Wno-missing-braces ; Cc  f self
-Wno-missing-braces ; Cc  f self
  "Do not warn about possibly missing braces around initialisers"
  "Do not warn about possibly missing braces around initialisers"
-Wmissing-declarations  ;   Cc  f self
-Wmissing-declarations  ;   Cc  f self
  "Warn about global funcs without previous declarations"
  "Warn about global funcs without previous declarations"
-Wno-missing-declarations ;   Cc  f self
-Wno-missing-declarations ;   Cc  f self
  "Do not warn about global funcs without previous declarations"
  "Do not warn about global funcs without previous declarations"
-Wmissing-noreturn  ;   Cc  f self
-Wmissing-noreturn  ;   Cc  f self
  "Warn about functions that are candidates for 'noreturn' attribute"
  "Warn about functions that are candidates for 'noreturn' attribute"
-Wno-missing-noreturn ;   Cc  f self
-Wno-missing-noreturn ;   Cc  f self
  "Do not warn about functions that are candidates for 'noreturn' attribute"
  "Do not warn about functions that are candidates for 'noreturn' attribute"
-Wnonnull ;   Cc  f self
-Wnonnull ;   Cc  f self
  "Warn when passing null to functions requiring non-null pointers"
  "Warn when passing null to functions requiring non-null pointers"
-Wmissing-prototypes  ;   Cc  f self
-Wmissing-prototypes  ;   Cc  f self
  "Warn about global funcs without prototypes"
  "Warn about global funcs without prototypes"
-Wno-missing-prototypes ;   Cc  f self
-Wno-missing-prototypes ;   Cc  f self
  "Do not warn about global funcs without prototypes"
  "Do not warn about global funcs without prototypes"
-Wmultichar ;   Cc  f self
-Wmultichar ;   Cc  f self
  "Warn if a multicharacter constant is used"
  "Warn if a multicharacter constant is used"
-Wno-multichar  ;   Cc  f self
-Wno-multichar  ;   Cc  f self
  "Do not warn if a multicharacter constant is used"
  "Do not warn if a multicharacter constant is used"
-Wnested-externs  ;   Cc  f self
-Wnested-externs  ;   Cc  f self
  "Warn about externs not at file scope level"
  "Warn about externs not at file scope level"
-Wno-nested-externs ;   Cc  f self
-Wno-nested-externs ;   Cc  f self
  "Do not warn about externs not at file scope level"
  "Do not warn about externs not at file scope level"
 
-Wold-style-definition ; Cc f self
 
  "Warn if an old-style function definition is used. A warning is given even if there is a previous prototype."
 
-Wno-old-style-definition ; Cc  f self
 
  "Do not warn about old style fucntion definition"
-Wparentheses ;   Cc  f self
-Wparentheses ;   Cc  f self
  "Warn about possible missing parentheses"
  "Warn about possible missing parentheses"
-Wno-parentheses  ;   Cc  f self
-Wno-parentheses  ;   Cc  f self
  "Do not warn about possible missing parentheses"
  "Do not warn about possible missing parentheses"
-Wpointer-arith ;   Cc  f self
-Wpointer-arith ;   Cc  f self
  "Warn about function pointer arithmetic"
  "Warn about function pointer arithmetic"
-Wno-pointer-arith  ;   Cc  f self
-Wno-pointer-arith  ;   Cc  f self
  "Do not warn about function pointer arithmetic"
  "Do not warn about function pointer arithmetic"
-Wpointer-sign  ;   Cc,CPP  CPP,f self
-Wpointer-sign  ;   Cc  f self
  "Warn for pointer asignments with different signedness"
  "Warn for pointer asignments with different signedness"
-Wno-pointer-sign ;   Cc,CPP  CPP,f self
-Wno-pointer-sign ;   Cc  f self
  "Don't warn for pointer asignments with different signedness"
  "Don't warn for pointer asignments with different signedness"
-Wpointer-to-int-cast        ;    Cc,CPP  CPP self
-Wpointer-to-int-cast        ;    Cc  f self
  "Warn for pointer casts to integer types of a different size"
  "Warn for pointer casts to integer types of a different size"
-Wno-pointer-to-int-cast        ;   Cc,CPP  CPP self
-Wno-pointer-to-int-cast        ;   Cc  f self
  "Don't warn for pointer casts to integer types of a different size"
  "Don't warn for pointer casts to integer types of a different size"
-Wno-int-to-pointer-cast        ;   Cc,CPP  CPP self
-Wno-int-to-pointer-cast        ;   Cc  f self
  "Don't warn for casts to pointers from integer types of a different size"
  "Don't warn for casts to pointers from integer types of a different size"
-Wint-to-pointer-cast        ;    Cc,CPP  CPP self
-Wint-to-pointer-cast        ;    Cc  f self
  "Warn for casts to pointers from integer types of a different size"
  "Warn for casts to pointers from integer types of a different size"
-Wredundant-decls ;   Cc  f self
-Wredundant-decls ;   Cc  f self
  "Warn about multiple declarations of the same object"
  "Warn about multiple declarations of the same object"
-Wno-redundant-decls  ;   Cc  f self
-Wno-redundant-decls  ;   Cc  f self
  "Do not warn about multiple declarations of the same object"
  "Do not warn about multiple declarations of the same object"
-Wreturn-type ;   Cc  f self
-Wreturn-type ;   Cc  f self
  "Warn when a function return type defaults to int"
  "Warn when a function return type defaults to int"
-Wno-return-type  ;   Cc  f self
-Wno-return-type  ;   Cc  f self
  "Do not warn when a function return type defaults to int"
  "Do not warn when a function return type defaults to int"
-Wshadow  ;   Cc  f self
-Wshadow  ;   Cc  f self
  "Warn when one local variable shadows another"
  "Warn when one local variable shadows another"
-Wno-shadow ;   Cc  f self
-Wno-shadow ;   Cc  f self
  "Do not warn when one local variable shadows another"
  "Do not warn when one local variable shadows another"
-Wsign-compare  ;   Cc  f self
-Wsign-compare  ;   Cc  f self
  "Warn about signed/unsigned comparisons"
  "Warn about signed/unsigned comparisons"
-Wno-sign-compare ;   Cc  f self
-Wno-sign-compare ;   Cc  f self
  "Do not warn about signed/unsigned comparisons"
  "Do not warn about signed/unsigned comparisons"
-Wstrict-prototypes ;   Cc  f self
-Wstrict-prototypes ;   Cc  f self
  "Warn about non-prototyped function decls"
  "Warn about non-prototyped function decls"
-Wno-strict-prototypes  ;   Cc  f self
-Wno-strict-prototypes  ;   Cc  f self
  "Do not warn about non-prototyped function decls"
  "Do not warn about non-prototyped function decls"
-Wswitch  ;   Cc  f self
-Wswitch  ;   Cc  f self
  "Warn when a switch statement is incorrectly indexed with an enum"
  "Warn when a switch statement is incorrectly indexed with an enum"
-Wswitch-default  ;   Cc  f self
-Wswitch-default  ;   Cc  f self
  "Warn when a switch statement has no default"
  "Warn when a switch statement has no default"
-Wswitch-enum ;   Cc  f self
-Wswitch-enum ;   Cc  f self
  "Warn when a switch statement is missing a case for an enum member"
  "Warn when a switch statement is missing a case for an enum member"
-Wno-switch ;   Cc  f self
-Wno-switch ;   Cc  f self
  "Do not warn when a switch statement is incorrectly indexed with an enum"
  "Do not warn when a switch statement is incorrectly indexed with an enum"
-Wdeclaration-after-statement ;   cc  f self
-Wdeclaration-after-statement ;   cc  f self
  "Warn about declarations after statements (pre-C99)"
  "Warn about declarations after statements (pre-C99)"
-Wtraditional ;   Cc,CPP  CPP,f self
-Wtraditional ;   Cc,CPP  CPP,f self
  "Warn about constructs whoes meaning change in ANSI C"
  "Warn about constructs whoes meaning change in ANSI C"
-Wno-traditional  ;   Cc,CPP  CPP,f self
-Wno-traditional  ;   Cc,CPP  CPP,f self
  "Do not warn about constructs whoes meaning change in ANSI C"
  "Do not warn about constructs whoes meaning change in ANSI C"
-Wtrigraphs ;   Cc,CPP  CPP,f self
-Wtrigraphs ;   Cc,CPP  CPP,f self
  "Warn when trigraphs are encountered"
  "Warn when trigraphs are encountered"
-Wno-trigraphs  ;   Cc,CPP  CPP,f self
-Wno-trigraphs  ;   Cc,CPP  CPP,f self
  "Do not warn when trigraphs are encountered"
  "Do not warn when trigraphs are encountered"
-Wundef ;   Cc,CPP  CPP,f self
-Wundef ;   Cc,CPP  CPP,f self
  "Warn if an undefined identifier appears in a #if directive"
  "Warn if an undefined identifier appears in a #if directive"
-Wno-undef  ;   Cc,CPP  CPP,f self
-Wno-undef  ;   Cc,CPP  CPP,f self
  "Do not warn if an undefined identifier appears in a #if directive"
  "Do not warn if an undefined identifier appears in a #if directive"
-Wuninitialized   ; FTN,Cc  f self "-WOPT:warn_uninit=on"
-Wuninitialized   ; FTN,Cc  f self "-WOPT:warn_uninit=on"
  "Warn about unitialized automatic variables"
  "Warn about unitialized automatic variables"
-Wno-uninitialized  ; Cc  f self "-WOPT:warn_uninit=off"
-Wno-uninitialized  ; Cc  f self "-WOPT:warn_uninit=off"
  "Do not warn about unitialized automatic variables"
  "Do not warn about unitialized automatic variables"
-Wunknown-pragmas ;   Cc  f self
-Wunknown-pragmas ;   Cc  f self
  "Warn when an unknown #pragma directive is encountered"
  "Warn when an unknown #pragma directive is encountered"
-Wno-unknown-pragmas  ;   Cc  f self
-Wno-unknown-pragmas  ;   Cc  f self
  "Do not warn when an unknown #pragma directive is encountered"
  "Do not warn when an unknown #pragma directive is encountered"
-Wunused  ;   Cc  f self
-Wunused  ;   Cc  f self
  "Warn when a variable is unused"
  "Warn when a variable is unused"
-Wno-unused ;   Cc  f self
-Wno-unused ;   Cc  f self
  "Do not warn when a variable is unused"
  "Do not warn when a variable is unused"
-Wwrite-strings ;   Cc  f self
-Wwrite-strings ;   Cc  f self
  "Mark strings as 'const char *'"
  "Mark strings as 'const char *'"
-Wno-write-strings  ;   Cc  f self
-Wno-write-strings  ;   Cc  f self
  "Do not mark strings as 'const char *'"
  "Do not mark strings as 'const char *'"
-Wdeprecated    ;   Cc,f  CPP self
-Wdeprecated    ;   Cc,f  CPP self
  "Announce deprecation of compiler features"
  "Announce deprecation of compiler features"
-Wno-deprecated   ;   Cc,f  CPP self
-Wno-deprecated   ;   Cc,f  CPP self
  "Do not announce deprecation of compiler features"
  "Do not announce deprecation of compiler features"
-Wctor-dtor-privacy ;   CC  CPP self
-Wctor-dtor-privacy ;   CC  CPP self
  "Warn when all constructors/destructors are private"
  "Warn when all constructors/destructors are private"
-Wno-ctor-dtor-privacy  ;   CC  CPP self
-Wno-ctor-dtor-privacy  ;   CC  CPP self
  "Do not warn when all constructors/destructors are private"
  "Do not warn when all constructors/destructors are private"
-Wdiv-by-zero ;   Cc  f self
-Wdiv-by-zero ;   Cc  f self
  "Warn about compile-time integer division by zero"
  "Warn about compile-time integer division by zero"
-Wno-div-by-zero  ;   Cc  f self
-Wno-div-by-zero  ;   Cc  f self
  "Suppress warnings about compile-time integer division by zero"
  "Suppress warnings about compile-time integer division by zero"
-Wendif-labels  ;   Cc,CPP,f  CPP self
-Wendif-labels  ;   Cc,CPP,f  CPP self
  "Warn if #if or #endif is followed by text"
  "Warn if #if or #endif is followed by text"
-Wno-endif-labels ;   Cc,CPP,f  CPP self
-Wno-endif-labels ;   Cc,CPP,f  CPP self
  "Do not warn if #if or #endif is followed by text"
  "Do not warn if #if or #endif is followed by text"
-Weffc++  ;   CC  f self
-Weffc++  ;   CC  f self
  "Warn on 'Effective C++' style violations"
  "Warn on 'Effective C++' style violations"
-Wno-effc++ ;   CC  f self
-Wno-effc++ ;   CC  f self
  "Do not warn on 'Effective C++' style violations"
  "Do not warn on 'Effective C++' style violations"
-Wfloat-equal ;   Cc  f self
-Wfloat-equal ;   Cc  f self
  "Warn if floating point values are compared for equality"
  "Warn if floating point values are compared for equality"
-Wno-float-equal  ;   Cc  f self
-Wno-float-equal  ;   Cc  f self
  "Do not warn if floating point values are compared for equality"
  "Do not warn if floating point values are compared for equality"
-Wformat-nonliteral ;   Cc  f self
-Wformat-nonliteral ;   Cc  f self
  "If -Wformat, warn if format string is not a string literal"
  "If -Wformat, warn if format string is not a string literal"
-Wno-format-zero-length ;               Cc      f       self
-Wno-format-zero-length ;               Cc      f       self
        "Do not warn about zero-length format string"
        "Do not warn about zero-length format string"
-Wno-format-nonliteral  ;   Cc  f self
-Wno-format-nonliteral  ;   Cc  f self
  "Do not warn if format string is not a string literal"
  "Do not warn if format string is not a string literal"
-Wformat-security ;   Cc  f self
-Wformat-security ;   Cc  f self
  "If -Wformat, warn on potentially insecure format functions"
  "If -Wformat, warn on potentially insecure format functions"
-Wno-format-security  ;   Cc  f self
-Wno-format-security  ;   Cc  f self
  "Do not warn on potentially insecure format functions"
  "Do not warn on potentially insecure format functions"
-Wmissing-format-attribute  ;   Cc  f self
-Wmissing-format-attribute  ;   Cc  f self
  "If -Wformat, warn on candidates for 'format' attributes"
  "If -Wformat, warn on candidates for 'format' attributes"
-Wno-missing-format-attribute ;   Cc  f self
-Wno-missing-format-attribute ;   Cc  f self
  "Do not warn on candidates for 'format' attributes"
  "Do not warn on candidates for 'format' attributes"
-Wno-missing-field-initializers ;               Cc      f       self
-Wno-missing-field-initializers ;               Cc      f       self
        "Do not warn if a structure's initializer has some fields missing"
        "Do not warn if a structure's initializer has some fields missing"
-Wno-deprecated-declarations  ;   Cc  f self
-Wno-deprecated-declarations  ;   Cc  f self
  "Do not warn about deprecated code"
  "Do not warn about deprecated code"
-Wno-format-extra-args  ;   Cc  f self
-Wno-format-extra-args  ;   Cc  f self
  "Do not warn about extra arguments to printf-like functions"
  "Do not warn about extra arguments to printf-like functions"
-Wno-format-y2k ;   Cc  f self
-Wno-format-y2k ;   Cc  f self
  "Do not warn about 'strftime' formats that yield two-digit years"
  "Do not warn about 'strftime' formats that yield two-digit years"
-Wno-non-template-friend  ;   CC  f self
-Wno-non-template-friend  ;   CC  f self
  "Do not warn about friend functions declared in templates"
  "Do not warn about friend functions declared in templates"
-Wno-pmf-conversions  ;   CC  f self
-Wno-pmf-conversions  ;   CC  f self
  "Do not warn about converting PMFs to plain pointers"
  "Do not warn about converting PMFs to plain pointers"
-Wnon-virtual-dtor  ;   CC  f self
-Wnon-virtual-dtor  ;   CC  f self
  "Warn when a class declares a dtor that should be virtual"
  "Warn when a class declares a dtor that should be virtual"
-Wno-non-virtual-dtor ;   CC  f self
-Wno-non-virtual-dtor ;   CC  f self
  "Do not warn when a class declares a dtor that should be virtual"
  "Do not warn when a class declares a dtor that should be virtual"
-Wold-style-cast  ;   CC  f self
-Wold-style-cast  ;   CC  f self
  "Warn when a C-style cast to a non-void type is used"
  "Warn when a C-style cast to a non-void type is used"
-Wno-old-style-cast ;   CC  f self
-Wno-old-style-cast ;   CC  f self
  "Do not warn when a C-style cast to a non-void type is used"
  "Do not warn when a C-style cast to a non-void type is used"
-Woverloaded-virtual  ;   CC  f self
-Woverloaded-virtual  ;   CC  f self
  "Warn when a function declaration hides virtual functions"
  "Warn when a function declaration hides virtual functions"
-Wno-overloaded-virtual ;   CC  f self
-Wno-overloaded-virtual ;   CC  f self
  "Do not warn when a function declaration hides virtual functions"
  "Do not warn when a function declaration hides virtual functions"
-Wpacked  ;   Cc  f self
-Wpacked  ;   Cc  f self
  "Warn when packed attribute of a struct has no effect"
  "Warn when packed attribute of a struct has no effect"
-Wno-packed ;   Cc  f self
-Wno-packed ;   Cc  f self
  "Do not warn when packed attribute of a struct has no effect"
  "Do not warn when packed attribute of a struct has no effect"
-Wpadded  ;   Cc  f self
-Wpadded  ;   Cc  f self
  "Warn when padding is included in a struct"
  "Warn when padding is included in a struct"
-Wno-padded ;   Cc  f self
-Wno-padded ;   Cc  f self
  "Do not warn when padding is included in a struct"
  "Do not warn when padding is included in a struct"
-Wreorder ;   CC  f self
-Wreorder ;   CC  f self
  "Warn when reordering member initializers"
  "Warn when reordering member initializers"
-Wno-reorder  ;   CC  f self
-Wno-reorder  ;   CC  f self
  "Do not warn when reordering member initializers"
  "Do not warn when reordering member initializers"
-Wsequence-point  ;   Cc  f self
-Wsequence-point  ;   Cc  f self
  "Warn about code violating sequence point rules"
  "Warn about code violating sequence point rules"
-Wno-sequence-point ;   Cc  f self
-Wno-sequence-point ;   Cc  f self
  "Do not warn about code violating sequence point rules"
  "Do not warn about code violating sequence point rules"
-Wsign-promo  ;   CC  f self
-Wsign-promo  ;   CC  f self
  "Warn when overload resolution promotes from unsigned to signed"
  "Warn when overload resolution promotes from unsigned to signed"
-Wno-sign-promo ;   CC  f self
-Wno-sign-promo ;   CC  f self
  "Do not warn when overload resolution promotes from unsigned to signed"
  "Do not warn when overload resolution promotes from unsigned to signed"
-Wsynth ;   CC  f self
-Wsynth ;   CC  f self
  "Warn about synthesis that is not backwards compatible with cfront"
  "Warn about synthesis that is not backwards compatible with cfront"
-Wno-synth  ;   CC  f self
-Wno-synth  ;   CC  f self
  "Do not warn about synthesis that is not backwards compatible with cfront"
  "Do not warn about synthesis that is not backwards compatible with cfront"
-Wsystem-headers  ;   Cc,CPP  CPP,f self
-Wsystem-headers  ;   Cc,CPP  CPP,f self
  "Print warnings for constructs in system header files"
  "Print warnings for constructs in system header files"
-Wno-system-headers ;   Cc,CPP  CPP,f self
-Wno-system-headers ;   Cc,CPP  CPP,f self
  "Do not print warnings for constructs in system header files"
  "Do not print warnings for constructs in system header files"
-Wunreachable-code  ;   Cc  f self
-Wunreachable-code  ;   Cc  f self
  "Warn about code that will never be executed"
  "Warn about code that will never be executed"
-Wno-unreachable-code ;   Cc  f self
-Wno-unreachable-code ;   Cc  f self
  "Do not warn about code that will never be executed"
  "Do not warn about code that will never be executed"
-Wunused-macros ;   Cc,CPP  CPP,f self
-Wunused-macros ;   Cc,CPP  CPP,f self
  "Warn about macros defined but not used"
  "Warn about macros defined but not used"
-Wno-unused-macros  ;   Cc,CPP  CPP,f self
-Wno-unused-macros  ;   Cc,CPP  CPP,f self
  "Do not warn about macros defined but not used"
  "Do not warn about macros defined but not used"
-Wunused-function ;   Cc  f self
-Wunused-function ;   Cc  f self
  "Warn about unused static and inline functions"
  "Warn about unused static and inline functions"
-Wno-unused-function  ;   Cc  f self
-Wno-unused-function  ;   Cc  f self
  "Do not warn about unused static and inline functions"
  "Do not warn about unused static and inline functions"
-Wunused-label  ;   Cc  f self
-Wunused-label  ;   Cc  f self
  "Warn about unused labels"
  "Warn about unused labels"
-Wno-unused-label ;   Cc  f self
-Wno-unused-label ;   Cc  f self
  "Do not warn about unused labels"
  "Do not warn about unused labels"
-Wunused-parameter  ;   Cc  f self
-Wunused-parameter  ;   Cc  f self
  "Warn about unused function parameters"
  "Warn about unused function parameters"
-Wno-unused-parameter ;   Cc  f self
-Wno-unused-parameter ;   Cc  f self
  "Do not warn about unused function parameters"
  "Do not warn about unused function parameters"
-Wunused-value  ;   Cc  f self
-Wunused-value  ;   Cc  f self
  "Warn about statements whose results are not used"
  "Warn about statements whose results are not used"
-Wno-unused-value ;   Cc  f self
-Wno-unused-value ;   Cc  f self
  "Do not warn about statements whose results are not used"
  "Do not warn about statements whose results are not used"
-Wunused-variable ;   Cc  f self
-Wunused-variable ;   Cc  f self
  "Warn about local and static variables that are not used"
  "Warn about local and static variables that are not used"
-Wno-unused-variable  ;   Cc  f self
-Wno-unused-variable  ;   Cc  f self
  "Do not warnarn about local and static variables that are not used"
  "Do not warnarn about local and static variables that are not used"
-Wdisabled-optimization warn_ignored(option_name);    Cc  NONE  ""
-Wdisabled-optimization warn_ignored(option_name);    Cc  NONE  ""
  "Warn if a requested optimization pass is disabled"
  "Warn if a requested optimization pass is disabled"
-Wno-disabled-optimization  ;   Cc  f self
-Wno-disabled-optimization  ;   Cc  f self
  "Do not warn if a requested optimization pass is disabled"
  "Do not warn if a requested optimization pass is disabled"
%%% Optimization Options
%%% Optimization Options
-fbranch-probabilities  ;   Cc  f self
-fbranch-probabilities  ;   Cc  f self
  ""
  ""
-foptimize-register-moves ;   Cc  f self
-foptimize-register-moves ;   Cc  f self
  ""
  ""
-fcaller-saves  ;   Cc  f self
-fcaller-saves  ;   Cc  f self
  ""
  ""
-fcse-follow-jumps  ;   Cc  f self
-fcse-follow-jumps  ;   Cc  f self
  ""
  ""
-fcse-skip-blocks ;   Cc  f self
-fcse-skip-blocks ;   Cc  f self
  ""
  ""
-fdelayed-branch  ;   Cc  f self
-fdelayed-branch  ;   Cc  f self
  ""
  ""
-fexpensive-optimizations ;   Cc  f self
-fexpensive-optimizations ;   Cc  f self
  ""
  ""
-ffast-math toggle(&ffast_math,1);    Cc,FTN  f,be  "-OPT:ffast_math=ON -fno-math-errno"
-ffast-math toggle(&ffast_math,1);    Cc,FTN  f,be  "-OPT:ffast_math=ON -fno-math-errno"
  "Improve FP speed by violating ANSI & IEEE rules"
  "Improve FP speed by violating ANSI & IEEE rules"
-fno-fast-math  toggle(&ffast_math,0);    Cc,FTN  f "-OPT:ffast_math=OFF -fmath-errno"
-fno-fast-math  toggle(&ffast_math,0);    Cc,FTN  f "-OPT:ffast_math=OFF -fmath-errno"
  "Conform to ANSI & IEEE math rules at the expense of speed"
  "Conform to ANSI & IEEE math rules at the expense of speed"
-funsafe-math-optimizations ; Cc  f "-OPT:funsafe_math_optimizations=ON -fno-math-errno"
-funsafe-math-optimizations ; Cc  f "-OPT:funsafe_math_optimizations=ON -fno-math-errno"
  "Improve FP speed by violating ANSI & IEEE rules"
  "Improve FP speed by violating ANSI & IEEE rules"
-fno-unsafe-math-optimizations  ; Cc  f "-OPT:funsafe_math_optimizations=OFF -fmath-errno"
-fno-unsafe-math-optimizations  ; Cc  f "-OPT:funsafe_math_optimizations=OFF -fmath-errno"
  "Conform to ANSI & IEEE math rules at the expense of speed"
  "Conform to ANSI & IEEE math rules at the expense of speed"
#if defined(MIPS) && !defined(SL)
#if defined(MIPS) && !defined(SL)
-ffloat-store warn_ignored(option_name);  Cc,FTN  NONE  ""
-ffloat-store warn_ignored(option_name);  Cc,FTN  NONE  ""
#else
#else
-ffloat-store ; Cc,FTN  be  "-CG:x87_store=1:min_spill_loc_size=1"
-ffloat-store ; Cc,FTN  be  "-CG:x87_store=1:min_spill_loc_size=1"
  "Do not store floats in registers"
  "Do not store floats in registers"
#endif
#endif
-fforce-addr  ;   Cc  f self
-fforce-addr  ;   Cc  f self
  ""
  ""
-fforce-mem ;   Cc  f self
-fforce-mem ;   Cc  f self
  ""
  ""
-fdata-sections ;   Cc  f self
-fdata-sections ;   Cc  f self
  ""
  ""
-ffunction-sections ;   Cc  f self
-ffunction-sections ;   Cc  f self
  ""
  ""
-fgcse    ;   Cc  f self
-fgcse    ;   Cc  f self
  ""
  ""
-fno-gcse       ;               Cc      f       self
-fno-gcse       ;               Cc      f       self
        "Disable global common subexpression elimination, for options compatibility only, ignored by Open64"
        "Disable global common subexpression elimination, for options compatibility only, ignored by Open64"
-falign-functions       ;               Cc      f       self
-falign-functions       ;               Cc      f       self
        "Align the start of functions to the machine-dependent default value, for options compatibility only, ignored by Open64"
        "Align the start of functions to the machine-dependent default value, for options compatibility only, ignored by Open64"
-falign-functions=%d    ;               Cc      f       "-falign-functions=%d"
-falign-functions=%d    ;               Cc      f       "-falign-functions=%d"
        "Align the start of functions to the next power-of-two greater than n, for options compatibility only, ignored by Open64"
        "Align the start of functions to the next power-of-two greater than n, for options compatibility only, ignored by Open64"
-falign-jumps=%d        ;               Cc      f       "-falign-jumps=%d"
-falign-jumps=%d        ;               Cc      f       "-falign-jumps=%d"
        "Align branch targets to a power-of-two boundary, for options compatibility only, ignored by Open64"
        "Align branch targets to a power-of-two boundary, for options compatibility only, ignored by Open64"
-falign-loops           ;               Cc      f       self
-falign-loops           ;               Cc      f       self
        "Align loops to a machine-dependent default value, for options compatibility only, ignored by Open64"
        "Align loops to a machine-dependent default value, for options compatibility only, ignored by Open64"
-falign-loops=%d        ;               Cc      f       "-falign-loops=%d"
-falign-loops=%d        ;               Cc      f       "-falign-loops=%d"
        "Align loops to a power-of-two boundary, skipping up to n bytes, for options compatibility only, ignored by Open64"
        "Align loops to a power-of-two boundary, skipping up to n bytes, for options compatibility only, ignored by Open64"
-falign-labels          ;               Cc      f       self
-falign-labels          ;               Cc      f       self
        "Align all branch targets to a machine-dependent default value, for options compatibility only, ignored by Open64"
        "Align all branch targets to a machine-dependent default value, for options compatibility only, ignored by Open64"
-finline-functions  ;   Cc  f self
-finline-functions  ;   Cc  f self
  "Automatically integrate simple functions into their callers"
  "Automatically integrate simple functions into their callers"
-fno-inline-functions ;   Cc  f self
-fno-inline-functions ;   Cc  f self
  "Do not automatically integrate simple functions into their callers"
  "Do not automatically integrate simple functions into their callers"
-finline-limit=%d ; Cc  f "-finline-limit=%d"
-finline-limit=%d ; Cc  f "-finline-limit=%d"
  ""
  ""
-fkeep-inline-functions ;   Cc  f self
-fkeep-inline-functions ;   Cc  f self
  "Generate code for funcs even if they are fully inlined"
  "Generate code for funcs even if they are fully inlined"
-fno-default-inline ;   Cc  f self
-fno-default-inline ;   Cc  f self
  ""
  ""
-fno-defer-pop    ;   Cc  f self
-fno-defer-pop    ;   Cc  f self
  ""
  ""
-fno-function-cse ;   Cc  f self
-fno-function-cse ;   Cc  f self
  ""
  ""
-finline  Process_Inline();   Cc  f "-INLINE"
-finline  Process_Inline();   Cc  f "-INLINE"
  ""
  ""
-fno-inline Process_Inline();   Cc  f "-INLINE:=off"
-fno-inline Process_Inline();   Cc  f "-INLINE:=off"
  ""
  ""
-fabi-version=%d  ;   C f "-fabi-version=%d"
-fabi-version=%d  ;   C f "-fabi-version=%d"
  ""
  ""
-fno-operator-names ;   C f self
-fno-operator-names ;   C f self
  "Do not treat operator keywords and, bitand, bitor, compl, not, or and xor as keywords."
  "Do not treat operator keywords and, bitand, bitor, compl, not, or and xor as keywords."
-fno-peephole   ;   Cc  f self
-fno-peephole   ;   Cc  f self
  ""
  ""
-fomit-frame-pointer  ;   Cc  f self
-fomit-frame-pointer  ;   Cc  f self
  "When possible do not generate stack frames"
  "When possible do not generate stack frames"
-fno-omit-frame-pointer ;   Cc  f self
-fno-omit-frame-pointer ;   Cc  f self
  ""
  ""
-fregmove ;   Cc  f self
-fregmove ;   Cc  f self
  ""
  ""
-frerun-cse-after-loop  ;   Cc  f self
-frerun-cse-after-loop  ;   Cc  f self
  ""
  ""
-frerun-loop-opt  ;   Cc  f self
-frerun-loop-opt  ;   Cc  f self
  ""
  ""
-fschedule-insns  ;   Cc  f self
-fschedule-insns  ;   Cc  f self
  ""
  ""
-fno-schedule-insns ;   Cc  f self
-fno-schedule-insns ;   Cc  f self
  ""
  ""
-fschedule-insns2 ;   Cc  f self
-fschedule-insns2 ;   Cc  f self
  ""
  ""
-fno-schedule-insns2  ;   Cc  f self
-fno-schedule-insns2  ;   Cc  f self
  ""
  ""
-fstrength-reduce ;   Cc  f self
-fstrength-reduce ;   Cc  f self
  "Perform strength reduction optimisations"
  "Perform strength reduction optimisations"
-fno-strength-reduce  ;   Cc  f self
-fno-strength-reduce  ;   Cc  f self
  ""
  ""
-fthread-jumps  ;   Cc  f self
-fthread-jumps  ;   Cc  f self
  "Perform jump threading optimisations"
  "Perform jump threading optimisations"
-ftemplate-depth-%d ;   CC  f "-ftemplate-depth-%d"
-ftemplate-depth-%d ;   CC  f "-ftemplate-depth-%d"
  "Set maximum instantiation depth for template classes"
  "Set maximum instantiation depth for template classes"
-ftree-ter  ;   Cc  f self
-ftree-ter  ;   Cc  f self
  ""
  ""
-fno-tree-ter ;   Cc  f self
-fno-tree-ter ;   Cc  f self
  ""
  ""
-funroll-all-loops  ;   Cc  f self
-funroll-all-loops  ;   Cc  f self
  "Peform loop onrolling for all loops"
  "Peform loop onrolling for all loops"
-funroll-loops  ;   Cc  f self
-funroll-loops  ;   Cc  f self
  "unroll-loops"
  "unroll-loops"
-fmove-all-movables ;   Cc  f self
-fmove-all-movables ;   Cc  f self
  ""
  ""
-freduce-all-givs ;   Cc  f self
-freduce-all-givs ;   Cc  f self
  ""
  ""
-fstrict-aliasing ;   Cc  f self "-OPT:alias=typed"
-fstrict-aliasing ;   Cc  f self "-OPT:alias=typed"
  "Assume strictest aliasing rules"
  "Assume strictest aliasing rules"
-Wstrict-aliasing ;   Cc  f self
-Wstrict-aliasing ;   Cc  f self
  "Warn about code that breaks strict aliasing rules"
  "Warn about code that breaks strict aliasing rules"
-fno-strict-aliasing  ;   Cc  f self
-fno-strict-aliasing  ;   Cc  f self
  "Do not assume strict aliasing rules"
  "Do not assume strict aliasing rules"
-Wno-strict-aliasing  ;   Cc  f self
-Wno-strict-aliasing  ;   Cc  f self
  "Do not warn about code that breaks strict aliasing rules"
  "Do not warn about code that breaks strict aliasing rules"
-dA warn_ignored(option_name);  Cc  NONE  self
-dA warn_ignored(option_name);  Cc  NONE  self
  ""
  ""
-db warn_ignored(option_name);  Cc  NONE  self
-db warn_ignored(option_name);  Cc  NONE  self
  ""
  ""
-dB warn_ignored(option_name);  Cc  NONE  self
-dB warn_ignored(option_name);  Cc  NONE  self
  ""
  ""
-dc warn_ignored(option_name);  Cc  NONE  self
-dc warn_ignored(option_name);  Cc  NONE  self
  ""
  ""
-dC warn_ignored(option_name);  Cc  NONE  self
-dC warn_ignored(option_name);  Cc  NONE  self
  ""
  ""
-dd warn_ignored(option_name);  Cc  NONE  self
-dd warn_ignored(option_name);  Cc  NONE  self
  ""
  ""
-de warn_ignored(option_name);  Cc  NONE  self
-de warn_ignored(option_name);  Cc  NONE  self
  ""
  ""
-dE warn_ignored(option_name);  Cc  NONE  self
-dE warn_ignored(option_name);  Cc  NONE  self
  ""
  ""
-df warn_ignored(option_name);  Cc  NONE  self
-df warn_ignored(option_name);  Cc  NONE  self
  ""
  ""
-dF warn_ignored(option_name);  Cc  NONE  self
-dF warn_ignored(option_name);  Cc  NONE  self
  ""
  ""
-dg warn_ignored(option_name);  Cc  NONE  self
-dg warn_ignored(option_name);  Cc  NONE  self
  ""
  ""
-dh warn_ignored(option_name);  Cc  NONE  self
-dh warn_ignored(option_name);  Cc  NONE  self
  ""
  ""
-dk warn_ignored(option_name);  Cc  NONE  self
-dk warn_ignored(option_name);  Cc  NONE  self
  ""
  ""
-do warn_ignored(option_name);  Cc  NONE  self
-do warn_ignored(option_name);  Cc  NONE  self
  ""
  ""
-dG warn_ignored(option_name);  Cc  NONE  self
-dG warn_ignored(option_name);  Cc  NONE  self
  ""
  ""
-di warn_ignored(option_name);  Cc  NONE  self
-di warn_ignored(option_name);  Cc  NONE  self
  ""
  ""
-dj warn_ignored(option_name);  Cc  NONE  self
-dj warn_ignored(option_name);  Cc  NONE  self
  ""
  ""
-dl warn_ignored(option_name);  Cc  NONE  self
-dl warn_ignored(option_name);  Cc  NONE  self
  ""
  ""
-dL warn_ignored(option_name);  Cc  NONE  self
-dL warn_ignored(option_name);  Cc  NONE  self
  ""
  ""
% This flag collides with the "dynamic" toggle flag
% This flag collides with the "dynamic" toggle flag
%-dn  warn_ignored(option_name);  Cc  NONE  self
%-dn  warn_ignored(option_name);  Cc  NONE  self
% "Dump after register renumbering, to file.25.rnreg."
% "Dump after register renumbering, to file.25.rnreg."
-dr warn_ignored(option_name);  Cc  NONE  self
-dr warn_ignored(option_name);  Cc  NONE  self
  ""
  ""
-dR warn_ignored(option_name);  Cc  NONE  self
-dR warn_ignored(option_name);  Cc  NONE  self
  ""
  ""
-ds warn_ignored(option_name);  Cc  NONE  self
-ds warn_ignored(option_name);  Cc  NONE  self
  ""
  ""
-dS warn_ignored(option_name);  Cc  NONE  self
-dS warn_ignored(option_name);  Cc  NONE  self
  ""
  ""
-dt warn_ignored(option_name);  Cc  NONE  self
-dt warn_ignored(option_name);  Cc  NONE  self
  ""
  ""
-dw warn_ignored(option_name);  Cc  NONE  self
-dw warn_ignored(option_name);  Cc  NONE  self
  ""
  ""
-dX warn_ignored(option_name);  Cc  NONE  self
-dX warn_ignored(option_name);  Cc  NONE  self
  ""
  ""
-dz warn_ignored(option_name);  Cc  NONE  self
-dz warn_ignored(option_name);  Cc  NONE  self
  ""
  ""
-da warn_ignored(option_name);  Cc  NONE  self
-da warn_ignored(option_name);  Cc  NONE  self
  ""
  ""
-dm warn_ignored(option_name);  Cc  NONE  self
-dm warn_ignored(option_name);  Cc  NONE  self
  ""
  ""
-dp warn_ignored(option_name);  Cc  NONE  self
-dp warn_ignored(option_name);  Cc  NONE  self
  ""
  ""
-dP warn_ignored(option_name);  Cc  NONE  self
-dP warn_ignored(option_name);  Cc  NONE  self
  ""
  ""
-dv warn_ignored(option_name);  Cc  NONE  self
-dv warn_ignored(option_name);  Cc  NONE  self
  ""
  ""
-dx warn_ignored(option_name);  Cc  NONE  self
-dx warn_ignored(option_name);  Cc  NONE  self
  ""
  ""
% This flag collides with the "dynamic" toggle flag
% This flag collides with the "dynamic" toggle flag
%-dy  warn_ignored(option_name);  Cc  NONE  self
%-dy  warn_ignored(option_name);  Cc  NONE  self
% "Dump debugging information during parsing, to standard error."
% "Dump debugging information during parsing, to standard error."
%%% Preprocessor options
%%% Preprocessor options
-dD ; Cc,as,CPP CPP self
-dD ; Cc,as,CPP CPP self
  "Generate list of non-predefined macro directives"
  "Generate list of non-predefined macro directives"
-dI ; Cc,as,CPP CPP self
-dI ; Cc,as,CPP CPP self
  "Output #include directives in addition to preprocessor results"
  "Output #include directives in addition to preprocessor results"
-dM ; Cc,as,CPP CPP self
-dM ; Cc,as,CPP CPP self
  "Generate list of directives for all macros"
  "Generate list of directives for all macros"
-dN ; Cc,as,CPP CPP self
-dN ; Cc,as,CPP CPP self
  "Generate list of all macro names defined"
  "Generate list of all macro names defined"
-idirafter%D  ;   Cc,as,CPP CPP "-idirafter %D"
-idirafter%D  ;   Cc,as,CPP CPP "-idirafter %D"
  ""
  ""
-include%s  ;   Cc,as,CPP CPP "-include %s"
-include%s  ;   Cc,as,CPP CPP "-include %s"
  ""
  ""
-imacros%s  ;   Cc,as,CPP CPP "-imacros %s"
-imacros%s  ;   Cc,as,CPP CPP "-imacros %s"
  ""
  ""
-iprefix%s  ;   Cc,as,CPP CPP "-iprefix %s"
-iprefix%s  ;   Cc,as,CPP CPP "-iprefix %s"
  ""
  ""
-iwithprefix%D  ;   Cc,as,CPP CPP "-iwithprefix %D"
-iwithprefix%D  ;   Cc,as,CPP CPP "-iwithprefix %D"
  ""
  ""
-iwithprefixbefore%D  ;   Cc,as,CPP CPP "-iwithprefixbefore %D"
-iwithprefixbefore%D  ;   Cc,as,CPP CPP "-iwithprefixbefore %D"
  ""
  ""
-isystem%D  accumulate_isystem(optargs);  Cc,FTN,as,CPP CPP "-isystem %D"
-isystem%D  accumulate_isystem(optargs);  Cc,FTN,as,CPP CPP "-isystem %D"
  ""
  ""
-isysroot%D ;   Cc,as,CPP CPP "-isysroot %D"
-isysroot%D ;   Cc,as,CPP CPP "-isysroot %D"
  ""
  ""
-MD ;   Cc,as,CPP CPP self
-MD ;   Cc,as,CPP CPP self
  "Write dependencies to .d output file"
  "Write dependencies to .d output file"
-MF%s ;   Cc,as,CPP CPP "-MF %s"
-MF%s ;   Cc,as,CPP CPP "-MF %s"
  "Write dependencies to specified output file"
  "Write dependencies to specified output file"
-MMD  ;   Cc,as,CPP CPP self
-MMD  ;   Cc,as,CPP CPP self
  "Write user dependencies to .d output file"
  "Write user dependencies to .d output file"
-MM last_phase=P_any_cpp; Cc,as,CPP CPP self
-MM last_phase=P_any_cpp; Cc,as,CPP CPP self
  "Output user dependencies of source file"
  "Output user dependencies of source file"
-MG ;   Cc,as,CPP CPP self
-MG ;   Cc,as,CPP CPP self
  "With -M or -MM, treat missing header files as generated files"
  "With -M or -MM, treat missing header files as generated files"
-MT%s ;   Cc,as,CPP CPP "-MT %s"
-MT%s ;   Cc,as,CPP CPP "-MT %s"
  "Change the target of the generated dependency rules"
  "Change the target of the generated dependency rules"
-MQ%s ;   Cc,as,CPP CPP "-MQ %s"
-MQ%s ;   Cc,as,CPP CPP "-MQ %s"
  "Same as -MT, but quote characters that are special to Make"
  "Same as -MT, but quote characters that are special to Make"
%Fixing bug 375
%Fixing bug 375
-MP ;   Cc,as,CPP CPP self
-MP ;   Cc,as,CPP CPP self
  "With -M or -MM, add phony targets for each dependency"
  "With -M or -MM, add phony targets for each dependency"
%Fixing bug 493
%Fixing bug 493
-aux-info%s     ;       as   cfe     "-aux-info %s"
-aux-info%s     ;       as   cfe     "-aux-info %s"
        ""
        ""
-ff2c-abi%s ; ALL ffe "-ff2c-abi %s"
-ff2c-abi%s ; ALL ffe "-ff2c-abi %s"
  "Tell Fortran compiler to use the f2c ABI for symbols in file"
  "Tell Fortran compiler to use the f2c ABI for symbols in file"
-fdecorate%s  ; ALL ffe "-fdecorate %s"
-fdecorate%s  ; ALL ffe "-fdecorate %s"
  "File tells Fortran compiler how to transform ids into linker symbols"
  "File tells Fortran compiler how to transform ids into linker symbols"
-undef  ;   Cc,as,CPP CPP self
-undef  ;   Cc,as,CPP CPP self
  ""
  ""
%%% Code Generation Options
%%% Code Generation Options
-fcall-saved-%s ;   Cc  NONE  ""
-fcall-saved-%s ;   Cc  NONE  ""
  ""
  ""
-fcall-used-%s  ;   Cc  NONE  ""
-fcall-used-%s  ;   Cc  NONE  ""
  ""
  ""
% KEY: Because of limitation on derived flags, we repeat the -fexceptions
% KEY: Because of limitation on derived flags, we repeat the -fexceptions
% in the implied list.  This is to find the parent flag so action is done.
% in the implied list.  This is to find the parent flag so action is done.
#ifdef X8664
#ifdef X8664
-fexceptions  ; ALL cfe "-fexceptions -fgnu-exceptions -TENV:frame_pointer=on"
-fexceptions  ; ALL cfe "-fexceptions -fgnu-exceptions -TENV:frame_pointer=on"
  "Enable exception handling"
  "Enable exception handling"
#else
#else
-fexceptions  ; ALL cfe "-fexceptions -fgnu-exceptions"
-fexceptions  ; ALL cfe "-fexceptions -fgnu-exceptions"
  "Enable exception handling"
  "Enable exception handling"
-foptimize-regions  ;   Cc  cfe "-foptimize-regions -TENV:omit_ue_destroy_frame=on"
-foptimize-regions  ;   Cc  cfe "-foptimize-regions -TENV:omit_ue_destroy_frame=on"
    "Enable optimization of EH regions formation"
    "Enable optimization of EH regions formation"
#endif
#endif
-fhandle-exceptions ; Cc  cpp,cfe self
-fhandle-exceptions ; Cc  cpp,cfe self
  "Enable exception handling"
  "Enable exception handling"
#ifndef SL
#ifndef SL
-fno-exceptions ; Cc  CPP,cfe "-fno-exceptions -fno-gnu-exceptions"
-fno-exceptions ; Cc  CPP,cfe "-fno-exceptions -fno-gnu-exceptions"
  "Disable exception handling"
  "Disable exception handling"
#else
#else
-fno-exceptions ; Cc  CPP,cfe "-fno-exceptions"
-fno-exceptions ; Cc  CPP,cfe "-fno-exceptions"
  "Disable exception handling"
  "Disable exception handling"
#endif
#endif
-fno-optimize-regions ; Cc  cfe self
-fno-optimize-regions ; Cc  cfe self
  "Enable optimization of EH regions formation"
  "Enable optimization of EH regions formation"
-fno-handle-exceptions  ; Cc  cfe self
-fno-handle-exceptions  ; Cc  cfe self
  "Disable exception handling"
  "Disable exception handling"
#ifdef KEY  /* bug 11732 */
#ifdef KEY  /* bug 11732 */
-fgnu-exceptions  toggle(&gnu_exceptions,TRUE); C cfe ""
-fgnu-exceptions  toggle(&gnu_exceptions,TRUE); C cfe ""
  "Enable exception handling in the GNU front-end"
  "Enable exception handling in the GNU front-end"
-fno-gnu-exceptions toggle(&gnu_exceptions,FALSE);  C cfe ""
-fno-gnu-exceptions toggle(&gnu_exceptions,FALSE);  C cfe ""
  "Disable exception handling in the GNU front-end"
  "Disable exception handling in the GNU front-end"
#endif
#endif
-ffixed-%s  ;   Cc  NONE  "-TENV:registers_not_allocatable=%s"
-ffixed-%s  ;   Cc  NONE  "-TENV:registers_not_allocatable=%s"
  ""
  ""
-mfixed-range=%s  ; Cc  NONE  "-TENV:registers_not_allocatable=%s"
-mfixed-range=%s  ; Cc  NONE  "-TENV:registers_not_allocatable=%s"
  ""
  ""
#ifdef X8664
#ifdef X8664
-funwind-tables ;   ALL NONE  "-CG:emit_unwind_info=on -TENV:frame_pointer=on"
-funwind-tables ;   ALL NONE  "-CG:emit_unwind_info=on -TENV:frame_pointer=on"
  ""
  ""
#else
#else
-funwind-tables ;   ALL NONE  "-CG:emit_unwind_info=on"
-funwind-tables ;   ALL NONE  "-CG:emit_unwind_info=on"
  ""
  ""
#endif
#endif
-fno-unwind-tables  ; Cc  NONE  "-CG:emit_unwind_info=off"
-fno-unwind-tables  ; Cc  NONE  "-CG:emit_unwind_info=off"
  ""
  ""
-mconstant-gp ;   Cc  NONE  "-TENV:constant_gp=on"
-mconstant-gp ;   Cc  NONE  "-TENV:constant_gp=on"
  ""
  ""
 
#ifndef SL
-mno-sdata  ;   Cc  NONE  "-G0"
-mno-sdata  ;   Cc  NONE  "-G0"
  ""
  ""
 
#endif
-finstrument-functions  ; ALL NONE  "-OPT:cyg_instr=4"
-finstrument-functions  ; ALL NONE  "-OPT:cyg_instr=4"
  ""
  ""
-finhibit-size-directive  ;   Cc  be  "-CG:inhibit_size_directive=1:emit_asm_dwarf=0"
-finhibit-size-directive  ;   Cc  be  "-CG:inhibit_size_directive=1:emit_asm_dwarf=0"
  "Do not generate .size directives"
  "Do not generate .size directives"
-fcheck-memory-usage  ;   Cc  NONE  ""
-fcheck-memory-usage  ;   Cc  NONE  ""
  ""
  ""
-fprefix-function-name  ;   Cc  NONE  ""
-fprefix-function-name  ;   Cc  NONE  ""
  "Add a prefix to all function names"
  "Add a prefix to all function names"
-fno-common ;   Cc  cfe self
-fno-common ;   Cc  cfe self
  "use strict ref/def initialization model"
  "use strict ref/def initialization model"
-fno-ident  ;   Cc  cfe self
-fno-ident  ;   Cc  cfe self
  "Ignore #ident directives"
  "Ignore #ident directives"
-fident         ;               Cc      cfe     self
-fident         ;               Cc      cfe     self
        "for options compatibility only, ignored by Open64"
        "for options compatibility only, ignored by Open64"
-fwrapv         ;               Cc      cfe     self
-fwrapv         ;               Cc      cfe     self
        "for options compatibility only, ignored by Open64"
        "for options compatibility only, ignored by Open64"
-fvisibility=hidden     ;               Cc      cfe     self
-fvisibility=hidden     ;               Cc      cfe     self
        "Set the default ELF image symbol visibility to be hidden, for options compatibility only, ignored by Open64"
        "Set the default ELF image symbol visibility to be hidden, for options compatibility only, ignored by Open64"
-fvisibility=default    ;               Cc      cfe     self
-fvisibility=default    ;               Cc      cfe     self
        "Make every ELF image symbol public, for options compatibility only, ignored by Open64"
        "Make every ELF image symbol public, for options compatibility only, ignored by Open64"
-fno-gnu-linker ;   Cc  NONE  ""
-fno-gnu-linker ;   Cc  NONE  ""
  ""
  ""
-fpcc-struct-return ;   Cc  NONE  ""
-fpcc-struct-return ;   Cc  NONE  ""
  ""
  ""
-fpic toggle(&pic,TRUE);  A anyfe self "-TENV:PIC"
-fpic toggle(&pic,TRUE);  A anyfe self "-TENV:PIC"
  "Generate position independent code, if possible"
  "Generate position independent code, if possible"
-fPIC toggle(&pic,TRUE);  A anyfe self "-TENV:PIC"
-fPIC toggle(&pic,TRUE);  A anyfe self "-TENV:PIC"
  "Generate position independent code, if possible"
  "Generate position independent code, if possible"
-fno-PIC  toggle(&pic,TRUE);  A anyfe self
-fno-PIC  toggle(&pic,TRUE);  A anyfe self
  "Do not generate position independent code"
  "Do not generate position independent code"
-fno-pic  toggle(&pic,TRUE);  A anyfe self
-fno-pic  toggle(&pic,TRUE);  A anyfe self
  "Do not generate position independent code"
  "Do not generate position independent code"
-fpie ;   A anyfe self "-TENV:PIC"
-fpie ;   A anyfe self "-TENV:PIC"
  "Generate position independent code, if possible"
  "Generate position independent code, if possible"
-pie  ;   A ld  self "-TENV:PIC"
-pie  ;   A ld  self "-TENV:PIC"
  "Generate position independent code, if possible"
  "Generate position independent code, if possible"
-fPIE ;   A anyfe self "-TENV:PIC"
-fPIE ;   A anyfe self "-TENV:PIC"
  "Generate position independent code, if possible"
  "Generate position independent code, if possible"
-fno-pie  ; A anyfe self
-fno-pie  ; A anyfe self
  "Do not generate position independent code"
  "Do not generate position independent code"
-fno-PIE  ; A anyfe self
-fno-PIE  ; A anyfe self
  "Do not generate position independent code"
  "Do not generate position independent code"
-frandom-seed=%s  ;   Cc  anyfe "-frandom-seed=%s"
-frandom-seed=%s  ;   Cc  anyfe "-frandom-seed=%s"
  ""
  ""
-freg-struct-return ;   Cc  NONE  ""
-freg-struct-return ;   Cc  NONE  ""
  ""
  ""
-fshared-data ;   Cc  NONE  ""
-fshared-data ;   Cc  NONE  ""
  "Mark data as shared rather than private"
  "Mark data as shared rather than private"
-fshort-enums ;   Cc  NONE  ""
-fshort-enums ;   Cc  NONE  ""
  "Use the smallest fitting integer to hold enums"
  "Use the smallest fitting integer to hold enums"
-fshort-double  ;   Cc  NONE  ""
-fshort-double  ;   Cc  NONE  ""
  "Use the same size for double as for float"
  "Use the same size for double as for float"
-fshort-wchar ;   Cc  anyfe self
-fshort-wchar ;   Cc  anyfe self
  "Use short unsigned int for wchar_t instead of the default underlying type for the target."
  "Use short unsigned int for wchar_t instead of the default underlying type for the target."
-fvolatile  ;   Cc  NONE  ""
-fvolatile  ;   Cc  NONE  ""
  "Consider all mem refs through pointers as volatile"
  "Consider all mem refs through pointers as volatile"
-fvolatile-global ;   Cc  NONE  ""
-fvolatile-global ;   Cc  NONE  ""
  "Consider all mem refs to global data to be volatile"
  "Consider all mem refs to global data to be volatile"
-fvolatile-static ;   Cc  NONE  ""
-fvolatile-static ;   Cc  NONE  ""
  ""
  ""
-fverbose-asm ;   Cc  NONE  ""
-fverbose-asm ;   Cc  NONE  ""
  ""
  ""
-fpack-struct ;   Cc  NONE  ""
-fpack-struct ;   Cc  NONE  ""
  "Pack structure members together without holes"
  "Pack structure members together without holes"
-fstack-check ;   Cc  NONE  ""
-fstack-check ;   Cc  NONE  ""
  ""
  ""
-fargument-alias  ;   Cc  NONE  ""
-fargument-alias  ;   Cc  NONE  ""
  ""
  ""
-fargument-noalias  ;   Cc  NONE  ""
-fargument-noalias  ;   Cc  NONE  ""
  ""
  ""
-fargument-noalias-global ;   Cc  NONE  ""
-fargument-noalias-global ;   Cc  NONE  ""
  ""
  ""
-fleading-underscore  ;   Cc  NONE  ""
-fleading-underscore  ;   Cc  NONE  ""
  ""
  ""
%%% Linker Options
%%% Linker Options
-nostartfiles ;   LINK  ld  self
-nostartfiles ;   LINK  ld  self
  "Do not use standard system startup files when linking"
  "Do not use standard system startup files when linking"
-nodefaultlibs  ;   LINK  ld  self
-nodefaultlibs  ;   LINK  ld  self
  "Do not use standard system libraries when linking"
  "Do not use standard system libraries when linking"
--sysroot%D ;   Cc,as,CPP ld  "--sysroot %D -isysroot %D"
--sysroot%D ;   Cc,as,CPP ld  "--sysroot %D -isysroot %D"
  ""
  ""
%-Xlinker%- warn_no_longer_supported2(option_name,"-Wl,");    LINK  ld  "-Xlinker %s"
%-Xlinker%- warn_no_longer_supported2(option_name,"-Wl,");    LINK  ld  "-Xlinker %s"
% ""
% ""
% KEY Call dedicated code to handle -Xlinker since generic code does not
% KEY Call dedicated code to handle -Xlinker since generic code does not
% like the arg string to begin with -.
% like the arg string to begin with -.
-Xlinker* ; LINK  ld  ""
-Xlinker* ; LINK  ld  ""
  ""
  ""
-symbolic ;   LINK  ld  self
-symbolic ;   LINK  ld  self
  ""
  ""
-shared-libgcc  ; LINK  ld  self
-shared-libgcc  ; LINK  ld  self
  "Force the use of the shared libgcc library"
  "Force the use of the shared libgcc library"
-static-libgcc  ; LINK  ld  self
-static-libgcc  ; LINK  ld  self
  "Force the use of the static libgcc library"
  "Force the use of the static libgcc library"
%%% Directory Options
%%% Directory Options
-I-   ;   ALL CPP self
-I-   ;   ALL CPP self
  ""
  ""
-specs=%s warn_ignored(option_name);    ALL NONE  self
-specs=%s warn_ignored(option_name);    ALL NONE  self
  ""
  ""
%%% Target Options
%%% Target Options
-b%s  warn_ignored(option_name);    ALL NONE  self
-b%s  warn_ignored(option_name);    ALL NONE  self
  ""
  ""
%%% 386-specific options
%%% 386-specific options
-m386 warn_ignored(option_name);    ALL NONE  self
-m386 warn_ignored(option_name);    ALL NONE  self
  ""
  ""
-malign-loops=%d  warn_ignored(option_name);  ALL NONE  self
-malign-loops=%d  warn_ignored(option_name);  ALL NONE  self
  ""
  ""
-malign-jumps=%d  warn_ignored(option_name);  ALL NONE  self
-malign-jumps=%d  warn_ignored(option_name);  ALL NONE  self
  ""
  ""
-malign-functions=%d  warn_ignored(option_name);  ALL NONE  self
-malign-functions=%d  warn_ignored(option_name);  ALL NONE  self
  ""
  ""
%%% x86 extensions
%%% x86 extensions
-mmmx toggle(&mmx,TRUE);    ALL ALL ""
-mmmx toggle(&mmx,TRUE);    ALL ALL ""
  "Enable MMX extensions"
  "Enable MMX extensions"
-mno-mmx  toggle(&mmx,FALSE);toggle(&sse,FALSE);toggle(&sse2,FALSE);toggle(&sse3,FALSE);toggle(&sse4a,FALSE); ALL NONE  self
-mno-mmx  toggle(&mmx,FALSE);toggle(&sse,FALSE);toggle(&sse2,FALSE);toggle(&sse3,FALSE);toggle(&sse4a,FALSE); ALL NONE  self
  "Disable MMX extensions"
  "Disable MMX extensions"
-msse toggle(&mmx,TRUE);toggle(&sse,TRUE);    ALL ALL ""
-msse toggle(&mmx,TRUE);toggle(&sse,TRUE);    ALL ALL ""
  "Enable SSE extensions"
  "Enable SSE extensions"
-mno-sse  toggle(&sse,FALSE);toggle(&sse2,FALSE);toggle(&sse3,FALSE);toggle(&sse4a,FALSE);  ALL be  ""
-mno-sse  toggle(&sse,FALSE);toggle(&sse2,FALSE);toggle(&sse3,FALSE);toggle(&sse4a,FALSE);  ALL be  ""
  "Disable SSE2/SSE3/SSE4a extensions"
  "Disable SSE2/SSE3/SSE4a extensions"
-msse2  toggle(&mmx,TRUE);toggle(&sse,TRUE);toggle(&sse2,TRUE);   ALL be  ""
-msse2  toggle(&mmx,TRUE);toggle(&sse,TRUE);toggle(&sse2,TRUE);   ALL be  ""
  "Enable SSE2 extensions"
  "Enable SSE2 extensions"
-mno-sse2 toggle(&sse2,FALSE);toggle(&sse3,FALSE);toggle(&sse4a,FALSE); ALL be  ""
-mno-sse2 toggle(&sse2,FALSE);toggle(&sse3,FALSE);toggle(&sse4a,FALSE); ALL be  ""
  "Disable SSE2/SSE3 extensions"
  "Disable SSE2/SSE3 extensions"
-msse3  toggle(&sse2,TRUE);toggle(&sse3,TRUE);  ALL be  ""
-msse3  toggle(&sse2,TRUE);toggle(&sse3,TRUE);  ALL be  ""
  "Enable SSE3 extensions"
  "Enable SSE3 extensions"
-mno-sse3 toggle(&sse3,FALSE);  ALL be  ""
-mno-sse3 toggle(&sse3,FALSE);  ALL be  ""
  "Disable SSE3 extensions"
  "Disable SSE3 extensions"
-m3dnow   toggle(&m3dnow,TRUE); ALL be  ""
-m3dnow   toggle(&m3dnow,TRUE); ALL be  ""
  "Enable 3Dnow extensions"
  "Enable 3Dnow extensions"
-mno-3dnow  toggle(&m3dnow,FALSE);  ALL be  ""
-mno-3dnow  toggle(&m3dnow,FALSE);  ALL be  ""
  "Disable 3Dnow extensions"
  "Disable 3Dnow extensions"
-msse4a  toggle(&sse2,TRUE);toggle(&sse4a,TRUE);  ALL     be      ""
-msse4a  toggle(&sse2,TRUE);toggle(&sse4a,TRUE);  ALL     be      ""
        "Enable SSE4a extensions"
        "Enable SSE4a extensions"
-mno-sse4a       toggle(&sse4a,FALSE);    ALL     be      ""
-mno-sse4a       toggle(&sse4a,FALSE);    ALL     be      ""
        "Disable SSE4a extensions"
        "Disable SSE4a extensions"
%%% x87
%%% x87
-mx87-precision=%d  ; ALL be  "-TARG:x87-precision=%d"
-mx87-precision=%d  ; ALL be  "-TARG:x87-precision=%d"
  "Specify the precision of x87 floating-point calculations (32/64/80-bit)"
  "Specify the precision of x87 floating-point calculations (32/64/80-bit)"
%%% ia-64 workaround
%%% ia-64 workaround
-ma-step  ; ALL NONE  "-TARG:ma0_step=on -mb-step"
-ma-step  ; ALL NONE  "-TARG:ma0_step=on -mb-step"
  ""
  ""
-mb-step  ; ALL NONE  ""
-mb-step  ; ALL NONE  ""
  ""
  ""
-mvolatile-asm-stop ; ALL NONE  "-CG:volatile_asm_stop=on"
-mvolatile-asm-stop ; ALL NONE  "-CG:volatile_asm_stop=on"
  ""
  ""
% KEY: Because of limitation on derived flags, we repeat the -mcmodel=%s in the
% KEY: Because of limitation on derived flags, we repeat the -mcmodel=%s in the
% implied list.  This is to find the parent flag so action is done.
% implied list.  This is to find the parent flag so action is done.
-mcmodel=%s set_memory_model(optargs);  ALL NONE  "-mcmodel=%s -TENV:mcmodel=%s"
-mcmodel=%s set_memory_model(optargs);  ALL NONE  "-mcmodel=%s -TENV:mcmodel=%s"
  "Set the memory model to use"
  "Set the memory model to use"
-print-file-name=%s {execute_flag=FALSE; print_file_path(optargs, 0);}  ALL NONE  ""
-print-file-name=%s {execute_flag=FALSE; print_file_path(optargs, 0);}  ALL NONE  ""
  ""
  ""
-print-libgcc-file-name ; ALL NONE  "-print-file-name=libgcc.a"
-print-libgcc-file-name ; ALL NONE  "-print-file-name=libgcc.a"
  ""
  ""
-print-multi-lib  {execute_flag=FALSE; print_multi_lib();} ALL NONE ""
-print-multi-lib  {execute_flag=FALSE; print_multi_lib();} ALL NONE ""
  "Print the mapping from multilib directory names to compiler switches that enable them."
  "Print the mapping from multilib directory names to compiler switches that enable them."
-print-prog-name=%s {execute_flag=FALSE; print_file_path(optargs, 1);}  ALL NONE  ""
-print-prog-name=%s {execute_flag=FALSE; print_file_path(optargs, 1);}  ALL NONE  ""
  ""
  ""
-print-search-dirs  {show_search_path=TRUE; execute_flag=FALSE;}  ALL NONE  ""
-print-search-dirs  {show_search_path=TRUE; execute_flag=FALSE;}  ALL NONE  ""
  "Print the installation directory and directories the compiler will search"
  "Print the installation directory and directories the compiler will search"
-fvar-tracking          ;       ALL             cfe     self
-fvar-tracking          ;       ALL             cfe     self
        "Run variable tracking pass, for options compatibility only, ignored by Open64"
        "Run variable tracking pass, for options compatibility only, ignored by Open64"
-fpreprocessed    ; Cc,as,CPP CPP,cfe self
-fpreprocessed    ; Cc,as,CPP CPP,cfe self
  "Tell preprocessor that input has already been preprocessed"
  "Tell preprocessor that input has already been preprocessed"
-fno-preprocessed   ; Cc,as,CPP CPP,cfe self
-fno-preprocessed   ; Cc,as,CPP CPP,cfe self
  "Tell preprocessor that input has not already been preprocessed"
  "Tell preprocessor that input has not already been preprocessed"
%%% gcc long option aliases
%%% gcc long option aliases
--all-warnings  ; ALL NONE  "-Wall"
--all-warnings  ; ALL NONE  "-Wall"
  ""
  ""
--ansi    ; ALL NONE  "-ansi"
--ansi    ; ALL NONE  "-ansi"
  ""
  ""
--assemble  ; ALL NONE  "-S"
--assemble  ; ALL NONE  "-S"
  ""
  ""
--assert%s  ; ALL NONE  "-A%s"
--assert%s  ; ALL NONE  "-A%s"
  ""
  ""
--comments  ; ALL NONE  "-C"
--comments  ; ALL NONE  "-C"
  ""
  ""
--compile ; ALL NONE  "-c"
--compile ; ALL NONE  "-c"
  ""
  ""
--debug   ; ALL NONE  "-g"
--debug   ; ALL NONE  "-g"
  ""
  ""
% --debug%d ; ALL NONE  "-g%d"
% --debug%d ; ALL NONE  "-g%d"
--define-macro%s  ; ALL NONE  "-D%s"
--define-macro%s  ; ALL NONE  "-D%s"
  ""
  ""
--dependencies  ; ALL NONE  "-M"
--dependencies  ; ALL NONE  "-M"
  ""
  ""
--dumpversion ; ALL NONE "-dumpversion"
--dumpversion ; ALL NONE "-dumpversion"
  ""
  ""
--extra-warnings  ; ALL NONE  "-W"
--extra-warnings  ; ALL NONE  "-W"
  ""
  ""
--force-link%s  ; ALL NONE  "-u %s"
--force-link%s  ; ALL NONE  "-u %s"
  ""
  ""
--imacros%s ; ALL NONE  "-imacros %s"
--imacros%s ; ALL NONE  "-imacros %s"
  ""
  ""
--include%s ; ALL NONE  "-include %s"
--include%s ; ALL NONE  "-include %s"
  ""
  ""
--include-barrier ; ALL NONE  "-I-"
--include-barrier ; ALL NONE  "-I-"
  ""
  ""
--include-directory%D ; ALL NONE  "-I%D"
--include-directory%D ; ALL NONE  "-I%D"
  ""
  ""
--include-directory-after%D ; ALL NONE  "-idirafter %D"
--include-directory-after%D ; ALL NONE  "-idirafter %D"
  ""
  ""
--include-prefix%s  ; ALL NONE  "-iprefix %s"
--include-prefix%s  ; ALL NONE  "-iprefix %s"
  ""
  ""
--include-with-prefix%D ; ALL NONE  "-iwithprefix %D"
--include-with-prefix%D ; ALL NONE  "-iwithprefix %D"
  ""
  ""
--include-with-prefix-before%D  ; ALL NONE  "-iwithprefixbefore %D"
--include-with-prefix-before%D  ; ALL NONE  "-iwithprefixbefore %D"
  ""
  ""
--library-directory%D ; ALL NONE  "-L%D"
--library-directory%D ; ALL NONE  "-L%D"
  ""
  ""
--no-line-commands  ; ALL NONE  "-P"
--no-line-commands  ; ALL NONE  "-P"
  ""
  ""
--no-standard-includes  ; ALL NONE  "-nostdinc"
--no-standard-includes  ; ALL NONE  "-nostdinc"
  ""
  ""
--no-standard-libraries ; ALL NONE  "-nostdlib"
--no-standard-libraries ; ALL NONE  "-nostdlib"
  ""
  ""
--no-warnings ; ALL NONE  "-w"
--no-warnings ; ALL NONE  "-w"
  ""
  ""
--optimize  ; ALL NONE  "-O"
--optimize  ; ALL NONE  "-O"
  ""
  ""
--output%s  ; ALL NONE  "-o %s"
--output%s  ; ALL NONE  "-o %s"
  ""
  ""
--pedantic  ; ALL NONE  "-pedantic"
--pedantic  ; ALL NONE  "-pedantic"
  ""
  ""
--pedantic-errors ; ALL NONE  "-pedantic-errors"
--pedantic-errors ; ALL NONE  "-pedantic-errors"
  ""
  ""
--pipe  ; ALL NONE  "-pipe"
--pipe  ; ALL NONE  "-pipe"
  ""
  ""
--preprocess  ; ALL NONE  "-E"
--preprocess  ; ALL NONE  "-E"
  ""
  ""
% need to handle either <space>name or =name
% need to handle either <space>name or =name
--print-file-name%s ; ALL NONE  "-print-file-name=%s"
--print-file-name%s ; ALL NONE  "-print-file-name=%s"
  ""
  ""
--print-file-name=%s  ; ALL NONE  "-print-file-name=%s"
--print-file-name=%s  ; ALL NONE  "-print-file-name=%s"
  ""
  ""
--print-libgcc-file-name  ; ALL NONE  "-print-file-name=libgcc.a"
--print-libgcc-file-name  ; ALL NONE  "-print-file-name=libgcc.a"
  ""
  ""
--print-search-dirs ; ALL NONE  "-print-search-dirs"
--print-search-dirs ; ALL NONE  "-print-search-dirs"
  ""
  ""
--print-missing-file-dependencies ; ALL NONE  "-MG"
--print-missing-file-dependencies ; ALL NONE  "-MG"
  ""
  ""
--print-multi-lib ; ALL NONE  "-print-multi-lib"
--print-multi-lib ; ALL NONE  "-print-multi-lib"
  ""
  ""
--print-prog-name%s ; ALL NONE  "-print-prog-name=%s"
--print-prog-name%s ; ALL NONE  "-print-prog-name=%s"
  ""
  ""
--print-prog-name=%s  ; ALL NONE  "-print-prog-name=%s"
--print-prog-name=%s  ; ALL NONE  "-print-prog-name=%s"
  ""
  ""
--profile ; ALL NONE  "-p"
--profile ; ALL NONE  "-p"
  ""
  ""
--save-temps  ; ALL NONE  "-save-temps"
--save-temps  ; ALL NONE  "-save-temps"
  ""
  ""
--shared  ; ALL NONE  "-shared"
--shared  ; ALL NONE  "-shared"
  ""
  ""
--specs%s ; ALL NONE  "-specs=%s"
--specs%s ; ALL NONE  "-specs=%s"
  ""
  ""
--specs=%s  ; ALL NONE  "-specs=%s"
--specs=%s  ; ALL NONE  "-specs=%s"
  ""
  ""
--static  ; LINK  ld  self
--static  ; LINK  ld  self
  ""
  ""
--symbolic  ; ALL NONE  "-symbolic"
--symbolic  ; ALL NONE  "-symbolic"
  ""
  ""
--target%s  ; ALL NONE  "-b%s"
--target%s  ; ALL NONE  "-b%s"
  ""
  ""
--trace-includes  ; ALL NONE  "-H"
--trace-includes  ; ALL NONE  "-H"
  ""
  ""
--traditional ; ALL NONE  "-traditional"
--traditional ; ALL NONE  "-traditional"
  ""
  ""
--traditional-cpp ; ALL NONE  "-traditional-cpp"
--traditional-cpp ; ALL NONE  "-traditional-cpp"
  ""
  ""
--trigraphs ; ALL NONE  "-trigraphs"
--trigraphs ; ALL NONE  "-trigraphs"
  ""
  ""
--undefine-macro%s  ; ALL NONE  "-U%s"
--undefine-macro%s  ; ALL NONE  "-U%s"
  ""
  ""
--user-dependencies ; ALL NONE  "-MM"
--user-dependencies ; ALL NONE  "-MM"
  ""
  ""
--verbose ; ALL NONE  "-v"
--verbose ; ALL NONE  "-v"
  ""
  ""
--version ; ALL NONE  "-version"
--version ; ALL NONE  "-version"
  ""
  ""
--write-dependencies  ; ALL NONE  "-MD"
--write-dependencies  ; ALL NONE  "-MD"
  ""
  ""
--write-user-dependencies ; ALL NONE  "-MMD"
--write-user-dependencies ; ALL NONE  "-MMD"
  ""
  ""
#ifndef NO_LICENSE /* licensing not used */
#ifndef NO_LICENSE /* licensing not used */
-subverbose subverbose=1; ALL   NONE  "-subverbose"
-subverbose subverbose=1; ALL   NONE  "-subverbose"
  "Print diagnostic information about subscription management"
  "Print diagnostic information about subscription management"
#endif
#endif
-pthread  ; ALL NONE  ""
-pthread  ; ALL NONE  ""
  "Compile with pthreads support"
  "Compile with pthreads support"
% gcc compatibility flags
% gcc compatibility flags
-compat-gcc toggle(&compat_gcc,TRUE); ALL NONE  ""
-compat-gcc toggle(&compat_gcc,TRUE); ALL NONE  ""
  ""
  ""
-Wabi   warn_ignored(option_name);  ALL cfe self  ""
-Wabi   warn_ignored(option_name);  ALL cfe self  ""
  ""
  ""
-###    {show_version++; show_but_not_run = TRUE;}  ALL NONE  "-###"
-###    {show_version++; show_but_not_run = TRUE;}  ALL NONE  "-###"
  "Like -v, only nothing is run and args are quoted"
  "Like -v, only nothing is run and args are quoted"
-rdynamic     ;   LINK  ld  "-Wl,--export-dynamic"
-rdynamic     ;   LINK  ld  "-Wl,--export-dynamic"
  ""
  ""
-Bsymbolic      ;       LINK     ld        self
-Bsymbolic      ;       LINK     ld        self
        "Let the linker to resolve as many symbols as possible at link time"
        "Let the linker to resolve as many symbols as possible at link time"
% KEY The driver ignores options by changing them into -dummy, which does
% KEY The driver ignores options by changing them into -dummy, which does
% nothing.
% nothing.
-dummy  ;   ALL NONE  ""
-dummy  ;   ALL NONE  ""
  ""
  ""
#ifdef TARG_NVISA
#ifdef TARG_NVISA
-multicore  ; Cc  NONE  "-PHASE:clist -CLIST:=ON"
-multicore  ; Cc  NONE  "-PHASE:clist -CLIST:=ON"
  ""
  ""
-comic  ;   Cc  NONE  "-multicore -PHASE:clist -CLIST:=ON"
-comic  ;   Cc  NONE  "-multicore -PHASE:clist -CLIST:=ON"
  ""
  ""
#endif
#endif