utils.c (handle_type_generic_attribute): Adjust to accept fixed arguments before...
authorEric Botcazou <ebotcazou@adacore.com>
Fri, 23 May 2008 10:36:37 +0000 (10:36 +0000)
committerEric Botcazou <ebotcazou@gcc.gnu.org>
Fri, 23 May 2008 10:36:37 +0000 (10:36 +0000)
* utils.c (handle_type_generic_attribute): Adjust to accept
fixed arguments before an elipsis.

From-SVN: r135797

gcc/ada/ChangeLog
gcc/ada/utils.c

index b752aefad404f2fbedf8609afa454e6ff5f7afce..4ba53acc06fe1ed354e2b7a81a4e83da3d4ab57c 100644 (file)
@@ -1,3 +1,8 @@
+2008-05-23  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * utils.c (handle_type_generic_attribute): Adjust to accept
+       fixed arguments before an elipsis.
+
 2008-05-21  Thomas Quinot  <quinot@adacore.com>
 
        * g-sothco.ads, g-sothco.adb: New files.
index b4b38941ddbc1b17d63e84e572e7cb435e3aa9b9..7a984b23ad5caf33ac3020872c3f6424edb14306 100644 (file)
@@ -4712,8 +4712,17 @@ handle_type_generic_attribute (tree *node, tree ARG_UNUSED (name),
                               tree ARG_UNUSED (args), int ARG_UNUSED (flags),
                               bool * ARG_UNUSED (no_add_attrs))
 {
-  /* Ensure we have a function type, with no arguments.  */
-  gcc_assert (TREE_CODE (*node) == FUNCTION_TYPE && ! TYPE_ARG_TYPES (*node));
+  tree params;
+  
+  /* Ensure we have a function type.  */
+  gcc_assert (TREE_CODE (*node) == FUNCTION_TYPE);
+  
+  params = TYPE_ARG_TYPES (*node);
+  while (params && ! VOID_TYPE_P (TREE_VALUE (params)))
+    params = TREE_CHAIN (params);
+
+  /* Ensure we have a variadic function.  */
+  gcc_assert (!params);
 
   return NULL_TREE;
 }