Home | History | Annotate | Download | only in include
      1 /* This file is auto-generated by opth-gen.awk.  */
      2 
      3 #ifndef OPTIONS_H
      4 #define OPTIONS_H
      5 
      6 extern int target_flags;
      7 extern int target_flags_explicit;
      8 
      9 extern int warn_abi;
     10 extern int warn_address;
     11 extern int warn_aggregate_return;
     12 extern int warn_array_bounds;
     13 extern int warn_assign_intercept;
     14 extern int warn_attributes;
     15 extern int warn_bad_function_cast;
     16 extern int warn_cxx_compat;
     17 extern int warn_cxx0x_compat;
     18 extern int warn_cast_align;
     19 extern int warn_cast_qual;
     20 extern int warn_char_subscripts;
     21 extern int warn_clobbered;
     22 extern int warn_conversion;
     23 extern int warn_coverage_mismatch;
     24 extern int warn_ctor_dtor_privacy;
     25 extern int warn_declaration_after_statement;
     26 extern int warn_deprecated;
     27 extern int warn_deprecated_decl;
     28 extern int warn_disabled_optimization;
     29 extern int warn_div_by_zero;
     30 extern int warn_ecpp;
     31 extern int warn_empty_body;
     32 extern int warn_enum_compare;
     33 extern int warnings_are_errors;
     34 extern int flag_extraneous_semicolon;
     35 extern int flag_fatal_errors;
     36 extern int warn_float_equal;
     37 extern int warn_format_contains_nul;
     38 extern int warn_format_extra_args;
     39 extern int warn_format_nonliteral;
     40 extern int warn_format_security;
     41 extern int warn_format_y2k;
     42 extern int warn_format_zero_length;
     43 extern int warn_icf;
     44 extern int warn_ignored_qualifiers;
     45 extern int warn_implicit_function_declaration;
     46 extern int warn_implicit_int;
     47 extern int warn_init_self;
     48 extern int warn_inline;
     49 extern int warn_int_to_pointer_cast;
     50 extern int warn_invalid_offsetof;
     51 extern int warn_logical_op;
     52 extern int warn_long_long;
     53 extern int warn_main;
     54 extern int warn_missing_braces;
     55 extern int warn_missing_declarations;
     56 extern int warn_missing_field_initializers;
     57 extern int warn_missing_format_attribute;
     58 extern int warn_missing_noreturn;
     59 extern int warn_missing_parameter_type;
     60 extern int warn_missing_prototypes;
     61 extern int warn_mudflap;
     62 extern int warn_nested_externs;
     63 extern int warn_nontemplate_friend;
     64 extern int warn_nonvdtor;
     65 extern int warn_nonnull;
     66 extern int warn_old_style_cast;
     67 extern int warn_old_style_declaration;
     68 extern int warn_old_style_definition;
     69 extern int flag_newer;
     70 extern int warn_overflow;
     71 extern int warn_overlength_strings;
     72 extern int warn_overloaded_virtual;
     73 extern int warn_override_init;
     74 extern int warn_packed;
     75 extern int warn_packed_bitfield_compat;
     76 extern int warn_padded;
     77 extern int warn_parentheses;
     78 extern int warn_pmf2ptr;
     79 extern int warn_pointer_arith;
     80 extern int warn_pointer_sign;
     81 extern int warn_pointer_to_int_cast;
     82 extern int warn_pragmas;
     83 extern int warn_protocol;
     84 extern int warn_psabi;
     85 extern int warn_redundant_decls;
     86 extern int flag_redundant;
     87 extern int warn_reorder;
     88 extern int warn_return_type;
     89 extern int warn_ripa_opt_mismatch;
     90 extern int warn_selector;
     91 extern int warn_sequence_point;
     92 extern int warn_shadow;
     93 extern int warn_sign_compare;
     94 extern int warn_sign_conversion;
     95 extern int warn_sign_promo;
     96 extern int warn_stack_protect;
     97 extern int warn_strict_aliasing;
     98 extern int warn_strict_overflow;
     99 extern int warn_strict_prototypes;
    100 extern int warn_strict_selector_match;
    101 extern int warn_switch;
    102 extern int warn_switch_default;
    103 extern int warn_switch_enum;
    104 extern int warn_sync_nand;
    105 extern int warn_synth;
    106 extern int warn_system_headers;
    107 extern int warn_thread_mismatched_lock_acq_rel;
    108 extern int warn_thread_mismatched_lock_order;
    109 extern int warn_thread_reentrant_lock;
    110 extern int warn_thread_safety;
    111 extern int warn_thread_unguarded_func;
    112 extern int warn_thread_unguarded_var;
    113 extern int warn_unsupported_lock_name;
    114 extern int warn_traditional;
    115 extern int warn_traditional_conversion;
    116 extern int warn_type_limits;
    117 extern int warn_undeclared_selector;
    118 extern int warn_uninitialized;
    119 extern int warn_notreached;
    120 extern int warn_unsafe_loop_optimizations;
    121 extern int warn_unused;
    122 extern int warn_unused_function;
    123 extern int warn_unused_label;
    124 extern int warn_unused_parameter;
    125 extern int warn_unused_value;
    126 extern int warn_unused_variable;
    127 extern int warn_vla;
    128 extern int warn_volatile_register_var;
    129 extern int warn_write_strings;
    130 extern int flag_pic;
    131 extern int flag_pie;
    132 extern int flag_abi_version;
    133 extern int align_functions;
    134 extern int align_jumps;
    135 extern int align_labels;
    136 extern int align_loops;
    137 extern int flag_argument_noalias;
    138 extern int flag_assert;
    139 extern int flag_associative_math;
    140 extern int flag_asynchronous_unwind_tables;
    141 extern int flag_auto_inc_dec;
    142 extern int flag_bootstrap_classes;
    143 extern int flag_bounds_check;
    144 extern int flag_branch_on_count_reg;
    145 extern int flag_branch_probabilities;
    146 extern int flag_branch_target_load_optimize;
    147 extern int flag_branch_target_load_optimize2;
    148 extern int flag_btr_bb_exclusive;
    149 extern int flag_caller_saves;
    150 extern int flag_check_data_deps;
    151 extern int flag_check_references;
    152 extern int flag_no_common;
    153 extern int flag_conserve_stack;
    154 extern int flag_cprop_registers;
    155 extern int flag_crossjumping;
    156 extern int flag_cse_follow_jumps;
    157 extern int flag_cse_skip_blocks;
    158 extern int flag_cx_fortran_rules;
    159 extern int flag_cx_limited_range;
    160 extern int flag_data_sections;
    161 extern int flag_dce;
    162 extern int flag_defer_pop;
    163 extern int flag_delayed_branch;
    164 extern int flag_delete_null_pointer_checks;
    165 extern int flag_enable_dom_check;
    166 extern int flag_dse;
    167 extern int flag_dump_noaddr;
    168 extern int flag_dump_unnumbered;
    169 extern int flag_dwarf2_cfi_asm;
    170 extern int flag_early_inlining;
    171 extern int flag_eliminate_dwarf2_dups;
    172 extern int flag_debug_only_used_symbols;
    173 extern int flag_eliminate_unused_debug_types;
    174 extern int flag_emit_class_debug_always;
    175 extern int flag_emit_class_files;
    176 extern int flag_enable_icf_debug;
    177 extern int flag_exceptions;
    178 extern int flag_expensive_optimizations;
    179 extern int flag_filelist_file;
    180 extern int flag_finite_math_only;
    181 extern int flag_float_store;
    182 extern int flag_force_classes_archive_check;
    183 extern int flag_forward_propagate;
    184 extern int flag_friend_injection;
    185 extern int flag_no_function_cse;
    186 extern int flag_function_sections;
    187 extern int flag_gcse;
    188 extern int flag_gcse_after_reload;
    189 extern int flag_gcse_las;
    190 extern int flag_gcse_lm;
    191 extern int flag_gcse_sm;
    192 extern int flag_gnu89_inline;
    193 extern int flag_graphite;
    194 extern int flag_graphite_identity;
    195 extern int flag_guess_branch_prob;
    196 extern int flag_hash_synchronization;
    197 extern int help_flag;
    198 extern int flag_no_ident;
    199 extern int flag_if_conversion;
    200 extern int flag_if_conversion2;
    201 extern int flag_indirect_classes;
    202 extern int flag_indirect_dispatch;
    203 extern int flag_indirect_inlining;
    204 extern int flag_inhibit_size_directive;
    205 extern int flag_no_inline;
    206 extern int flag_inline_functions;
    207 extern int flag_inline_functions_called_once;
    208 extern int flag_inline_small_functions;
    209 extern int flag_instrument_function_entry_exit;
    210 extern int flag_ipa_cp;
    211 extern int flag_ipa_cp_clone;
    212 extern int flag_ipa_matrix_reorg;
    213 extern int flag_ipa_pta;
    214 extern int flag_ipa_pure_const;
    215 extern int flag_ipa_reference;
    216 extern int flag_ipa_struct_reorg;
    217 extern int flag_ipa_type_escape;
    218 extern int flag_ira_coalesce;
    219 extern int flag_ira_share_save_slots;
    220 extern int flag_ira_share_spill_slots;
    221 extern int flag_ivopts;
    222 extern int flag_jni;
    223 extern int flag_jump_tables;
    224 extern int flag_keep_inline_functions;
    225 extern int flag_keep_static_consts;
    226 extern int flag_leading_underscore;
    227 extern int flag_limit_hot_components;
    228 extern int flag_loop_block;
    229 extern int flag_loop_interchange;
    230 extern int flag_loop_strip_mine;
    231 extern int flag_errno_math;
    232 extern int mem_report;
    233 extern int flag_merge_constants;
    234 extern int flag_merge_debug_strings;
    235 extern int flag_modulo_sched;
    236 extern int flag_modulo_sched_allow_regmoves;
    237 extern int flag_move_loop_invariants;
    238 extern int flag_mudflap;
    239 extern int flag_mudflap_ignore_reads;
    240 extern int flag_non_call_exceptions;
    241 extern int flag_objc_call_cxx_cdtors;
    242 extern int flag_objc_direct_dispatch;
    243 extern int flag_objc_exceptions;
    244 extern int flag_objc_gc;
    245 extern int flag_objc_sjlj_exceptions;
    246 extern int flag_omit_frame_pointer;
    247 extern int flag_openmp;
    248 extern int flag_regmove;
    249 extern int flag_optimize_sibling_calls;
    250 extern int flag_optimize_sci;
    251 extern int flag_pack_struct;
    252 extern int flag_pcc_struct_return;
    253 extern int flag_peel_loops;
    254 extern int flag_no_peephole;
    255 extern int flag_peephole2;
    256 extern int flag_pessimistic_inline_stack_limit;
    257 extern int post_ipa_mem_report;
    258 extern int pre_ipa_mem_report;
    259 extern int flag_predictive_commoning;
    260 extern int flag_prefetch_loop_arrays;
    261 extern int profile_flag;
    262 extern int profile_arc_flag;
    263 extern int flag_profile_correction;
    264 extern int flag_profile_dump;
    265 extern int flag_profile_use;
    266 extern int flag_profile_values;
    267 extern int flag_reciprocal_math;
    268 extern int flag_record_gcc_switches;
    269 extern int flag_reduced_reflection;
    270 extern int flag_rename_registers;
    271 extern int flag_reorder_blocks;
    272 extern int flag_reorder_blocks_and_partition;
    273 extern int flag_reorder_functions;
    274 extern int flag_rerun_cse_after_loop;
    275 extern int flag_resched_modulo_sched;
    276 extern int flag_dyn_ipa;
    277 extern int flag_ripa_disallow_opt_mismatch;
    278 extern int flag_ripa_verbose;
    279 extern int flag_rounding_math;
    280 extern int flag_sample_profile;
    281 extern int flag_schedule_interblock;
    282 extern int flag_schedule_speculative;
    283 extern int flag_schedule_speculative_load;
    284 extern int flag_schedule_speculative_load_dangerous;
    285 extern int flag_sched_stalled_insns;
    286 extern int flag_sched_stalled_insns_dep;
    287 extern int flag_sched2_use_superblocks;
    288 extern int flag_sched2_use_traces;
    289 extern int flag_schedule_insns;
    290 extern int flag_schedule_insns_after_reload;
    291 extern int flag_section_anchors;
    292 extern int flag_see;
    293 extern int flag_sel_sched_pipelining;
    294 extern int flag_sel_sched_pipelining_outer_loops;
    295 extern int flag_sel_sched_reschedule_pipelined;
    296 extern int flag_selective_scheduling;
    297 extern int flag_selective_scheduling2;
    298 extern int flag_show_column;
    299 extern int flag_signaling_nans;
    300 extern int flag_signed_zeros;
    301 extern int flag_single_precision_constant;
    302 extern int flag_split_ivs_in_unroller;
    303 extern int flag_split_wide_types;
    304 extern int flag_stack_protect;
    305 extern int flag_store_check;
    306 extern int flag_strict_aliasing;
    307 extern int flag_strict_enum_precision;
    308 extern int flag_strict_overflow;
    309 extern int flag_syntax_only;
    310 extern int flag_test_coverage;
    311 extern int flag_thread_jumps;
    312 extern int time_report;
    313 extern int flag_toplevel_reorder;
    314 extern int flag_tracer;
    315 extern int flag_trapping_math;
    316 extern int flag_trapv;
    317 extern int flag_tree_builtin_call_dce;
    318 extern int flag_tree_ccp;
    319 extern int flag_tree_ch;
    320 extern int flag_tree_copy_prop;
    321 extern int flag_tree_copyrename;
    322 extern int flag_tree_cselim;
    323 extern int flag_tree_dce;
    324 extern int flag_tree_dom;
    325 extern int flag_tree_dse;
    326 extern int flag_tree_fre;
    327 extern int flag_tree_loop_distribution;
    328 extern int flag_tree_loop_im;
    329 extern int flag_tree_loop_ivcanon;
    330 extern int flag_tree_loop_linear;
    331 extern int flag_tree_loop_optimize;
    332 extern int flag_tree_lr_shrinking;
    333 extern int flag_tree_live_range_split;
    334 extern int flag_tree_parallelize_loops;
    335 extern int flag_tree_pre;
    336 extern int flag_tree_reassoc;
    337 extern int flag_tree_scev_cprop;
    338 extern int flag_tree_sink;
    339 extern int flag_tree_sra;
    340 extern int flag_tree_switch_conversion;
    341 extern int flag_tree_ter;
    342 extern int flag_tree_vect_loop_version;
    343 extern int flag_tree_vectorize;
    344 extern int flag_tree_vrp;
    345 extern int flag_unit_at_a_time;
    346 extern int flag_unroll_all_loops;
    347 extern int flag_unroll_loops;
    348 extern int flag_unsafe_loop_optimizations;
    349 extern int flag_unsafe_math_optimizations;
    350 extern int flag_unswitch_loops;
    351 extern int flag_unwind_tables;
    352 extern int flag_use_boehm_gc;
    353 extern int flag_use_divide_subroutine;
    354 extern int flag_var_tracking;
    355 extern int flag_var_tracking_uninit;
    356 extern int flag_variable_expansion_in_unroller;
    357 extern int flag_vect_cost_model;
    358 extern int flag_verbose_asm;
    359 extern int flag_visibility_ms_compat;
    360 extern int flag_value_profile_transformations;
    361 extern int flag_web;
    362 extern int flag_whole_program;
    363 extern int flag_wrapv;
    364 extern int flag_zee;
    365 extern int flag_zero_initialized_in_bss;
    366 extern const char *target_abi_name;
    367 extern int fix_cm3_ldrd;
    368 extern const char *target_float_abi_name;
    369 extern const char *target_fpe_name;
    370 extern const char *target_fpu_name;
    371 extern const char *arm_pic_register_string;
    372 extern const char *structure_size_string;
    373 extern const char *target_thread_switch;
    374 extern int target_word_relocations;
    375 extern int pedantic;
    376 extern int quiet_flag;
    377 extern int version_flag;
    378 extern int inhibit_warnings;
    379 
    380 #if !defined(GCC_DRIVER) && !defined(IN_LIBGCC2) && !defined(IN_TARGET_LIBS)
    381 
    382 /* Structure to save/restore optimization and target specific options.  */
    383 struct cl_optimization GTY(())
    384 {
    385   int align_functions;
    386   int align_jumps;
    387   int align_labels;
    388   int align_loops;
    389   int flag_sched_stalled_insns;
    390   int flag_sched_stalled_insns_dep;
    391   unsigned char optimize;
    392   unsigned char optimize_size;
    393   unsigned char flag_argument_noalias;
    394   unsigned char flag_asynchronous_unwind_tables;
    395   unsigned char flag_branch_on_count_reg;
    396   unsigned char flag_branch_probabilities;
    397   unsigned char flag_branch_target_load_optimize;
    398   unsigned char flag_branch_target_load_optimize2;
    399   unsigned char flag_btr_bb_exclusive;
    400   unsigned char flag_caller_saves;
    401   unsigned char flag_no_common;
    402   unsigned char flag_conserve_stack;
    403   unsigned char flag_cprop_registers;
    404   unsigned char flag_crossjumping;
    405   unsigned char flag_cse_follow_jumps;
    406   unsigned char flag_cse_skip_blocks;
    407   unsigned char flag_cx_fortran_rules;
    408   unsigned char flag_cx_limited_range;
    409   unsigned char flag_data_sections;
    410   unsigned char flag_dce;
    411   unsigned char flag_defer_pop;
    412   unsigned char flag_delayed_branch;
    413   unsigned char flag_delete_null_pointer_checks;
    414   unsigned char flag_enable_dom_check;
    415   unsigned char flag_dse;
    416   unsigned char flag_early_inlining;
    417   unsigned char flag_exceptions;
    418   unsigned char flag_expensive_optimizations;
    419   unsigned char flag_finite_math_only;
    420   unsigned char flag_float_store;
    421   unsigned char flag_forward_propagate;
    422   unsigned char flag_gcse;
    423   unsigned char flag_gcse_after_reload;
    424   unsigned char flag_gcse_las;
    425   unsigned char flag_gcse_lm;
    426   unsigned char flag_gcse_sm;
    427   unsigned char flag_graphite_identity;
    428   unsigned char flag_guess_branch_prob;
    429   unsigned char flag_if_conversion;
    430   unsigned char flag_if_conversion2;
    431   unsigned char flag_inline_functions;
    432   unsigned char flag_inline_functions_called_once;
    433   unsigned char flag_inline_small_functions;
    434   unsigned char flag_ipa_cp;
    435   unsigned char flag_ipa_cp_clone;
    436   unsigned char flag_ipa_matrix_reorg;
    437   unsigned char flag_ipa_pta;
    438   unsigned char flag_ipa_pure_const;
    439   unsigned char flag_ipa_reference;
    440   unsigned char flag_ipa_type_escape;
    441   unsigned char flag_ivopts;
    442   unsigned char flag_jump_tables;
    443   unsigned char flag_limit_hot_components;
    444   unsigned char flag_loop_block;
    445   unsigned char flag_loop_interchange;
    446   unsigned char flag_loop_strip_mine;
    447   unsigned char flag_errno_math;
    448   unsigned char flag_merge_constants;
    449   unsigned char flag_modulo_sched;
    450   unsigned char flag_move_loop_invariants;
    451   unsigned char flag_non_call_exceptions;
    452   unsigned char flag_omit_frame_pointer;
    453   unsigned char flag_regmove;
    454   unsigned char flag_optimize_sibling_calls;
    455   unsigned char flag_pack_struct;
    456   unsigned char flag_peel_loops;
    457   unsigned char flag_no_peephole;
    458   unsigned char flag_peephole2;
    459   unsigned char flag_pessimistic_inline_stack_limit;
    460   unsigned char flag_predictive_commoning;
    461   unsigned char flag_prefetch_loop_arrays;
    462   unsigned char flag_profile_dump;
    463   unsigned char flag_pcc_struct_return;
    464   unsigned char flag_rename_registers;
    465   unsigned char flag_reorder_blocks;
    466   unsigned char flag_reorder_blocks_and_partition;
    467   unsigned char flag_reorder_functions;
    468   unsigned char flag_rerun_cse_after_loop;
    469   unsigned char flag_resched_modulo_sched;
    470   unsigned char flag_rounding_math;
    471   unsigned char flag_sample_profile;
    472   unsigned char flag_schedule_interblock;
    473   unsigned char flag_schedule_speculative;
    474   unsigned char flag_schedule_speculative_load;
    475   unsigned char flag_schedule_speculative_load_dangerous;
    476   unsigned char flag_sched2_use_superblocks;
    477   unsigned char flag_sched2_use_traces;
    478   unsigned char flag_schedule_insns;
    479   unsigned char flag_schedule_insns_after_reload;
    480   unsigned char flag_section_anchors;
    481   unsigned char flag_sel_sched_pipelining;
    482   unsigned char flag_sel_sched_pipelining_outer_loops;
    483   unsigned char flag_sel_sched_reschedule_pipelined;
    484   unsigned char flag_selective_scheduling;
    485   unsigned char flag_selective_scheduling2;
    486   unsigned char flag_signaling_nans;
    487   unsigned char flag_signed_zeros;
    488   unsigned char flag_single_precision_constant;
    489   unsigned char flag_split_ivs_in_unroller;
    490   unsigned char flag_split_wide_types;
    491   unsigned char flag_strict_aliasing;
    492   unsigned char flag_strict_enum_precision;
    493   unsigned char flag_thread_jumps;
    494   unsigned char flag_toplevel_reorder;
    495   unsigned char flag_trapping_math;
    496   unsigned char flag_trapv;
    497   unsigned char flag_tree_builtin_call_dce;
    498   unsigned char flag_tree_ccp;
    499   unsigned char flag_tree_ch;
    500   unsigned char flag_tree_copy_prop;
    501   unsigned char flag_tree_copyrename;
    502   unsigned char flag_tree_cselim;
    503   unsigned char flag_tree_dce;
    504   unsigned char flag_tree_dom;
    505   unsigned char flag_tree_dse;
    506   unsigned char flag_tree_fre;
    507   unsigned char flag_tree_loop_distribution;
    508   unsigned char flag_tree_loop_im;
    509   unsigned char flag_tree_loop_ivcanon;
    510   unsigned char flag_tree_loop_linear;
    511   unsigned char flag_tree_loop_optimize;
    512   unsigned char flag_tree_lr_shrinking;
    513   unsigned char flag_tree_live_range_split;
    514   unsigned char flag_tree_pre;
    515   unsigned char flag_tree_reassoc;
    516   unsigned char flag_tree_scev_cprop;
    517   unsigned char flag_tree_sink;
    518   unsigned char flag_tree_sra;
    519   unsigned char flag_tree_switch_conversion;
    520   unsigned char flag_tree_ter;
    521   unsigned char flag_tree_vect_loop_version;
    522   unsigned char flag_tree_vectorize;
    523   unsigned char flag_tree_vrp;
    524   unsigned char flag_unit_at_a_time;
    525   unsigned char flag_unroll_all_loops;
    526   unsigned char flag_unroll_loops;
    527   unsigned char flag_unsafe_loop_optimizations;
    528   unsigned char flag_unsafe_math_optimizations;
    529   unsigned char flag_unswitch_loops;
    530   unsigned char flag_unwind_tables;
    531   unsigned char flag_var_tracking;
    532   unsigned char flag_var_tracking_uninit;
    533   unsigned char flag_variable_expansion_in_unroller;
    534   unsigned char flag_vect_cost_model;
    535   unsigned char flag_value_profile_transformations;
    536   unsigned char flag_web;
    537   unsigned char flag_whole_program;
    538   unsigned char flag_wrapv;
    539 };
    540 
    541 /* Structure to save/restore selected target specific options.  */
    542 struct cl_target_option GTY(())
    543 {
    544   int target_flags;
    545 };
    546 
    547 
    548 /* Save optimization variables into a structure.  */
    549 extern void cl_optimization_save (struct cl_optimization *);
    550 
    551 /* Restore optimization variables from a structure.  */
    552 extern void cl_optimization_restore (struct cl_optimization *);
    553 
    554 /* Print optimization variables from a structure.  */
    555 extern void cl_optimization_print (FILE *, int, struct cl_optimization *);
    556 
    557 /* Save selected option variables into a structure.  */
    558 extern void cl_target_option_save (struct cl_target_option *);
    559 
    560 /* Restore selected option variables from a structure.  */
    561 extern void cl_target_option_restore (struct cl_target_option *);
    562 
    563 /* Print target option variables from a structure.  */
    564 extern void cl_target_option_print (FILE *, int, struct cl_target_option *);
    565 #endif
    566 
    567 #define MASK_ABORT_NORETURN (1 << 0)
    568 #define MASK_ANDROID (1 << 1)
    569 #define MASK_APCS_FLOAT (1 << 2)
    570 #define MASK_APCS_FRAME (1 << 3)
    571 #define MASK_APCS_REENT (1 << 4)
    572 #define MASK_APCS_STACK (1 << 5)
    573 #define MASK_BIG_END (1 << 6)
    574 #define MASK_CALLEE_INTERWORKING (1 << 7)
    575 #define MASK_CALLER_INTERWORKING (1 << 8)
    576 #define MASK_CIRRUS_FIX_INVALID_INSNS (1 << 9)
    577 #define MASK_FPE (1 << 10)
    578 #define MASK_LONG_CALLS (1 << 11)
    579 #define MASK_POKE_FUNCTION_NAME (1 << 12)
    580 #define MASK_SCHED_PROLOG (1 << 13)
    581 #define MASK_SINGLE_PIC_BASE (1 << 14)
    582 #define MASK_THUMB (1 << 15)
    583 #define MASK_INTERWORK (1 << 16)
    584 #define MASK_TPCS_FRAME (1 << 17)
    585 #define MASK_TPCS_LEAF_FRAME (1 << 18)
    586 #define MASK_NEON_VECTORIZE_QUAD (1 << 19)
    587 #define MASK_LITTLE_WORDS (1 << 20)
    588 
    589 #define TARGET_ABORT_NORETURN ((target_flags & MASK_ABORT_NORETURN) != 0)
    590 #define TARGET_ANDROID ((target_flags & MASK_ANDROID) != 0)
    591 #define TARGET_APCS_FLOAT ((target_flags & MASK_APCS_FLOAT) != 0)
    592 #define TARGET_APCS_FRAME ((target_flags & MASK_APCS_FRAME) != 0)
    593 #define TARGET_APCS_REENT ((target_flags & MASK_APCS_REENT) != 0)
    594 #define TARGET_APCS_STACK ((target_flags & MASK_APCS_STACK) != 0)
    595 #define TARGET_BIG_END ((target_flags & MASK_BIG_END) != 0)
    596 #define TARGET_CALLEE_INTERWORKING ((target_flags & MASK_CALLEE_INTERWORKING) != 0)
    597 #define TARGET_CALLER_INTERWORKING ((target_flags & MASK_CALLER_INTERWORKING) != 0)
    598 #define TARGET_CIRRUS_FIX_INVALID_INSNS ((target_flags & MASK_CIRRUS_FIX_INVALID_INSNS) != 0)
    599 #define TARGET_FPE ((target_flags & MASK_FPE) != 0)
    600 #define TARGET_LONG_CALLS ((target_flags & MASK_LONG_CALLS) != 0)
    601 #define TARGET_POKE_FUNCTION_NAME ((target_flags & MASK_POKE_FUNCTION_NAME) != 0)
    602 #define TARGET_SCHED_PROLOG ((target_flags & MASK_SCHED_PROLOG) != 0)
    603 #define TARGET_SINGLE_PIC_BASE ((target_flags & MASK_SINGLE_PIC_BASE) != 0)
    604 #define TARGET_THUMB ((target_flags & MASK_THUMB) != 0)
    605 #define TARGET_INTERWORK ((target_flags & MASK_INTERWORK) != 0)
    606 #define TARGET_TPCS_FRAME ((target_flags & MASK_TPCS_FRAME) != 0)
    607 #define TARGET_TPCS_LEAF_FRAME ((target_flags & MASK_TPCS_LEAF_FRAME) != 0)
    608 #define TARGET_NEON_VECTORIZE_QUAD ((target_flags & MASK_NEON_VECTORIZE_QUAD) != 0)
    609 #define TARGET_LITTLE_WORDS ((target_flags & MASK_LITTLE_WORDS) != 0)
    610 
    611 
    612 #define CL_Ada        (1 << 0)
    613 #define CL_C          (1 << 1)
    614 #define CL_CXX        (1 << 2)
    615 #define CL_Fortran    (1 << 3)
    616 #define CL_Java       (1 << 4)
    617 #define CL_ObjC       (1 << 5)
    618 #define CL_ObjCXX     (1 << 6)
    619 #define CL_LANG_ALL   ((1 << 7) - 1)
    620 
    621 enum opt_code
    622 {
    623   OPT__help,                                 /* --help */
    624   OPT__help_,                                /* --help= */
    625   OPT__output_pch_,                          /* --output-pch= */
    626   OPT__param,                                /* --param */
    627   OPT__target_help,                          /* --target-help */
    628   OPT__version,                              /* --version */
    629   OPT_A,                                     /* -A */
    630   OPT_C,                                     /* -C */
    631   OPT_CC,                                    /* -CC */
    632   OPT_D,                                     /* -D */
    633   OPT_E,                                     /* -E */
    634   OPT_F,                                     /* -F */
    635   OPT_G,                                     /* -G */
    636   OPT_H,                                     /* -H */
    637   OPT_I,                                     /* -I */
    638   OPT_J,                                     /* -J */
    639   OPT_M,                                     /* -M */
    640   OPT_MD,                                    /* -MD */
    641   OPT_MD_,                                   /* -MD_ */
    642   OPT_MF,                                    /* -MF */
    643   OPT_MG,                                    /* -MG */
    644   OPT_MM,                                    /* -MM */
    645   OPT_MMD,                                   /* -MMD */
    646   OPT_MMD_,                                  /* -MMD_ */
    647   OPT_MP,                                    /* -MP */
    648   OPT_MQ,                                    /* -MQ */
    649   OPT_MT,                                    /* -MT */
    650   OPT_O,                                     /* -O */
    651   OPT_Os,                                    /* -Os */
    652   OPT_P,                                     /* -P */
    653   OPT_U,                                     /* -U */
    654   OPT_W,                                     /* -W */
    655   OPT_Wabi,                                  /* -Wabi */
    656   OPT_Waddress,                              /* -Waddress */
    657   OPT_Waggregate_return,                     /* -Waggregate-return */
    658   OPT_Waliasing,                             /* -Waliasing */
    659   OPT_Walign_commons,                        /* -Walign-commons */
    660   OPT_Wall,                                  /* -Wall */
    661   OPT_Wall_deprecation,                      /* -Wall-deprecation */
    662   OPT_Wall_javadoc,                          /* -Wall-javadoc */
    663   OPT_Wampersand,                            /* -Wampersand */
    664   OPT_Warray_bounds,                         /* -Warray-bounds */
    665   OPT_Warray_temporaries,                    /* -Warray-temporaries */
    666   OPT_Wassert_identifier,                    /* -Wassert-identifier */
    667   OPT_Wassign_intercept,                     /* -Wassign-intercept */
    668   OPT_Wattributes,                           /* -Wattributes */
    669   OPT_Wbad_function_cast,                    /* -Wbad-function-cast */
    670   OPT_Wboxing,                               /* -Wboxing */
    671   OPT_Wbuiltin_macro_redefined,              /* -Wbuiltin-macro-redefined */
    672   OPT_Wc___compat,                           /* -Wc++-compat */
    673   OPT_Wc__0x_compat,                         /* -Wc++0x-compat */
    674   OPT_Wcast_align,                           /* -Wcast-align */
    675   OPT_Wcast_qual,                            /* -Wcast-qual */
    676   OPT_Wchar_concat,                          /* -Wchar-concat */
    677   OPT_Wchar_subscripts,                      /* -Wchar-subscripts */
    678   OPT_Wcharacter_truncation,                 /* -Wcharacter-truncation */
    679   OPT_Wclobbered,                            /* -Wclobbered */
    680   OPT_Wcomment,                              /* -Wcomment */
    681   OPT_Wcomments,                             /* -Wcomments */
    682   OPT_Wcondition_assign,                     /* -Wcondition-assign */
    683   OPT_Wconstructor_name,                     /* -Wconstructor-name */
    684   OPT_Wconversion,                           /* -Wconversion */
    685   OPT_Wcoverage_mismatch,                    /* -Wcoverage-mismatch */
    686   OPT_Wctor_dtor_privacy,                    /* -Wctor-dtor-privacy */
    687   OPT_Wdeclaration_after_statement,          /* -Wdeclaration-after-statement */
    688   OPT_Wdep_ann,                              /* -Wdep-ann */
    689   OPT_Wdeprecated,                           /* -Wdeprecated */
    690   OPT_Wdeprecated_declarations,              /* -Wdeprecated-declarations */
    691   OPT_Wdisabled_optimization,                /* -Wdisabled-optimization */
    692   OPT_Wdiscouraged,                          /* -Wdiscouraged */
    693   OPT_Wdiv_by_zero,                          /* -Wdiv-by-zero */
    694   OPT_Weffc__,                               /* -Weffc++ */
    695   OPT_Wempty_block,                          /* -Wempty-block */
    696   OPT_Wempty_body,                           /* -Wempty-body */
    697   OPT_Wendif_labels,                         /* -Wendif-labels */
    698   OPT_Wenum_compare,                         /* -Wenum-compare */
    699   OPT_Wenum_identifier,                      /* -Wenum-identifier */
    700   OPT_Wenum_switch,                          /* -Wenum-switch */
    701   OPT_Werror,                                /* -Werror */
    702   OPT_Werror_implicit_function_declaration,  /* -Werror-implicit-function-declaration */
    703   OPT_Werror_,                               /* -Werror= */
    704   OPT_Wextra,                                /* -Wextra */
    705   OPT_Wextraneous_semicolon,                 /* -Wextraneous-semicolon */
    706   OPT_Wfallthrough,                          /* -Wfallthrough */
    707   OPT_Wfatal_errors,                         /* -Wfatal-errors */
    708   OPT_Wfield_hiding,                         /* -Wfield-hiding */
    709   OPT_Wfinal_bound,                          /* -Wfinal-bound */
    710   OPT_Wfinally,                              /* -Wfinally */
    711   OPT_Wfloat_equal,                          /* -Wfloat-equal */
    712   OPT_Wforbidden,                            /* -Wforbidden */
    713   OPT_Wformat,                               /* -Wformat */
    714   OPT_Wformat_contains_nul,                  /* -Wformat-contains-nul */
    715   OPT_Wformat_extra_args,                    /* -Wformat-extra-args */
    716   OPT_Wformat_nonliteral,                    /* -Wformat-nonliteral */
    717   OPT_Wformat_security,                      /* -Wformat-security */
    718   OPT_Wformat_y2k,                           /* -Wformat-y2k */
    719   OPT_Wformat_zero_length,                   /* -Wformat-zero-length */
    720   OPT_Wformat_,                              /* -Wformat= */
    721   OPT_Wframe_larger_than_,                   /* -Wframe-larger-than= */
    722   OPT_Whiding,                               /* -Whiding */
    723   OPT_Wicf,                                  /* -Wicf */
    724   OPT_Wignored_qualifiers,                   /* -Wignored-qualifiers */
    725   OPT_Wimplicit,                             /* -Wimplicit */
    726   OPT_Wimplicit_function_declaration,        /* -Wimplicit-function-declaration */
    727   OPT_Wimplicit_int,                         /* -Wimplicit-int */
    728   OPT_Wimplicit_interface,                   /* -Wimplicit-interface */
    729   OPT_Wimport,                               /* -Wimport */
    730   OPT_Windirect_static,                      /* -Windirect-static */
    731   OPT_Winit_self,                            /* -Winit-self */
    732   OPT_Winline,                               /* -Winline */
    733   OPT_Wint_to_pointer_cast,                  /* -Wint-to-pointer-cast */
    734   OPT_Wintf_annotation,                      /* -Wintf-annotation */
    735   OPT_Wintf_non_inherited,                   /* -Wintf-non-inherited */
    736   OPT_Wintrinsic_shadow,                     /* -Wintrinsic-shadow */
    737   OPT_Wintrinsics_std,                       /* -Wintrinsics-std */
    738   OPT_Winvalid_offsetof,                     /* -Winvalid-offsetof */
    739   OPT_Winvalid_pch,                          /* -Winvalid-pch */
    740   OPT_Wjavadoc,                              /* -Wjavadoc */
    741   OPT_Wlarger_than_,                         /* -Wlarger-than- */
    742   OPT_Wlarger_than_eq,                         /* -Wlarger-than= */
    743   OPT_Wline_truncation,                      /* -Wline-truncation */
    744   OPT_Wlocal_hiding,                         /* -Wlocal-hiding */
    745   OPT_Wlogical_op,                           /* -Wlogical-op */
    746   OPT_Wlong_long,                            /* -Wlong-long */
    747   OPT_Wmain,                                 /* -Wmain */
    748   OPT_Wmasked_catch_block,                   /* -Wmasked-catch-block */
    749   OPT_Wmissing_braces,                       /* -Wmissing-braces */
    750   OPT_Wmissing_declarations,                 /* -Wmissing-declarations */
    751   OPT_Wmissing_field_initializers,           /* -Wmissing-field-initializers */
    752   OPT_Wmissing_format_attribute,             /* -Wmissing-format-attribute */
    753   OPT_Wmissing_include_dirs,                 /* -Wmissing-include-dirs */
    754   OPT_Wmissing_noreturn,                     /* -Wmissing-noreturn */
    755   OPT_Wmissing_parameter_type,               /* -Wmissing-parameter-type */
    756   OPT_Wmissing_prototypes,                   /* -Wmissing-prototypes */
    757   OPT_Wmudflap,                              /* -Wmudflap */
    758   OPT_Wmultichar,                            /* -Wmultichar */
    759   OPT_Wnested_externs,                       /* -Wnested-externs */
    760   OPT_Wnls,                                  /* -Wnls */
    761   OPT_Wno_effect_assign,                     /* -Wno-effect-assign */
    762   OPT_Wnon_template_friend,                  /* -Wnon-template-friend */
    763   OPT_Wnon_virtual_dtor,                     /* -Wnon-virtual-dtor */
    764   OPT_Wnonnull,                              /* -Wnonnull */
    765   OPT_Wnormalized_,                          /* -Wnormalized= */
    766   OPT_Wnull,                                 /* -Wnull */
    767   OPT_Wold_style_cast,                       /* -Wold-style-cast */
    768   OPT_Wold_style_declaration,                /* -Wold-style-declaration */
    769   OPT_Wold_style_definition,                 /* -Wold-style-definition */
    770   OPT_Wout_of_date,                          /* -Wout-of-date */
    771   OPT_Wover_ann,                             /* -Wover-ann */
    772   OPT_Woverflow,                             /* -Woverflow */
    773   OPT_Woverlength_strings,                   /* -Woverlength-strings */
    774   OPT_Woverloaded_virtual,                   /* -Woverloaded-virtual */
    775   OPT_Woverride_init,                        /* -Woverride-init */
    776   OPT_Wpacked,                               /* -Wpacked */
    777   OPT_Wpacked_bitfield_compat,               /* -Wpacked-bitfield-compat */
    778   OPT_Wpadded,                               /* -Wpadded */
    779   OPT_Wparam_assign,                         /* -Wparam-assign */
    780   OPT_Wparentheses,                          /* -Wparentheses */
    781   OPT_Wpkg_default_method,                   /* -Wpkg-default-method */
    782   OPT_Wpmf_conversions,                      /* -Wpmf-conversions */
    783   OPT_Wpointer_arith,                        /* -Wpointer-arith */
    784   OPT_Wpointer_sign,                         /* -Wpointer-sign */
    785   OPT_Wpointer_to_int_cast,                  /* -Wpointer-to-int-cast */
    786   OPT_Wpragmas,                              /* -Wpragmas */
    787   OPT_Wprotocol,                             /* -Wprotocol */
    788   OPT_Wpsabi,                                /* -Wpsabi */
    789   OPT_Wraw,                                  /* -Wraw */
    790   OPT_Wredundant_decls,                      /* -Wredundant-decls */
    791   OPT_Wredundant_modifiers,                  /* -Wredundant-modifiers */
    792   OPT_Wreorder,                              /* -Wreorder */
    793   OPT_Wreturn_type,                          /* -Wreturn-type */
    794   OPT_Wripa_opt_mismatch,                    /* -Wripa-opt-mismatch */
    795   OPT_Wselector,                             /* -Wselector */
    796   OPT_Wsequence_point,                       /* -Wsequence-point */
    797   OPT_Wserial,                               /* -Wserial */
    798   OPT_Wshadow,                               /* -Wshadow */
    799   OPT_Wsign_compare,                         /* -Wsign-compare */
    800   OPT_Wsign_conversion,                      /* -Wsign-conversion */
    801   OPT_Wsign_promo,                           /* -Wsign-promo */
    802   OPT_Wspecial_param_hiding,                 /* -Wspecial-param-hiding */
    803   OPT_Wstack_protector,                      /* -Wstack-protector */
    804   OPT_Wstatic_access,                        /* -Wstatic-access */
    805   OPT_Wstatic_receiver,                      /* -Wstatic-receiver */
    806   OPT_Wstrict_aliasing,                      /* -Wstrict-aliasing */
    807   OPT_Wstrict_aliasing_,                     /* -Wstrict-aliasing= */
    808   OPT_Wstrict_null_sentinel,                 /* -Wstrict-null-sentinel */
    809   OPT_Wstrict_overflow,                      /* -Wstrict-overflow */
    810   OPT_Wstrict_overflow_,                     /* -Wstrict-overflow= */
    811   OPT_Wstrict_prototypes,                    /* -Wstrict-prototypes */
    812   OPT_Wstrict_selector_match,                /* -Wstrict-selector-match */
    813   OPT_Wsuppress,                             /* -Wsuppress */
    814   OPT_Wsurprising,                           /* -Wsurprising */
    815   OPT_Wswitch,                               /* -Wswitch */
    816   OPT_Wswitch_default,                       /* -Wswitch-default */
    817   OPT_Wswitch_enum,                          /* -Wswitch-enum */
    818   OPT_Wsync_nand,                            /* -Wsync-nand */
    819   OPT_Wsynth,                                /* -Wsynth */
    820   OPT_Wsynthetic_access,                     /* -Wsynthetic-access */
    821   OPT_Wsystem_headers,                       /* -Wsystem-headers */
    822   OPT_Wtabs,                                 /* -Wtabs */
    823   OPT_Wtasks,                                /* -Wtasks */
    824   OPT_Wthread_mismatched_lock_acq_rel,       /* -Wthread-mismatched-lock-acq-rel */
    825   OPT_Wthread_mismatched_lock_order,         /* -Wthread-mismatched-lock-order */
    826   OPT_Wthread_reentrant_lock,                /* -Wthread-reentrant-lock */
    827   OPT_Wthread_safety,                        /* -Wthread-safety */
    828   OPT_Wthread_unguarded_func,                /* -Wthread-unguarded-func */
    829   OPT_Wthread_unguarded_var,                 /* -Wthread-unguarded-var */
    830   OPT_Wthread_unsupported_lock_name,         /* -Wthread-unsupported-lock-name */
    831   OPT_Wtraditional,                          /* -Wtraditional */
    832   OPT_Wtraditional_conversion,               /* -Wtraditional-conversion */
    833   OPT_Wtrigraphs,                            /* -Wtrigraphs */
    834   OPT_Wtype_hiding,                          /* -Wtype-hiding */
    835   OPT_Wtype_limits,                          /* -Wtype-limits */
    836   OPT_Wuncheck,                              /* -Wuncheck */
    837   OPT_Wundeclared_selector,                  /* -Wundeclared-selector */
    838   OPT_Wundef,                                /* -Wundef */
    839   OPT_Wunderflow,                            /* -Wunderflow */
    840   OPT_Wuninitialized,                        /* -Wuninitialized */
    841   OPT_Wunknown_pragmas,                      /* -Wunknown-pragmas */
    842   OPT_Wunnecessary_else,                     /* -Wunnecessary-else */
    843   OPT_Wunqualified_field,                    /* -Wunqualified-field */
    844   OPT_Wunreachable_code,                     /* -Wunreachable-code */
    845   OPT_Wunsafe_loop_optimizations,            /* -Wunsafe-loop-optimizations */
    846   OPT_Wunused,                               /* -Wunused */
    847   OPT_Wunused_argument,                      /* -Wunused-argument */
    848   OPT_Wunused_function,                      /* -Wunused-function */
    849   OPT_Wunused_import,                        /* -Wunused-import */
    850   OPT_Wunused_label,                         /* -Wunused-label */
    851   OPT_Wunused_local,                         /* -Wunused-local */
    852   OPT_Wunused_macros,                        /* -Wunused-macros */
    853   OPT_Wunused_parameter,                     /* -Wunused-parameter */
    854   OPT_Wunused_private,                       /* -Wunused-private */
    855   OPT_Wunused_thrown,                        /* -Wunused-thrown */
    856   OPT_Wunused_value,                         /* -Wunused-value */
    857   OPT_Wunused_variable,                      /* -Wunused-variable */
    858   OPT_Wuseless_type_check,                   /* -Wuseless-type-check */
    859   OPT_Wvarargs_cast,                         /* -Wvarargs-cast */
    860   OPT_Wvariadic_macros,                      /* -Wvariadic-macros */
    861   OPT_Wvla,                                  /* -Wvla */
    862   OPT_Wvolatile_register_var,                /* -Wvolatile-register-var */
    863   OPT_Wwarning_token,                        /* -Wwarning-token */
    864   OPT_Wwrite_strings,                        /* -Wwrite-strings */
    865   OPT_ansi,                                  /* -ansi */
    866   OPT_aux_info,                              /* -aux-info */
    867   OPT_aux_info_,                             /* -aux-info= */
    868   OPT_auxbase,                               /* -auxbase */
    869   OPT_auxbase_strip,                         /* -auxbase-strip */
    870   OPT_cpp,                                   /* -cpp */
    871   OPT_d,                                     /* -d */
    872   OPT_dumpbase,                              /* -dumpbase */
    873   OPT_fCLASSPATH_,                           /* -fCLASSPATH= */
    874   OPT_fPIC,                                  /* -fPIC */
    875   OPT_fPIE,                                  /* -fPIE */
    876   OPT_fRTS_,                                 /* -fRTS= */
    877   OPT_fabi_version_,                         /* -fabi-version= */
    878   OPT_faccess_control,                       /* -faccess-control */
    879   OPT_falign_commons,                        /* -falign-commons */
    880   OPT_falign_functions,                      /* -falign-functions */
    881   OPT_falign_functions_,                     /* -falign-functions= */
    882   OPT_falign_jumps,                          /* -falign-jumps */
    883   OPT_falign_jumps_,                         /* -falign-jumps= */
    884   OPT_falign_labels,                         /* -falign-labels */
    885   OPT_falign_labels_,                        /* -falign-labels= */
    886   OPT_falign_loops,                          /* -falign-loops */
    887   OPT_falign_loops_,                         /* -falign-loops= */
    888   OPT_fall_intrinsics,                       /* -fall-intrinsics */
    889   OPT_fall_virtual,                          /* -fall-virtual */
    890   OPT_fallow_leading_underscore,             /* -fallow-leading-underscore */
    891   OPT_falt_external_templates,               /* -falt-external-templates */
    892   OPT_fargument_alias,                       /* -fargument-alias */
    893   OPT_fargument_noalias,                     /* -fargument-noalias */
    894   OPT_fargument_noalias_anything,            /* -fargument-noalias-anything */
    895   OPT_fargument_noalias_global,              /* -fargument-noalias-global */
    896   OPT_fasm,                                  /* -fasm */
    897   OPT_fassert,                               /* -fassert */
    898   OPT_fassociative_math,                     /* -fassociative-math */
    899   OPT_fassume_compiled,                      /* -fassume-compiled */
    900   OPT_fassume_compiled_,                     /* -fassume-compiled= */
    901   OPT_fasynchronous_unwind_tables,           /* -fasynchronous-unwind-tables */
    902   OPT_fauto_inc_dec,                         /* -fauto-inc-dec */
    903   OPT_fautomatic,                            /* -fautomatic */
    904   OPT_faux_classpath,                        /* -faux-classpath */
    905   OPT_fbackslash,                            /* -fbackslash */
    906   OPT_fbacktrace,                            /* -fbacktrace */
    907   OPT_fblas_matmul_limit_,                   /* -fblas-matmul-limit= */
    908   OPT_fbootclasspath_,                       /* -fbootclasspath= */
    909   OPT_fbootstrap_classes,                    /* -fbootstrap-classes */
    910   OPT_fbounds_check,                         /* -fbounds-check */
    911   OPT_fbranch_count_reg,                     /* -fbranch-count-reg */
    912   OPT_fbranch_probabilities,                 /* -fbranch-probabilities */
    913   OPT_fbranch_target_load_optimize,          /* -fbranch-target-load-optimize */
    914   OPT_fbranch_target_load_optimize2,         /* -fbranch-target-load-optimize2 */
    915   OPT_fbtr_bb_exclusive,                     /* -fbtr-bb-exclusive */
    916   OPT_fbuiltin,                              /* -fbuiltin */
    917   OPT_fbuiltin_,                             /* -fbuiltin- */
    918   OPT_fcall_saved_,                          /* -fcall-saved- */
    919   OPT_fcall_used_,                           /* -fcall-used- */
    920   OPT_fcaller_saves,                         /* -fcaller-saves */
    921   OPT_fcheck_array_temporaries,              /* -fcheck-array-temporaries */
    922   OPT_fcheck_data_deps,                      /* -fcheck-data-deps */
    923   OPT_fcheck_new,                            /* -fcheck-new */
    924   OPT_fcheck_references,                     /* -fcheck-references */
    925   OPT_fclasspath_,                           /* -fclasspath= */
    926   OPT_fcommon,                               /* -fcommon */
    927   OPT_fcompile_resource_,                    /* -fcompile-resource= */
    928   OPT_fcond_mismatch,                        /* -fcond-mismatch */
    929   OPT_fconserve_space,                       /* -fconserve-space */
    930   OPT_fconserve_stack,                       /* -fconserve-stack */
    931   OPT_fconstant_string_class_,               /* -fconstant-string-class= */
    932   OPT_fconvert_big_endian,                   /* -fconvert=big-endian */
    933   OPT_fconvert_little_endian,                /* -fconvert=little-endian */
    934   OPT_fconvert_native,                       /* -fconvert=native */
    935   OPT_fconvert_swap,                         /* -fconvert=swap */
    936   OPT_fcprop_registers,                      /* -fcprop-registers */
    937   OPT_fcray_pointer,                         /* -fcray-pointer */
    938   OPT_fcrossjumping,                         /* -fcrossjumping */
    939   OPT_fcse_follow_jumps,                     /* -fcse-follow-jumps */
    940   OPT_fcse_skip_blocks,                      /* -fcse-skip-blocks */
    941   OPT_fcx_fortran_rules,                     /* -fcx-fortran-rules */
    942   OPT_fcx_limited_range,                     /* -fcx-limited-range */
    943   OPT_fd_lines_as_code,                      /* -fd-lines-as-code */
    944   OPT_fd_lines_as_comments,                  /* -fd-lines-as-comments */
    945   OPT_fdata_sections,                        /* -fdata-sections */
    946   OPT_fdbg_cnt_list,                         /* -fdbg-cnt-list */
    947   OPT_fdbg_cnt_,                             /* -fdbg-cnt= */
    948   OPT_fdce,                                  /* -fdce */
    949   OPT_fdebug_prefix_map_,                    /* -fdebug-prefix-map= */
    950   OPT_fdefault_double_8,                     /* -fdefault-double-8 */
    951   OPT_fdefault_inline,                       /* -fdefault-inline */
    952   OPT_fdefault_integer_8,                    /* -fdefault-integer-8 */
    953   OPT_fdefault_real_8,                       /* -fdefault-real-8 */
    954   OPT_fdefer_pop,                            /* -fdefer-pop */
    955   OPT_fdelayed_branch,                       /* -fdelayed-branch */
    956   OPT_fdelete_null_pointer_checks,           /* -fdelete-null-pointer-checks */
    957   OPT_fdiagnostics_show_location_,           /* -fdiagnostics-show-location= */
    958   OPT_fdiagnostics_show_option,              /* -fdiagnostics-show-option */
    959   OPT_fdirectives_only,                      /* -fdirectives-only */
    960   OPT_fdisable_assertions,                   /* -fdisable-assertions */
    961   OPT_fdisable_assertions_,                  /* -fdisable-assertions= */
    962   OPT_fdollar_ok,                            /* -fdollar-ok */
    963   OPT_fdollars_in_identifiers,               /* -fdollars-in-identifiers */
    964   OPT_fdominance_check,                      /* -fdominance-check */
    965   OPT_fdse,                                  /* -fdse */
    966   OPT_fdump_,                                /* -fdump- */
    967   OPT_fdump_core,                            /* -fdump-core */
    968   OPT_fdump_noaddr,                          /* -fdump-noaddr */
    969   OPT_fdump_parse_tree,                      /* -fdump-parse-tree */
    970   OPT_fdump_unnumbered,                      /* -fdump-unnumbered */
    971   OPT_fdwarf2_cfi_asm,                       /* -fdwarf2-cfi-asm */
    972   OPT_fearly_inlining,                       /* -fearly-inlining */
    973   OPT_felide_constructors,                   /* -felide-constructors */
    974   OPT_feliminate_dwarf2_dups,                /* -feliminate-dwarf2-dups */
    975   OPT_feliminate_unused_debug_symbols,       /* -feliminate-unused-debug-symbols */
    976   OPT_feliminate_unused_debug_types,         /* -feliminate-unused-debug-types */
    977   OPT_femit_class_debug_always,              /* -femit-class-debug-always */
    978   OPT_femit_class_file,                      /* -femit-class-file */
    979   OPT_femit_class_files,                     /* -femit-class-files */
    980   OPT_femit_struct_debug_baseonly,           /* -femit-struct-debug-baseonly */
    981   OPT_femit_struct_debug_detailed_,          /* -femit-struct-debug-detailed= */
    982   OPT_femit_struct_debug_reduced,            /* -femit-struct-debug-reduced */
    983   OPT_fenable_assertions,                    /* -fenable-assertions */
    984   OPT_fenable_assertions_,                   /* -fenable-assertions= */
    985   OPT_fenable_icf_debug,                     /* -fenable-icf-debug */
    986   OPT_fencoding_,                            /* -fencoding= */
    987   OPT_fenforce_eh_specs,                     /* -fenforce-eh-specs */
    988   OPT_fenum_int_equiv,                       /* -fenum-int-equiv */
    989   OPT_fexceptions,                           /* -fexceptions */
    990   OPT_fexec_charset_,                        /* -fexec-charset= */
    991   OPT_fexpensive_optimizations,              /* -fexpensive-optimizations */
    992   OPT_fextdirs_,                             /* -fextdirs= */
    993   OPT_fextended_identifiers,                 /* -fextended-identifiers */
    994   OPT_fexternal_blas,                        /* -fexternal-blas */
    995   OPT_fexternal_templates,                   /* -fexternal-templates */
    996   OPT_ff2c,                                  /* -ff2c */
    997   OPT_ffast_math,                            /* -ffast-math */
    998   OPT_ffilelist_file,                        /* -ffilelist-file */
    999   OPT_ffinite_math_only,                     /* -ffinite-math-only */
   1000   OPT_ffixed_,                               /* -ffixed- */
   1001   OPT_ffixed_form,                           /* -ffixed-form */
   1002   OPT_ffixed_line_length_,                   /* -ffixed-line-length- */
   1003   OPT_ffixed_line_length_none,               /* -ffixed-line-length-none */
   1004   OPT_ffloat_store,                          /* -ffloat-store */
   1005   OPT_ffor_scope,                            /* -ffor-scope */
   1006   OPT_fforce_addr,                           /* -fforce-addr */
   1007   OPT_fforce_classes_archive_check,          /* -fforce-classes-archive-check */
   1008   OPT_fforward_propagate,                    /* -fforward-propagate */
   1009   OPT_ffpe_trap_,                            /* -ffpe-trap= */
   1010   OPT_ffree_form,                            /* -ffree-form */
   1011   OPT_ffree_line_length_,                    /* -ffree-line-length- */
   1012   OPT_ffree_line_length_none,                /* -ffree-line-length-none */
   1013   OPT_ffreestanding,                         /* -ffreestanding */
   1014   OPT_ffriend_injection,                     /* -ffriend-injection */
   1015   OPT_ffunction_cse,                         /* -ffunction-cse */
   1016   OPT_ffunction_sections,                    /* -ffunction-sections */
   1017   OPT_fgcse,                                 /* -fgcse */
   1018   OPT_fgcse_after_reload,                    /* -fgcse-after-reload */
   1019   OPT_fgcse_las,                             /* -fgcse-las */
   1020   OPT_fgcse_lm,                              /* -fgcse-lm */
   1021   OPT_fgcse_sm,                              /* -fgcse-sm */
   1022   OPT_fgnu_keywords,                         /* -fgnu-keywords */
   1023   OPT_fgnu_runtime,                          /* -fgnu-runtime */
   1024   OPT_fgnu89_inline,                         /* -fgnu89-inline */
   1025   OPT_fgraphite,                             /* -fgraphite */
   1026   OPT_fgraphite_identity,                    /* -fgraphite-identity */
   1027   OPT_fguess_branch_probability,             /* -fguess-branch-probability */
   1028   OPT_fguiding_decls,                        /* -fguiding-decls */
   1029   OPT_fhandle_exceptions,                    /* -fhandle-exceptions */
   1030   OPT_fhash_synchronization,                 /* -fhash-synchronization */
   1031   OPT_fhelp,                                 /* -fhelp */
   1032   OPT_fhelp_,                                /* -fhelp= */
   1033   OPT_fhonor_std,                            /* -fhonor-std */
   1034   OPT_fhosted,                               /* -fhosted */
   1035   OPT_fhuge_objects,                         /* -fhuge-objects */
   1036   OPT_fident,                                /* -fident */
   1037   OPT_fif_conversion,                        /* -fif-conversion */
   1038   OPT_fif_conversion2,                       /* -fif-conversion2 */
   1039   OPT_fimplement_inlines,                    /* -fimplement-inlines */
   1040   OPT_fimplicit_inline_templates,            /* -fimplicit-inline-templates */
   1041   OPT_fimplicit_none,                        /* -fimplicit-none */
   1042   OPT_fimplicit_templates,                   /* -fimplicit-templates */
   1043   OPT_findirect_classes,                     /* -findirect-classes */
   1044   OPT_findirect_dispatch,                    /* -findirect-dispatch */
   1045   OPT_findirect_inlining,                    /* -findirect-inlining */
   1046   OPT_finhibit_size_directive,               /* -finhibit-size-directive */
   1047   OPT_finit_character_,                      /* -finit-character= */
   1048   OPT_finit_integer_,                        /* -finit-integer= */
   1049   OPT_finit_local_zero,                      /* -finit-local-zero */
   1050   OPT_finit_logical_,                        /* -finit-logical= */
   1051   OPT_finit_real_,                           /* -finit-real= */
   1052   OPT_finline,                               /* -finline */
   1053   OPT_finline_functions,                     /* -finline-functions */
   1054   OPT_finline_functions_called_once,         /* -finline-functions-called-once */
   1055   OPT_finline_limit_,                        /* -finline-limit- */
   1056   OPT_finline_limit_eq,                        /* -finline-limit= */
   1057   OPT_finline_plan_,                         /* -finline-plan- */
   1058   OPT_finline_small_functions,               /* -finline-small-functions */
   1059   OPT_finput_charset_,                       /* -finput-charset= */
   1060   OPT_finstrument_functions,                 /* -finstrument-functions */
   1061   OPT_finstrument_functions_exclude_file_list_,/* -finstrument-functions-exclude-file-list= */
   1062   OPT_finstrument_functions_exclude_function_list_,/* -finstrument-functions-exclude-function-list= */
   1063   OPT_fintrinsic_modules_path,               /* -fintrinsic-modules-path */
   1064   OPT_fipa_cp,                               /* -fipa-cp */
   1065   OPT_fipa_cp_clone,                         /* -fipa-cp-clone */
   1066   OPT_fipa_matrix_reorg,                     /* -fipa-matrix-reorg */
   1067   OPT_fipa_pta,                              /* -fipa-pta */
   1068   OPT_fipa_pure_const,                       /* -fipa-pure-const */
   1069   OPT_fipa_reference,                        /* -fipa-reference */
   1070   OPT_fipa_struct_reorg,                     /* -fipa-struct-reorg */
   1071   OPT_fipa_type_escape,                      /* -fipa-type-escape */
   1072   OPT_fira_algorithm_,                       /* -fira-algorithm= */
   1073   OPT_fira_coalesce,                         /* -fira-coalesce */
   1074   OPT_fira_region_,                          /* -fira-region= */
   1075   OPT_fira_share_save_slots,                 /* -fira-share-save-slots */
   1076   OPT_fira_share_spill_slots,                /* -fira-share-spill-slots */
   1077   OPT_fira_verbose_,                         /* -fira-verbose= */
   1078   OPT_fivopts,                               /* -fivopts */
   1079   OPT_fjni,                                  /* -fjni */
   1080   OPT_fjump_tables,                          /* -fjump-tables */
   1081   OPT_fkeep_inline_functions,                /* -fkeep-inline-functions */
   1082   OPT_fkeep_static_consts,                   /* -fkeep-static-consts */
   1083   OPT_flabels_ok,                            /* -flabels-ok */
   1084   OPT_flax_vector_conversions,               /* -flax-vector-conversions */
   1085   OPT_fleading_underscore,                   /* -fleading-underscore */
   1086   OPT_flimit_hot_components,                 /* -flimit-hot-components */
   1087   OPT_floop_block,                           /* -floop-block */
   1088   OPT_floop_interchange,                     /* -floop-interchange */
   1089   OPT_floop_optimize,                        /* -floop-optimize */
   1090   OPT_floop_strip_mine,                      /* -floop-strip-mine */
   1091   OPT_fmath_errno,                           /* -fmath-errno */
   1092   OPT_fmax_array_constructor_,               /* -fmax-array-constructor= */
   1093   OPT_fmax_errors_,                          /* -fmax-errors= */
   1094   OPT_fmax_identifier_length_,               /* -fmax-identifier-length= */
   1095   OPT_fmax_stack_var_size_,                  /* -fmax-stack-var-size= */
   1096   OPT_fmax_subrecord_length_,                /* -fmax-subrecord-length= */
   1097   OPT_fmem_report,                           /* -fmem-report */
   1098   OPT_fmerge_all_constants,                  /* -fmerge-all-constants */
   1099   OPT_fmerge_constants,                      /* -fmerge-constants */
   1100   OPT_fmerge_debug_strings,                  /* -fmerge-debug-strings */
   1101   OPT_fmessage_length_,                      /* -fmessage-length= */
   1102   OPT_fmodule_private,                       /* -fmodule-private */
   1103   OPT_fmodulo_sched,                         /* -fmodulo-sched */
   1104   OPT_fmodulo_sched_allow_regmoves,          /* -fmodulo-sched-allow-regmoves */
   1105   OPT_fmove_loop_invariants,                 /* -fmove-loop-invariants */
   1106   OPT_fms_extensions,                        /* -fms-extensions */
   1107   OPT_fmudflap,                              /* -fmudflap */
   1108   OPT_fmudflapir,                            /* -fmudflapir */
   1109   OPT_fmudflapth,                            /* -fmudflapth */
   1110   OPT_fname_mangling_version_,               /* -fname-mangling-version- */
   1111   OPT_fnew_abi,                              /* -fnew-abi */
   1112   OPT_fnext_runtime,                         /* -fnext-runtime */
   1113   OPT_fnil_receivers,                        /* -fnil-receivers */
   1114   OPT_fnon_call_exceptions,                  /* -fnon-call-exceptions */
   1115   OPT_fnonansi_builtins,                     /* -fnonansi-builtins */
   1116   OPT_fnonnull_objects,                      /* -fnonnull-objects */
   1117   OPT_fobjc_call_cxx_cdtors,                 /* -fobjc-call-cxx-cdtors */
   1118   OPT_fobjc_direct_dispatch,                 /* -fobjc-direct-dispatch */
   1119   OPT_fobjc_exceptions,                      /* -fobjc-exceptions */
   1120   OPT_fobjc_gc,                              /* -fobjc-gc */
   1121   OPT_fobjc_sjlj_exceptions,                 /* -fobjc-sjlj-exceptions */
   1122   OPT_fomit_frame_pointer,                   /* -fomit-frame-pointer */
   1123   OPT_fopenmp,                               /* -fopenmp */
   1124   OPT_foperator_names,                       /* -foperator-names */
   1125   OPT_foptimize_register_move,               /* -foptimize-register-move */
   1126   OPT_foptimize_sibling_calls,               /* -foptimize-sibling-calls */
   1127   OPT_foptimize_static_class_initialization, /* -foptimize-static-class-initialization */
   1128   OPT_foptional_diags,                       /* -foptional-diags */
   1129   OPT_foutput_class_dir_,                    /* -foutput-class-dir= */
   1130   OPT_fpack_derived,                         /* -fpack-derived */
   1131   OPT_fpack_struct,                          /* -fpack-struct */
   1132   OPT_fpack_struct_,                         /* -fpack-struct= */
   1133   OPT_fpcc_struct_return,                    /* -fpcc-struct-return */
   1134   OPT_fpch_deps,                             /* -fpch-deps */
   1135   OPT_fpch_preprocess,                       /* -fpch-preprocess */
   1136   OPT_fpeel_loops,                           /* -fpeel-loops */
   1137   OPT_fpeephole,                             /* -fpeephole */
   1138   OPT_fpeephole2,                            /* -fpeephole2 */
   1139   OPT_fpermissive,                           /* -fpermissive */
   1140   OPT_fpessimistic_inline_stack_limit,       /* -fpessimistic-inline-stack-limit */
   1141   OPT_fpic,                                  /* -fpic */
   1142   OPT_fpie,                                  /* -fpie */
   1143   OPT_fplugin_arg_,                          /* -fplugin-arg- */
   1144   OPT_fplugin_,                              /* -fplugin= */
   1145   OPT_fpost_ipa_mem_report,                  /* -fpost-ipa-mem-report */
   1146   OPT_fpre_ipa_mem_report,                   /* -fpre-ipa-mem-report */
   1147   OPT_fpredictive_commoning,                 /* -fpredictive-commoning */
   1148   OPT_fprefetch_loop_arrays,                 /* -fprefetch-loop-arrays */
   1149   OPT_fpreprocessed,                         /* -fpreprocessed */
   1150   OPT_fprofile,                              /* -fprofile */
   1151   OPT_fprofile_arcs,                         /* -fprofile-arcs */
   1152   OPT_fprofile_correction,                   /* -fprofile-correction */
   1153   OPT_fprofile_dir_,                         /* -fprofile-dir= */
   1154   OPT_fprofile_dump,                         /* -fprofile-dump */
   1155   OPT_fprofile_generate,                     /* -fprofile-generate */
   1156   OPT_fprofile_generate_,                    /* -fprofile-generate= */
   1157   OPT_fprofile_use,                          /* -fprofile-use */
   1158   OPT_fprofile_use_,                         /* -fprofile-use= */
   1159   OPT_fprofile_values,                       /* -fprofile-values */
   1160   OPT_frandom_seed,                          /* -frandom-seed */
   1161   OPT_frandom_seed_,                         /* -frandom-seed= */
   1162   OPT_frange_check,                          /* -frange-check */
   1163   OPT_freciprocal_math,                      /* -freciprocal-math */
   1164   OPT_frecord_gcc_switches,                  /* -frecord-gcc-switches */
   1165   OPT_frecord_marker_4,                      /* -frecord-marker=4 */
   1166   OPT_frecord_marker_8,                      /* -frecord-marker=8 */
   1167   OPT_frecursive,                            /* -frecursive */
   1168   OPT_freduced_reflection,                   /* -freduced-reflection */
   1169   OPT_freg_struct_return,                    /* -freg-struct-return */
   1170   OPT_fregmove,                              /* -fregmove */
   1171   OPT_frename_registers,                     /* -frename-registers */
   1172   OPT_freorder_blocks,                       /* -freorder-blocks */
   1173   OPT_freorder_blocks_and_partition,         /* -freorder-blocks-and-partition */
   1174   OPT_freorder_functions,                    /* -freorder-functions */
   1175   OPT_frepack_arrays,                        /* -frepack-arrays */
   1176   OPT_freplace_objc_classes,                 /* -freplace-objc-classes */
   1177   OPT_frepo,                                 /* -frepo */
   1178   OPT_frerun_cse_after_loop,                 /* -frerun-cse-after-loop */
   1179   OPT_frerun_loop_opt,                       /* -frerun-loop-opt */
   1180   OPT_freschedule_modulo_scheduled_loops,    /* -freschedule-modulo-scheduled-loops */
   1181   OPT_fripa,                                 /* -fripa */
   1182   OPT_fripa_disallow_opt_mismatch,           /* -fripa-disallow-opt-mismatch */
   1183   OPT_fripa_verbose,                         /* -fripa-verbose */
   1184   OPT_frounding_math,                        /* -frounding-math */
   1185   OPT_frtti,                                 /* -frtti */
   1186   OPT_fsample_profile,                       /* -fsample-profile */
   1187   OPT_fsample_profile_aggregate_using_,      /* -fsample-profile-aggregate-using= */
   1188   OPT_fsample_profile_,                      /* -fsample-profile= */
   1189   OPT_fsaw_java_file,                        /* -fsaw-java-file */
   1190   OPT_fsched_interblock,                     /* -fsched-interblock */
   1191   OPT_fsched_spec,                           /* -fsched-spec */
   1192   OPT_fsched_spec_load,                      /* -fsched-spec-load */
   1193   OPT_fsched_spec_load_dangerous,            /* -fsched-spec-load-dangerous */
   1194   OPT_fsched_stalled_insns,                  /* -fsched-stalled-insns */
   1195   OPT_fsched_stalled_insns_dep,              /* -fsched-stalled-insns-dep */
   1196   OPT_fsched_stalled_insns_dep_,             /* -fsched-stalled-insns-dep= */
   1197   OPT_fsched_stalled_insns_,                 /* -fsched-stalled-insns= */
   1198   OPT_fsched_verbose_,                       /* -fsched-verbose= */
   1199   OPT_fsched2_use_superblocks,               /* -fsched2-use-superblocks */
   1200   OPT_fsched2_use_traces,                    /* -fsched2-use-traces */
   1201   OPT_fschedule_insns,                       /* -fschedule-insns */
   1202   OPT_fschedule_insns2,                      /* -fschedule-insns2 */
   1203   OPT_fsecond_underscore,                    /* -fsecond-underscore */
   1204   OPT_fsection_anchors,                      /* -fsection-anchors */
   1205   OPT_fsee,                                  /* -fsee */
   1206   OPT_fsel_sched_pipelining,                 /* -fsel-sched-pipelining */
   1207   OPT_fsel_sched_pipelining_outer_loops,     /* -fsel-sched-pipelining-outer-loops */
   1208   OPT_fsel_sched_reschedule_pipelined,       /* -fsel-sched-reschedule-pipelined */
   1209   OPT_fselective_scheduling,                 /* -fselective-scheduling */
   1210   OPT_fselective_scheduling2,                /* -fselective-scheduling2 */
   1211   OPT_fshort_double,                         /* -fshort-double */
   1212   OPT_fshort_enums,                          /* -fshort-enums */
   1213   OPT_fshort_wchar,                          /* -fshort-wchar */
   1214   OPT_fshow_column,                          /* -fshow-column */
   1215   OPT_fsign_zero,                            /* -fsign-zero */
   1216   OPT_fsignaling_nans,                       /* -fsignaling-nans */
   1217   OPT_fsigned_bitfields,                     /* -fsigned-bitfields */
   1218   OPT_fsigned_char,                          /* -fsigned-char */
   1219   OPT_fsigned_zeros,                         /* -fsigned-zeros */
   1220   OPT_fsingle_precision_constant,            /* -fsingle-precision-constant */
   1221   OPT_fsource_filename_,                     /* -fsource-filename= */
   1222   OPT_fsource_,                              /* -fsource= */
   1223   OPT_fsplit_ivs_in_unroller,                /* -fsplit-ivs-in-unroller */
   1224   OPT_fsplit_wide_types,                     /* -fsplit-wide-types */
   1225   OPT_fsquangle,                             /* -fsquangle */
   1226   OPT_fstack_check,                          /* -fstack-check */
   1227   OPT_fstack_check_,                         /* -fstack-check= */
   1228   OPT_fstack_limit,                          /* -fstack-limit */
   1229   OPT_fstack_limit_register_,                /* -fstack-limit-register= */
   1230   OPT_fstack_limit_symbol_,                  /* -fstack-limit-symbol= */
   1231   OPT_fstack_protector,                      /* -fstack-protector */
   1232   OPT_fstack_protector_all,                  /* -fstack-protector-all */
   1233   OPT_fstats,                                /* -fstats */
   1234   OPT_fstore_check,                          /* -fstore-check */
   1235   OPT_fstrength_reduce,                      /* -fstrength-reduce */
   1236   OPT_fstrict_aliasing,                      /* -fstrict-aliasing */
   1237   OPT_fstrict_enum_precision,                /* -fstrict-enum-precision */
   1238   OPT_fstrict_overflow,                      /* -fstrict-overflow */
   1239   OPT_fstrict_prototype,                     /* -fstrict-prototype */
   1240   OPT_fsyntax_only,                          /* -fsyntax-only */
   1241   OPT_ftabstop_,                             /* -ftabstop= */
   1242   OPT_ftarget_help,                          /* -ftarget-help */
   1243   OPT_ftarget_,                              /* -ftarget= */
   1244   OPT_ftemplate_depth_,                      /* -ftemplate-depth- */
   1245   OPT_ftest_coverage,                        /* -ftest-coverage */
   1246   OPT_fthis_is_variable,                     /* -fthis-is-variable */
   1247   OPT_fthread_jumps,                         /* -fthread-jumps */
   1248   OPT_fthreadsafe_statics,                   /* -fthreadsafe-statics */
   1249   OPT_ftime_report,                          /* -ftime-report */
   1250   OPT_ftls_model_,                           /* -ftls-model= */
   1251   OPT_ftoplevel_reorder,                     /* -ftoplevel-reorder */
   1252   OPT_ftracer,                               /* -ftracer */
   1253   OPT_ftrapping_math,                        /* -ftrapping-math */
   1254   OPT_ftrapv,                                /* -ftrapv */
   1255   OPT_ftree_builtin_call_dce,                /* -ftree-builtin-call-dce */
   1256   OPT_ftree_ccp,                             /* -ftree-ccp */
   1257   OPT_ftree_ch,                              /* -ftree-ch */
   1258   OPT_ftree_copy_prop,                       /* -ftree-copy-prop */
   1259   OPT_ftree_copyrename,                      /* -ftree-copyrename */
   1260   OPT_ftree_cselim,                          /* -ftree-cselim */
   1261   OPT_ftree_dce,                             /* -ftree-dce */
   1262   OPT_ftree_dominator_opts,                  /* -ftree-dominator-opts */
   1263   OPT_ftree_dse,                             /* -ftree-dse */
   1264   OPT_ftree_fre,                             /* -ftree-fre */
   1265   OPT_ftree_loop_distribution,               /* -ftree-loop-distribution */
   1266   OPT_ftree_loop_im,                         /* -ftree-loop-im */
   1267   OPT_ftree_loop_ivcanon,                    /* -ftree-loop-ivcanon */
   1268   OPT_ftree_loop_linear,                     /* -ftree-loop-linear */
   1269   OPT_ftree_loop_optimize,                   /* -ftree-loop-optimize */
   1270   OPT_ftree_lr_shrinking,                    /* -ftree-lr-shrinking */
   1271   OPT_ftree_lrs,                             /* -ftree-lrs */
   1272   OPT_ftree_parallelize_loops_,              /* -ftree-parallelize-loops= */
   1273   OPT_ftree_pre,                             /* -ftree-pre */
   1274   OPT_ftree_reassoc,                         /* -ftree-reassoc */
   1275   OPT_ftree_salias,                          /* -ftree-salias */
   1276   OPT_ftree_scev_cprop,                      /* -ftree-scev-cprop */
   1277   OPT_ftree_sink,                            /* -ftree-sink */
   1278   OPT_ftree_sra,                             /* -ftree-sra */
   1279   OPT_ftree_store_ccp,                       /* -ftree-store-ccp */
   1280   OPT_ftree_store_copy_prop,                 /* -ftree-store-copy-prop */
   1281   OPT_ftree_switch_conversion,               /* -ftree-switch-conversion */
   1282   OPT_ftree_ter,                             /* -ftree-ter */
   1283   OPT_ftree_vect_loop_version,               /* -ftree-vect-loop-version */
   1284   OPT_ftree_vectorize,                       /* -ftree-vectorize */
   1285   OPT_ftree_vectorizer_verbose_,             /* -ftree-vectorizer-verbose= */
   1286   OPT_ftree_vrp,                             /* -ftree-vrp */
   1287   OPT_funderscoring,                         /* -funderscoring */
   1288   OPT_funit_at_a_time,                       /* -funit-at-a-time */
   1289   OPT_funroll_all_loops,                     /* -funroll-all-loops */
   1290   OPT_funroll_loops,                         /* -funroll-loops */
   1291   OPT_funsafe_loop_optimizations,            /* -funsafe-loop-optimizations */
   1292   OPT_funsafe_math_optimizations,            /* -funsafe-math-optimizations */
   1293   OPT_funsigned_bitfields,                   /* -funsigned-bitfields */
   1294   OPT_funsigned_char,                        /* -funsigned-char */
   1295   OPT_funswitch_loops,                       /* -funswitch-loops */
   1296   OPT_funwind_tables,                        /* -funwind-tables */
   1297   OPT_fuse_boehm_gc,                         /* -fuse-boehm-gc */
   1298   OPT_fuse_cxa_atexit,                       /* -fuse-cxa-atexit */
   1299   OPT_fuse_cxa_get_exception_ptr,            /* -fuse-cxa-get-exception-ptr */
   1300   OPT_fuse_divide_subroutine,                /* -fuse-divide-subroutine */
   1301   OPT_fuse_ld_,                              /* -fuse-ld= */
   1302   OPT_fvar_tracking,                         /* -fvar-tracking */
   1303   OPT_fvar_tracking_uninit,                  /* -fvar-tracking-uninit */
   1304   OPT_fvariable_expansion_in_unroller,       /* -fvariable-expansion-in-unroller */
   1305   OPT_fvect_cost_model,                      /* -fvect-cost-model */
   1306   OPT_fverbose_asm,                          /* -fverbose-asm */
   1307   OPT_fversion,                              /* -fversion */
   1308   OPT_fvisibility_inlines_hidden,            /* -fvisibility-inlines-hidden */
   1309   OPT_fvisibility_ms_compat,                 /* -fvisibility-ms-compat */
   1310   OPT_fvisibility_,                          /* -fvisibility= */
   1311   OPT_fvpt,                                  /* -fvpt */
   1312   OPT_fvtable_gc,                            /* -fvtable-gc */
   1313   OPT_fvtable_thunks,                        /* -fvtable-thunks */
   1314   OPT_fweak,                                 /* -fweak */
   1315   OPT_fweb,                                  /* -fweb */
   1316   OPT_fwhole_program,                        /* -fwhole-program */
   1317   OPT_fwide_exec_charset_,                   /* -fwide-exec-charset= */
   1318   OPT_fworking_directory,                    /* -fworking-directory */
   1319   OPT_fwrapv,                                /* -fwrapv */
   1320   OPT_fxref,                                 /* -fxref */
   1321   OPT_fzee,                                  /* -fzee */
   1322   OPT_fzero_initialized_in_bss,              /* -fzero-initialized-in-bss */
   1323   OPT_fzero_link,                            /* -fzero-link */
   1324   OPT_g,                                     /* -g */
   1325   OPT_gant,                                  /* -gant */
   1326   OPT_gcoff,                                 /* -gcoff */
   1327   OPT_gdwarf_,                               /* -gdwarf+ */
   1328   OPT_gdwarf_2,                              /* -gdwarf-2 */
   1329   OPT_gdwarf_4,                              /* -gdwarf-4 */
   1330   OPT_gen_decls,                             /* -gen-decls */
   1331   OPT_ggdb,                                  /* -ggdb */
   1332   OPT_gmlt,                                  /* -gmlt */
   1333   OPT_gnat,                                  /* -gnat */
   1334   OPT_gnatO,                                 /* -gnatO */
   1335   OPT_gstabs,                                /* -gstabs */
   1336   OPT_gstabs_,                               /* -gstabs+ */
   1337   OPT_gvms,                                  /* -gvms */
   1338   OPT_gxcoff,                                /* -gxcoff */
   1339   OPT_gxcoff_,                               /* -gxcoff+ */
   1340   OPT_idirafter,                             /* -idirafter */
   1341   OPT_imacros,                               /* -imacros */
   1342   OPT_imultilib,                             /* -imultilib */
   1343   OPT_include,                               /* -include */
   1344   OPT_iprefix,                               /* -iprefix */
   1345   OPT_iquote,                                /* -iquote */
   1346   OPT_isysroot,                              /* -isysroot */
   1347   OPT_isystem,                               /* -isystem */
   1348   OPT_iwithprefix,                           /* -iwithprefix */
   1349   OPT_iwithprefixbefore,                     /* -iwithprefixbefore */
   1350   OPT_lang_asm,                              /* -lang-asm */
   1351   OPT_lang_objc,                             /* -lang-objc */
   1352   OPT_mabi_,                                 /* -mabi= */
   1353   OPT_mabort_on_noreturn,                    /* -mabort-on-noreturn */
   1354   OPT_mandroid,                              /* -mandroid */
   1355   OPT_mapcs,                                 /* -mapcs */
   1356   OPT_mapcs_float,                           /* -mapcs-float */
   1357   OPT_mapcs_frame,                           /* -mapcs-frame */
   1358   OPT_mapcs_reentrant,                       /* -mapcs-reentrant */
   1359   OPT_mapcs_stack_check,                     /* -mapcs-stack-check */
   1360   OPT_march_,                                /* -march= */
   1361   OPT_marm,                                  /* -marm */
   1362   OPT_mbig_endian,                           /* -mbig-endian */
   1363   OPT_mcallee_super_interworking,            /* -mcallee-super-interworking */
   1364   OPT_mcaller_super_interworking,            /* -mcaller-super-interworking */
   1365   OPT_mcirrus_fix_invalid_insns,             /* -mcirrus-fix-invalid-insns */
   1366   OPT_mcpu_,                                 /* -mcpu= */
   1367   OPT_mfix_cortex_m3_ldrd,                   /* -mfix-cortex-m3-ldrd */
   1368   OPT_mfloat_abi_,                           /* -mfloat-abi= */
   1369   OPT_mfp_,                                  /* -mfp= */
   1370   OPT_mfpe,                                  /* -mfpe */
   1371   OPT_mfpe_,                                 /* -mfpe= */
   1372   OPT_mfpu_,                                 /* -mfpu= */
   1373   OPT_mhard_float,                           /* -mhard-float */
   1374   OPT_mlittle_endian,                        /* -mlittle-endian */
   1375   OPT_mlong_calls,                           /* -mlong-calls */
   1376   OPT_mpic_register_,                        /* -mpic-register= */
   1377   OPT_mpoke_function_name,                   /* -mpoke-function-name */
   1378   OPT_msched_prolog,                         /* -msched-prolog */
   1379   OPT_msingle_pic_base,                      /* -msingle-pic-base */
   1380   OPT_msoft_float,                           /* -msoft-float */
   1381   OPT_mstructure_size_boundary_,             /* -mstructure-size-boundary= */
   1382   OPT_mthumb,                                /* -mthumb */
   1383   OPT_mthumb_interwork,                      /* -mthumb-interwork */
   1384   OPT_mtp_,                                  /* -mtp= */
   1385   OPT_mtpcs_frame,                           /* -mtpcs-frame */
   1386   OPT_mtpcs_leaf_frame,                      /* -mtpcs-leaf-frame */
   1387   OPT_mtune_,                                /* -mtune= */
   1388   OPT_mvectorize_with_neon_quad,             /* -mvectorize-with-neon-quad */
   1389   OPT_mword_relocations,                     /* -mword-relocations */
   1390   OPT_mwords_little_endian,                  /* -mwords-little-endian */
   1391   OPT_nocpp,                                 /* -nocpp */
   1392   OPT_nostdinc,                              /* -nostdinc */
   1393   OPT_nostdinc__,                            /* -nostdinc++ */
   1394   OPT_nostdlib,                              /* -nostdlib */
   1395   OPT_o,                                     /* -o */
   1396   OPT_p,                                     /* -p */
   1397   OPT_pedantic,                              /* -pedantic */
   1398   OPT_pedantic_errors,                       /* -pedantic-errors */
   1399   OPT_pie,                                   /* -pie */
   1400   OPT_print_objc_runtime_info,               /* -print-objc-runtime-info */
   1401   OPT_print_pch_checksum,                    /* -print-pch-checksum */
   1402   OPT_quiet,                                 /* -quiet */
   1403   OPT_remap,                                 /* -remap */
   1404   OPT_shared,                                /* -shared */
   1405   OPT_static_libgfortran,                    /* -static-libgfortran */
   1406   OPT_std_c__0x,                             /* -std=c++0x */
   1407   OPT_std_c__98,                             /* -std=c++98 */
   1408   OPT_std_c89,                               /* -std=c89 */
   1409   OPT_std_c99,                               /* -std=c99 */
   1410   OPT_std_c9x,                               /* -std=c9x */
   1411   OPT_std_f2003,                             /* -std=f2003 */
   1412   OPT_std_f2008,                             /* -std=f2008 */
   1413   OPT_std_f95,                               /* -std=f95 */
   1414   OPT_std_gnu,                               /* -std=gnu */
   1415   OPT_std_gnu__0x,                           /* -std=gnu++0x */
   1416   OPT_std_gnu__98,                           /* -std=gnu++98 */
   1417   OPT_std_gnu89,                             /* -std=gnu89 */
   1418   OPT_std_gnu99,                             /* -std=gnu99 */
   1419   OPT_std_gnu9x,                             /* -std=gnu9x */
   1420   OPT_std_iso9899_1990,                      /* -std=iso9899:1990 */
   1421   OPT_std_iso9899_199409,                    /* -std=iso9899:199409 */
   1422   OPT_std_iso9899_1999,                      /* -std=iso9899:1999 */
   1423   OPT_std_iso9899_199x,                      /* -std=iso9899:199x */
   1424   OPT_std_legacy,                            /* -std=legacy */
   1425   OPT_traditional_cpp,                       /* -traditional-cpp */
   1426   OPT_trigraphs,                             /* -trigraphs */
   1427   OPT_undef,                                 /* -undef */
   1428   OPT_v,                                     /* -v */
   1429   OPT_version,                               /* -version */
   1430   OPT_w,                                     /* -w */
   1431   N_OPTS
   1432 };
   1433 
   1434 #endif /* OPTIONS_H */
   1435