X-Git-Url: http://git.sourceforge.jp/view?a=blobdiff_plain;f=gcc%2Fflags.h;h=bc51b2bda348f81f3a8e7d7ea04aa08c2d8bbe0b;hb=e93bcd03af477f080698c0ef08ad3f048e984dba;hp=6bc5dd7b0ccb13961a03834eae44f5c1f107b8a2;hpb=cfaf579ddfaec5cb9bc5d220eadd212786138f3d;p=pf3gnuchains%2Fgcc-fork.git diff --git a/gcc/flags.h b/gcc/flags.h index 6bc5dd7b0cc..bc51b2bda34 100644 --- a/gcc/flags.h +++ b/gcc/flags.h @@ -1,6 +1,6 @@ /* Compilation switch flag definitions for GCC. Copyright (C) 1987, 1988, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2002, - 2003, 2004, 2005, 2006, 2007, 2008 + 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. This file is part of GCC. @@ -24,7 +24,6 @@ along with GCC; see the file COPYING3. If not see #include "coretypes.h" #include "options.h" -#include "real.h" enum debug_info_type { @@ -111,14 +110,20 @@ extern int optimize; extern int optimize_size; -/* Do print extra warnings (such as for uninitialized variables). - -W/-Wextra. */ +/* True if this is the LTO front end (lto1). This is used to disable + gimple generation and lowering passes that are normally run on the + output of a front end. These passes must be bypassed for lto since + they have already been done before the gimple was written. */ -extern bool extra_warnings; +extern bool in_lto_p; -/* Used to set the level of -Wstrict-aliasing, when no level is specified. +/* Nonzero if we should write GIMPLE bytecode for link-time optimization. */ + +extern int flag_generate_lto; + +/* Used to set the level of -Wstrict-aliasing, when no level is specified. The external way to set the default level is to use - -Wstrict-aliasing=level. + -Wstrict-aliasing=level. ONOFF is assumed to take value 1 when -Wstrict-aliasing is specified, and 0 otherwise. After calling this function, wstrict_aliasing will be set to the default value of -Wstrict_aliasing=level. */ @@ -177,6 +182,10 @@ extern int flag_gen_aux_info; extern int flag_dump_unnumbered; +/* True if printing into -fdump-final-insns= dump. */ + +extern bool final_insns_dump_p; + /* Nonzero means change certain warnings into errors. Usually these are warnings about failure to conform to some standard. */ @@ -227,6 +236,21 @@ extern enum ira_region flag_ira_region; extern unsigned int flag_ira_verbose; +/* The options for excess precision. */ +enum excess_precision +{ + EXCESS_PRECISION_DEFAULT, + EXCESS_PRECISION_FAST, + EXCESS_PRECISION_STANDARD +}; + +/* The excess precision specified on the command line, or defaulted by + the front end. */ +extern enum excess_precision flag_excess_precision_cmdline; + +/* The excess precision currently in effect. */ +extern enum excess_precision flag_excess_precision; + /* Other basic status info about current function. */ @@ -240,8 +264,11 @@ extern bool g_switch_set; /* Same for selective scheduling. */ extern bool sel_sched_switch_set; -/* Values of the -falign-* flags: how much to align labels in code. - 0 means `use default', 1 means `don't align'. +/* Whether to run the warn_unused_result attribute pass. */ +extern bool flag_warn_unused_result; + +/* Values of the -falign-* flags: how much to align labels in code. + 0 means `use default', 1 means `don't align'. For each variable, there is an _log variant which is the power of two not less than the variable, for .align output. */ @@ -310,39 +337,6 @@ extern enum stack_check_type flag_stack_check; instrumentation. */ extern bool flag_instrument_functions_exclude_p (tree fndecl); -/* Emit warning if the function call is disallowed under - -Wdisallowed-function-list=... */ -extern void warn_if_disallowed_function_p (const_tree fncall); - -/* True, if the -Wdisallowed-function-list=... option has been specified. */ -extern bool warn_disallowed_functions; - -/* 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 0, 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 - positive and negative zero, and the sign of zero is important. */ -#define HONOR_SIGNED_ZEROS(MODE) \ - (MODE_HAS_SIGNED_ZEROS (MODE) && flag_signed_zeros) - -/* 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_rounding_math) - /* True if overflow wraps around for the given integral type. That is, TYPE_MAX + 1 == TYPE_MIN. */ #define TYPE_OVERFLOW_WRAPS(TYPE) \