Deleted Added
sdiff udiff text old ( 107604 ) new ( 117404 )
full compact
1/* Compilation switch flag definitions for GCC.
2 Copyright (C) 1987, 1988, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2002
3 Free Software Foundation, Inc.
4
5This file is part of GCC.
6
7GCC is free software; you can redistribute it and/or modify it under
8the terms of the GNU General Public License as published by the Free
9Software Foundation; either version 2, or (at your option) any later
10version.

--- 110 unchanged lines hidden (view full) ---

121 pragmas. */
122
123extern int warn_unknown_pragmas;
124
125/* Nonzero means warn about all declarations which shadow others. */
126
127extern int warn_shadow;
128
129/* Warn if a switch on an enum, that does not have a default case,
130 fails to have a case for every enum value. */
131
132extern int warn_switch;
133
134/* Warn if a switch does not have a default case. */
135
136extern int warn_switch_default;
137
138/* Warn if a switch on an enum fails to have a case for every enum
139 value (regardless of the presence or otherwise of a default case). */
140
141extern int warn_switch_enum;
142
143/* Nonzero means warn about function definitions that default the return type
144 or that use a null return and have a return-type other than void. */
145
146extern int warn_return_type;
147
148/* Warn about functions which might be candidates for attribute noreturn. */
149
150extern int warn_missing_noreturn;

--- 28 unchanged lines hidden (view full) ---

179
180extern int warn_disabled_optimization;
181
182/* Nonzero means warn about uses of __attribute__((deprecated))
183 declarations. */
184
185extern int warn_deprecated_decl;
186
187/* Nonzero means warn about constructs which might not be strict
188 aliasing safe. */
189
190extern int warn_strict_aliasing;
191
192/* Nonzero if generating code to do profiling. */
193
194extern int profile_flag;
195
196/* Nonzero if generating code to profile program flow graph arcs. */
197
198extern int profile_arc_flag;
199

--- 4 unchanged lines hidden (view full) ---

204/* Nonzero indicates that branch taken probabilities should be calculated. */
205
206extern int flag_branch_probabilities;
207
208/* Nonzero if basic blocks should be reordered. */
209
210extern int flag_reorder_blocks;
211
212/* Nonzero if functions should be reordered. */
213
214extern int flag_reorder_functions;
215
216/* Nonzero if registers should be renamed. */
217
218extern int flag_rename_registers;
219
220/* Nonzero for -pedantic switch: warn about anything
221 that standard C forbids. */
222
223extern int pedantic;

--- 135 unchanged lines hidden (view full) ---

359
360/* Nonzero means that unsafe floating-point math optimizations are allowed
361 for the sake of speed. IEEE compliance is not guaranteed, and operations
362 are allowed to assume that their arguments and results are "normal"
363 (e.g., nonnegative for SQRT). */
364
365extern int flag_unsafe_math_optimizations;
366
367/* Nonzero means that no NaNs or +-Infs are expected. */
368
369extern int flag_finite_math_only;
370
371/* Zero means that floating-point math operations cannot generate a
372 (user-visible) trap. This is the case, for example, in nonstop
373 IEEE 754 arithmetic. */
374
375extern int flag_trapping_math;
376
377/* 0 means straightforward implementation of complex divide acceptable.
378 1 means wide ranges of inputs must work for complex divide.

--- 47 unchanged lines hidden (view full) ---

426 global_alloc. */
427
428extern int flag_schedule_insns;
429extern int flag_schedule_insns_after_reload;
430
431/* The following flags have effect only for scheduling before register
432 allocation:
433
434 flag_schedule_interblock means schedule insns across basic blocks.
435 flag_schedule_speculative means allow speculative motion of non-load insns.
436 flag_schedule_speculative_load means allow speculative motion of some
437 load insns.
438 flag_schedule_speculative_load_dangerous allows speculative motion of more
439 load insns. */
440
441extern int flag_schedule_interblock;
442extern int flag_schedule_speculative;

--- 14 unchanged lines hidden (view full) ---

457
458extern int flag_delayed_branch;
459
460/* Nonzero means suppress output of instruction numbers and line number
461 notes in debugging dumps. */
462
463extern int flag_dump_unnumbered;
464
465/* Nonzero means change certain warnings into errors.
466 Usually these are warnings about failure to conform to some standard. */
467
468extern int flag_pedantic_errors;
469
470/* Nonzero means generate position-independent code. 1 vs 2 for a
471 target-dependent "small" or "large" mode. */
472
473extern int flag_pic;
474
475/* Nonzero means generate extra code for exception handling and enable
476 exception handling. */
477
478extern int flag_exceptions;
479

--- 78 unchanged lines hidden (view full) ---

558extern int flag_instrument_function_entry_exit;
559
560/* Perform a peephole pass before sched2. */
561extern int flag_peephole2;
562
563/* Try to guess branch probablities. */
564extern int flag_guess_branch_prob;
565
566/* -fcheck-bounds causes gcc to generate array bounds checks.
567 For C, C++ and ObjC: defaults off.
568 For Java: defaults to on.
569 For Fortran: defaults to off. */
570extern int flag_bounds_check;
571
572/* This will attempt to merge constant section constants, if 1 only
573 string constants and constants from constant pool, if 2 also constant
574 variables. */
575extern int flag_merge_constants;
576
577/* If one, renumber instruction UIDs to reduce the number of

--- 63 unchanged lines hidden (view full) ---

641
642extern int flag_gcse_sm;
643
644
645/* Nonzero means we should do dwarf2 duplicate elimination. */
646
647extern int flag_eliminate_dwarf2_dups;
648
649/* Nonzero means to collect statistics which might be expensive
650 and to print them when we are done. */
651extern int flag_detailed_statistics;
652
653/* Nonzero means enable synchronous exceptions for non-call instructions. */
654extern int flag_non_call_exceptions;
655
656/* Nonzero means put zero initialized data in the bss section. */
657extern int flag_zero_initialized_in_bss;
658
659/* Nonzero means disable transformations observable by signaling NaNs. */
660extern int flag_signaling_nans;
661
662/* A string that's used when a random name is required. NULL means
663 to make it really random. */
664
665extern const char *flag_random_seed;
666
667/* True if the given mode has a NaN representation and the treatment of
668 NaN operands is important. Certain optimizations, such as folding
669 x * 0 into x, are not correct for NaN operands, and are normally
670 disabled for modes with NaNs. The user can ask for them to be
671 done anyway using the -funsafe-math-optimizations switch. */
672#define HONOR_NANS(MODE) \
673 (MODE_HAS_NANS (MODE) && !flag_finite_math_only)
674
675/* Like HONOR_NANs, but true if we honor signaling NaNs (or sNaNs). */
676#define HONOR_SNANS(MODE) (flag_signaling_nans && HONOR_NANS (MODE))
677
678/* As for HONOR_NANS, but true if the mode can represent infinity and
679 the treatment of infinite values is important. */
680#define HONOR_INFINITIES(MODE) \
681 (MODE_HAS_INFINITIES (MODE) && !flag_finite_math_only)
682
683/* Like HONOR_NANS, but true if the given mode distinguishes between
684 postive and negative zero, and the sign of zero is important. */
685#define HONOR_SIGNED_ZEROS(MODE) \
686 (MODE_HAS_SIGNED_ZEROS (MODE) && !flag_unsafe_math_optimizations)
687
688/* Like HONOR_NANS, but true if given mode supports sign-dependent rounding,
689 and the rounding mode is important. */
690#define HONOR_SIGN_DEPENDENT_ROUNDING(MODE) \
691 (MODE_HAS_SIGN_DEPENDENT_ROUNDING (MODE) && !flag_unsafe_math_optimizations)
692
693#endif /* ! GCC_FLAGS_H */