]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
sparc.c (sparc_va_arg): Adjust va_list by UNITS_PER_WORD for zero sized aggregates.
authorJakub Jelinek <jakub@redhat.com>
Thu, 4 Apr 2002 11:37:32 +0000 (13:37 +0200)
committerJakub Jelinek <jakub@gcc.gnu.org>
Thu, 4 Apr 2002 11:37:32 +0000 (13:37 +0200)
* config/sparc/sparc.c (sparc_va_arg): Adjust va_list by
UNITS_PER_WORD for zero sized aggregates.

From-SVN: r51853

gcc/ChangeLog
gcc/config/sparc/sparc.c

index f278189e9f2da9ab6c126b5d9c0867c9a1d53569..a4561c22b4f1183ae4a79af15387fe0027a5d38f 100644 (file)
@@ -1,3 +1,8 @@
+2002-04-04  Jakub Jelinek  <jakub@redhat.com>
+
+       * config/sparc/sparc.c (sparc_va_arg): Adjust va_list by
+       UNITS_PER_WORD for zero sized aggregates.
+
 2002-04-03  David S. Miller  <davem@redhat.com>
 
        * gcc.c (LINK_GCC_C_SEQUENCE_SPEC): No need for a new
index 7df4df6e0fb6ff437d3382ecae95a1409e8edfbc..c9cad9ff914d7154dca67a7c96794aa2b83a4e05 100644 (file)
@@ -4950,6 +4950,10 @@ sparc_va_arg (valist, type)
              indirect = 1;
              size = rsize = UNITS_PER_WORD;
            }
+         /* SPARC v9 ABI states that structures up to 8 bytes in size are
+            given one 8 byte slot.  */
+         else if (size == 0)
+           size = rsize = UNITS_PER_WORD;
          else
            size = rsize;
        }