utils.c (begin_subprog_body): Assert that the body is present in the same context...
authorEric Botcazou <ebotcazou@adacore.com>
Sun, 8 Feb 2015 09:12:43 +0000 (09:12 +0000)
committerEric Botcazou <ebotcazou@gcc.gnu.org>
Sun, 8 Feb 2015 09:12:43 +0000 (09:12 +0000)
* gcc-interface/utils.c (begin_subprog_body): Assert that the body is
present in the same context as the declaration.

From-SVN: r220510

gcc/ada/ChangeLog
gcc/ada/gcc-interface/utils.c

index f34dd913bcca132fd60f4403cc1ece793879ba82..ed638a61c5ed6a2afc01ce5f5c4f3bc0aa561390 100644 (file)
@@ -1,3 +1,8 @@
+2015-02-08  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/utils.c (begin_subprog_body): Assert that the body is
+       present in the same context as the declaration.
+
 2015-02-07  Jakub Jelinek  <jakub@redhat.com>
 
        PR middle-end/64340
index 369f65c2bf58b293334891e96575ddd83342d984..44dad7b1ecf9dd59f26a3ab81238804a5d1b814b 100644 (file)
@@ -3105,6 +3105,11 @@ begin_subprog_body (tree subprog_decl)
   /* This function is being defined.  */
   TREE_STATIC (subprog_decl) = 1;
 
+  /* The failure of this assertion will likely come from a wrong context for
+     the subprogram body, e.g. another procedure for a procedure declared at
+     library level.  */
+  gcc_assert (current_function_decl == decl_function_context (subprog_decl));
+
   current_function_decl = subprog_decl;
 
   /* Enter a new binding level and show that all the parameters belong to