aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJason Merrill <jason@gcc.gnu.org>2001-06-08 14:12:54 -0400
committerJason Merrill <jason@gcc.gnu.org>2001-06-08 14:12:54 -0400
commit91088ddb810837c123b010796ec85bed37a5f78b (patch)
tree187e90ea880d88157f9c24c0a1081dd53bfa131c /gcc
parentc16bd4e207aa2b1a9b6cfd2b5828793455570311 (diff)
downloadgcc-91088ddb810837c123b010796ec85bed37a5f78b.zip
gcc-91088ddb810837c123b010796ec85bed37a5f78b.tar.gz
gcc-91088ddb810837c123b010796ec85bed37a5f78b.tar.bz2
stmt.c (current_nesting_level): New fn.
* stmt.c (current_nesting_level): New fn. * tree.h: Declare it. * c-semantics.c (genrtl_compound_stmt): Use it. * dbxout.c (dbxout_symbol): Use DECL_RTL_SET_P. From-SVN: r43037
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog10
-rw-r--r--gcc/c-semantics.c10
-rw-r--r--gcc/dbxout.c2
-rw-r--r--gcc/stmt.c9
-rw-r--r--gcc/tree.h1
5 files changed, 30 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 2bcea06..984633d 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,11 @@
+2001-06-08 Jason Merrill <jason_merrill@redhat.com>
+
+ * stmt.c (current_nesting_level): New fn.
+ * tree.h: Declare it.
+ * c-semantics.c (genrtl_compound_stmt): Use it.
+
+ * dbxout.c (dbxout_symbol): Use DECL_RTL_SET_P.
+
2001-06-08 Jakub Jelinek <jakub@redhat.com>
* jump.c (mark_modified_reg): Allow jump threading if condition
@@ -134,7 +142,6 @@ Thu Jun 7 16:17:40 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
documentation should be added to invoke.texi. Avoid an overfull
hbox.
->>>>>>> 1.10276
Thu Jun 7 17:09:50 CEST 2001 Jan Hubicka <jh@suse.cz>
* toplev.c (rest_of_compilation): Revert previous patch.
@@ -169,6 +176,7 @@ Thu Jun 7 12:12:58 CEST 2001 Jan Hubicka <jh@suse.cz>
* emit-rtl.c (operand_subword): Remove unused variable.
+>>>>>>> 1.10284
Wed Jun 6 14:51:05 CEST 2001 Jan Hubicka <jh@suse.cz>
* i386.md (floatdi?f): Avoid usinf of SSE instructions
diff --git a/gcc/c-semantics.c b/gcc/c-semantics.c
index 63b4b14..6a963a9 100644
--- a/gcc/c-semantics.c
+++ b/gcc/c-semantics.c
@@ -666,7 +666,17 @@ void
genrtl_compound_stmt (t)
tree t;
{
+#ifdef ENABLE_CHECKING
+ struct nesting *n = current_nesting_level ();
+#endif
+
expand_stmt (COMPOUND_BODY (t));
+
+#ifdef ENABLE_CHECKING
+ /* Make sure that we've pushed and popped the same number of levels. */
+ if (n != current_nesting_level ())
+ abort ();
+#endif
}
/* Generate the RTL for an ASM_STMT. */
diff --git a/gcc/dbxout.c b/gcc/dbxout.c
index 6648727..ee51fae 100644
--- a/gcc/dbxout.c
+++ b/gcc/dbxout.c
@@ -1816,7 +1816,7 @@ dbxout_symbol (decl, local)
case RESULT_DECL:
/* Named return value, treat like a VAR_DECL. */
case VAR_DECL:
- if (DECL_RTL (decl) == 0)
+ if (! DECL_RTL_SET_P (decl))
return 0;
/* Don't mention a variable that is external.
Let the file that defines it describe it. */
diff --git a/gcc/stmt.c b/gcc/stmt.c
index c20a99e..3cefc7c 100644
--- a/gcc/stmt.c
+++ b/gcc/stmt.c
@@ -3395,6 +3395,15 @@ conditional_context ()
return block_stack && block_stack->data.block.conditional_code;
}
+/* Return an opaque pointer to the current nesting level, so frontend code
+ can check its own sanity. */
+
+struct nesting *
+current_nesting_level ()
+{
+ return cfun ? block_stack : 0;
+}
+
/* Emit a handler label for a nonlocal goto handler.
Also emit code to store the handler label in SLOT before BEFORE_INSN. */
diff --git a/gcc/tree.h b/gcc/tree.h
index 8f29728..7805ef8 100644
--- a/gcc/tree.h
+++ b/gcc/tree.h
@@ -2567,6 +2567,7 @@ extern void end_cleanup_deferral PARAMS ((void));
extern int is_body_block PARAMS ((tree));
extern int conditional_context PARAMS ((void));
+extern struct nesting * current_nesting_level PARAMS ((void));
extern tree last_cleanup_this_contour PARAMS ((void));
extern void expand_start_case PARAMS ((int, tree, tree,
const char *));