aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSteven Bosscher <steven@gcc.gnu.org>2012-07-16 11:42:47 +0000
committerSteven Bosscher <steven@gcc.gnu.org>2012-07-16 11:42:47 +0000
commit89ca6d794e9bb950640839d1235fc881495e8df8 (patch)
tree224306b6c32199c76b98de195429d90ca198c346
parent7ee2468b9274dd08bac00909fbbe8308f92c68e5 (diff)
downloadgcc-89ca6d794e9bb950640839d1235fc881495e8df8.zip
gcc-89ca6d794e9bb950640839d1235fc881495e8df8.tar.gz
gcc-89ca6d794e9bb950640839d1235fc881495e8df8.tar.bz2
flags.h (TYPE_OVERFLOW_WRAPS, [...]): Move to tree.h.
* flags.h (TYPE_OVERFLOW_WRAPS, TYPE_OVERFLOW_UNDEFINED, TYPE_OVERFLOW_TRAPS, POINTER_TYPE_OVERFLOW_UNDEFINED): Move to tree.h. * tree.h (TYPE_OVERFLOW_WRAPS, TYPE_OVERFLOW_UNDEFINED, TYPE_OVERFLOW_TRAPS, POINTER_TYPE_OVERFLOW_UNDEFINED): New home. From-SVN: r189520
-rw-r--r--gcc/ChangeLog7
-rw-r--r--gcc/flags.h24
-rw-r--r--gcc/tree.h26
3 files changed, 32 insertions, 25 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index e326422..771bc0d 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,12 @@
2012-07-16 Steven Bosscher <steven@gcc.gnu.org>
+ * flags.h (TYPE_OVERFLOW_WRAPS, TYPE_OVERFLOW_UNDEFINED,
+ TYPE_OVERFLOW_TRAPS, POINTER_TYPE_OVERFLOW_UNDEFINED): Move to tree.h.
+ * tree.h (TYPE_OVERFLOW_WRAPS, TYPE_OVERFLOW_UNDEFINED,
+ TYPE_OVERFLOW_TRAPS, POINTER_TYPE_OVERFLOW_UNDEFINED): New home.
+
+2012-07-16 Steven Bosscher <steven@gcc.gnu.org>
+
* system.h (dump_file): Do not define.
* tree-pass.h: Include dumpfile.h, which is a new file containing...
(enum tree_dump_index, TDF_*, get_dump_file_name, dump_enabled_p,
diff --git a/gcc/flags.h b/gcc/flags.h
index b996c03..141185be 100644
--- a/gcc/flags.h
+++ b/gcc/flags.h
@@ -106,30 +106,6 @@ extern int dump_for_graph;
#define abi_version_at_least(N) \
(flag_abi_version == 0 || flag_abi_version >= (N))
-/* True if overflow wraps around for the given integral type. That
- is, TYPE_MAX + 1 == TYPE_MIN. */
-#define TYPE_OVERFLOW_WRAPS(TYPE) \
- (TYPE_UNSIGNED (TYPE) || flag_wrapv)
-
-/* True if overflow is undefined for the given integral type. We may
- optimize on the assumption that values in the type never overflow.
-
- IMPORTANT NOTE: Any optimization based on TYPE_OVERFLOW_UNDEFINED
- must issue a warning based on warn_strict_overflow. In some cases
- it will be appropriate to issue the warning immediately, and in
- other cases it will be appropriate to simply set a flag and let the
- caller decide whether a warning is appropriate or not. */
-#define TYPE_OVERFLOW_UNDEFINED(TYPE) \
- (!TYPE_UNSIGNED (TYPE) && !flag_wrapv && !flag_trapv && flag_strict_overflow)
-
-/* True if overflow for the given integral type should issue a
- trap. */
-#define TYPE_OVERFLOW_TRAPS(TYPE) \
- (!TYPE_UNSIGNED (TYPE) && flag_trapv)
-
-/* True if pointer types have undefined overflow. */
-#define POINTER_TYPE_OVERFLOW_UNDEFINED (flag_strict_overflow)
-
/* Whether to emit an overflow warning whose code is C. */
#define issue_strict_overflow_warning(c) (warn_strict_overflow >= (int) (c))
diff --git a/gcc/tree.h b/gcc/tree.h
index e803232..cc840ae 100644
--- a/gcc/tree.h
+++ b/gcc/tree.h
@@ -1,4 +1,4 @@
-/* Front-end tree definitions for GNU compiler.
+/* Definitions for the ubiquitous 'tree' type for GNU compilers.
Copyright (C) 1989, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
Free Software Foundation, Inc.
@@ -1348,6 +1348,30 @@ extern void omp_clause_range_check_failed (const_tree, const char *, int,
/* In integral and pointer types, means an unsigned type. */
#define TYPE_UNSIGNED(NODE) (TYPE_CHECK (NODE)->base.unsigned_flag)
+/* True if overflow wraps around for the given integral type. That
+ is, TYPE_MAX + 1 == TYPE_MIN. */
+#define TYPE_OVERFLOW_WRAPS(TYPE) \
+ (TYPE_UNSIGNED (TYPE) || flag_wrapv)
+
+/* True if overflow is undefined for the given integral type. We may
+ optimize on the assumption that values in the type never overflow.
+
+ IMPORTANT NOTE: Any optimization based on TYPE_OVERFLOW_UNDEFINED
+ must issue a warning based on warn_strict_overflow. In some cases
+ it will be appropriate to issue the warning immediately, and in
+ other cases it will be appropriate to simply set a flag and let the
+ caller decide whether a warning is appropriate or not. */
+#define TYPE_OVERFLOW_UNDEFINED(TYPE) \
+ (!TYPE_UNSIGNED (TYPE) && !flag_wrapv && !flag_trapv && flag_strict_overflow)
+
+/* True if overflow for the given integral type should issue a
+ trap. */
+#define TYPE_OVERFLOW_TRAPS(TYPE) \
+ (!TYPE_UNSIGNED (TYPE) && flag_trapv)
+
+/* True if pointer types have undefined overflow. */
+#define POINTER_TYPE_OVERFLOW_UNDEFINED (flag_strict_overflow)
+
/* Nonzero in a VAR_DECL or STRING_CST means assembler code has been written.
Nonzero in a FUNCTION_DECL means that the function has been compiled.
This is interesting in an inline function, since it might not need