diff options
Diffstat (limited to 'contrib/gcc/flags.h')
-rw-r--r-- | contrib/gcc/flags.h | 91 |
1 files changed, 23 insertions, 68 deletions
diff --git a/contrib/gcc/flags.h b/contrib/gcc/flags.h index 0a8979d2dc9e..85e07924b5d7 100644 --- a/contrib/gcc/flags.h +++ b/contrib/gcc/flags.h @@ -1,5 +1,5 @@ /* Compilation switch flag definitions for GCC. - Copyright (C) 1987, 1988, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2002 + Copyright (C) 1987, 1988, 1994, 1995, 1996, 1997, 1998, 1999, 2000 Free Software Foundation, Inc. This file is part of GCC. @@ -126,20 +126,10 @@ extern int warn_unknown_pragmas; extern int warn_shadow; -/* Warn if a switch on an enum, that does not have a default case, - fails to have a case for every enum value. */ +/* Warn if a switch on an enum fails to have a case for every enum value. */ extern int warn_switch; -/* Warn if a switch does not have a default case. */ - -extern int warn_switch_default; - -/* Warn if a switch on an enum fails to have a case for every enum - value (regardless of the presence or otherwise of a default case). */ - -extern int warn_switch_enum; - /* Nonzero means warn about function definitions that default the return type or that use a null return and have a return-type other than void. */ @@ -184,11 +174,6 @@ extern int warn_disabled_optimization; extern int warn_deprecated_decl; -/* Nonzero means warn about constructs which might not be strict - aliasing safe. */ - -extern int warn_strict_aliasing; - /* Nonzero if generating code to do profiling. */ extern int profile_flag; @@ -209,10 +194,6 @@ extern int flag_branch_probabilities; extern int flag_reorder_blocks; -/* Nonzero if functions should be reordered. */ - -extern int flag_reorder_functions; - /* Nonzero if registers should be renamed. */ extern int flag_rename_registers; @@ -364,10 +345,6 @@ extern int flag_errno_math; extern int flag_unsafe_math_optimizations; -/* Nonzero means that no NaNs or +-Infs are expected. */ - -extern int flag_finite_math_only; - /* Zero means that floating-point math operations cannot generate a (user-visible) trap. This is the case, for example, in nonstop IEEE 754 arithmetic. */ @@ -431,7 +408,7 @@ extern int flag_schedule_insns_after_reload; /* The following flags have effect only for scheduling before register allocation: - flag_schedule_interblock means schedule insns across basic blocks. + flag_schedule_interblock means schedule insns accross basic blocks. flag_schedule_speculative means allow speculative motion of non-load insns. flag_schedule_speculative_load means allow speculative motion of some load insns. @@ -462,13 +439,19 @@ extern int flag_delayed_branch; extern int flag_dump_unnumbered; +/* Nonzero means pretend it is OK to examine bits of target floats, + even if that isn't true. The resulting code will have incorrect constants, + but the same series of instructions that the native compiler would make. */ + +extern int flag_pretend_float; + /* Nonzero means change certain warnings into errors. Usually these are warnings about failure to conform to some standard. */ extern int flag_pedantic_errors; -/* Nonzero means generate position-independent code. 1 vs 2 for a - target-dependent "small" or "large" mode. */ +/* Nonzero means generate position-independent code. + This is not fully implemented yet. */ extern int flag_pic; @@ -563,10 +546,19 @@ extern int flag_peephole2; /* Try to guess branch probablities. */ extern int flag_guess_branch_prob; +/* -fbounded-pointers causes gcc to compile pointers as composite + objects occupying three words: the pointer value, the base address + of the referent object, and the address immediately beyond the end + of the referent object. The base and extent allow us to perform + runtime bounds checking. -fbounded-pointers implies -fcheck-bounds. */ +extern int flag_bounded_pointers; + /* -fcheck-bounds causes gcc to generate array bounds checks. - For C, C++ and ObjC: defaults off. + For C, C++: defaults to value of flag_bounded_pointers. + For ObjC: defaults to off. For Java: defaults to on. - For Fortran: defaults to off. */ + For Fortran: defaults to off. + For CHILL: defaults to off. */ extern int flag_bounds_check; /* This will attempt to merge constant section constants, if 1 only @@ -646,48 +638,11 @@ extern int flag_gcse_sm; extern int flag_eliminate_dwarf2_dups; -/* Nonzero means to collect statistics which might be expensive +/* Non-zero means to collect statistics which might be expensive and to print them when we are done. */ extern int flag_detailed_statistics; /* Nonzero means enable synchronous exceptions for non-call instructions. */ extern int flag_non_call_exceptions; -/* Nonzero means put zero initialized data in the bss section. */ -extern int flag_zero_initialized_in_bss; - -/* Nonzero means disable transformations observable by signaling NaNs. */ -extern int flag_signaling_nans; - -/* A string that's used when a random name is required. NULL means - to make it really random. */ - -extern const char *flag_random_seed; - -/* True if the given mode has a NaN representation and the treatment of - NaN operands is important. Certain optimizations, such as folding - x * 0 into x, are not correct for NaN operands, and are normally - disabled for modes with NaNs. The user can ask for them to be - done anyway using the -funsafe-math-optimizations switch. */ -#define HONOR_NANS(MODE) \ - (MODE_HAS_NANS (MODE) && !flag_finite_math_only) - -/* Like HONOR_NANs, but true if we honor signaling NaNs (or sNaNs). */ -#define HONOR_SNANS(MODE) (flag_signaling_nans && HONOR_NANS (MODE)) - -/* As for HONOR_NANS, but true if the mode can represent infinity and - the treatment of infinite values is important. */ -#define HONOR_INFINITIES(MODE) \ - (MODE_HAS_INFINITIES (MODE) && !flag_finite_math_only) - -/* Like HONOR_NANS, but true if the given mode distinguishes between - postive and negative zero, and the sign of zero is important. */ -#define HONOR_SIGNED_ZEROS(MODE) \ - (MODE_HAS_SIGNED_ZEROS (MODE) && !flag_unsafe_math_optimizations) - -/* Like HONOR_NANS, but true if given mode supports sign-dependent rounding, - and the rounding mode is important. */ -#define HONOR_SIGN_DEPENDENT_ROUNDING(MODE) \ - (MODE_HAS_SIGN_DEPENDENT_ROUNDING (MODE) && !flag_unsafe_math_optimizations) - #endif /* ! GCC_FLAGS_H */ |