I added a max element as suggested by Richard to force
the type to an int.

Regression tested on x86_64 but needs testing on arm-eabi.

Thiago, could you test this?

https://linaro.atlassian.net/browse/GNU-1224


    Fix test failures for enum-alias-{1,2,3} on arm-eabi [PR117419]
    
    The tests added for PR115157 fail on arm-eabi.  Add __INT_MAX__
    to enum to make sure they have size int.
    
            PR testsuite/117419
    
    gcc/testsuite/ChangeLog:
            * enum-alias-1.c: Add __INT_MAX__.
            * enum-alias-2.c: Likewise.
            * enum-alias-3.c: Likewise.

diff --git a/gcc/testsuite/gcc.dg/enum-alias-1.c 
b/gcc/testsuite/gcc.dg/enum-alias-1.c
index 8fa30eb7897..a91eb666ac2 100644
--- a/gcc/testsuite/gcc.dg/enum-alias-1.c
+++ b/gcc/testsuite/gcc.dg/enum-alias-1.c
@@ -1,7 +1,7 @@
 /* { dg-do run } */
 /* { dg-options "-O2" } */
 
-enum E { E1 = -1, E2 = 0, E3 = 1 };
+enum E { E1 = -1, E2 = 0, E3 = 1, MAX = __INT_MAX__ };
 
 typedef int A;
 typedef enum E B;
diff --git a/gcc/testsuite/gcc.dg/enum-alias-2.c 
b/gcc/testsuite/gcc.dg/enum-alias-2.c
index 7ca3f3b2db8..f107968435c 100644
--- a/gcc/testsuite/gcc.dg/enum-alias-2.c
+++ b/gcc/testsuite/gcc.dg/enum-alias-2.c
@@ -9,7 +9,7 @@ void* foo(void* a, void *b, void *c, void *d)
 
        {
                typedef enum E B;
-               enum E { E1 = -1, E2 = 0, E3 = 1 };
+               enum E { E1 = -1, E2 = 0, E3 = 1, MAX = __INT_MAX__ };
                *(B**)b = d;
        }
 
diff --git a/gcc/testsuite/gcc.dg/enum-alias-3.c 
b/gcc/testsuite/gcc.dg/enum-alias-3.c
index 322c8d82952..fd226a41408 100644
--- a/gcc/testsuite/gcc.dg/enum-alias-3.c
+++ b/gcc/testsuite/gcc.dg/enum-alias-3.c
@@ -9,7 +9,7 @@ void* foo(void* a, void *b, void *c, void *d)
        *(A**)a = c;
 
        typedef enum E *B;
-       enum E { E1 = -1, E2 = 0, E3 = 1 };
+       enum E { E1 = -1, E2 = 0, E3 = 1, MAX = __INT_MAX__ };
        {
                *(B**)b = d;
        }

Reply via email to