unstick r185183

Revision 185183

Date:
2013/06/28 18:12:09
Author:
ddean
Revision Log:
Re-enable test that Eli says was fixed in r181839 by Richard Trieu.
Files:
  • /clang-tests/trunk/gcc-4_2-testsuite/ignored/gcc.c-torture/execute/991014-1.c

Legend:

 
Added
 
Removed
 
Modified
  • clang-tests/trunk/gcc-4_2-testsuite/ignored/gcc.c-torture/execute/991014-1.c

     
    1
    2 typedef typeof(sizeof(char)) Size_t;
    3
    4 #define bufsize ((1L << (8 * sizeof(Size_t) - 2))-256)
    5
    6 struct huge_struct
    7 {
    8 short buf[bufsize];
    9 int a;
    10 int b;
    11 int c;
    12 int d;
    13 };
    14
    15 union huge_union
    16 {
    17 int a;
    18 char buf[bufsize];
    19 };
    20
    21 unsigned long union_size()
    22 {
    23 return sizeof(union huge_union);
    24 }
    25
    26 unsigned long struct_size()
    27 {
    28 return sizeof(struct huge_struct);
    29 }
    30
    31 unsigned long struct_a_offset()
    32 {
    33 return (unsigned long)(&((struct huge_struct *) 0)->a);
    34 }
    35
    36 int main()
    37 {
    38 /* Check the exact sizeof value. bufsize is aligned on 256b. */
    39 if (union_size() != sizeof(char) * bufsize)
    40 abort();
    41
    42 if (struct_size() != sizeof(short) * bufsize + 4*sizeof(int))
    43 abort();
    44
    45 if (struct_a_offset() < sizeof(short) * bufsize)
    46 abort();
    47
    48 return 0;
    49 }
    50