flag-types.h: New.
* flag-types.h: New. * Makefile.in (TH_H): Include $(OPTIONS_H) instead of $(FLAGS_H). (FLAGS_H): Include flag-types.h. Include $(OPTIONS_H) instead of options.h. (OPTIONS_H): Define. (c-family/c-opts.o, lto-opts.o, opts.o): Use $(OPTIONS_H) instead of options.h. * configure.ac (tm_include_list): Include options.h not flags.h. * configure: Regenerate. * flags.h: Include flag-types.h. Include options.h at top of file again. (enum debug_info_type, enum debug_info_level, enum debug_info_usage, enum symbol_visibility, struct visibility_flags, enum ira_algorithm, enum ira_region, enum excess_precision, enum graph_dump_types, enum stack_check_type, enum warn_strict_overflow_code): Move to flag-types.h * opth-gen.awk: Include flag-types.h in options.h. ada: * gcc-interface/Make-lang.in (ada/misc.o): Use $(OPTIONS_H) instead of options.h. java: * Make-lang.in (java/lang.o): Use $(OPTIONS_H) instead of options.h. From-SVN: r165362
This commit is contained in:
parent
beacce0274
commit
f938f60cb6
|
@ -1,3 +1,23 @@
|
|||
2010-10-12 Joseph Myers <joseph@codesourcery.com>
|
||||
|
||||
* flag-types.h: New.
|
||||
* Makefile.in (TH_H): Include $(OPTIONS_H) instead of $(FLAGS_H).
|
||||
(FLAGS_H): Include flag-types.h. Include $(OPTIONS_H) instead of
|
||||
options.h.
|
||||
(OPTIONS_H): Define.
|
||||
(c-family/c-opts.o, lto-opts.o, opts.o): Use $(OPTIONS_H) instead
|
||||
of options.h.
|
||||
* configure.ac (tm_include_list): Include options.h not flags.h.
|
||||
* configure: Regenerate.
|
||||
* flags.h: Include flag-types.h. Include options.h at top of file
|
||||
again.
|
||||
(enum debug_info_type, enum debug_info_level, enum
|
||||
debug_info_usage, enum symbol_visibility, struct visibility_flags,
|
||||
enum ira_algorithm, enum ira_region, enum excess_precision, enum
|
||||
graph_dump_types, enum stack_check_type, enum
|
||||
warn_strict_overflow_code): Move to flag-types.h
|
||||
* opth-gen.awk: Include flag-types.h in options.h.
|
||||
|
||||
2010-10-12 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
* expr.c (store_expr): Share code for STRING_CST and
|
||||
|
|
|
@ -823,7 +823,7 @@ CONFIG_H = config.h $(host_xm_file_list)
|
|||
TCONFIG_H = tconfig.h $(xm_file_list)
|
||||
TM_P_H = tm_p.h $(tm_p_file_list)
|
||||
GTM_H = tm.h $(tm_file_list) insn-constants.h
|
||||
TM_H = $(GTM_H) insn-flags.h $(FLAGS_H)
|
||||
TM_H = $(GTM_H) insn-flags.h $(OPTIONS_H)
|
||||
|
||||
# Variables for version information.
|
||||
BASEVER := $(srcdir)/BASE-VER # 4.x.y
|
||||
|
@ -898,7 +898,8 @@ DEMANGLE_H = $(srcdir)/../include/demangle.h
|
|||
RECOG_H = recog.h
|
||||
ALIAS_H = alias.h coretypes.h
|
||||
EMIT_RTL_H = emit-rtl.h
|
||||
FLAGS_H = flags.h coretypes.h options.h
|
||||
FLAGS_H = flags.h coretypes.h flag-types.h $(OPTIONS_H)
|
||||
OPTIONS_H = options.h flag-types.h
|
||||
FUNCTION_H = function.h $(TREE_H) $(HASHTAB_H) vecprim.h $(TM_H)
|
||||
EXPR_H = expr.h insn-config.h $(FUNCTION_H) $(RTL_H) $(FLAGS_H) $(TREE_H) $(MACHMODE_H) $(EMIT_RTL_H)
|
||||
OPTABS_H = optabs.h insn-codes.h
|
||||
|
@ -2126,7 +2127,7 @@ c-family/c-omp.o : c-family/c-omp.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
|
|||
c-family/c-opts.o : c-family/c-opts.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
|
||||
$(TREE_H) $(C_PRAGMA_H) $(FLAGS_H) $(TOPLEV_H) langhooks.h \
|
||||
$(DIAGNOSTIC_H) intl.h debug.h $(C_COMMON_H) \
|
||||
opts.h options.h $(MKDEPS_H) incpath.h cppdefault.h
|
||||
opts.h $(OPTIONS_H) $(MKDEPS_H) incpath.h cppdefault.h
|
||||
$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) \
|
||||
$< $(OUTPUT_OPTION) @TARGET_SYSTEM_ROOT_DEFINE@
|
||||
|
||||
|
@ -2327,7 +2328,7 @@ lto-symtab.o: lto-symtab.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
|
|||
toplev.h $(TREE_H) $(GIMPLE_H) $(GGC_H) $(LAMBDA_H) $(HASHTAB_H) \
|
||||
$(LTO_STREAMER_H) $(LINKER_PLUGIN_API_H) gt-lto-symtab.h
|
||||
lto-opts.o: lto-opts.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TREE_H) \
|
||||
$(HASHTAB_H) $(GGC_H) $(BITMAP_H) $(FLAGS_H) opts.h options.h \
|
||||
$(HASHTAB_H) $(GGC_H) $(BITMAP_H) $(FLAGS_H) opts.h $(OPTIONS_H) \
|
||||
$(TARGET_H) $(TOPLEV_H) $(DIAGNOSTIC_H) $(LTO_STREAMER_H)
|
||||
lto-streamer.o: lto-streamer.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
|
||||
$(TM_H) $(TREE_H) $(GIMPLE_H) $(BITMAP_H) $(LTO_STREAMER_H) $(FLAGS_H) \
|
||||
|
@ -2819,7 +2820,7 @@ fold-const.o : fold-const.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
|
|||
$(GIMPLE_H) realmpfr.h $(TREE_FLOW_H)
|
||||
diagnostic.o : diagnostic.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
|
||||
version.h $(INPUT_H) intl.h $(DIAGNOSTIC_H) diagnostic.def
|
||||
opts.o : opts.c opts.h options.h $(TOPLEV_H) $(DIAGNOSTIC_CORE_H) $(CONFIG_H) $(SYSTEM_H) \
|
||||
opts.o : opts.c opts.h $(OPTIONS_H) $(TOPLEV_H) $(DIAGNOSTIC_CORE_H) $(CONFIG_H) $(SYSTEM_H) \
|
||||
coretypes.h $(TREE_H) $(TM_H) langhooks.h $(GGC_H) $(EXPR_H) $(RTL_H) \
|
||||
output.h $(DIAGNOSTIC_H) $(TM_P_H) $(INSN_ATTR_H) intl.h $(TARGET_H) \
|
||||
$(FLAGS_H) $(PARAMS_H) $(TREE_PASS_H) $(DBGCNT_H) debug.h \
|
||||
|
|
|
@ -1,3 +1,8 @@
|
|||
2010-10-12 Joseph Myers <joseph@codesourcery.com>
|
||||
|
||||
* gcc-interface/Make-lang.in (ada/misc.o): Use $(OPTIONS_H)
|
||||
instead of options.h.
|
||||
|
||||
2010-10-12 Robert Dewar <dewar@adacore.com>
|
||||
|
||||
* gnat_rm.texi: Clarify that 'Old can be used in preconditions and
|
||||
|
|
|
@ -1234,7 +1234,7 @@ ada/decl.o : ada/gcc-interface/decl.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
|
|||
ada/misc.o : ada/gcc-interface/misc.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
|
||||
$(TM_H) $(TREE_H) $(DIAGNOSTIC_H) $(TARGET_H) $(FUNCTION_H) \
|
||||
$(FLAGS_H) debug.h toplev.h langhooks.h \
|
||||
$(LANGHOOKS_DEF_H) opts.h options.h $(TREE_INLINE_H) $(PLUGIN_H) \
|
||||
$(LANGHOOKS_DEF_H) opts.h $(OPTIONS_H) $(TREE_INLINE_H) $(PLUGIN_H) \
|
||||
ada/gcc-interface/ada.h ada/adadecode.h ada/types.h ada/atree.h \
|
||||
ada/elists.h ada/namet.h ada/nlists.h ada/stringt.h ada/uintp.h ada/fe.h \
|
||||
ada/sinfo.h ada/einfo.h $(ADA_TREE_H) ada/gcc-interface/gigi.h \
|
||||
|
|
|
@ -10843,7 +10843,7 @@ tmake_file="${tmake_file_}"
|
|||
out_object_file=`basename $out_file .c`.o
|
||||
|
||||
tm_file_list="options.h"
|
||||
tm_include_list="flags.h insn-constants.h"
|
||||
tm_include_list="options.h insn-constants.h"
|
||||
for f in $tm_file; do
|
||||
case $f in
|
||||
./* )
|
||||
|
|
|
@ -1609,7 +1609,7 @@ tmake_file="${tmake_file_}"
|
|||
out_object_file=`basename $out_file .c`.o
|
||||
|
||||
tm_file_list="options.h"
|
||||
tm_include_list="flags.h insn-constants.h"
|
||||
tm_include_list="options.h insn-constants.h"
|
||||
for f in $tm_file; do
|
||||
case $f in
|
||||
./* )
|
||||
|
|
|
@ -0,0 +1,155 @@
|
|||
/* Compilation switch flag type definitions for GCC.
|
||||
Copyright (C) 1987, 1988, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2002,
|
||||
2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
|
||||
Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GCC.
|
||||
|
||||
GCC is free software; you can redistribute it and/or modify it under
|
||||
the terms of the GNU General Public License as published by the Free
|
||||
Software Foundation; either version 3, or (at your option) any later
|
||||
version.
|
||||
|
||||
GCC is distributed in the hope that it will be useful, but WITHOUT ANY
|
||||
WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with GCC; see the file COPYING3. If not see
|
||||
<http://www.gnu.org/licenses/>. */
|
||||
|
||||
#ifndef GCC_FLAG_TYPES_H
|
||||
#define GCC_FLAG_TYPES_H
|
||||
|
||||
enum debug_info_type
|
||||
{
|
||||
NO_DEBUG, /* Write no debug info. */
|
||||
DBX_DEBUG, /* Write BSD .stabs for DBX (using dbxout.c). */
|
||||
SDB_DEBUG, /* Write COFF for (old) SDB (using sdbout.c). */
|
||||
DWARF2_DEBUG, /* Write Dwarf v2 debug info (using dwarf2out.c). */
|
||||
XCOFF_DEBUG, /* Write IBM/Xcoff debug info (using dbxout.c). */
|
||||
VMS_DEBUG, /* Write VMS debug info (using vmsdbgout.c). */
|
||||
VMS_AND_DWARF2_DEBUG /* Write VMS debug info (using vmsdbgout.c).
|
||||
and DWARF v2 debug info (using dwarf2out.c). */
|
||||
};
|
||||
|
||||
enum debug_info_level
|
||||
{
|
||||
DINFO_LEVEL_NONE, /* Write no debugging info. */
|
||||
DINFO_LEVEL_TERSE, /* Write minimal info to support tracebacks only. */
|
||||
DINFO_LEVEL_NORMAL, /* Write info for all declarations (and line table). */
|
||||
DINFO_LEVEL_VERBOSE /* Write normal info plus #define/#undef info. */
|
||||
};
|
||||
|
||||
/* A major contribution to object and executable size is debug
|
||||
information size. A major contribution to debug information
|
||||
size is struct descriptions replicated in several object files.
|
||||
The following function determines whether or not debug information
|
||||
should be generated for a given struct. The indirect parameter
|
||||
indicates that the struct is being handled indirectly, via
|
||||
a pointer. See opts.c for the implementation. */
|
||||
|
||||
enum debug_info_usage
|
||||
{
|
||||
DINFO_USAGE_DFN, /* A struct definition. */
|
||||
DINFO_USAGE_DIR_USE, /* A direct use, such as the type of a variable. */
|
||||
DINFO_USAGE_IND_USE, /* An indirect use, such as through a pointer. */
|
||||
DINFO_USAGE_NUM_ENUMS /* The number of enumerators. */
|
||||
};
|
||||
|
||||
/* Enumerate visibility settings. This is deliberately ordered from most
|
||||
to least visibility. */
|
||||
#ifndef SYMBOL_VISIBILITY_DEFINED
|
||||
#define SYMBOL_VISIBILITY_DEFINED
|
||||
enum symbol_visibility
|
||||
{
|
||||
VISIBILITY_DEFAULT,
|
||||
VISIBILITY_PROTECTED,
|
||||
VISIBILITY_HIDDEN,
|
||||
VISIBILITY_INTERNAL
|
||||
};
|
||||
#endif
|
||||
|
||||
struct visibility_flags
|
||||
{
|
||||
unsigned inpragma : 1; /* True when in #pragma GCC visibility. */
|
||||
unsigned inlines_hidden : 1; /* True when -finlineshidden in effect. */
|
||||
};
|
||||
|
||||
/* The algorithm used for the integrated register allocator (IRA). */
|
||||
enum ira_algorithm
|
||||
{
|
||||
IRA_ALGORITHM_CB,
|
||||
IRA_ALGORITHM_PRIORITY
|
||||
};
|
||||
|
||||
/* The regions used for the integrated register allocator (IRA). */
|
||||
enum ira_region
|
||||
{
|
||||
IRA_REGION_ONE,
|
||||
IRA_REGION_ALL,
|
||||
IRA_REGION_MIXED
|
||||
};
|
||||
|
||||
/* The options for excess precision. */
|
||||
enum excess_precision
|
||||
{
|
||||
EXCESS_PRECISION_DEFAULT,
|
||||
EXCESS_PRECISION_FAST,
|
||||
EXCESS_PRECISION_STANDARD
|
||||
};
|
||||
|
||||
/* Selection of the graph form. */
|
||||
enum graph_dump_types
|
||||
{
|
||||
no_graph = 0,
|
||||
vcg
|
||||
};
|
||||
|
||||
/* Type of stack check. */
|
||||
enum stack_check_type
|
||||
{
|
||||
/* Do not check the stack. */
|
||||
NO_STACK_CHECK = 0,
|
||||
|
||||
/* Check the stack generically, i.e. assume no specific support
|
||||
from the target configuration files. */
|
||||
GENERIC_STACK_CHECK,
|
||||
|
||||
/* Check the stack and rely on the target configuration files to
|
||||
check the static frame of functions, i.e. use the generic
|
||||
mechanism only for dynamic stack allocations. */
|
||||
STATIC_BUILTIN_STACK_CHECK,
|
||||
|
||||
/* Check the stack and entirely rely on the target configuration
|
||||
files, i.e. do not use the generic mechanism at all. */
|
||||
FULL_BUILTIN_STACK_CHECK
|
||||
};
|
||||
|
||||
/* Names for the different levels of -Wstrict-overflow=N. The numeric
|
||||
values here correspond to N. */
|
||||
|
||||
enum warn_strict_overflow_code
|
||||
{
|
||||
/* Overflow warning that should be issued with -Wall: a questionable
|
||||
construct that is easy to avoid even when using macros. Example:
|
||||
folding (x + CONSTANT > x) to 1. */
|
||||
WARN_STRICT_OVERFLOW_ALL = 1,
|
||||
/* Overflow warning about folding a comparison to a constant because
|
||||
of undefined signed overflow, other than cases covered by
|
||||
WARN_STRICT_OVERFLOW_ALL. Example: folding (abs (x) >= 0) to 1
|
||||
(this is false when x == INT_MIN). */
|
||||
WARN_STRICT_OVERFLOW_CONDITIONAL = 2,
|
||||
/* Overflow warning about changes to comparisons other than folding
|
||||
them to a constant. Example: folding (x + 1 > 1) to (x > 0). */
|
||||
WARN_STRICT_OVERFLOW_COMPARISON = 3,
|
||||
/* Overflow warnings not covered by the above cases. Example:
|
||||
folding ((x * 10) / 5) to (x * 2). */
|
||||
WARN_STRICT_OVERFLOW_MISC = 4,
|
||||
/* Overflow warnings about reducing magnitude of constants in
|
||||
comparison. Example: folding (x + 2 > y) to (x + 1 >= y). */
|
||||
WARN_STRICT_OVERFLOW_MAGNITUDE = 5
|
||||
};
|
||||
|
||||
#endif /* ! GCC_FLAG_TYPES_H */
|
134
gcc/flags.h
134
gcc/flags.h
|
@ -23,54 +23,20 @@ along with GCC; see the file COPYING3. If not see
|
|||
#define GCC_FLAGS_H
|
||||
|
||||
#include "coretypes.h"
|
||||
#include "flag-types.h"
|
||||
#include "options.h"
|
||||
|
||||
#if !defined(IN_LIBGCC2) && !defined(IN_TARGET_LIBS) && !defined(IN_RTS)
|
||||
|
||||
enum debug_info_type
|
||||
{
|
||||
NO_DEBUG, /* Write no debug info. */
|
||||
DBX_DEBUG, /* Write BSD .stabs for DBX (using dbxout.c). */
|
||||
SDB_DEBUG, /* Write COFF for (old) SDB (using sdbout.c). */
|
||||
DWARF2_DEBUG, /* Write Dwarf v2 debug info (using dwarf2out.c). */
|
||||
XCOFF_DEBUG, /* Write IBM/Xcoff debug info (using dbxout.c). */
|
||||
VMS_DEBUG, /* Write VMS debug info (using vmsdbgout.c). */
|
||||
VMS_AND_DWARF2_DEBUG /* Write VMS debug info (using vmsdbgout.c).
|
||||
and DWARF v2 debug info (using dwarf2out.c). */
|
||||
};
|
||||
|
||||
/* Specify which kind of debugging info to generate. */
|
||||
extern enum debug_info_type write_symbols;
|
||||
|
||||
/* Names of debug_info_type, for error messages. */
|
||||
extern const char *const debug_type_names[];
|
||||
|
||||
enum debug_info_level
|
||||
{
|
||||
DINFO_LEVEL_NONE, /* Write no debugging info. */
|
||||
DINFO_LEVEL_TERSE, /* Write minimal info to support tracebacks only. */
|
||||
DINFO_LEVEL_NORMAL, /* Write info for all declarations (and line table). */
|
||||
DINFO_LEVEL_VERBOSE /* Write normal info plus #define/#undef info. */
|
||||
};
|
||||
|
||||
/* Specify how much debugging info to generate. */
|
||||
extern enum debug_info_level debug_info_level;
|
||||
|
||||
/* A major contribution to object and executable size is debug
|
||||
information size. A major contribution to debug information
|
||||
size is struct descriptions replicated in several object files.
|
||||
The following function determines whether or not debug information
|
||||
should be generated for a given struct. The indirect parameter
|
||||
indicates that the struct is being handled indirectly, via
|
||||
a pointer. See opts.c for the implementation. */
|
||||
|
||||
enum debug_info_usage
|
||||
{
|
||||
DINFO_USAGE_DFN, /* A struct definition. */
|
||||
DINFO_USAGE_DIR_USE, /* A direct use, such as the type of a variable. */
|
||||
DINFO_USAGE_IND_USE, /* An indirect use, such as through a pointer. */
|
||||
DINFO_USAGE_NUM_ENUMS /* The number of enumerators. */
|
||||
};
|
||||
|
||||
extern bool should_emit_struct_debug (tree type_decl, enum debug_info_usage);
|
||||
extern void set_struct_debug_option (const char *value);
|
||||
|
||||
|
@ -83,28 +49,9 @@ extern bool use_gnu_debug_info_extensions;
|
|||
an actual variable not a macro. */
|
||||
extern int flag_compare_debug;
|
||||
|
||||
/* Enumerate visibility settings. This is deliberately ordered from most
|
||||
to least visibility. */
|
||||
#ifndef SYMBOL_VISIBILITY_DEFINED
|
||||
#define SYMBOL_VISIBILITY_DEFINED
|
||||
enum symbol_visibility
|
||||
{
|
||||
VISIBILITY_DEFAULT,
|
||||
VISIBILITY_PROTECTED,
|
||||
VISIBILITY_HIDDEN,
|
||||
VISIBILITY_INTERNAL
|
||||
};
|
||||
#endif
|
||||
|
||||
/* The default visibility for all symbols (unless overridden). */
|
||||
extern enum symbol_visibility default_visibility;
|
||||
|
||||
struct visibility_flags
|
||||
{
|
||||
unsigned inpragma : 1; /* True when in #pragma GCC visibility. */
|
||||
unsigned inlines_hidden : 1; /* True when -finlineshidden in effect. */
|
||||
};
|
||||
|
||||
/* Global visibility options. */
|
||||
extern struct visibility_flags visibility_options;
|
||||
|
||||
|
@ -189,29 +136,6 @@ extern int flag_next_runtime;
|
|||
|
||||
extern int flag_dump_rtl_in_asm;
|
||||
|
||||
/* The algorithm used for the integrated register allocator (IRA). */
|
||||
enum ira_algorithm
|
||||
{
|
||||
IRA_ALGORITHM_CB,
|
||||
IRA_ALGORITHM_PRIORITY
|
||||
};
|
||||
|
||||
/* The regions used for the integrated register allocator (IRA). */
|
||||
enum ira_region
|
||||
{
|
||||
IRA_REGION_ONE,
|
||||
IRA_REGION_ALL,
|
||||
IRA_REGION_MIXED
|
||||
};
|
||||
|
||||
/* 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;
|
||||
|
@ -263,33 +187,8 @@ extern struct target_flag_state *this_target_flag_state;
|
|||
/* Nonzero if we dump in VCG format, not plain text. */
|
||||
extern int dump_for_graph;
|
||||
|
||||
/* Selection of the graph form. */
|
||||
enum graph_dump_types
|
||||
{
|
||||
no_graph = 0,
|
||||
vcg
|
||||
};
|
||||
extern enum graph_dump_types graph_dump_format;
|
||||
|
||||
/* Type of stack check. */
|
||||
enum stack_check_type
|
||||
{
|
||||
/* Do not check the stack. */
|
||||
NO_STACK_CHECK = 0,
|
||||
|
||||
/* Check the stack generically, i.e. assume no specific support
|
||||
from the target configuration files. */
|
||||
GENERIC_STACK_CHECK,
|
||||
|
||||
/* Check the stack and rely on the target configuration files to
|
||||
check the static frame of functions, i.e. use the generic
|
||||
mechanism only for dynamic stack allocations. */
|
||||
STATIC_BUILTIN_STACK_CHECK,
|
||||
|
||||
/* Check the stack and entirely rely on the target configuration
|
||||
files, i.e. do not use the generic mechanism at all. */
|
||||
FULL_BUILTIN_STACK_CHECK
|
||||
};
|
||||
extern enum stack_check_type flag_stack_check;
|
||||
|
||||
/* Returns TRUE if generated code should match ABI version N or
|
||||
|
@ -326,38 +225,9 @@ extern bool flag_instrument_functions_exclude_p (tree fndecl);
|
|||
/* True if pointer types have undefined overflow. */
|
||||
#define POINTER_TYPE_OVERFLOW_UNDEFINED (flag_strict_overflow)
|
||||
|
||||
/* Names for the different levels of -Wstrict-overflow=N. The numeric
|
||||
values here correspond to N. */
|
||||
|
||||
enum warn_strict_overflow_code
|
||||
{
|
||||
/* Overflow warning that should be issued with -Wall: a questionable
|
||||
construct that is easy to avoid even when using macros. Example:
|
||||
folding (x + CONSTANT > x) to 1. */
|
||||
WARN_STRICT_OVERFLOW_ALL = 1,
|
||||
/* Overflow warning about folding a comparison to a constant because
|
||||
of undefined signed overflow, other than cases covered by
|
||||
WARN_STRICT_OVERFLOW_ALL. Example: folding (abs (x) >= 0) to 1
|
||||
(this is false when x == INT_MIN). */
|
||||
WARN_STRICT_OVERFLOW_CONDITIONAL = 2,
|
||||
/* Overflow warning about changes to comparisons other than folding
|
||||
them to a constant. Example: folding (x + 1 > 1) to (x > 0). */
|
||||
WARN_STRICT_OVERFLOW_COMPARISON = 3,
|
||||
/* Overflow warnings not covered by the above cases. Example:
|
||||
folding ((x * 10) / 5) to (x * 2). */
|
||||
WARN_STRICT_OVERFLOW_MISC = 4,
|
||||
/* Overflow warnings about reducing magnitude of constants in
|
||||
comparison. Example: folding (x + 2 > y) to (x + 1 >= y). */
|
||||
WARN_STRICT_OVERFLOW_MAGNITUDE = 5
|
||||
};
|
||||
|
||||
/* Whether to emit an overflow warning whose code is C. */
|
||||
#define issue_strict_overflow_warning(c) (warn_strict_overflow >= (int) (c))
|
||||
|
||||
#endif
|
||||
|
||||
/* This is included last because options may use types declared
|
||||
above. */
|
||||
#include "options.h"
|
||||
|
||||
#endif /* ! GCC_FLAGS_H */
|
||||
|
|
|
@ -1,3 +1,8 @@
|
|||
2010-10-12 Joseph Myers <joseph@codesourcery.com>
|
||||
|
||||
* Make-lang.in (java/lang.o): Use $(OPTIONS_H) instead of
|
||||
options.h.
|
||||
|
||||
2010-10-11 Nathan Froyd <froydnj@codesourcery.com>
|
||||
|
||||
* decl.c (java_init_decl_processing): Use build_function_type_list
|
||||
|
|
|
@ -302,7 +302,7 @@ java/jvgenmain.o: java/jvgenmain.c $(CONFIG_H) $(JAVA_TREE_H) $(SYSTEM_H) \
|
|||
coretypes.h $(TM_H) intl.h
|
||||
java/lang.o: java/lang.c $(CONFIG_H) $(JAVA_TREE_H) java/jcf.h input.h \
|
||||
toplev.h $(SYSTEM_H) coretypes.h $(TM_H) $(DIAGNOSTIC_H) \
|
||||
langhooks.h $(LANGHOOKS_DEF_H) gt-java-lang.h opts.h options.h \
|
||||
langhooks.h $(LANGHOOKS_DEF_H) gt-java-lang.h opts.h $(OPTIONS_H) \
|
||||
$(TARGET_H)
|
||||
java/mangle.o: java/mangle.c $(CONFIG_H) java/jcf.h $(JAVA_TREE_H) $(SYSTEM_H) \
|
||||
coretypes.h $(TM_H) toplev.h $(GGC_H) gt-java-mangle.h $(LANGHOOKS_DEF_H)
|
||||
|
|
|
@ -70,6 +70,8 @@ print ""
|
|||
print "#ifndef OPTIONS_H"
|
||||
print "#define OPTIONS_H"
|
||||
print ""
|
||||
print "#include \"flag-types.h\""
|
||||
print ""
|
||||
|
||||
have_save = 0;
|
||||
|
||||
|
|
Loading…
Reference in New Issue