On Tue, Dec 11, 2018 at 01:36:58PM -0700, Martin Sebor wrote:
> --- gcc/testsuite/c-c++-common/attributes-4.c (nonexistent)
> +++ gcc/testsuite/c-c++-common/attributes-4.c (working copy)
> @@ -0,0 +1,47 @@
...
> +ATTR (alloc_align (1)) void* falloc_align_int128 (__int128_t);
...
> +ATTR (alloc_align (1)) void* falloc_size_int128 (__int128_t);

The test FAILs on 32-bit targets which don't have __int128_t type.
As there is no associated diagnostics expected with these, I've just guarded
those with #ifdef __SIZEOF_INT128__, tested on x86_64-linux -m32/-m64
and committed as obvious to trunk:

2019-01-06  Jakub Jelinek  <ja...@redhat.com>

        PR c/88363
        * c-c++-common/attributes-4.c (falloc_align_int128,
        falloc_size_int128): Guard with #ifdef __SIZEOF_INT128__.

--- gcc/testsuite/c-c++-common/attributes-4.c.jj        2019-01-05 
12:06:13.416101609 +0100
+++ gcc/testsuite/c-c++-common/attributes-4.c   2019-01-06 11:23:13.198901344 
+0100
@@ -26,7 +26,9 @@ ATTR (alloc_align (1)) void* falloc_alig
 /* Using an enum might make sense in an API that limits the alignments
    it accepts to just the set of the defined enumerators.   */
 ATTR (alloc_align (1)) void* falloc_align_enum (enum A);
+#ifdef __SIZEOF_INT128__
 ATTR (alloc_align (1)) void* falloc_align_int128 (__int128_t);
+#endif
 
 
 ATTR (alloc_align (1)) void* falloc_size_char (char);
@@ -34,7 +36,9 @@ ATTR (alloc_size (1)) void* falloc_size_
 ATTR (alloc_size (1)) void* falloc_size_char32 (char32_t);
 ATTR (alloc_size (1)) void* falloc_size_wchar (wchar_t);
 ATTR (alloc_size (1)) void* falloc_size_enum (enum A);
+#ifdef __SIZEOF_INT128__
 ATTR (alloc_align (1)) void* falloc_size_int128 (__int128_t);
+#endif
 
 
 typedef struct { int i; } S;


        Jakub

Reply via email to