Remove RECORD_TYPE special-casing in std_canonical_va_list_type
authorTom de Vries <tom@codesourcery.com>
Tue, 11 Oct 2016 08:16:11 +0000 (08:16 +0000)
committerTom de Vries <vries@gcc.gnu.org>
Tue, 11 Oct 2016 08:16:11 +0000 (08:16 +0000)
2016-10-11  Tom de Vries  <tom@codesourcery.com>

PR middle-end/77558
* builtins.c (std_canonical_va_list_type): Remove RECORD_TYPE
special-casing.

From-SVN: r240968

gcc/ChangeLog
gcc/builtins.c

index 23f3b4dca80ceb02a35f19e30bded92a1c8511fe..06d2c23583ee5ed5b7bbd568843390bfb2c84f4a 100644 (file)
@@ -1,3 +1,9 @@
+2016-10-11  Tom de Vries  <tom@codesourcery.com>
+
+       PR middle-end/77558
+       * builtins.c (std_canonical_va_list_type): Remove RECORD_TYPE
+       special-casing.
+
 2016-10-11  Eric Botcazou  <ebotcazou@adacore.com>
 
        * tree.h (build_complex_type): Add second parameter with default.
index 6c68198fcc5cf48423108e68cfda00cd9ec9250d..43a9db02f2ec2696dfbc6826f76e4322b5671d87 100644 (file)
@@ -4090,10 +4090,8 @@ std_canonical_va_list_type (tree type)
 
   wtype = va_list_type_node;
   htype = type;
-  /* Treat structure va_list types.  */
-  if (TREE_CODE (wtype) == RECORD_TYPE && POINTER_TYPE_P (htype))
-    htype = TREE_TYPE (htype);
-  else if (TREE_CODE (wtype) == ARRAY_TYPE)
+
+  if (TREE_CODE (wtype) == ARRAY_TYPE)
     {
       /* If va_list is an array type, the argument may have decayed
         to a pointer type, e.g. by being passed to another function.