aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Tromey <tromey@redhat.com>2008-05-21 14:53:19 +0000
committerTom Tromey <tromey@redhat.com>2008-05-21 14:53:19 +0000
commitbdb91d525f32dbfed5b5cb5abaa0b100e38aecc5 (patch)
treeae7a83aac2c5d27ccfef9b1f55930555adbad6ee
parent36cde3aee9ddf2c2f0904fcdd7fb57af7592045c (diff)
* gdbinit.in: Add macros for tree accessors.incremental-compiler
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/incremental-compiler@135719 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/gdbinit.in32
2 files changed, 36 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 5772c332463..e8ca2ae5964 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,7 @@
+2008-05-21 Tom Tromey <tromey@redhat.com>
+
+ * gdbinit.in: Add macros for tree accessors.
+
2008-04-28 Tom Tromey <tromey@redhat.com>
* c-parser.c (c_parser_lex_all): Don't enforce location constraint
diff --git a/gcc/gdbinit.in b/gcc/gdbinit.in
index eac7d371fca..50f8b55db48 100644
--- a/gcc/gdbinit.in
+++ b/gcc/gdbinit.in
@@ -149,3 +149,35 @@ set complaints 0
# USE_SYSTEM_ABORT is defined, so gdb may complain and bail out.
b exit
b abort
+
+# Redefine any macro from tree.h that uses a statement expression.
+# Last in case of failure.
+macro define TREE_CHECK(T, CODE) (T)
+macro define TREE_NOT_CHECK(T, CODE) (T)
+macro define TREE_CHECK2(T, CODE1, CODE2) (T)
+macro define TREE_NOT_CHECK2(T, CODE1, CODE2) (T)
+macro define TREE_CHECK3(T, CODE1, CODE2, CODE3) (T)
+macro define TREE_NOT_CHECK3(T, CODE1, CODE2, CODE3) (T)
+macro define TREE_CHECK4(T, CODE1, CODE2, CODE3, CODE4) (T)
+macro define NON_TREE_CHECK4(T, CODE1, CODE2, CODE3, CODE4) (T)
+macro define TREE_CHECK5(T, CODE1, CODE2, CODE3, CODE4, CODE5) (T)
+macro define TREE_NOT_CHECK5(T, CODE1, CODE2, CODE3, CODE4, CODE5) (T)
+macro define CONTAINS_STRUCT_CHECK(T, STRUCT) (T)
+macro define TREE_CLASS_CHECK(T, CLASS) (T)
+macro define TREE_RANGE_CHECK(T, CODE1, CODE2) (T)
+macro define OMP_CLAUSE_SUBCODE_CHECK(T, CODE) (T)
+macro define OMP_CLAUSE_RANGE_CHECK(T, CODE1, CODE2) (T)
+macro define EXPR_CHECK(T) (T)
+macro define GIMPLE_STMT_CHECK(T) (T)
+macro define NON_TYPE_CHECK(T) (T)
+macro define TREE_VEC_ELT_CHECK(T, I) ((T)->vec.a[I])
+macro define PHI_NODE_ELT_CHECK(T, I) ((T)->phi.a[I])
+macro define OMP_CLAUSE_ELT_CHECK(T, I) ((T)->omp_clause.ops[I])
+macro define TREE_OPERAND_CHECK(T, I) ((T)->exp.operands[I])
+macro define TREE_OPERAND_CHECK_CODE(T, CODE, I) ((T)->exp.operands[I])
+macro define GIMPLE_STMT_OPERAND_CHECK(T, I) ((T)->gstmt.operands[I])
+macro define TREE_RTL_OPERAND_CHECK(T, CODE, I) ((T)->exp.operands[I])
+macro define TREE_CHAIN(NODE) ((T)->common.chain)
+macro define TREE_TYPE(NODE) ((T)->common.type)
+# Another handy one.
+macro define __builtin_offsetof(T, F) ((int) &(((T *) 0)->F))