Deleted Added
full compact
flags.h (107604) flags.h (117404)
1/* Compilation switch flag definitions for GCC.
1/* Compilation switch flag definitions for GCC.
2 Copyright (C) 1987, 1988, 1994, 1995, 1996, 1997, 1998, 1999, 2000
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
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 fails to have a case for every enum value. */
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. */
130
131extern int warn_switch;
132
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
133/* Nonzero means warn about function definitions that default the return type
134 or that use a null return and have a return-type other than void. */
135
136extern int warn_return_type;
137
138/* Warn about functions which might be candidates for attribute noreturn. */
139
140extern int warn_missing_noreturn;

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

169
170extern int warn_disabled_optimization;
171
172/* Nonzero means warn about uses of __attribute__((deprecated))
173 declarations. */
174
175extern int warn_deprecated_decl;
176
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
177/* Nonzero if generating code to do profiling. */
178
179extern int profile_flag;
180
181/* Nonzero if generating code to profile program flow graph arcs. */
182
183extern int profile_arc_flag;
184

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

189/* Nonzero indicates that branch taken probabilities should be calculated. */
190
191extern int flag_branch_probabilities;
192
193/* Nonzero if basic blocks should be reordered. */
194
195extern int flag_reorder_blocks;
196
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
197/* Nonzero if registers should be renamed. */
198
199extern int flag_rename_registers;
200
201/* Nonzero for -pedantic switch: warn about anything
202 that standard C forbids. */
203
204extern int pedantic;

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

340
341/* Nonzero means that unsafe floating-point math optimizations are allowed
342 for the sake of speed. IEEE compliance is not guaranteed, and operations
343 are allowed to assume that their arguments and results are "normal"
344 (e.g., nonnegative for SQRT). */
345
346extern int flag_unsafe_math_optimizations;
347
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
348/* Zero means that floating-point math operations cannot generate a
349 (user-visible) trap. This is the case, for example, in nonstop
350 IEEE 754 arithmetic. */
351
352extern int flag_trapping_math;
353
354/* 0 means straightforward implementation of complex divide acceptable.
355 1 means wide ranges of inputs must work for complex divide.

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

403 global_alloc. */
404
405extern int flag_schedule_insns;
406extern int flag_schedule_insns_after_reload;
407
408/* The following flags have effect only for scheduling before register
409 allocation:
410
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
411 flag_schedule_interblock means schedule insns accross basic blocks.
434 flag_schedule_interblock means schedule insns across basic blocks.
412 flag_schedule_speculative means allow speculative motion of non-load insns.
413 flag_schedule_speculative_load means allow speculative motion of some
414 load insns.
415 flag_schedule_speculative_load_dangerous allows speculative motion of more
416 load insns. */
417
418extern int flag_schedule_interblock;
419extern int flag_schedule_speculative;

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

434
435extern int flag_delayed_branch;
436
437/* Nonzero means suppress output of instruction numbers and line number
438 notes in debugging dumps. */
439
440extern int flag_dump_unnumbered;
441
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
442/* Nonzero means pretend it is OK to examine bits of target floats,
443 even if that isn't true. The resulting code will have incorrect constants,
444 but the same series of instructions that the native compiler would make. */
445
446extern int flag_pretend_float;
447
448/* Nonzero means change certain warnings into errors.
449 Usually these are warnings about failure to conform to some standard. */
450
451extern int flag_pedantic_errors;
452
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
453/* Nonzero means generate position-independent code.
454 This is not fully implemented yet. */
470/* Nonzero means generate position-independent code. 1 vs 2 for a
471 target-dependent "small" or "large" mode. */
455
456extern int flag_pic;
457
458/* Nonzero means generate extra code for exception handling and enable
459 exception handling. */
460
461extern int flag_exceptions;
462

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

541extern int flag_instrument_function_entry_exit;
542
543/* Perform a peephole pass before sched2. */
544extern int flag_peephole2;
545
546/* Try to guess branch probablities. */
547extern int flag_guess_branch_prob;
548
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
549/* -fbounded-pointers causes gcc to compile pointers as composite
550 objects occupying three words: the pointer value, the base address
551 of the referent object, and the address immediately beyond the end
552 of the referent object. The base and extent allow us to perform
553 runtime bounds checking. -fbounded-pointers implies -fcheck-bounds. */
554extern int flag_bounded_pointers;
555
556/* -fcheck-bounds causes gcc to generate array bounds checks.
566/* -fcheck-bounds causes gcc to generate array bounds checks.
557 For C, C++: defaults to value of flag_bounded_pointers.
558 For ObjC: defaults to off.
567 For C, C++ and ObjC: defaults off.
559 For Java: defaults to on.
568 For Java: defaults to on.
560 For Fortran: defaults to off.
561 For CHILL: defaults to off. */
569 For Fortran: defaults to off. */
562extern int flag_bounds_check;
563
564/* This will attempt to merge constant section constants, if 1 only
565 string constants and constants from constant pool, if 2 also constant
566 variables. */
567extern int flag_merge_constants;
568
569/* If one, renumber instruction UIDs to reduce the number of

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

633
634extern int flag_gcse_sm;
635
636
637/* Nonzero means we should do dwarf2 duplicate elimination. */
638
639extern int flag_eliminate_dwarf2_dups;
640
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
641/* Non-zero means to collect statistics which might be expensive
649/* Nonzero means to collect statistics which might be expensive
642 and to print them when we are done. */
643extern int flag_detailed_statistics;
644
645/* Nonzero means enable synchronous exceptions for non-call instructions. */
646extern int flag_non_call_exceptions;
647
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
648#endif /* ! GCC_FLAGS_H */
693#endif /* ! GCC_FLAGS_H */