__STRING_INLINE char * __stpcpy_small (char *__dest, __uint16_t __src0_2, __uint16_t __src4_2, __uint32_t __src0_4, __uint32_t __src4_4, size_t __srclen) { union { unsigned int __ui; unsigned short int __usi; unsigned char __uc; char __c; } *__u = (void *) __dest; switch ((unsigned int) __srclen) { case 1: __u->__uc = '\0'; break; case 2: __u->__usi = __src0_2; __u = __extension__ ((void *) __u + 1); break; case 3: __u->__usi = __src0_2; __u = __extension__ ((void *) __u + 2); __u->__uc = '\0'; break; case 4: __u->__ui = __src0_4; __u = __extension__ ((void *) __u + 3); break; case 5: __u->__ui = __src0_4; __u = __extension__ ((void *) __u + 4); __u->__uc = '\0'; break; case 6: __u->__ui = __src0_4; __u = __extension__ ((void *) __u + 4); __u->__usi = __src4_2; __u = __extension__ ((void *) __u + 1); break; case 7: __u->__ui = __src0_4; __u = __extension__ ((void *) __u + 4); __u->__usi = __src4_2; __u = __extension__ ((void *) __u + 2); __u->__uc = '\0'; break; case 8: __u->__ui = __src0_4; __u = __extension__ ((void *) __u + 4); __u->__ui = __src4_4; __u = __extension__ ((void *) __u + 3); break; } return &__u->__c; }
static __inline __m128 __attribute__((__always_inline__)) _mm_setzero_ps_rose (void) { // DQ (8/22/2011): Modified header for ROSE // return __extension__ (__m128){ 0.0f, 0.0f, 0.0f, 0.0f }; // DQ (8/29/2015): This is not unparsed properly for the Intel compiler. return __extension__ (__m128){ 0.0f }; }
int main1 () { char *s, t; (__extension__ (__builtin_constant_p (t) && !__builtin_constant_p (s) && (t) == '\0' ? (char *) __rawmemchr (s, t) : __builtin_strchr (s, t))); return 0; }
xsqrt( double x ) { __v2df f, g; double _d; x += x; g = __extension__ (__v2df){ x, 0 }; f = _mm_sqrt_pd( g ); _d = _mm_cvtsd_f64 (f); return (_d); }
static void __bb_init_prg () { const char *p; { unsigned long l; (__extension__ (__builtin_constant_p (p) && __builtin_constant_p (l) ? 5 : 2)); } }
__STRING_INLINE void * __mempcpy_small (void *__dest, char __src1, __STRING2_COPY_ARR2 __src2, __STRING2_COPY_ARR3 __src3, __STRING2_COPY_ARR4 __src4, __STRING2_COPY_ARR5 __src5, __STRING2_COPY_ARR6 __src6, __STRING2_COPY_ARR7 __src7, __STRING2_COPY_ARR8 __src8, size_t __srclen) { union { char __c; __STRING2_COPY_ARR2 __sca2; __STRING2_COPY_ARR3 __sca3; __STRING2_COPY_ARR4 __sca4; __STRING2_COPY_ARR5 __sca5; __STRING2_COPY_ARR6 __sca6; __STRING2_COPY_ARR7 __sca7; __STRING2_COPY_ARR8 __sca8; } *__u = __dest; switch ((unsigned int) __srclen) { case 1: __u->__c = __src1; break; case 2: __extension__ __u->__sca2 = __src2; break; case 3: __extension__ __u->__sca3 = __src3; break; case 4: __extension__ __u->__sca4 = __src4; break; case 5: __extension__ __u->__sca5 = __src5; break; case 6: __extension__ __u->__sca6 = __src6; break; case 7: __extension__ __u->__sca7 = __src7; break; case 8: __extension__ __u->__sca8 = __src8; break; } return __extension__ ((void *) __u + __srclen); }
static __m256i _mm256_set1_epi32 (int __A) { return __extension__ (__m256i)(__v8si){ __A, __A, __A, __A, __A, __A, __A, __A }; }
__STRING_INLINE void * __mempcpy_small (void *__dest1, char __src0_1, char __src2_1, char __src4_1, char __src6_1, __uint16_t __src0_2, __uint16_t __src4_2, __uint32_t __src0_4, __uint32_t __src4_4, size_t __srclen) { union { __uint32_t __ui; __uint16_t __usi; unsigned char __uc; unsigned char __c; } *__u = __dest1; switch ((unsigned int) __srclen) { case 1: __u->__c = __src0_1; __u = __extension__ ((void *) __u + 1); break; case 2: __u->__usi = __src0_2; __u = __extension__ ((void *) __u + 2); break; case 3: __u->__usi = __src0_2; __u = __extension__ ((void *) __u + 2); __u->__c = __src2_1; __u = __extension__ ((void *) __u + 1); break; case 4: __u->__ui = __src0_4; __u = __extension__ ((void *) __u + 4); break; case 5: __u->__ui = __src0_4; __u = __extension__ ((void *) __u + 4); __u->__c = __src4_1; __u = __extension__ ((void *) __u + 1); break; case 6: __u->__ui = __src0_4; __u = __extension__ ((void *) __u + 4); __u->__usi = __src4_2; __u = __extension__ ((void *) __u + 2); break; case 7: __u->__ui = __src0_4; __u = __extension__ ((void *) __u + 4); __u->__usi = __src4_2; __u = __extension__ ((void *) __u + 2); __u->__c = __src6_1; __u = __extension__ ((void *) __u + 1); break; case 8: __u->__ui = __src0_4; __u = __extension__ ((void *) __u + 4); __u->__ui = __src4_4; __u = __extension__ ((void *) __u + 4); break; } return (void *) __u; }
extern inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_set1_ps (float __F) { return __extension__ (__m128)(__v4sf){ __F, __F, __F, __F }; }
__m512i foo_1 (long long y) { return __extension__ (__m512i)(__v8di){ y, y, y, y, y, y, y, y }; }
__m512i foo_2 (int y) { return __extension__ (__m512i)(__v16si){ y, y, y, y, y, y, y, y, y, y, y, y, y, y, y, y }; }
TestPairs(1); TestPairs(2); TestPairs(3); TestPairs(4); TestPairs(5); TestPairs(6); TestPairs(7); TestPairs(8); } // rdar://6097730 void test3(_Complex int *x) { *x = ~*x; } void test4(_Complex float *x) { *x = ~*x; } void test5(_Complex int *x) { (*x)++; } int i1[(2+3i)*(5+7i) == 29i-11 ? 1 : -1]; int i2[(29i-11)/(5+7i) == 2+3i ? 1 : -1]; int i3[-(2+3i) == +(-3i-2) ? 1 : -1]; int i4[~(2+3i) == 2-3i ? 1 : -1]; int i5[(3i == -(-3i) ? ((void)3, 1i - 1) : 0) == 1i - 1 ? 1 : -1]; int f1[(2.0+3.0i)*(5.0+7.0i) == 29.0i-11.0 ? 1 : -1]; int f2[(29.0i-11.0)/(5.0+7.0i) == 2.0+3.0i ? 1 : -1]; int f3[-(2.0+3.0i) == +(-3.0i-2.0) ? 1 : -1]; int f4[~(2.0+3.0i) == 2.0-3.0i ? 1 : -1]; int f5[(3.0i == -(-3.0i) ? ((void)3.0, __extension__ (1.0i - 1.0)) : 0) == 1.0i - 1.0 ? 1 : -1];
enum e1 { /* Integer constant expressions may not contain statement expressions (not a permitted operand). */ E1 = (1 ? 0 : ({ 0; })), /* { dg-error "constant expression" } */ /* { dg-error "ISO C forbids braced-groups" "ISO" { target *-*-* } 16 } */ /* Real and imaginary parts act like other arithmetic operators. */ E2 = __real__ (1 ? 0 : i++), /* { dg-error "constant expression" } */ E3 = __real__ 0, E4 = __imag__ (1 ? 0 : i++), /* { dg-error "constant" } */ E5 = __imag__ 0, /* __alignof__ always constant. */ E6 = __alignof__ (int[n]), /* { dg-error "ISO C90 forbids variable length array" } */ E7 = __alignof__ (a), /* { dg-error "__alignof__ \\(expression\\)" } */ /* __extension__ ignored for constant expression purposes. */ E8 = __extension__ (1 ? 0 : i++), /* { dg-error "constant expression" } */ E9 = __extension__ 0, /* Conditional expressions with omitted arguments act like the standard type. */ E10 = (1 ? : i++), /* { dg-error "constant expression" } */ /* { dg-error "ISO C forbids omitting" "ISO" { target *-*-* } 32 } */ E11 = (1 ? : 0) /* { dg-error "ISO C forbids omitting" } */ }; enum e2 { /* Complex integer constants may be cast directly to integer types, but not after further arithmetic on them. */ F1 = (int) (_Complex int) 2i, /* { dg-error "constant expression" } */ /* { dg-error "complex" "complex" { target *-*-* } 39 } */ /* { dg-error "imaginary" "imaginary" { target *-*-* } 39 } */ F2 = (int) +2i, /* { dg-error "constant expression" } */ /* { dg-error "imaginary" "ISO" { target *-*-* } 42 } */
_mm_set_epi32 (int __q3, int __q2, int __q1, int __q0) /* { dg-error "target specific option mismatch" } */ { return __extension__ (__m128i)(__v4si){ __q0, __q1, __q2, __q3 }; }
_mm_set_epi64x (long long __q1, long long __q0) { return __extension__ (__m128i)(__v2di){ __q0, __q1 }; }
_mm_set_epi32 (int __q3, int __q2, int __q1, int __q0) { return __extension__ (__m128i)(__v4si){ __q0, __q1, __q2, __q3 }; }
_mm256_setzero_pd (void) { // EDG can't handle this code with 4 initializers. Only one initializer is accepted. // return __extension__ (my__m256d){ 0.0, 0.0, 0.0, 0.0 }; return __extension__ (my__m256d){ 0.0 }; }
int PR8962 (int *t) { // This should look through the __extension__ no-op. if (__extension__ (t)) return 0; return *t; // expected-warning {{null pointer}} }
static __inline __m128d __attribute__((__always_inline__)) _mm_set1_pd (double __F) { return __extension__ (__m128d){__F, __F}; }