diff options
Diffstat (limited to 'gcc-4.8.1/gcc/testsuite/g++.dg/ext')
581 files changed, 0 insertions, 14997 deletions
diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/alias-canon.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/alias-canon.C deleted file mode 100644 index 843dec00c..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/alias-canon.C +++ /dev/null @@ -1,41 +0,0 @@ -// PR c++/34935 -/* { dg-do compile } */ -/* { dg-final { scan-assembler "_Z1fi" } } */ -/* { dg-final { scan-assembler "_Z1fb" } } */ -/* { dg-final { scan-assembler "_Z1fd" } } */ -/* { dg-final { scan-assembler "_Z1ff" } } */ -/* { dg-final { scan-assembler "_Z1fw" } } */ - -typedef int INT __attribute((may_alias)); - -void f(int); -void f(INT) { } - -typedef bool BOOL __attribute((may_alias)); - -void f(bool); -void f(BOOL) { } - -typedef float FLOAT __attribute((may_alias)); - -void f(float); -void f(FLOAT) { } - -typedef double DOUBLE __attribute((may_alias)); - -void f(double); -void f(DOUBLE) {} - -typedef wchar_t WCHAR_T __attribute((may_alias)); - -void f(wchar_t); -void f(WCHAR_T) {} - -void test() -{ - f(0); - f(true); - f(1.0f); - f(1.0); - f(L'f'); -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/alias-canon2.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/alias-canon2.C deleted file mode 100644 index 4833db852..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/alias-canon2.C +++ /dev/null @@ -1,36 +0,0 @@ -// { dg-do compile } -// PR c++/37553 -typedef unsigned int ui32; -__extension__ typedef unsigned long long int ui64; - -typedef ui32 __attribute__ ((__may_alias__)) ui32a; -typedef ui64 __attribute__ ((__may_alias__)) ui64a; - -union u_u32 -{ - ui32a v; -} __attribute__ ((__may_alias__)); - -union u_u64 -{ - ui64a v; - struct - { - union u_u32 lo32, hi32; - } u; -} __attribute__ ((__may_alias__)); - -void -out_long (ui64 longVal) -{ - if ((*(union u_u64 *) &longVal).u.lo32.v < 0x10000000ul) - { - if ((ui32) ((*(union u_u64 *) &longVal).u.lo32.v) < 0x4000u) - { - /* do something useful */ - } - } -} - -void f(ui32 *) { } -void f(ui32a *) { } diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/alias-decl-attr1.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/alias-decl-attr1.C deleted file mode 100644 index e83fe4412..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/alias-decl-attr1.C +++ /dev/null @@ -1,19 +0,0 @@ -// { dg-options "-std=c++0x" } - -template <unsigned Len, unsigned Align> -struct aligned_storage -{ - using type __attribute__((aligned((Align)))) = - char[Len]; -}; - -template<typename T> -struct X -{ - typename aligned_storage<sizeof(T),__alignof(T)>::type data; -}; - -template<bool> struct StaticAssert; -template<> struct StaticAssert<true> {}; - -StaticAssert<__alignof (X<double>) == __alignof (double)> dummy; diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/alias-decl-attr2.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/alias-decl-attr2.C deleted file mode 100644 index 83e557c43..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/alias-decl-attr2.C +++ /dev/null @@ -1,42 +0,0 @@ -// { dg-options "-std=c++0x" } - -template<typename T> -struct X { - using layout_type __attribute ((aligned(__alignof(double)))) = - char[sizeof(T)]; - layout_type data; -}; - -template<typename T> -struct Y { - using layout_type __attribute ((aligned(__alignof(T)))) = - char[sizeof(T)]; - layout_type data; -}; - -template<typename T> -struct Z { - using layout_type __attribute ((aligned(__alignof(T)))) = - char[sizeof(T)]; - struct Z2 { - layout_type data; - } in; -}; - -template<typename T> -struct A; - -template <typename T> -struct A<T*> { - using layout_type __attribute ((aligned(__alignof(T)))) = - char[sizeof(T)]; - layout_type data; -}; - -template<bool> struct StaticAssert; -template<> struct StaticAssert<true> {}; - -StaticAssert<__alignof(X<double>) == __alignof(double)> d1; -StaticAssert<__alignof(Y<double>) == __alignof(double)> d2; -StaticAssert<__alignof(Z<double>) == __alignof(double)> d3; -StaticAssert<__alignof(A<double*>) == __alignof(double)> d4; diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/alias-decl-attr3.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/alias-decl-attr3.C deleted file mode 100644 index 369aa10e6..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/alias-decl-attr3.C +++ /dev/null @@ -1,21 +0,0 @@ -// { dg-options "-std=c++0x" } -// { dg-do run } - -template <class T> -int -align_of_type_wide_array() -{ - using type_wide_array __attribute((aligned(__alignof(T)))) - = unsigned char[sizeof (T)]; - - return __alignof(type_wide_array); -} - -int -main () -{ - if (align_of_type_wide_array<int>() == __alignof(int)) - return 0; - else - return 1; -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/alias-decl-attr4.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/alias-decl-attr4.C deleted file mode 100644 index 3e1c1c405..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/alias-decl-attr4.C +++ /dev/null @@ -1,34 +0,0 @@ -// { dg-options "-std=c++0x" } -// { dg-do run } - -using global_vector_type __attribute__((vector_size(16))) = float; - -template <class T> struct A -{ - using type = T; -}; - -template < typename Val > struct S -{ - using vector_type __attribute__((vector_size(16))) = - typename A<Val>::type; - typedef Val vector_type2 __attribute__((vector_size(16))); - int pr_size() { return sizeof(vector_type); } - int pr_size2() { return sizeof(vector_type2); } -}; - -int main() -{ - if (sizeof (S<float>::vector_type) != sizeof (global_vector_type)) - return 1; - if (sizeof (S<float>::vector_type2) != sizeof (global_vector_type)) - return 2; - - S<float> x; - if (x.pr_size() != sizeof (global_vector_type)) - return 3; - if (x.pr_size2() != sizeof (global_vector_type)) - return 4; - - return 0; -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/alias-mangle.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/alias-mangle.C deleted file mode 100644 index a7706e996..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/alias-mangle.C +++ /dev/null @@ -1,11 +0,0 @@ -// PR c++/34936 -// { dg-do compile } -/* { dg-final { scan-assembler "_ZN1AIdEC1Ev" } } */ -typedef double X __attribute((may_alias)) ; - -template<typename> struct A -{ - A(); -}; - -A<X> a; diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/align1.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/align1.C deleted file mode 100644 index 6c960c396..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/align1.C +++ /dev/null @@ -1,21 +0,0 @@ -// Test that __attribute__ ((aligned)) is preserved. -// The alignment used to be 64 but Cygwin does not -// support an alignment greater than 16 and COFF -// not support an alignment greater than 4. - -extern "C" int printf (const char *, ...); - -typedef float at[4][4] __attribute__ ((aligned)); - -float dummy[4][4][15]; - -static volatile at a1[15]; - -float f1 __attribute__ ((aligned)); - -int -main (void) -{ - printf ("%d %d\n", __alignof (a1), __alignof (f1)); - return (__alignof (a1) < __alignof (f1)); -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/align2.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/align2.C deleted file mode 100644 index da54bd938..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/align2.C +++ /dev/null @@ -1,14 +0,0 @@ -// PR c++/10179 - -struct __attribute((aligned(__alignof(double)))) A -{ /* empty */ }; - -struct T : public A -{ - char c; -}; - -template<bool> struct StaticAssert; -template<> struct StaticAssert<true> {}; - -StaticAssert<__alignof(T) == __alignof(double)> d; diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/alignof1.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/alignof1.C deleted file mode 100644 index 36661c1f1..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/alignof1.C +++ /dev/null @@ -1,19 +0,0 @@ -// { dg-do run } - -// Copyright (C) 2002 Free Software Foundation, Inc. -// Contributed by Gabriel Dos Reis <gdr@codesourcery.com>, 2002-07-20 -// Bug PR/7363. - -template<typename T> -int my_alignof() -{ - return __alignof__ (T); -} - -template<typename> - struct X { }; - -int main() -{ - return !my_alignof<X<void> >(); -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/alignof2.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/alignof2.C deleted file mode 100644 index 8bc8a9c01..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/alignof2.C +++ /dev/null @@ -1,25 +0,0 @@ -// PRs 16387 and 16389 -// We were treating alignof (sa.a) as alignof (typeof (sa.a)), which is -// wrong for some fields. - -// { dg-do run } - -extern "C" void abort(); - -struct A -{ - double a; -} sa; - -struct B -{ - char c; - double b; -} sb; - -int main() -{ - if (__alignof (sa) != __alignof (sa.a) - || __alignof (sb) != __alignof (sb.b)) - abort(); -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/altivec-1.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/altivec-1.C deleted file mode 100644 index cd7c3aad2..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/altivec-1.C +++ /dev/null @@ -1,16 +0,0 @@ -/* { dg-do compile { target powerpc*-*-* } } */ -/* { dg-require-effective-target powerpc_altivec_ok } */ -/* { dg-options "-maltivec" } */ - -#include <altivec.h> - -int main() -{ - return 0; -} - -class F32vec4 { -public: - vector float val; - vector float operator++(void) { return val;} -}; diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/altivec-10.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/altivec-10.C deleted file mode 100644 index 7f7d2b013..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/altivec-10.C +++ /dev/null @@ -1,22 +0,0 @@ -/* This is a compile-only test for interaction of "-maltivec" and "-save-temps". */ -/* Author: Ziemowit Laski <zlaski@apple.com>. */ -/* { dg-do compile { target powerpc*-*-* } } */ -/* { dg-require-effective-target powerpc_altivec_ok } */ -/* { dg-options "-save-temps -maltivec" } */ - -#include <altivec.h> - -#define vector_float vector float -#define vector_float_foo vector float foo -#define vector_float_bar_eq vector float bar = - -/* NB: Keep the following split across three lines. */ -vector -int -a1 = { 100, 200, 300, 400 }; - -vector_float f1 = { 1.0, 2.0, 3.0, 4.0 }; -vector_float_foo = { 3.0, 4.0, 5.0, 6.0 }; -vector_float_bar_eq { 8.0, 7.0, 6.0, 5.0 }; - -/* { dg-final { cleanup-saved-temps } } */ diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/altivec-11.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/altivec-11.C deleted file mode 100644 index ff3016953..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/altivec-11.C +++ /dev/null @@ -1,12 +0,0 @@ -/* Test handling of literal constant for dss operation. */ -/* { dg-do compile { target powerpc*-*-* } } */ -/* { dg-require-effective-target powerpc_altivec_ok } */ -/* { dg-options "-maltivec" } */ - -#include <altivec.h> - -void -foo () -{ - vec_dss (1); -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/altivec-12.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/altivec-12.C deleted file mode 100644 index 6f21da961..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/altivec-12.C +++ /dev/null @@ -1,19 +0,0 @@ -/* Test vec_dst* functions with float pointer as first argument. */ -/* { dg-do compile { target powerpc*-*-* } } */ -/* { dg-require-effective-target powerpc_altivec_ok } */ -/* { dg-options "-maltivec" } */ - -#include <altivec.h> - -extern int i; -extern float *fp; -extern vector float vf; - -void -foo () -{ - vec_dst (fp, i, 1); - vec_dstst (fp, i, 1); - vec_dststt (fp, i, 1); - vec_dstt (fp, i, 1); -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/altivec-13.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/altivec-13.C deleted file mode 100644 index abc05af62..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/altivec-13.C +++ /dev/null @@ -1,59 +0,0 @@ -/* Check that vec_step can be used with const vector types. This - test is derived from parts of gcc.dg/vmx/8-02.c from Motorola's - AltiVec testsuite. */ - -/* { dg-do compile { target powerpc*-*-* } } */ -/* { dg-require-effective-target powerpc_altivec_ok } */ -/* { dg-options "-maltivec" } */ - -#include <altivec.h> - -extern vector unsigned char vuc; -extern vector signed char vsc; -extern vector bool char vbc; -extern vector unsigned short vus; -extern vector signed short vss; -extern vector bool short vbs; -extern vector unsigned int vui; -extern vector signed int vsi; -extern vector bool int vbi; -extern vector pixel vp; -extern vector float vf; -extern const vector unsigned char cvuc; -extern const vector signed char cvsc; -extern const vector bool char cvbc; -extern const vector unsigned short cvus; -extern const vector signed short cvss; -extern const vector bool short cvbs; -extern const vector unsigned int cvui; -extern const vector signed int cvsi; -extern const vector bool int cvbi; -extern const vector pixel cvp; -extern const vector float cvf; - -void -foo (void) -{ - int i_vuc = vec_step (vuc); - int i_vsc = vec_step (vsc); - int i_vbc = vec_step (vbc); - int i_vus = vec_step (vus); - int i_vss = vec_step (vss); - int i_vbs = vec_step (vbs); - int i_vui = vec_step (vui); - int i_vsi = vec_step (vsi); - int i_vbi = vec_step (vbi); - int i_vp = vec_step (vp); - int i_vf = vec_step (vf); - int i_cvuc = vec_step (cvuc); - int i_cvsc = vec_step (cvsc); - int i_cvbc = vec_step (cvbc); - int i_cvus = vec_step (cvus); - int i_cvss = vec_step (cvss); - int i_cvbs = vec_step (cvbs); - int i_cvui = vec_step (cvui); - int i_cvsi = vec_step (cvsi); - int i_cvbi = vec_step (cvbi); - int i_cvp = vec_step (cvp); - int i_cvf = vec_step (cvf); -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/altivec-14.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/altivec-14.C deleted file mode 100644 index e5dd81c75..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/altivec-14.C +++ /dev/null @@ -1,13 +0,0 @@ -/* { dg-do compile { target powerpc*-*-* } } */ -/* { dg-require-effective-target powerpc_altivec_ok } */ -/* { dg-options "-maltivec" } */ - -void f (__attribute__((altivec (vector__))) signed int * a, - __attribute__((altivec (vector__))) signed int * const b); - -int -foo (void) -{ - __attribute__((altivec (vector__))) signed int a[1], b[1]; - f (a, b); -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/altivec-15.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/altivec-15.C deleted file mode 100644 index d8e982db4..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/altivec-15.C +++ /dev/null @@ -1,16 +0,0 @@ -/* { dg-do compile { target powerpc*-*-* } } */ -/* { dg-require-effective-target powerpc_altivec_ok } */ -/* { dg-options "-maltivec -mno-vsx" } */ - -/* This test was added for an internal compiler error. The number and - content of error messages is irrelevant. */ - -struct SubData -{ - inline const Float Clamp(Float f, Float f0, Float f1) // { dg-error "" } - } - inline const void SinCos(Float angle, Float& sine, Float& cosine) // { dg-error "" } - { - C0 = __builtin_vec_splat(_simdCosEstCoefficients, 0); - C1 = __builtin_vec_splat(_simdCosEstCoefficients, 1); - diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/altivec-16.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/altivec-16.C deleted file mode 100644 index 91230d261..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/altivec-16.C +++ /dev/null @@ -1,19 +0,0 @@ -// PR c++/36662 -// { dg-do compile { target powerpc*-*-* } } -// { dg-require-effective-target powerpc_altivec_ok } -// { dg-options "-maltivec" } - -#define vector __attribute__((altivec (vector__))) - -template <typename c> struct S {}; - -template <> struct S<vector float> -{ - static vector float zero; -}; - -template <int> -void g (void) -{ - vector float t = S<vector float>::zero; -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/altivec-17.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/altivec-17.C deleted file mode 100644 index 099f8742e..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/altivec-17.C +++ /dev/null @@ -1,16 +0,0 @@ -// { dg-do compile { target powerpc*-*-* } } -// { dg-require-effective-target powerpc_altivec_ok } -// { dg-options "-maltivec" } - -// Make sure that bool vectors have distinct names to int vectors - -#define vector__ __attribute__((altivec (vector__))) -#define bool__ __attribute__((altivec(bool__))) - -typedef vector__ unsigned int simd_type; -typedef vector__ bool__ int bool_simd_type; - -void Foo (bool_simd_type const &a) -{ - simd_type const &v = a; // { dg-error "invalid initialization of reference of type" } -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/altivec-2.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/altivec-2.C deleted file mode 100644 index eb8a92942..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/altivec-2.C +++ /dev/null @@ -1,25 +0,0 @@ -/* { dg-do compile { target powerpc*-*-* } } */ -/* { dg-require-effective-target powerpc_altivec_ok } */ -/* { dg-options "-maltivec -Wall -Wno-unused-but-set-variable" } */ - -/* This test checks if AltiVec builtins accept const-qualified - arguments. */ - -#include <altivec.h> - -vector unsigned char use_lvsl; - -int main (int argc, const char * argv[]) -{ - int i = 0; - const float cf = 1.0; - vector float v; - const vector float cv = (vector float){1.0, 2.0, 3.0, 4.0}; - - vec_dst(&cv, i, 0); - v = vec_ld(0, &cv); - v = vec_lde(0, &cf); - use_lvsl = vec_lvsl(0, &cf); - - return 0; -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/altivec-3.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/altivec-3.C deleted file mode 100644 index 151132059..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/altivec-3.C +++ /dev/null @@ -1,137 +0,0 @@ -/* { dg-do run { target { powerpc*-*-* && vmx_hw } } } */ -/* { dg-do compile { target { powerpc*-*-* && { ! vmx_hw } } } } */ -/* { dg-require-effective-target powerpc_altivec_ok } */ -/* { dg-options "-maltivec" } */ - -/* Test for correct handling of AltiVec constants passed - through '...' (va_arg). */ - -#include <stdarg.h> -#include <stdio.h> -#include <stdlib.h> - -#include <altivec.h> - -#define CHECK_INVARIANT(expr) \ - if (!(expr)) { \ - printf ("ASSERT FAILED: %d: %s\n", __LINE__, #expr); \ - abort (); \ - } - -struct foo { int x; int y; }; -struct vfoo { int x; __vector signed int v; int y; }; -union u { __vector signed int v; signed int i[4]; }; - -struct foo x_g = { 3, 4}; -struct vfoo vx_g = { 10, {11, 12, 13, 14}, 15 }; -__vector signed int v_g = {22, 23, 24, 25}; -struct vfoo vx2_g = { 30, {31, 32, 33, 34}, 35 }; -__vector signed int v2_g = {40, 41, 42, 43}; -int i_1 = 99, i_2 = 33; -double d_2 = 1.5, d_3 = 1.75; -double ld_1 = 1.25; - -void bar (int i, ... ) -{ - struct foo xi; - double d; - double ld; - float f; - char c; - short s; - va_list ap; - va_start(ap, i); - xi = va_arg(ap, struct foo); - s = (short)va_arg(ap, int); - f = (float)va_arg(ap, double); - ld = va_arg(ap, double); - c = (char)va_arg(ap, int); - d = va_arg(ap, double); - va_end(ap); - - CHECK_INVARIANT (xi.x == x_g.x && xi.y == x_g.y); - CHECK_INVARIANT (s == (short)i_2); - CHECK_INVARIANT (f == (float)d_2); - CHECK_INVARIANT (ld == ld_1); - CHECK_INVARIANT (c == (char)i_1); - CHECK_INVARIANT (d == d_3); -} - -void baz (int i, ... ) -{ - struct vfoo vx, vx2; - __vector signed int v_i, v2_i; - int j, k, l; - va_list ap; - va_start(ap, i); - v_i = va_arg(ap, __vector signed int); - j = va_arg(ap, int); - vx = va_arg(ap, struct vfoo); - k = va_arg(ap, int); - v2_i = va_arg(ap, __vector signed int); - l = va_arg(ap, int); - vx2 = va_arg(ap, struct vfoo); - va_end(ap); - - CHECK_INVARIANT (vec_all_eq (v_i, v_g)); - CHECK_INVARIANT (j == i_1); - CHECK_INVARIANT (vx.x == vx_g.x); - CHECK_INVARIANT (vec_all_eq (vx.v, vx_g.v)); - CHECK_INVARIANT (vx.y == vx_g.y); - CHECK_INVARIANT (k == i_1); - CHECK_INVARIANT (vec_all_eq (v2_i, v2_g)); - CHECK_INVARIANT (l == i_1); - CHECK_INVARIANT (vx2.x == vx2_g.x); - CHECK_INVARIANT (vec_all_eq (vx2.v, vx2_g.v)); - CHECK_INVARIANT (vx2.y == vx2_g.y); -} - -void quux (int i, ... ) -{ - __vector signed int v_i, v2_i; - union u vi, v2i; - va_list ap; - va_start(ap, i); - v_i = va_arg(ap, __vector signed int); - v2_i = va_arg(ap, __vector signed int); - va_end(ap); - vi.v = v_i; - v2i.v = v2_i; - - CHECK_INVARIANT (vec_all_eq (v_i, v_g)); - CHECK_INVARIANT (vec_all_eq (v2_i, v_g)); - CHECK_INVARIANT (vec_all_eq (vi.v, v_g)); - CHECK_INVARIANT (vec_all_eq (v2i.v, v_g)); -} - -void baz2 (int i, ... ) -{ - struct vfoo vx; - union u vxi; - va_list ap; - va_start(ap, i); - vx = va_arg(ap, struct vfoo); - va_end(ap); - vxi.v = vx.v; - - CHECK_INVARIANT (vx.x == vx_g.x); - CHECK_INVARIANT (vec_all_eq (vx.v, vx_g.v)); - CHECK_INVARIANT (vx.y == vx_g.y); - CHECK_INVARIANT (vec_all_eq (vxi.v, vx_g.v)); -} - -void main1(void) -{ - CHECK_INVARIANT (sizeof(struct foo) == 8 && sizeof(struct vfoo) == 48); - - bar(i_1, x_g, (short)i_2, (float)d_2, ld_1, (char)i_1, d_3); - baz(i_1, v_g, i_1, vx_g, i_1, v2_g, i_1, vx2_g); - quux(i_1, v_g, v_g); - baz2(i_1, vx_g); -} - -int main(void) -{ - main1(); - return 0; -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/altivec-4.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/altivec-4.C deleted file mode 100644 index 86a2615dc..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/altivec-4.C +++ /dev/null @@ -1,12 +0,0 @@ -/* { dg-do compile { target powerpc*-*-* } } */ -/* { dg-require-effective-target powerpc_altivec_ok } */ -/* { dg-options "-maltivec" } */ - -/* PR c++/14425 */ - -#include <altivec.h> - -vector unsigned int splat0(vector unsigned int x) -{ - return vec_splat(x, 0); -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/altivec-5.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/altivec-5.C deleted file mode 100644 index 04c26e80f..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/altivec-5.C +++ /dev/null @@ -1,16 +0,0 @@ -/* { dg-do compile { target powerpc*-*-* } } */ -/* { dg-require-effective-target powerpc_altivec_ok } */ -/* { dg-options "-maltivec" } */ - -/* PR c++/14426 */ - -#include <altivec.h> - -vector unsigned int splat0u() -{ - return vec_splat_u32(0); -} -vector int splat0s() -{ - return vec_splat_s32(0); -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/altivec-6.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/altivec-6.C deleted file mode 100644 index 63ae0b0b9..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/altivec-6.C +++ /dev/null @@ -1,28 +0,0 @@ -/* Test for correct handling of literal arguments. */ -/* Author: Ziemowit Laski <zlaski@apple.com> */ -/* { dg-do compile { target powerpc*-*-* } } */ -/* { dg-require-effective-target powerpc_altivec_ok } */ -/* { dg-options "-maltivec" } */ - -#include <altivec.h> - -void foo(void) { - const unsigned char *buf; - vector pixel vp = { 3, 4, 5, 6 }; - vector bool int vbi = { 1, 0, 1, 0 }; - vector bool short vbs = { 1, 0, 1, 0, 1, 0, 1, 0 }; - vector bool char vbc = { 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0 }; - vector signed char vsc; - int a = 3; - - vec_dst(buf, a, 1); - vec_dstst(buf, a, 2); - vec_dststt(buf, a, 3); - vec_dststt(buf, a, 2); - - vp = vec_sld(vp, vp, 5); - vbc = vec_splat(vbc, 7); - vbs = vec_splat(vbs, 12); - vp = vec_splat(vp, 17); - vbi = vec_splat(vbi, 31); -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/altivec-7.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/altivec-7.C deleted file mode 100644 index 7c458fb00..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/altivec-7.C +++ /dev/null @@ -1,36 +0,0 @@ -/* Test for AltiVec type overloading and name mangling. */ -/* { dg-do compile { target powerpc*-*-* } } */ -/* { dg-require-effective-target powerpc_altivec_ok } */ -/* { dg-options "-maltivec" } */ - -#include <altivec.h> - -void foo(vector unsigned char) { } -void foo(vector signed char) { } -void foo(vector bool char) { } -void foo(vector unsigned short) { } -void foo(vector signed short) { } -void foo(vector bool short) { } -void foo(vector unsigned int) { } -void foo(vector signed int) { } -void foo(vector bool int) { } -void foo(vector float) { } -void foo(vector pixel) { } -void foo(int) { } -void foo(unsigned int) { } -void foo(float) { } - -/* { dg-final { scan-assembler "_Z3fooU8__vectorh" } } */ -/* { dg-final { scan-assembler "_Z3fooU8__vectora" } } */ -/* { dg-final { scan-assembler "_Z3fooU8__vectorU6__boolc" } } */ -/* { dg-final { scan-assembler "_Z3fooU8__vectort" } } */ -/* { dg-final { scan-assembler "_Z3fooU8__vectors" } } */ -/* { dg-final { scan-assembler "_Z3fooU8__vectorU6__bools" } } */ -/* { dg-final { scan-assembler "_Z3fooU8__vectorj" } } */ -/* { dg-final { scan-assembler "_Z3fooU8__vectori" } } */ -/* { dg-final { scan-assembler "_Z3fooU8__vectorU6__booli" } } */ -/* { dg-final { scan-assembler "_Z3fooU8__vectorf" } } */ -/* { dg-final { scan-assembler "_Z3fooU8__vectoru7__pixel" } } */ -/* { dg-final { scan-assembler "_Z3fooi" } } */ -/* { dg-final { scan-assembler "_Z3fooj" } } */ -/* { dg-final { scan-assembler "_Z3foof" } } */ diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/altivec-8.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/altivec-8.C deleted file mode 100644 index 3c5a76e06..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/altivec-8.C +++ /dev/null @@ -1,21 +0,0 @@ -/* { dg-do compile { target powerpc*-*-* } } */ -/* { dg-require-effective-target powerpc_altivec_ok } */ -/* { dg-options "-maltivec" } */ -/* Author: Ziemowit Laski <zlaski@apple.com> */ - -/* This test case exercises intrinsic/argument combinations that, - while not in the Motorola AltiVec PIM, have nevertheless crept - into the AltiVec vernacular over the years. */ - -#include <altivec.h> - -void foo (void) -{ - vector bool int boolVec1 = (vector bool int) vec_splat_u32(3); - vector bool short boolVec2 = (vector bool short) vec_splat_u16(3); - vector bool char boolVec3 = (vector bool char) vec_splat_u8(3); - - boolVec1 = vec_sld( boolVec1, boolVec1, 4 ); - boolVec2 = vec_sld( boolVec2, boolVec2, 2 ); - boolVec3 = vec_sld( boolVec3, boolVec3, 1 ); -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/altivec-9.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/altivec-9.C deleted file mode 100644 index 174ae63ed..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/altivec-9.C +++ /dev/null @@ -1,14 +0,0 @@ -/* Test for AltiVec function vec_ld, passing a pointer to const vector */ -/* { dg-do compile { target powerpc*-*-* } } */ -/* { dg-require-effective-target powerpc_altivec_ok } */ -/* { dg-options "-maltivec" } */ - -#include <altivec.h> - -typedef vector unsigned char vuc_t; -const vuc_t* p; -vector unsigned char test_vec_ld() -{ - return vec_ld(0,p); -} - diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/altivec-cell-1.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/altivec-cell-1.C deleted file mode 100644 index 16d311c3b..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/altivec-cell-1.C +++ /dev/null @@ -1,94 +0,0 @@ -/* { dg-do compile { target powerpc*-*-* } } */ -/* { dg-require-effective-target powerpc_altivec_ok } */ -/* { dg-options "-maltivec" } */ - -/* Basic test for the new VMX intrinsics. */ -#include <altivec.h> - -int f(vector int a, int b) -{ - return vec_extract (a, b); -} -short f1(vector short a, int b) -{ - return vec_extract (a, b); -} -vector short f2(vector short a, int b) -{ - return vec_insert (b, a, b); -} -vector float f3(vector float a, int b) -{ - return vec_insert (b, a, b); -} - -float g(void); - -vector float f4(float b, int t) -{ - return vec_promote (g(), t); -} -vector float f5(float b) -{ - return vec_splats (g()); -} - - - - -template <int> -int tf(vector int a, int b) -{ - return vec_extract (a, b); -} -template <int> -short tf1(vector short a, int b) -{ - return vec_extract (a, b); -} -template <int> -vector short tf2(vector short a, int b) -{ - return vec_insert (b, a, b); -} -template <int> -vector float tf3(vector float a, int b) -{ - return vec_insert (b, a, b); -} - -template <int> -vector float tf4(float b, int t) -{ - return vec_promote (g(), t); -} -template <int> -vector float tf5(float b) -{ - return vec_splats (g()); -} - -int t(vector int a, int b) -{ - return tf<1>(a, b); -} -short t1(vector short a, int b) -{ - return tf1<1>(a, b); -} -vector short t2(vector short a, int b) -{ - return tf2<1>(a, b); -} -vector float t3(vector float a, int b) -{ - return tf3<1>(a, b); -} -vector float t4(float b, int t) -{ - return tf4<1>(b, t); -} -vector float t5(float b) -{ - return tf5<1>(b); -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/altivec-cell-2.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/altivec-cell-2.C deleted file mode 100644 index f0d3433cd..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/altivec-cell-2.C +++ /dev/null @@ -1,141 +0,0 @@ -/* { dg-do run { target { powerpc*-*-* && vmx_hw } } } */ -/* { dg-do compile { target { powerpc*-*-* && { ! vmx_hw } } } } */ -/* { dg-require-effective-target powerpc_altivec_ok } */ -/* { dg-options "-maltivec" } */ -/* Test the vec_extract VMX intrinsics. */ -#include <altivec.h> - -extern "C" void abort (void); - -vector int a = {0, 1, 2, 3}; -vector short b = {0, 1, 2, 3, 4, 5, 6, 7}; - -int f(vector int a, int b) -{ - return vec_extract (a, b); -} - -int f0 (vector int a) -{ - return vec_extract (a, 0); -} -int f1 (vector int a) -{ - return vec_extract (a, 1); -} -int f2 (vector int a) -{ - return vec_extract (a, 2); -} -int f3 (vector int a) -{ - return vec_extract (a, 3); -} -int f4 (vector int a) -{ - return vec_extract (a, 4); -} - -int g(vector short a, int b) -{ - return vec_extract (a, b); -} - -int g0 (vector short a) -{ - return vec_extract (a, 0); -} -int g1 (vector short a) -{ - return vec_extract (a, 1); -} -int g2 (vector short a) -{ - return vec_extract (a, 2); -} -int g3 (vector short a) -{ - return vec_extract (a, 3); -} - -int g4 (vector short a) -{ - return vec_extract (a, 4); -} -int g5 (vector short a) -{ - return vec_extract (a, 5); -} -int g6 (vector short a) -{ - return vec_extract (a, 6); -} -int g7 (vector short a) -{ - return vec_extract (a, 7); -} -int g8 (vector short a) -{ - return vec_extract (a, 8); -} -int main1(void) __attribute__((noinline)); -int main1(void) -{ - int i; - /* Check vec_extract with a non constant element numbering */ - for(i=0;i<10;i++) - { - if (f(a, i) != (i&0x3)) - abort (); - } - - /* Check vec_extract with a constant element numbering */ - if (f0(a) != 0) - abort (); - if (f1(a) != 1) - abort (); - if (f2(a) != 2) - abort (); - if (f3(a) != 3) - abort (); - /* Check that vec_extract works with a constant element higher than - the number of elements. */ - if (f4(a) != 0) - abort (); - - /* Check vec_extract with a non constant element numbering */ - for(i=0;i<10;i++) - { - if (g(b, i) != (i&0x7)) - abort (); - } - - /* Check vec_extract with a constant element numbering */ - if (g0(b) != 0) - abort (); - if (g1(b) != 1) - abort (); - if (g2(b) != 2) - abort (); - if (g3(b) != 3) - abort (); - if (g4(b) != 4) - abort (); - if (g5(b) != 5) - abort (); - if (g6(b) != 6) - abort (); - if (g7(b) != 7) - abort (); - /* Check that vec_extract works with a constant element higher than - the number of elements. */ - if (g8(b) != 0) - abort (); - - return 0; -} - -int main(void) -{ - return main1 (); -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/altivec-cell-3.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/altivec-cell-3.C deleted file mode 100644 index bd7e774e3..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/altivec-cell-3.C +++ /dev/null @@ -1,37 +0,0 @@ -/* { dg-do run { target { powerpc*-*-* && vmx_hw } } } */ -/* { dg-do compile { target { powerpc*-*-* && { ! vmx_hw } } } } */ -/* { dg-require-effective-target powerpc_altivec_ok } */ -/* { dg-options "-maltivec" } */ -/* Test the vec_splats and vec_promote VMX intrinsics. */ -#include <altivec.h> - -extern "C" void abort (void); - -vector int a = {0, 0, 0, 0}; -int main1(int t) __attribute__((noinline)); -int main1(int t) -{ - int i; - vector int b = vec_splats(0); - if (__builtin_memcmp (&a, &b, sizeof(vector int))) - abort (); - - b = vec_splats(t); - if (__builtin_memcmp (&a, &b, sizeof(vector int))) - abort (); - - b = vec_promote(0, 1); - if (vec_extract (b, 1) != 0) - abort (); - - b = vec_promote(t, t); - if (vec_extract (b, t) != 0) - abort (); - - return 0; -} - -int main(void) -{ - return main1 (0); -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/altivec-cell-4.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/altivec-cell-4.C deleted file mode 100644 index 7d91adbb3..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/altivec-cell-4.C +++ /dev/null @@ -1,42 +0,0 @@ -/* { dg-do run { target { powerpc*-*-* && vmx_hw } } } */ -/* { dg-do compile { target { powerpc*-*-* && { ! vmx_hw } } } } */ -/* { dg-require-effective-target powerpc_altivec_ok } */ -/* { dg-options "-maltivec" } */ - -/* Test the vec_splats and vec_promote VMX intrinsics. */ -#include <altivec.h> - -extern "C" void abort (void); - -vector int a[] = {{0, 0, 0, 0}, {1,0,0,0}, {1,2,0,0},{1,2,3,0},{1,2,3,4},{5,2,3,4},{5,6,3,4}}; -vector int c = {0,6,3,4}; -vector int d = {0,0,3,4}; -int main1(int t) __attribute__((noinline)); -int main1(int t) -{ - int i; - vector int b = vec_splats(0); - for(i = 0;i<sizeof(a)/sizeof(a[0])-1;i++) - { - if (__builtin_memcmp (&b, &a[i], sizeof(vector int))) - abort (); - b = vec_insert(i+1, b, i); - } - if (__builtin_memcmp (&b, &a[i], sizeof(vector int))) - abort (); - - b = vec_insert(0, b, 0); - if (__builtin_memcmp (&b, &c, sizeof(vector int))) - abort (); - - b = vec_insert(0, b, 1); - if (__builtin_memcmp (&b, &d, sizeof(vector int))) - abort (); - - return 0; -} - -int main(void) -{ - return main1 (0); -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/altivec-cell-5.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/altivec-cell-5.C deleted file mode 100644 index 95f109d1a..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/altivec-cell-5.C +++ /dev/null @@ -1,25 +0,0 @@ -/* { dg-do compile { target powerpc*-*-* } } */ -/* { dg-require-effective-target powerpc_altivec_ok } */ -/* { dg-options "-maltivec" } */ - -/* Basic test for the new VMX intrinsics and error messages. */ -#include <altivec.h> - -int main(int argc, char **argv) -{ -vector float t; - vec_promote(); /* { dg-error "vec_promote only accepts 2" } */ - vec_promote(1.0f); /* { dg-error "vec_promote only accepts 2" } */ - vec_promote(1.0f, 2, 3); /* { dg-error "vec_promote only accepts 2" } */ - vec_extract (); /* { dg-error "vec_extract only accepts 2" } */ - vec_extract (t); /* { dg-error "vec_extract only accepts 2" } */ - vec_extract (t, 2); - vec_extract (t, 2, 5, 6); /* { dg-error "vec_extract only accepts 2" } */ - vec_splats (); /* { dg-error "vec_splats only accepts 1" } */ - vec_splats (t, 3); /* { dg-error "vec_splats only accepts 1" } */ - vec_insert (); /* { dg-error "vec_insert only accepts 3" } */ - vec_insert (t); /* { dg-error "vec_insert only accepts 3" } */ - vec_insert (t, 3); /* { dg-error "vec_insert only accepts 3" } */ - vec_insert (t, 3, 2, 4, 6, 6); /* { dg-error "vec_insert only accepts 3" } */ - return 0; -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/altivec-types-1.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/altivec-types-1.C deleted file mode 100644 index f54aeec46..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/altivec-types-1.C +++ /dev/null @@ -1,88 +0,0 @@ -/* { dg-do compile { target powerpc*-*-linux* } } */ -/* { dg-require-effective-target powerpc_altivec_ok } */ -/* { dg-options "-maltivec -mno-vsx -std=c++98" } */ - -/* Valid AltiVec vector types should be accepted with no warnings. */ - -__vector char vc; -__vector unsigned char vuc; -__vector signed char vsc; -__vector __bool char vbc; -__vector short vh; -__vector signed short vsh; -__vector unsigned short vuh; -__vector short int vhi; -__vector signed short int vshi; -__vector unsigned short int vuhi; -__vector __bool short vbh; -__vector __bool short int vbhi; -__vector int vi; -__vector unsigned int vui; -__vector signed int vsi; -__vector __bool int vbi; -__vector unsigned vuj; -__vector signed vsj; -__vector __bool vbj; -__vector float vf; - -/* These should be rejected as invalid AltiVec types. */ - -__vector bool vb; /* { dg-error "AltiVec types" "" } */ -__vector long long vll; /* { dg-error "AltiVec types" "" } */ -__vector unsigned long long vull; /* { dg-error "AltiVec types" "" } */ -__vector signed long long vsll; /* { dg-error "AltiVec types" "" } */ -__vector __bool long long vbll; /* { dg-error "AltiVec types" "" } */ -__vector long long int vlli; /* { dg-error "AltiVec types" "" } */ -__vector unsigned long long int vulli; /* { dg-error "AltiVec types" "" } */ -__vector signed long long int vslli; /* { dg-error "AltiVec types" "" } */ -__vector __bool long long int vblli; /* { dg-error "AltiVec types" "" } */ -__vector double vd1; /* { dg-error "AltiVec types" "" } */ -__vector long double vld; /* { dg-error "AltiVec types" "" } */ -__vector _Complex float vcf; /* { dg-error "AltiVec types" "" } */ -__vector _Complex double vcd; /* { dg-error "AltiVec types" "" } */ -__vector _Complex long double vcld; /* { dg-error "AltiVec types" "" } */ -__vector _Complex signed char vcsc; /* { dg-error "AltiVec types" "" } */ -__vector _Complex unsigned char vcuc; /* { dg-error "AltiVec types" "" } */ -__vector _Complex short vcss; /* { dg-error "AltiVec types" "" } */ -__vector _Complex unsigned short vcus; /* { dg-error "AltiVec types" "" } */ -__vector _Complex int vcsi; /* { dg-error "AltiVec types" "" } */ -__vector _Complex unsigned int vcui; /* { dg-error "AltiVec types" "" } */ -__vector _Complex long vcsl; /* { dg-error "AltiVec types" "" } */ -__vector _Complex unsigned long vcul; /* { dg-error "AltiVec types" "" } */ -__vector _Complex long long vcsll; /* { dg-error "AltiVec types" "" } */ -__vector _Complex unsigned long long vcull; /* { dg-error "AltiVec types" "" } */ -__vector __complex float v_cf; /* { dg-error "AltiVec types" "" } */ -__vector __complex double v_cd; /* { dg-error "AltiVec types" "" } */ -__vector __complex long double v_cld; /* { dg-error "AltiVec types" "" } */ -__vector __complex signed char v_csc; /* { dg-error "AltiVec types" "" } */ -__vector __complex unsigned char v_cuc; /* { dg-error "AltiVec types" "" } */ -__vector __complex short v_css; /* { dg-error "AltiVec types" "" } */ -__vector __complex unsigned short v_cus; /* { dg-error "AltiVec types" "" } */ -__vector __complex int v_csi; /* { dg-error "AltiVec types" "" } */ -__vector __complex unsigned int v_cui; /* { dg-error "AltiVec types" "" } */ -__vector __complex long v_csl; /* { dg-error "AltiVec types" "" } */ -__vector __complex unsigned long v_cul; /* { dg-error "AltiVec types" "" } */ -__vector __complex long long v_csll; /* { dg-error "AltiVec types" "" } */ -__vector __complex unsigned long long v_cull; /* { dg-error "AltiVec types" "" } */ - -/* These should be rejected because the component types are invalid. We - don't care about the actual error messages here. */ - -__vector __bool unsigned char vbuc; /* { dg-error "" "" } */ -__vector __bool signed char vbsc; /* { dg-error "" "" } */ -__vector __bool unsigned short vbuh; /* { dg-error "" "" } */ -__vector __bool signed short vbsh; /* { dg-error "" "" } */ -__vector __bool unsigned int vbui; /* { dg-error "" "" } */ -__vector __bool signed int vbsi; /* { dg-error "" "" } */ -__vector __bool unsigned vbuj; /* { dg-error "" "" } */ -__vector __bool signed vbsj; /* { dg-error "" "" } */ -__vector signed float vsf; /* { dg-error "" "" } */ -__vector unsigned float vuf; /* { dg-error "" "" } */ -__vector short float vsf; /* { dg-error "" "" } */ -__vector signed double vsd; /* { dg-error "" "" } */ -__vector unsigned double vud; /* { dg-error "" "" } */ -__vector short double vsd; /* { dg-error "" "" } */ -__vector __bool float vbf; /* { dg-error "" "" } */ -__vector __bool double vbd; /* { dg-error "" "" } */ -__vector __bool short float blf; /* { dg-error "" "" } */ -__vector __bool short double vlbd; /* { dg-error "" "" } */ diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/altivec-types-2.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/altivec-types-2.C deleted file mode 100644 index cee6c8f26..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/altivec-types-2.C +++ /dev/null @@ -1,14 +0,0 @@ -/* { dg-do compile { target powerpc*-*-linux* } } */ -/* { dg-require-effective-target ilp32 } */ -/* { dg-require-effective-target powerpc_altivec_ok } */ -/* { dg-options "-maltivec -mno-vsx" } */ - -/* These should get warnings for 32-bit code. */ - -__vector long vl; /* { dg-warning "deprecated" "" } */ -__vector unsigned long vul; /* { dg-warning "deprecated" "" } */ -__vector signed long vsl; /* { dg-warning "deprecated" "" } */ -__vector __bool long int vbli; /* { dg-warning "deprecated" "" } */ -__vector long int vli; /* { dg-warning "deprecated" "" } */ -__vector unsigned long int vuli; /* { dg-warning "deprecated" "" } */ -__vector signed long int vsli; /* { dg-warning "deprecated" "" } */ diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/altivec-types-3.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/altivec-types-3.C deleted file mode 100644 index 6bea9a145..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/altivec-types-3.C +++ /dev/null @@ -1,14 +0,0 @@ -/* { dg-do compile { target powerpc*-*-linux* } } */ -/* { dg-require-effective-target powerpc_altivec_ok } */ -/* { dg-require-effective-target lp64 } */ -/* { dg-options "-maltivec -mno-vsx" } */ - -/* These should be rejected for 64-bit code. */ - -__vector long vl; /* { dg-error "invalid for 64" "" } */ -__vector unsigned long vul; /* { dg-error "invalid for 64" "" } */ -__vector signed long vsl; /* { dg-error "invalid for 64" "" } */ -__vector __bool long int vbli; /* { dg-error "invalid for 64" "" } */ -__vector long int vli; /* { dg-error "invalid for 64" "" } */ -__vector unsigned long int vuli; /* { dg-error "invalid for 64" "" } */ -__vector signed long int vsli; /* { dg-error "invalid for 64" "" } */ diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/altivec-types-4.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/altivec-types-4.C deleted file mode 100644 index b937f3cf1..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/altivec-types-4.C +++ /dev/null @@ -1,15 +0,0 @@ -/* { dg-do compile { target powerpc*-*-linux* } } */ -/* { dg-require-effective-target ilp32 } */ -/* { dg-require-effective-target powerpc_altivec_ok } */ -/* { dg-options "-maltivec -mno-vsx -mno-warn-altivec-long" } */ - -/* These should not get warnings for 32-bit code when the warning is - disabled. */ - -__vector long vl; -__vector unsigned long vul; -__vector signed long vsl; -__vector __bool long int vbli; -__vector long int vli; -__vector unsigned long int vuli; -__vector signed long int vsli; diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/always_inline-1.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/always_inline-1.C deleted file mode 100644 index 284fd17a0..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/always_inline-1.C +++ /dev/null @@ -1,26 +0,0 @@ -// { dg-options "-O0" } -// { dg-do compile } -// PR C++/34715 - - -namespace X -{ - template <class T> - const T& min(const T& a, const T& b); - - template <class T> - inline __attribute__ ((always_inline)) const T& min(const T& a, const T& b) - { - return a < b ? a : b; - } -} -template <class T> -inline __attribute__ ((always_inline)) T y(const T& a, const T& b) -{ - return X::min(a, b); -} -int main() -{ - int a = 0, b = 0; - return y(a, b); -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/always_inline-2.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/always_inline-2.C deleted file mode 100644 index 31123c192..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/always_inline-2.C +++ /dev/null @@ -1,26 +0,0 @@ -// { dg-options "-O0" } -// { dg-do compile } -// PR C++/34715 - - -namespace X -{ - template <class T> - const T& min123(const T& a, const T& b); -} - - -template <class T> -inline __attribute__ ((always_inline)) const T& X::min123(const T& a, const T& b) -{ - return a < b ? a : b; -} -int main() -{ - int a, b; - return X::min123(a, b); -} - - - -// { dg-final { scan-assembler-not "min123" } } diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/always_inline-3.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/always_inline-3.C deleted file mode 100644 index e008932bf..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/always_inline-3.C +++ /dev/null @@ -1,26 +0,0 @@ -// { dg-options "-O0" } -// { dg-do compile } -// PR C++/34715 - - -namespace X -{ - template <class T> - inline __attribute__ ((always_inline)) const T& min123(const T& a, const T& b); -} - - -template <class T> -inline __attribute__ ((always_inline)) const T& X::min123(const T& a, const T& b) -{ - return a < b ? a : b; -} -int main() -{ - int a, b; - return X::min123(a, b); -} - - - -// { dg-final { scan-assembler-not "min123" } } diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/always_inline-4.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/always_inline-4.C deleted file mode 100644 index e95076193..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/always_inline-4.C +++ /dev/null @@ -1,20 +0,0 @@ -// { dg-options "-O0" } -// { dg-do compile } -// PR C++/34715 - - template <class T> - const T& min123(const T& a, const T& b); -template <class T> -inline __attribute__ ((always_inline)) const T& -min123(const T& a, const T& b) -{ - return a < b ? a : b; -} -int main() -{ - int a, b; - return min123(a, b); -} - - -// { dg-final { scan-assembler-not "min123" } } diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/always_inline-5.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/always_inline-5.C deleted file mode 100644 index 73caa094f..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/always_inline-5.C +++ /dev/null @@ -1,28 +0,0 @@ -// { dg-do compile } -struct f -{ - inline f(void); - inline void f1(void); - int a; -}; - -inline __attribute__((always_inline)) f::f(void) -{ - a++; -} - -inline __attribute__((always_inline)) void f::f1(void) -{ - a++; -} - -void g(void) -{ - f a, b, c, d; - a.f1(); -} - -// f::f() should be inlined even at -O0 -// { dg-final { scan-assembler-not "_ZN1fC1Ev" } } -// Likewise for f::f1() -// { dg-final { scan-assembler-not "_ZN1f2f1Ev" } } diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/anon-struct1.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/anon-struct1.C deleted file mode 100644 index 0a682db1a..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/anon-struct1.C +++ /dev/null @@ -1,50 +0,0 @@ -/* { dg-options "-ansi -pedantic -pedantic-errors" } */ -/* In strict ISO C++ mode, we don't recognize the anonymous struct - extension or any Microsoft C extensions. */ - -struct A { char a; }; - -struct B { - struct A; /* forward decl of B::A. */ - char b; -}; -char testB[sizeof(B) == sizeof(A) ? 1 : -1]; - -struct C { - struct D { char d; }; /* decl of C::D. */ - char c; -}; -char testC[sizeof(C) == sizeof(A) ? 1 : -1]; -char testD[sizeof(C::D) == sizeof(A) ? 1 : -1]; - -/* GNU extension. */ -struct E { - struct { char z; }; /* { dg-error "prohibits anonymous structs" } */ - char e; -}; - -typedef struct A typedef_A; -struct F { - typedef_A; /* { dg-error "does not declare anything" } */ - char f; -}; -char testF[sizeof(struct F) == sizeof(struct A) ? 1 : -1]; - -/* __extension__ enables GNU C mode for the duration of the declaration. */ -__extension__ struct G { - struct { char z; }; - char g; -}; -char testG[sizeof(G) == 2 * sizeof(A) ? 1 : -1]; - -struct H { - __extension__ struct { char z; }; - char h; -}; -char testH[sizeof(H) == 2 * sizeof(A) ? 1 : -1]; - -/* Make sure __extension__ gets turned back off. */ -struct I { - struct { char z; }; /* { dg-error "prohibits anonymous structs" } */ - char i; -}; diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/anon-struct2.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/anon-struct2.C deleted file mode 100644 index 0c629ed48..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/anon-struct2.C +++ /dev/null @@ -1,46 +0,0 @@ -/* { dg-options "" } */ -/* In GNU C++ mode, we recognize the anonymous struct extension, - but not Microsoft C extensions. */ - -struct A { char a; }; - -struct B { - struct A; /* forward decl of B::A. */ - char b; -}; -char testB[sizeof(B) == sizeof(A) ? 1 : -1]; - -struct C { - struct D { char d; }; /* decl of C::D. */ - char c; -}; -char testC[sizeof(C) == sizeof(A) ? 1 : -1]; -char testD[sizeof(C::D) == sizeof(A) ? 1 : -1]; - -/* GNU extension. */ -struct E { - struct { char z; }; - char e; -}; -char testE[sizeof(E) == 2 * sizeof(A) ? 1 : -1]; -char testEz[sizeof( ((E *)0)->z )]; - -typedef struct A typedef_A; -struct F { - typedef_A; /* { dg-error "does not declare anything" } */ - char f; -}; -char testF[sizeof(F) == sizeof(A) ? 1 : -1]; - -/* Test that __extension__ does the right thing coming _from_ GNU C mode. */ -__extension__ struct G { - struct { char z; }; - char g; -}; -char testG[sizeof(G) == 2 * sizeof(A) ? 1 : -1]; - -struct H { - struct { char z; }; - char h; -}; -char testH[sizeof(H) == 2 * sizeof(A) ? 1 : -1]; diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/anon-struct3.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/anon-struct3.C deleted file mode 100644 index 1460d6c12..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/anon-struct3.C +++ /dev/null @@ -1,34 +0,0 @@ -/* { dg-options "-fms-extensions" } */ -/* Verify that enabling Microsoft mode doesn't twist C++ as much as - their corresponding C extensions. Checked vs - Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 12.00.8168 for 80x86 - */ - -struct A { char a; }; - -struct B { - struct A; /* forward decl of B::A. */ - char b; -}; -char testB[sizeof(B) == sizeof(A) ? 1 : -1]; - -struct C { - struct D { char d; }; /* decl of C::D. */ - char c; -}; -char testC[sizeof(C) == sizeof(A) ? 1 : -1]; -char testD[sizeof(C::D) == sizeof(A) ? 1 : -1]; - -struct E { - struct { char z; }; - char e; -}; -char testE[sizeof(E) == 2 * sizeof(A) ? 1 : -1]; -char testEz[sizeof( ((E *)0)->z )]; - -typedef struct A typedef_A; -struct F { - typedef_A; /* { dg-error "does not declare anything" } */ - char f; -}; -char testF[sizeof(F) == sizeof(A) ? 1 : -1]; diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/anon-struct4.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/anon-struct4.C deleted file mode 100644 index 5d0bf71ae..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/anon-struct4.C +++ /dev/null @@ -1,5 +0,0 @@ -// PR c++/14401 - -struct { struct { int& i ; } bar ; } foo ; // { dg-error "uninitialized" "uninit" } -// { dg-warning "anonymous" "anon" { target c++98 } 3 } -// { dg-message "should be initialized" "ref-uninit" { target *-*-* } 3 } diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/anon-struct5.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/anon-struct5.C deleted file mode 100644 index 8b697ccbc..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/anon-struct5.C +++ /dev/null @@ -1,13 +0,0 @@ -// PR c++/30302 - -struct A -{ - struct { static int i; }; // { dg-error "prohibits anonymous structs|an anonymous struct" } - void foo() { i; } -}; - -struct B -{ - union { static int i; }; // { dg-error "an anonymous union|member of a union" } - void foo() { i; } -}; diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/anon-struct6.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/anon-struct6.C deleted file mode 100644 index 11a7bbd60..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/anon-struct6.C +++ /dev/null @@ -1,10 +0,0 @@ -// PR c++/33460 - -struct A -{ - struct - { // { dg-error "anonymous struct cannot have function members" } - struct { static int i; }; // { dg-error "prohibits anonymous structs|non-static data members" } - void foo() { i; } - }; // { dg-error "prohibits anonymous structs" } -}; diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/arm-fp16/arm-fp16-ops-1.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/arm-fp16/arm-fp16-ops-1.C deleted file mode 100644 index 0c601e68c..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/arm-fp16/arm-fp16-ops-1.C +++ /dev/null @@ -1,5 +0,0 @@ -/* Test various operators on __fp16 and mixed __fp16/float operands. */ -/* { dg-do run { target arm*-*-* } } */ -/* { dg-options "-mfp16-format=ieee" } */ - -#include "arm-fp16-ops.h" diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/arm-fp16/arm-fp16-ops-2.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/arm-fp16/arm-fp16-ops-2.C deleted file mode 100644 index 244e31082..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/arm-fp16/arm-fp16-ops-2.C +++ /dev/null @@ -1,5 +0,0 @@ -/* Test various operators on __fp16 and mixed __fp16/float operands. */ -/* { dg-do run { target arm*-*-* } } */ -/* { dg-options "-mfp16-format=ieee -ffast-math" } */ - -#include "arm-fp16-ops.h" diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/arm-fp16/arm-fp16-ops-3.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/arm-fp16/arm-fp16-ops-3.C deleted file mode 100644 index 8f9ab64bc..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/arm-fp16/arm-fp16-ops-3.C +++ /dev/null @@ -1,5 +0,0 @@ -/* Test various operators on __fp16 and mixed __fp16/float operands. */ -/* { dg-do run { target arm*-*-* } } */ -/* { dg-options "-mfp16-format=alternative" } */ - -#include "arm-fp16-ops.h" diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/arm-fp16/arm-fp16-ops-4.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/arm-fp16/arm-fp16-ops-4.C deleted file mode 100644 index 4877f392c..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/arm-fp16/arm-fp16-ops-4.C +++ /dev/null @@ -1,5 +0,0 @@ -/* Test various operators on __fp16 and mixed __fp16/float operands. */ -/* { dg-do run { target arm*-*-* } } */ -/* { dg-options "-mfp16-format=alternative -ffast-math" } */ - -#include "arm-fp16-ops.h" diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/arm-fp16/arm-fp16-ops-5.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/arm-fp16/arm-fp16-ops-5.C deleted file mode 100644 index 92bc8a9c0..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/arm-fp16/arm-fp16-ops-5.C +++ /dev/null @@ -1,15 +0,0 @@ -/* Test various operators on __fp16 and mixed __fp16/float operands. */ -/* { dg-do compile { target arm*-*-* } } */ -/* { dg-require-effective-target arm_fp16_ok } */ -/* { dg-options "-mfp16-format=ieee" } */ -/* { dg-add-options arm_fp16 } */ - -#include "arm-fp16-ops.h" - -/* We've specified options for hardware float, including fp16 support, so - we should not see any calls to libfuncs here. */ -/* { dg-final { scan-assembler-not "\tbl\t__.*hf2" } } */ -/* { dg-final { scan-assembler-not "\tbl\t__.*hf3" } } */ -/* { dg-final { scan-assembler-not "\tbl\t__gnu_h\[a-z\]*_ieee" } } */ -/* { dg-final { scan-assembler-not "\tbl\t__gnu_h2f_ieee" } } */ -/* { dg-final { scan-assembler-not "\tbl\t__gnu_f2h_ieee" } } */ diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/arm-fp16/arm-fp16-ops-6.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/arm-fp16/arm-fp16-ops-6.C deleted file mode 100644 index ae40b1e86..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/arm-fp16/arm-fp16-ops-6.C +++ /dev/null @@ -1,15 +0,0 @@ -/* Test various operators on __fp16 and mixed __fp16/float operands. */ -/* { dg-do compile { target arm*-*-* } } */ -/* { dg-require-effective-target arm_fp16_ok } */ -/* { dg-options "-mfp16-format=ieee -ffast-math" } */ -/* { dg-add-options arm_fp16 } */ - -#include "arm-fp16-ops.h" - -/* We've specified options for hardware float, including fp16 support, so - we should not see any calls to libfuncs here. */ -/* { dg-final { scan-assembler-not "\tbl\t__.*hf2" } } */ -/* { dg-final { scan-assembler-not "\tbl\t__.*hf3" } } */ -/* { dg-final { scan-assembler-not "\tbl\t__gnu_h\[a-z\]*_ieee" } } */ -/* { dg-final { scan-assembler-not "\tbl\t__gnu_h2f_ieee" } } */ -/* { dg-final { scan-assembler-not "\tbl\t__gnu_f2h_ieee" } } */ diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/arm-fp16/arm-fp16-ops-7.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/arm-fp16/arm-fp16-ops-7.C deleted file mode 100644 index ed8089bd6..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/arm-fp16/arm-fp16-ops-7.C +++ /dev/null @@ -1,13 +0,0 @@ -/* Test various operators on __fp16 and mixed __fp16/float operands. */ -/* { dg-do compile { target arm*-*-* } } */ -/* { dg-require-effective-target arm_neon_ok } */ -/* { dg-options "-mfp16-format=ieee" } */ -/* { dg-add-options arm_neon } */ - -#include "arm-fp16-ops.h" - -/* We've specified options for hardware float, so we should not see any - calls to libfuncs here except for those to the conversion functions. */ -/* { dg-final { scan-assembler-not "\tbl\t__.*hf2" } } */ -/* { dg-final { scan-assembler-not "\tbl\t__.*hf3" } } */ -/* { dg-final { scan-assembler-not "\tbl\t__gnu_h\[a-z\]*_ieee" } } */ diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/arm-fp16/arm-fp16-ops-8.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/arm-fp16/arm-fp16-ops-8.C deleted file mode 100644 index b138ca187..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/arm-fp16/arm-fp16-ops-8.C +++ /dev/null @@ -1,13 +0,0 @@ -/* Test various operators on __fp16 and mixed __fp16/float operands. */ -/* { dg-do compile { target arm*-*-* } } */ -/* { dg-require-effective-target arm_neon_ok } */ -/* { dg-options "-mfp16-format=ieee -ffast-math" } */ -/* { dg-add-options arm_neon } */ - -#include "arm-fp16-ops.h" - -/* We've specified options for hardware float, so we should not see any - calls to libfuncs here except for those to the conversion functions. */ -/* { dg-final { scan-assembler-not "\tbl\t__.*hf2" } } */ -/* { dg-final { scan-assembler-not "\tbl\t__.*hf3" } } */ -/* { dg-final { scan-assembler-not "\tbl\t__gnu_h\[a-z\]*_ieee" } } */ diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/arm-fp16/arm-fp16-ops.h b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/arm-fp16/arm-fp16-ops.h deleted file mode 100644 index 320494ee7..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/arm-fp16/arm-fp16-ops.h +++ /dev/null @@ -1,135 +0,0 @@ -/* Test various operators on __fp16 and mixed __fp16/float operands. */ - -#include <assert.h> - -#define CHECK(e,r) assert ((e) == r) -#define CHECK2(e,r) (assert ((e) == r), temp = (e), assert (temp == r)) -#define TEST(e) assert (e) -#define TESTNOT(e) assert (!(e)) - -volatile __fp16 h0 = 0.0; -volatile __fp16 h1 = 1.0; -volatile __fp16 h42 = 42.0; -volatile __fp16 hm2 = -2.0; -volatile __fp16 temp; - -volatile float f0 = 0.0; -volatile float f1 = 1.0; -volatile float f42 = 42.0; -volatile float fm2 = -2.0; - -int main (void) -{ - TEST (h1); - TESTNOT (h0); - TEST (!h0); - TESTNOT (!h1); - - CHECK2 (-h1, -1.0); - CHECK2 (+h1, 1.0); - - CHECK (h1++, 1.0); - CHECK (h1, 2.0); - CHECK (++h1, 3.0); - CHECK (h1, 3.0); - - CHECK (--h1, 2.0); - CHECK (h1, 2.0); - CHECK (h1--, 2.0); - CHECK (h1, 1.0); - - CHECK2 (h42 * hm2, -84.0); - CHECK2 (h42 * (__fp16) -2.0, -84.0); - CHECK2 (h42 * fm2, -84.0); - CHECK2 (f42 * hm2, -84.0); - - CHECK2 (h42 / hm2, -21.0); - CHECK2 (h42 / (__fp16) -2.0, -21.0); - CHECK2 (h42 / fm2, -21.0); - CHECK2 (f42 / hm2, -21.0); - - CHECK2 (hm2 + h42, 40.0); - CHECK2 ((__fp16)-2.0 + h42, 40.0); - CHECK2 (hm2 + f42, 40.0); - CHECK2 (fm2 + h42, 40.0); - - CHECK2 (hm2 - h42, -44.0); - CHECK2 ((__fp16)-2.0 - h42, -44.0); - CHECK2 (hm2 - f42, -44.0); - CHECK2 (fm2 - h42, -44.0); - - TEST (hm2 < h42); - TEST (hm2 < (__fp16)42.0); - TEST (hm2 < f42); - TEST (fm2 < h42); - - TEST (h42 > hm2); - TEST ((__fp16)42.0 > hm2); - TEST (h42 > fm2); - TEST (f42 > hm2); - - TEST (hm2 <= h42); - TEST (hm2 <= (__fp16)42.0); - TEST (hm2 <= f42); - TEST (fm2 <= h42); - - TEST (h42 >= hm2); - TEST (h42 >= (__fp16)-2.0); - TEST (h42 >= fm2); - TEST (f42 >= hm2); - - TESTNOT (h1 == hm2); - TEST (h1 == h1); - TEST (h1 == (__fp16)1.0); - TEST (h1 == f1); - TEST (f1 == h1); - - TEST (h1 != hm2); - TESTNOT (h1 != h1); - TESTNOT (h1 != (__fp16)1.0); - TESTNOT (h1 != f1); - TESTNOT (f1 != h1); - - CHECK2 ((h1 ? hm2 : h42), -2.0); - CHECK2 ((h0 ? hm2 : h42), 42.0); - - CHECK (h0 = h42, 42.0); - CHECK (h0, 42.0); - CHECK (h0 = (__fp16)-2.0, -2.0); - CHECK (h0, -2.0); - CHECK (h0 = f0, 0.0); - CHECK (h0, 0.0); - - CHECK (h0 += h1, 1.0); - CHECK (h0, 1.0); - CHECK (h0 += (__fp16)1.0, 2.0); - CHECK (h0, 2.0); - CHECK (h0 += fm2, 0.0); - CHECK (h0, 0.0); - - CHECK (h0 -= h1, -1.0); - CHECK (h0, -1.0); - CHECK (h0 -= (__fp16)1.0, -2.0); - CHECK (h0, -2.0); - CHECK (h0 -= fm2, 0.0); - CHECK (h0, 0.0); - - h0 = hm2; - CHECK (h0 *= hm2, 4.0); - CHECK (h0, 4.0); - CHECK (h0 *= (__fp16)-2.0, -8.0); - CHECK (h0, -8.0); - CHECK (h0 *= fm2, 16.0); - CHECK (h0, 16.0); - - CHECK (h0 /= hm2, -8.0); - CHECK (h0, -8.0); - CHECK (h0 /= (__fp16)-2.0, 4.0); - CHECK (h0, 4.0); - CHECK (h0 /= fm2, -2.0); - CHECK (h0, -2.0); - - CHECK ((h0, h1), 1.0); - - return 0; -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/arm-fp16/fp16-mangle-1.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/arm-fp16/fp16-mangle-1.C deleted file mode 100644 index 25a872af6..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/arm-fp16/fp16-mangle-1.C +++ /dev/null @@ -1,14 +0,0 @@ -/* { dg-do compile { target arm*-*-* } } */ -/* { dg-options "-mfp16-format=ieee" } */ - -/* Test mangling */ - -/* { dg-final { scan-assembler "\t.global\t_Z1fPDh" } } */ -void f (__fp16 *x) { } - -/* { dg-final { scan-assembler "\t.global\t_Z1gPDhS_" } } */ -void g (__fp16 *x, __fp16 *y) { } - -/* { dg-final { scan-assembler "\t.global\t_ZN1SIDhDhE1iE" } } */ -template <typename T, typename U> struct S { static int i; }; -template <> int S<__fp16, __fp16>::i = 3; diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/arm-fp16/fp16-overload-1.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/arm-fp16/fp16-overload-1.C deleted file mode 100644 index bf0139d7c..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/arm-fp16/fp16-overload-1.C +++ /dev/null @@ -1,16 +0,0 @@ -/* { dg-do compile { target arm*-*-* } } */ -/* { dg-options "-mfp16-format=ieee" } */ - -/* __fp16 values are autoconverted to float and should therefore be treated - * just like float for overloading purposes. */ - -extern int frobnify (float x); -extern int frobnify (double x); - -int g (void) -{ - return frobnify ((__fp16)1.0); -} - -/* { dg-final { scan-assembler "_Z8frobnifyf" } } */ -/* { dg-final { scan-assembler-not " _Z8frobnifyd" } } */ diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/arm-fp16/fp16-param-1.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/arm-fp16/fp16-param-1.C deleted file mode 100644 index 03feb1a4d..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/arm-fp16/fp16-param-1.C +++ /dev/null @@ -1,10 +0,0 @@ -/* { dg-do compile { target arm*-*-* } } */ -/* { dg-options "-mfp16-format=ieee" } */ - -/* Functions cannot have parameters of type __fp16. */ -extern void f (__fp16); /* { dg-error "parameters cannot have __fp16 type" } */ -extern void (*pf) (__fp16); /* { dg-error "parameters cannot have __fp16 type" } */ - -/* These should be OK. */ -extern void g (__fp16 *); -extern void (*pg) (__fp16 *); diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/arm-fp16/fp16-return-1.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/arm-fp16/fp16-return-1.C deleted file mode 100644 index 406dfacd3..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/arm-fp16/fp16-return-1.C +++ /dev/null @@ -1,10 +0,0 @@ -/* { dg-do compile { target arm*-*-* } } */ -/* { dg-options "-mfp16-format=ieee" } */ - -/* Functions cannot return type __fp16. */ -extern __fp16 f (void); /* { dg-error "cannot return __fp16" } */ -extern __fp16 (*pf) (void); /* { dg-error "cannot return __fp16" } */ - -/* These should be OK. */ -extern __fp16 *g (void); -extern __fp16 *(*pg) (void); diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/array1.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/array1.C deleted file mode 100644 index 7e54dc919..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/array1.C +++ /dev/null @@ -1,14 +0,0 @@ -// PR c++/13574 -// { dg-options "" } - -class A { -public: - A() : argc(0), argv() { }; -private: - int argc; - char* argv[]; -}; - -int main() { - A y; -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/array2.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/array2.C deleted file mode 100644 index 2d645ca94..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/array2.C +++ /dev/null @@ -1,18 +0,0 @@ -// { dg-do compile } - -// Avoid -pedantic-error default -// { dg-options "" } - -// PR 19989 - dependent array of size 0 fails to compile. - -template<int I> struct A -{ - static const int zero = 0; -}; - -template<int N> struct B -{ - int x[A<N>::zero]; -}; - -B<0> b; diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/asm1.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/asm1.C deleted file mode 100644 index dd4aede24..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/asm1.C +++ /dev/null @@ -1,56 +0,0 @@ -// Check that the 3.1 named operand syntax can be used in template functions. - -struct arg1 { - int value; - static const int info = 99; -}; - -struct arg2 { - int value; - static const int info = 11; -}; - -template<int j> -int foo (void) -{ - int i; - asm ("# foo on %[third] %[second] %[fourth] %[first]" - : [first] "=r" (i) - : [second] "i" (j), - [third] "i" (j + 2), - [fourth] "i" (100)); - return i; -} - -template<class TYPE> -TYPE bar (TYPE t) -{ - asm ("# bar on %[first] %[second] %[third]" - : [first] "=r" (t.value) - : [second] "i[first]" (t.value), - [third] "i" (t.info)); - return t; -} - -template<class TYPE> -struct S { - static void frob (TYPE t) - { - asm ("# frob on %[arg]" :: [arg] "i" (t.info)); - } -}; - -void test () -{ - arg1 x; - arg2 y; - - foo<42> (); - bar (x); - bar (y); - S<arg1>::frob (x); -} - -// { dg-final { scan-assembler "foo on" } } -// { dg-final { scan-assembler "bar on" } } -// { dg-final { scan-assembler "frob on" } } diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/asm10.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/asm10.C deleted file mode 100644 index b95027c8c..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/asm10.C +++ /dev/null @@ -1,14 +0,0 @@ -// PR inline-asm/32109 -// { dg-do compile } -// { dg-options "-O2" } - -struct A { int i[3]; ~A (); }; -struct A a; -struct B { struct A c; int i; B (); } b; - -B::B () -{ - __asm ("" : : "r" (a)); // { dg-error "impossible constraint|non-memory input" } - __asm ("" : : "r" (b.c)); // { dg-error "impossible constraint|non-memory input" } - __asm ("" : : "r" (c)); // { dg-error "impossible constraint|non-memory input" } -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/asm11.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/asm11.C deleted file mode 100644 index 7939aacc0..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/asm11.C +++ /dev/null @@ -1,20 +0,0 @@ -// PR c/37772 -// { dg-do compile } -// { dg-options "" } - -void -foo () -{ - int i; - asm (); // { dg-error "expected string-literal before" } - asm (1); // { dg-error "expected string-literal before" } - asm (int); // { dg-error "expected string-literal before" } - asm (: "=r" (i)); // { dg-error "expected string-literal before" } - asm (1 : "=r" (i)); // { dg-error "expected string-literal before" } - asm (int : "=r" (i)); // { dg-error "expected string-literal before" } - asm (: : "r" (i)); // { dg-error "expected string-literal before" } - asm (1 : : "r" (i)); // { dg-error "expected string-literal before" } - asm (int : : "r" (i)); // { dg-error "expected string-literal before" } - asm (: : : "memory"); // { dg-error "expected string-literal before" } - asm (1 : : : "memory"); // { dg-error "expected string-literal before" } -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/asm12.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/asm12.C deleted file mode 100644 index 9823a8fd7..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/asm12.C +++ /dev/null @@ -1,14 +0,0 @@ -// PR c++/55619 -// { dg-do compile } - -typedef int V __attribute__ ((vector_size (4 * sizeof (int)))); - -static const V C = { 0x201, 0, 0, 0 }; -static const int D = 0x201; - -void -f () -{ - __asm volatile ("" : : "m" (C)); - __asm volatile ("" : : "m" (D)); -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/asm2.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/asm2.C deleted file mode 100644 index 6cec382c8..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/asm2.C +++ /dev/null @@ -1,12 +0,0 @@ -// Bug: in a template, we forgot that this was a simple asm, and decided -// that %edi was a malformed operand specifier. - -template <class T> class I { -public: - void f() { asm ("# mov %edi, %esi" ); } -}; - -int main () { - I<int> x; - x.f(); -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/asm3.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/asm3.C deleted file mode 100644 index 090218fe6..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/asm3.C +++ /dev/null @@ -1,15 +0,0 @@ -// { dg-do compile } - -// Copyright (C) 2002 Free Software Foundation, Inc. -// Contributed by Nathan Sidwell 16 Sep 2002 <nathan@codesourcery.com> - -// PR 7015. ICE with asms - -int two(int in) -{ - register int out; - __asm__ ("" : "r" (out) : "r" (in)); - return out; -} - -// { dg-message "error:" "" { target *-*-* } 11 } diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/asm4.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/asm4.C deleted file mode 100644 index 2726d8e42..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/asm4.C +++ /dev/null @@ -1,4 +0,0 @@ -void f () -{ - __asm__ __volatile__ ("" : : ); -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/asm5.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/asm5.C deleted file mode 100644 index 9395395ed..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/asm5.C +++ /dev/null @@ -1,35 +0,0 @@ -void f (int i) -{ - __asm__("" : ); - __asm__("" : "+g" (i)); - - __asm__("" :: ); - __asm__("" :: "g" (i)); - - __asm__("" : : ); - __asm__("" : "+g" (i) : ); - __asm__("" : : "g" (i)); - __asm__("" : "+g" (i) : "g" (i)); - - __asm__("" ::: ); - __asm__("" ::: "memory"); - - __asm__("" : :: ); - __asm__("" : "+g" (i) :: ); - __asm__("" : :: "memory"); - __asm__("" : "+g" (i) :: "memory"); - - __asm__("" :: : ); - __asm__("" :: "g" (i) : ); - __asm__("" :: : "memory"); - __asm__("" :: "g" (i) : "memory"); - - __asm__("" : : : ); - __asm__("" : "+g" (i) : : ); - __asm__("" : : "g" (i) : ); - __asm__("" : : : "memory"); - __asm__("" : "+g" (i) : "g" (i) : ); - __asm__("" : "+g" (i) : : "memory"); - __asm__("" : : "g" (i) : "memory"); - __asm__("" : "+g" (i) : "g" (i) : "memory"); -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/asm6.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/asm6.C deleted file mode 100644 index 96ef9d385..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/asm6.C +++ /dev/null @@ -1,11 +0,0 @@ -struct A -{ - ~A(); -}; -int foo(A); -void bar() -{ - A a; - asm("" : : "r"(foo(a)) );//<-- cleanup needed here. -} - diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/asm7.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/asm7.C deleted file mode 100644 index a5cad0073..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/asm7.C +++ /dev/null @@ -1,14 +0,0 @@ -/* { dg-do compile } */ -const int i = 0; - -void f(void) -{ - __asm__ __volatile__ ("" : "=m" (i)); /* { dg-error "read-only variable" } */ -} - -void g(const int set) -{ - __asm__ __volatile__ ("" : "=r" (set)); /* { dg-error "read-only parameter" } */ -} - - diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/asm8.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/asm8.C deleted file mode 100644 index 0b1be7da7..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/asm8.C +++ /dev/null @@ -1,16 +0,0 @@ -/* { dg-do compile } */ - -/* Test that asm with no outputs are treated as volatile. */ - -void f(int x) -{ - __asm__ ("extended asm not discarded" : : "r" (x)); -} - -void g (void) -{ - __asm__ ("simple asm not discarded"); -} -/* { dg-final { scan-assembler "extended asm not discarded" } } */ -/* { dg-final { scan-assembler "simple asm not discarded" } } */ - diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/asm9.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/asm9.C deleted file mode 100644 index 9daa01bbf..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/asm9.C +++ /dev/null @@ -1,7 +0,0 @@ -// PR 27451 -// { dg-do compile } - -void foo() -{ - asm("" ::: X); // { dg-error "before" } -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/asmgoto1.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/asmgoto1.C deleted file mode 100644 index dda516797..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/asmgoto1.C +++ /dev/null @@ -1,32 +0,0 @@ -// PR middle-end/44102 -// { dg-do compile } -// { dg-options "-O2" } - -void baz (void); -struct A { A (); ~A (); }; - -static inline int -foo (void) -{ - asm goto ("" : : : : l1, l2); - __builtin_unreachable (); - l1: - return 1; - l2: - return 0; -} - -int -bar (int x) -{ - if (x == 5) - { - A a, b; - baz (); - } - if (foo () || x == 6) - x = 1; - else - x = 2; - return x; -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/asmspec1.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/asmspec1.C deleted file mode 100644 index 0661136fe..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/asmspec1.C +++ /dev/null @@ -1,8 +0,0 @@ -// PR c++/28343 -// { dg-do compile } - -struct A -{ - int i __asm__(int); // { dg-error "expected" } - static int j __asm__(int); // { dg-error "expected" } -}; diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/asmspecInvalid.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/asmspecInvalid.C deleted file mode 100644 index 4c528a0f8..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/asmspecInvalid.C +++ /dev/null @@ -1,18 +0,0 @@ -// tests that the asm directive is correctly handled for static fields -// in structures and classes. This only applies to C++; such -// directives generate errors in C. Assembler directives for local -// variables should be tested by the C test suite. -// -// Contributed by Robert Bowdidge (bowdidge@apple.com) 14 Oct 2003 - -// { dg-do compile } - -struct Foo { - // This should reference a variable called bar - int i __asm__("bar"); /* { dg-error "specifiers are not permitted" } */ -}; - -int main (void ) { - int j = 0; - return j; -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/asmspecValid.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/asmspecValid.C deleted file mode 100644 index 98d98b46f..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/asmspecValid.C +++ /dev/null @@ -1,43 +0,0 @@ -// tests that the asm directive is correctly handled for static fields -// in structures and classes. This only applies to C++; such -// directives generate errors in C. Assembler directives for local -// variables should be tested by the C test suite. -// -// Contributed by Robert Bowdidge (bowdidge@apple.com) 14 Oct 2003 - -// { dg-do compile } - -struct Foo { - // This should reference a variable called bar - static int i __asm__("bar"); -}; - - -class Bar { -public: - static int i __asm__("theRealI"); - static int j __asm__("theRealJ"); - int boof; -}; - -class Baz : public Bar { -public: - static char *ptr __asm__ ("theRealString"); -}; - -int main (int argc, char **argv) { - struct Foo myFoo; - Bar b; - myFoo.i = 1; - Foo::i = 2; - Baz::j = 10; - Baz::ptr = 0; - b.i = 1; - return (b.i); -} - - -/* { dg-final {scan-assembler "bar"} } */ -/* { dg-final {scan-assembler "theRealString"} } */ -/* { dg-final {scan-assembler "theRealI" } } */ -/* { dg-final {scan-assembler "theRealJ" } } */ diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/atomic-1.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/atomic-1.C deleted file mode 100644 index 58069c309..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/atomic-1.C +++ /dev/null @@ -1,12 +0,0 @@ -// PR c++/52215 -// { dg-do compile } - -enum E { ZERO }; - -int -main () -{ - E e = ZERO; - __atomic_compare_exchange_n (&e, &e, e, true, __ATOMIC_ACQ_REL, - __ATOMIC_RELAXED); -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attr-alias-1.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attr-alias-1.C deleted file mode 100644 index 1427267e5..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attr-alias-1.C +++ /dev/null @@ -1,37 +0,0 @@ -/* { dg-do run } */ -/* { dg-require-alias "" } */ - -#include <typeinfo> - -struct Klass -{ - int implementation () const; - int magic () const; -}; - -int Klass::implementation (void) const -{ - return 0; -} - -int Klass::magic () const - __attribute__ ((alias ("_ZNK5Klass14implementationEv"))); - -int __attribute__ ((noinline)) - Foo (Klass const *ptr) -{ - if (ptr->magic () != 0) - return 1; - - if (typeid (*ptr) != typeid (Klass)) - return 2; - - return 0; -} - -int main () -{ - Klass obj; - - return Foo (&obj); -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attr-alias-2.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attr-alias-2.C deleted file mode 100644 index 61a132f77..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attr-alias-2.C +++ /dev/null @@ -1,37 +0,0 @@ -/* { dg-do run } */ -/* { dg-require-alias "" } */ - -#include <typeinfo> - -struct Klass -{ - int implementation () const; - virtual int magic () const; -}; - -int Klass::implementation (void) const -{ - return 0; -} - -int Klass::magic () const - __attribute__ ((alias ("_ZNK5Klass14implementationEv"))); - -int __attribute__ ((noinline)) - Foo (Klass const *ptr) -{ - if (ptr->magic () != 0) - return 1; - - if (typeid (*ptr) != typeid (Klass)) - return 2; - - return 0; -} - -int main () -{ - Klass obj; - - return Foo (&obj); -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attr-aligned01.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attr-aligned01.C deleted file mode 100644 index c8ec07d51..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attr-aligned01.C +++ /dev/null @@ -1,25 +0,0 @@ -// PR c++/48138 - -#define ALIGNED(x) __attribute__((aligned(x))) -#define SA(X) int ar[(X)?1:-1]; - -template<typename T> -void type_alignment(const T&) { - struct { char c; T t; } s; - SA((char*)&s.t - (char*)&s.c == 1); -} - -template <class T> struct A { char c; T t; }; - -int main() { - typedef char unaligned[15]; - typedef char aligned[15] ALIGNED(8); - - A<aligned> a; // { dg-warning "ignoring attributes" } - - SA((char*)&a.t - (char*)&a.c == 1); - - aligned z; - type_alignment(z); // { dg-warning "ignoring attributes" "" { xfail *-*-* } } - type_alignment<unaligned ALIGNED(8)>(z); // { dg-warning "ignoring attributes" "" { xfail *-*-* } } -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attr-ifunc-1.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attr-ifunc-1.C deleted file mode 100644 index d41fa7d32..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attr-ifunc-1.C +++ /dev/null @@ -1,34 +0,0 @@ -/* { dg-do run } */ -/* { dg-require-ifunc "" } */ -/* { dg-options "-Wno-pmf-conversions" } */ - -#include <stdio.h> - -struct Klass -{ - int implementation (); - int magic (); - static void *resolver (); -}; - -int Klass::implementation (void) -{ - printf ("'ere I am JH\n"); - return 0; -} - -void *Klass::resolver (void) -{ - int (Klass::*pmf) () = &Klass::implementation; - - return (void *)(int (*)(Klass *))(((Klass *)0)->*pmf); -} - -int Klass::magic (void) __attribute__ ((ifunc ("_ZN5Klass8resolverEv"))); - -int main () -{ - Klass obj; - - return obj.magic () != 0; -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attr-ifunc-2.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attr-ifunc-2.C deleted file mode 100644 index e205a2a6a..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attr-ifunc-2.C +++ /dev/null @@ -1,38 +0,0 @@ -/* { dg-do run } */ -/* { dg-require-ifunc "" } */ -/* { dg-options "-Wno-pmf-conversions" } */ - -#include <stdio.h> - -struct Klass -{ - int implementation (); - int magic (); - static void *resolver (); -}; - -int Klass::implementation (void) -{ - printf ("'ere I am JH\n"); - return 0; -} - -void *Klass::resolver (void) -{ - int (Klass::*pmf) () = &Klass::implementation; - - return (void *)(int (*)(Klass *))(((Klass *)0)->*pmf); -} - -int Klass::magic (void) __attribute__ ((ifunc ("_ZN5Klass8resolverEv"))); - -struct Klassier : Klass -{ -}; - -int main () -{ - Klassier obj; - - return obj.magic () != 0; -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attr-ifunc-3.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attr-ifunc-3.C deleted file mode 100644 index ba65976b9..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attr-ifunc-3.C +++ /dev/null @@ -1,39 +0,0 @@ -/* { dg-do run } */ -/* { dg-require-ifunc "" } */ -/* { dg-options "-Wno-pmf-conversions" } */ - -#include <stdio.h> - -struct Klass -{ - int implementation (); - int magic (); - static void *resolver (); -}; - -int Klass::implementation (void) -{ - printf ("'ere I am JH\n"); - return 0; -} - -void *Klass::resolver (void) -{ - int (Klass::*pmf) () = &Klass::implementation; - - return (void *)(int (*)(Klass *))(((Klass *)0)->*pmf); -} - -int Klass::magic (void) __attribute__ ((ifunc ("_ZN5Klass8resolverEv"))); - -int Foo (Klass &obj, int (Klass::*pmf) ()) -{ - return (obj.*pmf) (); -} - -int main () -{ - Klass obj; - - return Foo (obj, &Klass::magic) != 0; -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attr-ifunc-4.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attr-ifunc-4.C deleted file mode 100644 index 0cae41028..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attr-ifunc-4.C +++ /dev/null @@ -1,44 +0,0 @@ -/* { dg-do run } */ -/* { dg-require-ifunc "" } */ -/* { dg-options "-Wno-pmf-conversions" } */ - -#include <stdio.h> - -struct Klass -{ - virtual int magic () = 0; -}; - -struct Klassier : Klass -{ - int implementation (); - int magic (); - static void *resolver (); -}; - -int Klassier::implementation (void) -{ - printf ("'ere I am JH\n"); - return 0; -} - -void *Klassier::resolver (void) -{ - int (Klassier::*pmf) () = &Klassier::implementation; - - return (void *)(int (*)(Klassier *))(((Klassier *)0)->*pmf); -} - -int Klassier::magic (void) __attribute__ ((ifunc ("_ZN8Klassier8resolverEv"))); - -int __attribute__ ((weak)) Foo (Klass &base) -{ - return base.magic (); -} - -int main () -{ - Klassier obj; - - return Foo (obj) != 0; -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attr-used-1.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attr-used-1.C deleted file mode 100644 index 6754c7ffb..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attr-used-1.C +++ /dev/null @@ -1,17 +0,0 @@ -// Attribute used on a member function or static data member -// of a template should cause them to be instantiated along -// with the class itself. - -// { dg-final { scan-assembler "_ZN1AIiE1fEv" } } -// { dg-final { scan-assembler "_ZN1AIiE1tE" } } - -template <class T> struct A -{ - void f() __attribute ((used)); - static T t __attribute ((used)); -}; - -template <class T> void A<T>::f() { } -template <class T> T A<T>::t; - -A<int> a; diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attrib1.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attrib1.C deleted file mode 100644 index 2bd69e82a..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attrib1.C +++ /dev/null @@ -1,10 +0,0 @@ -// Test for interpretation of attribute immediately before function name. -// Origin: Joseph Myers <jsm28@cam.ac.uk> -// { dg-do compile } - -// An attribute immediately before the function name should in this -// case properly apply to the return type, but compatibility with -// existing code using this form requires it to apply to the function -// type instead in the case of attributes applying to function types, -// and to the declaration in the case of attributes applying to declarations. -int ****__attribute__((format(printf, 1, 2))) foo(const char *, ...); diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attrib10.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attrib10.C deleted file mode 100644 index 42d967dde..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attrib10.C +++ /dev/null @@ -1,8 +0,0 @@ -// PR c++/12795 -// { dg-require-alias "" } - -void foo() -{ - extern void bar () __attribute__ ((__alias__ ("BAR"))); // { dg-warning "ignored" } - bar (); -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attrib11.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attrib11.C deleted file mode 100644 index 26bc7907c..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attrib11.C +++ /dev/null @@ -1,17 +0,0 @@ -// { dg-do compile } -// { dg-options "-Wall" } - -// Copyright (C) 2003 Free Software Foundation, Inc. -// Contributed by Nathan Sidwell 30 Dec 2003 <nathan@codesourcery.com> - - -// PR c++/13507, spurious warning due to attribute clobbering -extern "C" { - extern int printf (__const char *__restrict __format, ...) throw (); - extern int scanf (__const char *__restrict __format, ...) throw (); -} - -void foo(unsigned int x) -{ - printf ("%d\n", x); -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attrib12.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attrib12.C deleted file mode 100644 index aea93781d..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attrib12.C +++ /dev/null @@ -1,16 +0,0 @@ -// PR c++/13791 - -template <typename T> struct O { - struct __attribute__((packed)) I { - int i; - char c; - }; - - I* foo(); -}; - -template <typename T> -typename O<T>::I* -O<T>::foo() { return 0; } - -template class O<int>; diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attrib13.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attrib13.C deleted file mode 100644 index 22ea97ae7..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attrib13.C +++ /dev/null @@ -1,4 +0,0 @@ -// PR c++/13854 - -extern char *rindex (__const char *__s, int __c) throw () __attribute__ ((__pure__)); -extern char *rindex (__const char *__s, int __c) throw () __attribute__ ((__pure__)); diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attrib14.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attrib14.C deleted file mode 100644 index ebe0456d0..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attrib14.C +++ /dev/null @@ -1,13 +0,0 @@ -// PR c++/13170 -// The bogus attribute is ignored, but was in TYPE_ATTRIBUTES during -// parsing of the class, causing some variants to have it and some not. - -struct __attribute__((bogus)) A // { dg-warning "ignored" "" } -{ - virtual ~A(); - void foo(const A&); - void bar(const A&); -}; - -void A::foo(const A&) {} -void A::bar(const A& a) { foo(a); } diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attrib15.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attrib15.C deleted file mode 100644 index 05de12cce..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attrib15.C +++ /dev/null @@ -1,9 +0,0 @@ -// PR c++/15317 - -struct A -{ - A(char); -}; -A::A(__attribute__((unused)) char i2) -{} - diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attrib16.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attrib16.C deleted file mode 100644 index 2e73fca70..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attrib16.C +++ /dev/null @@ -1,8 +0,0 @@ -// { dg-do compile } -// Origin: <rguenth at tat dot physik dot uni-tuebingen dot de> -// PR c++/10479: use of non dependent expressions in attributes in templates - -template <int i> -struct foo2 { - float bar __attribute__((aligned(__alignof__(double)))); -}; diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attrib17.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attrib17.C deleted file mode 100644 index 43cf264f5..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attrib17.C +++ /dev/null @@ -1,19 +0,0 @@ -// { dg-do compile } -// Origin: Benjamin Kosnik <bkoz at gcc dot gnu dot org> -// PR c++/17743: Attributes applied to typedefs. - -struct A { - typedef char layout_type[sizeof(double)] - __attribute__((aligned(__alignof__(double)))); - layout_type data; -}; - -struct B { - typedef char layout_type[sizeof(double)]; - layout_type data __attribute__((aligned(__alignof__(double)))); -}; - -template<bool> struct StaticAssert; -template<> struct StaticAssert<true> {}; - -StaticAssert<__alignof__(A) == __alignof__(B)> a1; diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attrib18.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attrib18.C deleted file mode 100644 index ab9fea095..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attrib18.C +++ /dev/null @@ -1,10 +0,0 @@ -// PR c++/17542 -// Test that we warn when an attribute preceding the class-key is ignored. -// { dg-do compile } - -__attribute__ ((packed)) struct A // { dg-warning "attribute" } -{ - char c; - int x; - void f(); -}; diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attrib19.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attrib19.C deleted file mode 100644 index f1362c3b4..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attrib19.C +++ /dev/null @@ -1,10 +0,0 @@ -// PR c++/19739 - -void Dummy() __attribute__(( , )); -void Dummy() {} - -int main (int argc, char **argv) -{ - Dummy(); - return 0; -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attrib2.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attrib2.C deleted file mode 100644 index a7563f388..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attrib2.C +++ /dev/null @@ -1,12 +0,0 @@ -// Test that an early attribute doesn't confuse uses of a class. -// { dg-do compile } - -struct __attribute__ ((packed)) A -{ - void f () const; -}; - -void -A::f () const -{ -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attrib20.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attrib20.C deleted file mode 100644 index 25b27f307..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attrib20.C +++ /dev/null @@ -1,23 +0,0 @@ -// { dg-do compile } -// { dg-options "-g" } -// Origin: <jan at etpmod dot phys dot tue dot nl> -// PR c++/19508: avoid attributes for template parameters - -template <typename T> -struct BVector -{ - typedef T T2; - typedef T value_type __attribute__ ((aligned(8))); // { dg-bogus "attribute" "attribute" } - typedef T2 value_type2 __attribute__ ((aligned(8))); // { dg-bogus "attribute" "attribute" } - value_type v; -}; -BVector<int> m; - -template <template <class> class T> -struct BV2 -{ - typedef T<float> value_type __attribute__((aligned(8))); // { dg-bogus "attribute" "attribute" } - value_type v; -}; -BV2<BVector> m2; - diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attrib21.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attrib21.C deleted file mode 100644 index 2fc5800b0..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attrib21.C +++ /dev/null @@ -1,17 +0,0 @@ -// PR c++/20763 - -typedef void *voidp; - -struct S -{ - char a; - voidp __attribute__ ((aligned (16))) b; -}; - -struct T -{ - char a; - void *__attribute__ ((aligned (16))) b; -}; - -int f[sizeof (struct S) != sizeof (struct T) ? -1 : 1]; diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attrib22.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attrib22.C deleted file mode 100644 index 5304a35d1..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attrib22.C +++ /dev/null @@ -1,6 +0,0 @@ -// PR c++/27648 - -void f() -{ - static_cast<float *__attribute((unused))>(0); // { dg-error "expected" } -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attrib23.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attrib23.C deleted file mode 100644 index 0a2c58689..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attrib23.C +++ /dev/null @@ -1,11 +0,0 @@ -// PR c++/28112 -// { dg-do compile } - -int i __attribute__((init_priority(;))); // { dg-error "before" } -int j __attribute__((vector_size(;))); // { dg-error "before" } -int k __attribute__((visibility(;))); // { dg-error "before" } -struct A {} __attribute__((aligned(;))); // { dg-error "before" } -struct B {} __attribute__((mode(;))); // { dg-error "before" } -void foo() __attribute__((alias(;))); // { dg-error "before" } -void bar() __attribute__((nonnull(;))); // { dg-error "before" } -void baz() __attribute__((section(;))); // { dg-error "before" } diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attrib24.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attrib24.C deleted file mode 100644 index 208809a3f..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attrib24.C +++ /dev/null @@ -1,4 +0,0 @@ -// PR c++/28387 -// { dg-do compile } - -enum __attribute__((unused)) E; // { dg-error "without previous declaration" } diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attrib25.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attrib25.C deleted file mode 100644 index aeffdffe3..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attrib25.C +++ /dev/null @@ -1,11 +0,0 @@ -// PR c++/28559 - -template<typename T> struct A -{ - struct B; -}; - -struct C -{ - template<typename T> friend struct __attribute__((packed)) A<T>::B; // { dg-warning "uninstantiated" } -}; diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attrib26.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attrib26.C deleted file mode 100644 index dedf43a02..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attrib26.C +++ /dev/null @@ -1,14 +0,0 @@ -// PR c++/28659 -// The attribute was causing us to get confused in merge_types when -// combining the template type with an uninstantiated version. - -template<class T> -struct __attribute__((aligned(1))) A -{ - A& operator=(const A &t); -}; - -template<class T> -A<T>& A<T>::operator=(const A<T> &t) -{ -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attrib27.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attrib27.C deleted file mode 100644 index b770c1c44..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attrib27.C +++ /dev/null @@ -1,5 +0,0 @@ -//PR c++/29980 - -struct A { typedef int X; }; // { dg-message "previous declaration" } - -struct __attribute__((unused)) A::X; // { dg-error "typedef-name" } diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attrib28.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attrib28.C deleted file mode 100644 index 2f18d4184..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attrib28.C +++ /dev/null @@ -1,12 +0,0 @@ -// PR c++/28558 -// { dg-options "" } - -struct A -{ - A(int) { } -}; - -int main() -{ - A a = (A __attribute__((unused)))0; // { dg-warning "attribute" } -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attrib29.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attrib29.C deleted file mode 100644 index 710a5ce27..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attrib29.C +++ /dev/null @@ -1,10 +0,0 @@ -// PR c++/33506 -// { dg-do compile } - -extern int f1 (char *) __attribute__ ((warn_unused_result)); -extern int f2 (char *) throw () __attribute__ ((warn_unused_result)); -extern int f2 (char *) throw (); - -extern int f3 (char *) __attribute__ ((nonnull (1))); -extern int f4 (char *) throw () __attribute__ ((nonnull (1))); -extern int f4 (char *) throw (); diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attrib3.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attrib3.C deleted file mode 100644 index 17a904c09..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attrib3.C +++ /dev/null @@ -1,21 +0,0 @@ -// Test that attributes work in a variety of situations. -// { dg-options -O } -// { dg-do run } - -#define attrib __attribute ((mode (QI))) - -attrib signed int a; // attributes before type are broken -static attrib unsigned int b; - -int foo(attrib int o) // attribute arguments are broken -{ - return (sizeof (a) != 1 - || sizeof (b) != 1 - || sizeof (o) != 1 - || sizeof ((attrib signed int) b) != 1); -} - -int main () -{ - return foo (42); -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attrib30.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attrib30.C deleted file mode 100644 index fd2826a60..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attrib30.C +++ /dev/null @@ -1,8 +0,0 @@ -// { dg-do compile } -// PR c++/35074 -template<typename T> struct A -{ - void foo() const; -} __attribute((aligned(4))); - -template<typename T> void A<T>::foo() const {} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attrib31.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attrib31.C deleted file mode 100644 index c614ed4f4..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attrib31.C +++ /dev/null @@ -1,15 +0,0 @@ -// PR c++/35097 - -template<int> struct A; - -template<> struct A<0> -{ - typedef int X __attribute((aligned(4))); -}; - -template<typename T> void foo(const A<0>::X&, T); - -void bar() -{ - foo(A<0>::X(), 0); -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attrib32.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attrib32.C deleted file mode 100644 index e4dfe4e9f..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attrib32.C +++ /dev/null @@ -1,36 +0,0 @@ -// PR c++/35315 - -typedef union { int i; } U __attribute__((transparent_union)); - -static void foo(U) {} -static void foo(int) {} - -void bar() -{ - foo(0); -} - -typedef union U1 { int i; } U2 __attribute__((transparent_union)); // { dg-warning "ignored" } - -static void foo2(U1) {} // { dg-error "previously defined" } -static void foo2(U2) {} // { dg-error "redefinition" } - -void bar2(U1 u1, U2 u2) -{ - foo2(u1); - foo2(u2); -} - -// PR c++/36410 -struct A -{ - typedef union - { - int i; - } B __attribute__((transparent_union)); -}; - -void foo(A::B b) -{ - b.i; -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attrib33.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attrib33.C deleted file mode 100644 index 55bfc4cad..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attrib33.C +++ /dev/null @@ -1,19 +0,0 @@ -// PR c++/35546 -// { dg-do compile } -// { dg-options "-g" } - -template <int N> -struct T -{ - void foo (char const * ...) __attribute__ ((format (printf,2,3))); -}; - -template struct T<3>; - -template <typename T> -struct U -{ - typedef T __attribute__((mode (SI))) V; -}; - -U<int>::V v; diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attrib34.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attrib34.C deleted file mode 100644 index f4794143d..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attrib34.C +++ /dev/null @@ -1,19 +0,0 @@ -// PR c/37171 -// { dg-do compile } -// { dg-options "-O2 -fdump-tree-optimized" } - -unsigned int f1 () __attribute__((const)); -unsigned int f2 () __attribute__((__const)); -unsigned int f3 () __attribute__((__const__)); - -unsigned int f4 () -{ - return f1 () + f1 () + f1 () + f1 () - + f2 () + f2 () + f2 () + f2 () - + f3 () + f3 () + f3 () + f3 (); -} - -// { dg-final { scan-tree-dump-times "= f1 \\(\\)" 1 "optimized" } } -// { dg-final { scan-tree-dump-times "= f2 \\(\\)" 1 "optimized" } } -// { dg-final { scan-tree-dump-times "= f3 \\(\\)" 1 "optimized" } } -// { dg-final { cleanup-tree-dump "optimized" } } diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attrib35.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attrib35.C deleted file mode 100644 index e60a59dff..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attrib35.C +++ /dev/null @@ -1,20 +0,0 @@ -// { dg-do compile { target i?86-*-* x86_64-*-* } } -// { dg-options "-O3 -msse2" } -// { dg-require-effective-target sse2 } - -// You can make NON-template typedefs with a large alignment. -typedef double AlignedDoubleType __attribute__((aligned(16))); - -template <typename RealType> -RealType f(const RealType* p) -{ - // But if you use a template parameter it complains. - typedef RealType AlignedRealType __attribute__((aligned(16))); - - return p[0]; -} - -double f2(const double* p) -{ - return f<double>(p); -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attrib36.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attrib36.C deleted file mode 100644 index 625ffe6bb..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attrib36.C +++ /dev/null @@ -1,20 +0,0 @@ -// PR c++/43031 -// { dg-do compile { target { { i?86-*-* x86_64-*-* } && ia32 } } } - -class T; -class L { }; -class P : public L -{ - typedef void (__attribute__((__stdcall__)) T::*F) (L*); - void f(bool aAdd); -}; -class T -{ -public: - virtual void __attribute__((__stdcall__)) A(L *listener) = 0; - virtual void __attribute__((__stdcall__)) R(L *listener) = 0; -}; -void P::f(bool aAdd) -{ - F addRemoveEventListener = (aAdd ? &T::A : &T::R); -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attrib37.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attrib37.C deleted file mode 100644 index 5aacac62c..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attrib37.C +++ /dev/null @@ -1,14 +0,0 @@ -// PR c++/43093 -// { dg-do compile { target { { i?86-*-* x86_64-*-* } && ia32 } } } - -struct S { - int x; - S(const S &s) {} -}; - -S __attribute__((__stdcall__)) getS(); - -void test() -{ - S s = getS(); -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attrib38.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attrib38.C deleted file mode 100644 index be3c7f2ba..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attrib38.C +++ /dev/null @@ -1,11 +0,0 @@ -// PR c++/36625 - -template <int N> -struct A { - struct S { short f[3]; } __attribute__ ((aligned (N))); -}; - -int main () -{ - A<4>::S s; -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attrib39.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attrib39.C deleted file mode 100644 index 22a742942..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attrib39.C +++ /dev/null @@ -1,9 +0,0 @@ -// PR debug/43370 -// { dg-options "-g" } - -int fragile_block(void) { - typedef __attribute__ ((aligned (16))) struct { - int i; - } XmmUint16; - return 0; -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attrib4.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attrib4.C deleted file mode 100644 index 68cc74155..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attrib4.C +++ /dev/null @@ -1,31 +0,0 @@ -// Test for syntax support of various attribute permutations. - -int -__attribute__((noreturn)) -__attribute__((unused)) -one(void); // OK - -__attribute__((noreturn)) -__attribute__((unused)) -int -two(void); // OK - -int -__attribute__((unused)) -three (void) -__attribute__((noreturn)); // OK - -__attribute__((unused)) -int -four (void) -__attribute__((noreturn)); // OK - -int -five(void) -__attribute__((noreturn)) -__attribute__((unused)); // OK - -__attribute__((noreturn)) -int -__attribute__((unused)) // parse error before '__attribute__' in C++ -six (void); // OK in C diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attrib40.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attrib40.C deleted file mode 100644 index 9c3f76159..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attrib40.C +++ /dev/null @@ -1,4 +0,0 @@ -// PR c++/46803 - -int strftime(char *, int, const char *, const struct tm *) - __attribute__ ((__bounded__(__string__,1,2))); // { dg-warning "ignored" } diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attrib41.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attrib41.C deleted file mode 100644 index 368554a1b..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attrib41.C +++ /dev/null @@ -1,19 +0,0 @@ -// PR c++/45267 -// { dg-options "-O" } - -template<typename T> struct Vector { - Vector(long long x); - inline Vector<T> operator<<(int x) const __attribute__((always_inline)); -}; -long long bar (long long); -template<> inline Vector<int> Vector<int>::operator<<(int x) const { - return bar(x); -} -bool b; -int main() { - Vector<int> a(1); - if ((a << 2), b) { - a << 2; - throw 1; - } -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attrib42.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attrib42.C deleted file mode 100644 index d0c7ad723..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attrib42.C +++ /dev/null @@ -1,12 +0,0 @@ -// { dg-do compile { target { i?86-*-* && ilp32 } } } - -struct A { - __attribute__((fastcall)) - void f(); -}; - -int main() -{ - typedef void (A::*FP)(); - FP fp[] = {&A::f}; // { dg-error "cannot convert" } -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attrib43.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attrib43.C deleted file mode 100644 index acae3f23c..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attrib43.C +++ /dev/null @@ -1,5 +0,0 @@ -template <class T> struct A { }; - -template -__attribute__ ((packed)) -struct A<int>; // { dg-warning "attribute" } diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attrib44.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attrib44.C deleted file mode 100644 index cb83653f3..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attrib44.C +++ /dev/null @@ -1,4 +0,0 @@ -// PR c++/52671 -// { dg-do compile } -__attribute__ ((deprecated)) enum E { E0 }; // { dg-warning "attribute ignored in declaration of" "ignored" } -// { dg-message "must follow the" "must follow" { target *-*-* } 3 } diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attrib45.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attrib45.C deleted file mode 100644 index 0be1322ca..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attrib45.C +++ /dev/null @@ -1,3 +0,0 @@ -// PR c++/52906 - -__attribute__ ((__deprecated__)); // { dg-error "does not declare anything" } diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attrib46.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attrib46.C deleted file mode 100644 index 1c71990fc..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attrib46.C +++ /dev/null @@ -1,4 +0,0 @@ -// PR c++/40821 - -struct __attribute__((aligned(8)) S1 { int i; }; // { dg-error "expected" } -struct __attribute__( aligned(8) S2 { int i; }; // { dg-error "expected" } diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attrib5.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attrib5.C deleted file mode 100644 index f67510dab..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attrib5.C +++ /dev/null @@ -1,21 +0,0 @@ -// There were two related problems here, depending on the vintage. At -// one time: -// -// typedef struct A { ... } A __attribute__ ((aligned (16))); -// -// would cause original_types to go into an infinite loop. At other -// times, the attributes applied to an explicit typedef would be lost -// (check_b3 would have a negative size). - -// First check that the declaration is accepted and has an effect. -typedef struct A { int i; } A __attribute__ ((aligned (16))); -int check_A[__alignof__ (A) >= 16 ? 1 : -1]; - -// Check that the alignment is only applied to the typedef. -struct B { int i; }; -struct B b1; -typedef struct B B __attribute__((aligned (16))); -struct B b2; -B b3; -int check_b1[__alignof__ (b1) == __alignof__ (b2) ? 1 : -1]; -int check_b3[__alignof__ (b3) >= 16 ? 1 : -1]; diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attrib6.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attrib6.C deleted file mode 100644 index 2bdb180d1..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attrib6.C +++ /dev/null @@ -1,21 +0,0 @@ -// Copyright (C) 2002 Free Software Foundation. -// -// Test that the nothrow attribute is working correctly. -// -// Written by Richard Henderson, 26 May 2002. - -// { dg-do link } -extern void foo() __attribute__((nothrow)); -extern void link_error(); - -int main() -{ - try { - foo(); - } catch (...) { - link_error(); - } -} - -void foo() { } - diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attrib7.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attrib7.C deleted file mode 100644 index fa16fdd98..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attrib7.C +++ /dev/null @@ -1,3 +0,0 @@ -// { dg-options "-Wunused-parameter" } - -void f (int i __attribute__((__unused__))) {} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attrib8.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attrib8.C deleted file mode 100644 index 130fe2587..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attrib8.C +++ /dev/null @@ -1,10 +0,0 @@ -// PR 8656 -// { dg-do compile { target { { i?86-*-* x86_64-*-* } && ia32 } } } - -extern int * (__attribute__((stdcall)) *fooPtr)( void); -int * __attribute__((stdcall)) myFn01( void) { return 0; } - -void snafu( void) -{ - fooPtr = myFn01; -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attrib9.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attrib9.C deleted file mode 100644 index 6672f7525..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attrib9.C +++ /dev/null @@ -1,10 +0,0 @@ -class __attribute__((unused)) C; -struct __attribute__((unused)) S; -union __attribute__((unused)) U; -enum e {}; -enum __attribute__((unused)) e; // { dg-warning "already defined" } - -struct __attribute((unused)) B *p; // { dg-warning "attributes" } - -template <class T> struct A { }; -struct __attribute((unused)) A<int>; // { dg-warning "attributes" } diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attribute-test-1.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attribute-test-1.C deleted file mode 100644 index 7df68930f..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attribute-test-1.C +++ /dev/null @@ -1,38 +0,0 @@ -// { dg-do run } -// { dg-options "" } -// PR c++/13989 - -extern "C" void abort(); - -#define vector __attribute__((vector_size(16))) - -struct Constants { - inline vector unsigned int deadbeef(void) const { - return (vector unsigned int){0xdeadbeef, 0xabababab, 0x55555555, 0x12345678}; - }; -}; - -inline vector unsigned int const_deadbeef(Constants &C) -{ - return C.deadbeef(); -} - -union u { - unsigned int f[4]; - vector unsigned int v; -} data; - -int main() -{ - Constants c; - data.v = const_deadbeef(c); - - if (data.f[0] != 0xdeadbeef || data.f[1] != 0xabababab - || data.f[2] != 0x55555555 || data.f[3] != 0x12345678) - abort(); - - return 0; -} - -/* Ignore a warning that is irrelevant to the purpose of this test. */ -/* { dg-prune-output ".*GCC vector returned by reference.*" } */ diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attribute-test-2.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attribute-test-2.C deleted file mode 100644 index 187067318..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attribute-test-2.C +++ /dev/null @@ -1,52 +0,0 @@ -// { dg-do run } -// { dg-options "-Wno-abi" } -// PR c++/9844 - -extern "C" void abort(); - -#define vector __attribute__((vector_size(16))) - -class vector_holder -{ - char __attribute__((vector_size(16))) vec; - char __attribute__((vector_size(16))) vec1; -public: - operator __attribute__((vector_size(16))) short (void) { - return (__attribute__((vector_size(16))) short) vec; - } - - operator __attribute__((vector_size(16))) unsigned int (void) { - return (__attribute__((vector_size(16))) unsigned int) vec1; - } - - vector_holder () { - vec = (__attribute__((vector_size(16))) char) {'a', 'b', 'c', 'd', 'a', 'b', 'c', 'd', - 'a', 'b', 'c', 'd', 'a', 'b', 'c', 'd'}; - vec1 = (__attribute__((vector_size(16))) char) {'m', 'n', 'o', 'q', 'm', 'n', 'o', 'p', - 'm', 'n', 'o', 'q', 'm', 'n', 'o', 'p'}; - } -}; - -union u { - char f[16]; - vector unsigned int v; - vector short vs; -} data; - - -vector_holder vh; - -int main() -{ - data.vs = (__attribute__((vector_size(16))) short) vh; - if (data.f[0] != 'a' || data.f[15] != 'd') - abort(); - data.v = (__attribute__((vector_size(16))) unsigned int) vh; - if (data.f[0] != 'm' || data.f[15] != 'p') - abort(); - - return 0; -} - -/* Ignore a warning that is irrelevant to the purpose of this test. */ -/* { dg-prune-output ".*GCC vector returned by reference.*" } */ diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attribute-test-3.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attribute-test-3.C deleted file mode 100644 index 050cbb4ed..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attribute-test-3.C +++ /dev/null @@ -1,54 +0,0 @@ -// { dg-do run } - -#define vector __attribute__((vector_size(16))) - -extern "C" void abort(); - -class Star -{ - public: - inline vector float foo() const; - - Star() - { - data.f[0] = 1.0; data.f[1] = 2.0; data.f[2] = 3.0, data.f[3] = 4.0; - } - - private: - union { - float f[4]; - vector float v; - } data; - - friend vector float fTest(const Star &); -}; - -vector float Star::foo() const -{ - return data.v; -} - -vector float fTest(const Star & val) -{ - vector float vf = val.foo(); - return vf; -} - -int main() { - - Star s; - - union u { - float f[4]; - vector float v; - } data; - - data.v = fTest(s); - for (int i=0 ; i < 4; i++) - if (data.f[i] != (float)(i+1)) - abort(); - return 0; -} - -/* Ignore a warning that is irrelevant to the purpose of this test. */ -/* { dg-prune-output ".*GCC vector returned by reference.*" } */ diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attribute-test-4.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attribute-test-4.C deleted file mode 100644 index 4783ee8a4..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/attribute-test-4.C +++ /dev/null @@ -1,51 +0,0 @@ -// { dg-do run } - -#define vector __attribute__((vector_size(16))) - -extern "C" void abort(); - -union U { - float f[4]; - vector float v; -} data; - -class Star -{ - public: - static vector float foo(); - - Star() - { - data.f[0] = 1.0; data.f[1] = 2.0; data.f[2] = 3.0, data.f[3] = 4.0; - } - - private: - friend vector float fTest(); -}; - -vector float Star::foo() -{ - return data.v; -} - -vector float fTest() -{ - vector float vf = Star::foo(); - return vf; -} - -int main() { - - U data; - Star s; - - - data.v = fTest(); - for (int i=0 ; i < 4; i++) - if (data.f[i] != (float)(i+1)) - abort(); - return 0; -} - -/* Ignore a warning that is irrelevant to the purpose of this test. */ -/* { dg-prune-output ".*GCC vector returned by reference.*" } */ diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/bases.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/bases.C deleted file mode 100644 index 0582f72eb..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/bases.C +++ /dev/null @@ -1,35 +0,0 @@ -// { dg-options "-std=gnu++0x -w" } -// { dg-do run } - -#include<typeinfo> -#include<cassert> - -// A simple typelist -template<typename... _Elements> struct types {}; - -// Simple bases implementation -template<typename T> struct b { - typedef types<__bases(T)...> type; -}; - -// Simple direct_bases implementation -template<typename T> struct db { - typedef types<__direct_bases(T)...> type; -}; - -template <class,class> struct assert_same_type; -template <class T> struct assert_same_type<T,T> {}; - -struct A {}; -struct C : virtual A {}; -struct D : public C {}; -struct B : D, virtual A {}; -struct E : C, virtual D, B {}; -struct F : A, B, E {}; - -int main() { - assert_same_type<b<F>::type, types<A,C,D,A,C,D,B,C,C,D,B,E>>(); - assert_same_type<db<F>::type, types<A,B,E>>(); - assert_same_type<db<int>::type, types<>>(); - return 0; -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/bitfield1.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/bitfield1.C deleted file mode 100644 index 25c90df41..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/bitfield1.C +++ /dev/null @@ -1,22 +0,0 @@ -// PR c++/30328 -// { dg-do link } -// { dg-options "" } - -struct S -{ - signed int a:17; -} x; - -typedef typeof (x.a) foo; - -template <class T> -T* inc(T* p) { return p+1; } - -int main () -{ - foo x[2] = { 1,2 }; - int y[2] = { 1,2 }; - *inc(x); - *inc(y); - return 0; -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/bitfield2.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/bitfield2.C deleted file mode 100644 index 09e0352f1..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/bitfield2.C +++ /dev/null @@ -1,13 +0,0 @@ -/* { dg-do compile } */ -/* Remove pedantic. Allow the GCC extension to use char for bitfields. */ -/* { dg-options "" } */ -/* { dg-options "-Wno-packed-bitfield-compat -mno-ms-bitfields" { target { i?86-*-mingw* x86_64-*-mingw* } } } */ - -struct t /* { dg-message "note: offset of packed bit-field 't::b' has changed in GCC 4.4" "" { target pcc_bitfield_type_matters } } */ -{ - char a:4; - char b:8; - char c:4; -} __attribute__ ((packed)); - -int assrt[sizeof (struct t) == 2 ? 1 : -1]; diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/bitfield3.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/bitfield3.C deleted file mode 100644 index 75d290f00..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/bitfield3.C +++ /dev/null @@ -1,12 +0,0 @@ -/* { dg-do compile } */ -/* { dg-options "-Wno-packed-bitfield-compat" } */ -/* { dg-options "-Wno-packed-bitfield-compat -mno-ms-bitfields" { target { i?86-*-mingw* x86_64-*-mingw* } } } */ - -struct t -{ - char a:4; - char b:8; - char c:4; -} __attribute__ ((packed)); - -int assrt[sizeof (struct t) == 2 ? 1 : -1]; diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/bitfield4.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/bitfield4.C deleted file mode 100644 index d707376e8..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/bitfield4.C +++ /dev/null @@ -1,12 +0,0 @@ -/* { dg-do compile } */ -/* { dg-options "" } */ -/* { dg-options "-Wno-packed-bitfield-compat -mno-ms-bitfields" { target { i?86-*-mingw* x86_64-*-mingw* } } } */ - -struct t /* { dg-message "note: offset of packed bit-field 't::b' has changed in GCC 4.4" "" { target pcc_bitfield_type_matters } } */ -{ - char a:4; - char b:8 __attribute__ ((packed)); - char c:4; -}; - -int assrt[sizeof (struct t) == 2 ? 1 : -1]; diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/bitfield5.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/bitfield5.C deleted file mode 100644 index 748669543..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/bitfield5.C +++ /dev/null @@ -1,12 +0,0 @@ -/* { dg-do compile } */ -/* { dg-options "-Wno-packed-bitfield-compat" } */ -/* { dg-options "-Wno-packed-bitfield-compat -mno-ms-bitfields" { target { i?86-*-mingw* x86_64-*-mingw* } } } */ - -struct t -{ - char a:4; - char b:8 __attribute__ ((packed)); - char c:4; -}; - -int assrt[sizeof (struct t) == 2 ? 1 : -1]; diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/boolcomplex-1.c b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/boolcomplex-1.c deleted file mode 100644 index d05d9bbd8..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/boolcomplex-1.c +++ /dev/null @@ -1,3 +0,0 @@ -/* { dg-do compile } */ -/* { dg-options "" } */ -bool b = --0i == 0; /* { dg-error "lvalue required as decrement operand" } */ diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/builtin-object-size1.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/builtin-object-size1.C deleted file mode 100644 index 8590a0bbe..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/builtin-object-size1.C +++ /dev/null @@ -1,435 +0,0 @@ -// { dg-do run } -// { dg-options "-O2" } - -typedef __SIZE_TYPE__ size_t; -extern "C" void abort (); -extern "C" void exit (int); -extern "C" void *malloc (size_t); -extern "C" void free (void *); - -struct A -{ - char a[10]; - int b; - char c[10]; -}; - -void -__attribute__ ((noinline)) -test1 (A *p) -{ - char *c; - if (__builtin_object_size (&p->a, 0) != (size_t) -1) - abort (); - if (__builtin_object_size (&p->a[0], 0) != (size_t) -1) - abort (); - if (__builtin_object_size (&p->a[3], 0) != (size_t) -1) - abort (); - if (__builtin_object_size (&p->b, 0) != (size_t) -1) - abort (); - if (__builtin_object_size (&p->c, 0) != (size_t) -1) - abort (); - c = p->a; - if (__builtin_object_size (c, 0) != (size_t) -1) - abort (); - c = &p->a[0]; - if (__builtin_object_size (c, 0) != (size_t) -1) - abort (); - c = &p->a[3]; - if (__builtin_object_size (c, 0) != (size_t) -1) - abort (); - c = (char *) &p->b; - if (__builtin_object_size (c, 0) != (size_t) -1) - abort (); - c = (char *) &p->c; - if (__builtin_object_size (c, 0) != (size_t) -1) - abort (); - if (__builtin_object_size (&p->a, 1) != sizeof (p->a)) - abort (); - if (__builtin_object_size (&p->a[0], 1) != sizeof (p->a)) - abort (); - if (__builtin_object_size (&p->a[3], 1) != sizeof (p->a) - 3) - abort (); - if (__builtin_object_size (&p->b, 1) != sizeof (p->b)) - abort (); - if (__builtin_object_size (&p->c, 1) != (size_t) -1) - abort (); - c = p->a; - if (__builtin_object_size (c, 1) != sizeof (p->a)) - abort (); - c = &p->a[0]; - if (__builtin_object_size (c, 1) != sizeof (p->a)) - abort (); - c = &p->a[3]; - if (__builtin_object_size (c, 1) != sizeof (p->a) - 3) - abort (); - c = (char *) &p->b; - if (__builtin_object_size (c, 1) != sizeof (p->b)) - abort (); - c = (char *) &p->c; - if (__builtin_object_size (c, 1) != (size_t) -1) - abort (); - if (__builtin_object_size (&p->a, 2) != 0) - abort (); - if (__builtin_object_size (&p->a[0], 2) != 0) - abort (); - if (__builtin_object_size (&p->a[3], 2) != 0) - abort (); - if (__builtin_object_size (&p->b, 2) != 0) - abort (); - if (__builtin_object_size (&p->c, 2) != 0) - abort (); - c = p->a; - if (__builtin_object_size (c, 2) != 0) - abort (); - c = &p->a[0]; - if (__builtin_object_size (c, 2) != 0) - abort (); - c = &p->a[3]; - if (__builtin_object_size (c, 2) != 0) - abort (); - c = (char *) &p->b; - if (__builtin_object_size (c, 2) != 0) - abort (); - c = (char *) &p->c; - if (__builtin_object_size (c, 2) != 0) - abort (); - if (__builtin_object_size (&p->a, 3) != sizeof (p->a)) - abort (); - if (__builtin_object_size (&p->a[0], 3) != sizeof (p->a)) - abort (); - if (__builtin_object_size (&p->a[3], 3) != sizeof (p->a) - 3) - abort (); - if (__builtin_object_size (&p->b, 3) != sizeof (p->b)) - abort (); - if (__builtin_object_size (&p->c, 3) != 0) - abort (); - c = p->a; - if (__builtin_object_size (c, 3) != sizeof (p->a)) - abort (); - c = &p->a[0]; - if (__builtin_object_size (c, 3) != sizeof (p->a)) - abort (); - c = &p->a[3]; - if (__builtin_object_size (c, 3) != sizeof (p->a) - 3) - abort (); - c = (char *) &p->b; - if (__builtin_object_size (c, 3) != sizeof (p->b)) - abort (); - c = (char *) &p->c; - if (__builtin_object_size (c, 3) != 0) - abort (); -} - -void -__attribute__ ((noinline)) -test2 (void) -{ - char *c; - size_t s = 2 * sizeof (A); - A *p = (A *) malloc (2 * sizeof (A)); - if (__builtin_object_size (&p->a, 0) != s) - abort (); - if (__builtin_object_size (&p->a[0], 0) != s) - abort (); - if (__builtin_object_size (&p->a[3], 0) != s - 3) - abort (); - if (__builtin_object_size (&p->b, 0) != s - __builtin_offsetof (A, b)) - abort (); - if (__builtin_object_size (&p->c, 0) != s - __builtin_offsetof (A, c)) - abort (); - c = p->a; - if (__builtin_object_size (c, 0) != s) - abort (); - c = &p->a[0]; - if (__builtin_object_size (c, 0) != s) - abort (); - c = &p->a[3]; - if (__builtin_object_size (c, 0) != s - 3) - abort (); - c = (char *) &p->b; - if (__builtin_object_size (c, 0) != s - __builtin_offsetof (A, b)) - abort (); - c = (char *) &p->c; - if (__builtin_object_size (c, 0) != s - __builtin_offsetof (A, c)) - abort (); - if (__builtin_object_size (&p->a, 1) != sizeof (p->a)) - abort (); - if (__builtin_object_size (&p->a[0], 1) != sizeof (p->a)) - abort (); - if (__builtin_object_size (&p->a[3], 1) != sizeof (p->a) - 3) - abort (); - if (__builtin_object_size (&p->b, 1) != sizeof (p->b)) - abort (); - if (__builtin_object_size (&p->c, 1) != s - __builtin_offsetof (A, c)) - abort (); - c = p->a; - if (__builtin_object_size (c, 1) != sizeof (p->a)) - abort (); - c = &p->a[0]; - if (__builtin_object_size (c, 1) != sizeof (p->a)) - abort (); - c = &p->a[3]; - if (__builtin_object_size (c, 1) != sizeof (p->a) - 3) - abort (); - c = (char *) &p->b; - if (__builtin_object_size (c, 1) != sizeof (p->b)) - abort (); - c = (char *) &p->c; - if (__builtin_object_size (c, 1) != s - __builtin_offsetof (A, c)) - abort (); - if (__builtin_object_size (&p->a, 2) != s) - abort (); - if (__builtin_object_size (&p->a[0], 2) != s) - abort (); - if (__builtin_object_size (&p->a[3], 2) != s - 3) - abort (); - if (__builtin_object_size (&p->b, 2) != s - __builtin_offsetof (A, b)) - abort (); - if (__builtin_object_size (&p->c, 2) != s - __builtin_offsetof (A, c)) - abort (); - c = p->a; - if (__builtin_object_size (c, 2) != s) - abort (); - c = &p->a[0]; - if (__builtin_object_size (c, 2) != s) - abort (); - c = &p->a[3]; - if (__builtin_object_size (c, 2) != s - 3) - abort (); - c = (char *) &p->b; - if (__builtin_object_size (c, 2) != s - __builtin_offsetof (A, b)) - abort (); - c = (char *) &p->c; - if (__builtin_object_size (c, 2) != s - __builtin_offsetof (A, c)) - abort (); - if (__builtin_object_size (&p->a, 3) != sizeof (p->a)) - abort (); - if (__builtin_object_size (&p->a[0], 3) != sizeof (p->a)) - abort (); - if (__builtin_object_size (&p->a[3], 3) != sizeof (p->a) - 3) - abort (); - if (__builtin_object_size (&p->b, 3) != sizeof (p->b)) - abort (); - if (__builtin_object_size (&p->c, 3) != s - __builtin_offsetof (A, c)) - abort (); - c = p->a; - if (__builtin_object_size (c, 3) != sizeof (p->a)) - abort (); - c = &p->a[0]; - if (__builtin_object_size (c, 3) != sizeof (p->a)) - abort (); - c = &p->a[3]; - if (__builtin_object_size (c, 3) != sizeof (p->a) - 3) - abort (); - c = (char *) &p->b; - if (__builtin_object_size (c, 3) != sizeof (p->b)) - abort (); - c = (char *) &p->c; - if (__builtin_object_size (c, 3) != s - __builtin_offsetof (A, c)) - abort (); - free (p); -} - -void -__attribute__ ((noinline)) -test3 (void) -{ - char *c; - size_t s; - A *p = (A *) malloc (4); - if (__builtin_object_size (&p->a, 0) != 4) - abort (); - if (__builtin_object_size (&p->a[0], 0) != 4) - abort (); - if (__builtin_object_size (&p->a[3], 0) != 1) - abort (); - if (__builtin_object_size (&p->b, 0) != 0) - abort (); - if (__builtin_object_size (&p->c, 0) != 0) - abort (); - if (__builtin_object_size (&p->a, 1) != 4) - abort (); - if (__builtin_object_size (&p->a[0], 1) != 4) - abort (); - if (__builtin_object_size (&p->a[3], 1) != 1) - abort (); - if (__builtin_object_size (&p->b, 1) != 0) - abort (); - if (__builtin_object_size (&p->c, 1) != 0) - abort (); - free (p); - s = __builtin_offsetof (A, c) + 4; - p = (A *) malloc (s); - if (__builtin_object_size (&p->a, 0) != s) - abort (); - if (__builtin_object_size (&p->a[0], 0) != s) - abort (); - if (__builtin_object_size (&p->a[3], 0) != s - 3) - abort (); - if (__builtin_object_size (&p->b, 0) != s - __builtin_offsetof (A, b)) - abort (); - if (__builtin_object_size (&p->c, 0) != 4) - abort (); - if (__builtin_object_size (&p->a, 1) != sizeof (p->a)) - abort (); - if (__builtin_object_size (&p->a[0], 1) != sizeof (p->a)) - abort (); - if (__builtin_object_size (&p->a[3], 1) != sizeof (p->a) - 3) - abort (); - if (__builtin_object_size (&p->b, 1) != sizeof (p->b)) - abort (); - if (__builtin_object_size (&p->c, 1) != 4) - abort (); - free (p); -} - -struct B -{ - A a[4]; -}; - -void -__attribute__ ((noinline)) -test4 (struct B *q, int i) -{ - if (__builtin_object_size (&q->a[2].a[2], 1) != sizeof (q->a[0].a) - 2) - abort (); - if (__builtin_object_size (&q->a[2].c[2], 1) != sizeof (q->a[0].c) - 2) - abort (); - if (__builtin_object_size (&q->a[3].a[2], 1) != sizeof (q->a[0].a) - 2) - abort (); - if (__builtin_object_size (&q->a[3].c[2], 1) != sizeof (q->a[0].c) - 2) - abort (); - if (__builtin_object_size (&q->a[i].a[2], 1) != sizeof (q->a[0].a) - 2) - abort (); - if (__builtin_object_size (&q->a[i].c[2], 1) != sizeof (q->a[0].c) - 2) - abort (); -} - -struct C -{ - char a[10]; - char b; -}; - -void -__attribute__ ((noinline)) -test5 (struct C *c) -{ - if (__builtin_object_size (&c->b, 0) != (size_t) -1) - abort (); - if (__builtin_object_size (&c->b, 1) != 1) - abort (); - if (__builtin_object_size (&c->b, 2) != 0) - abort (); - if (__builtin_object_size (&c->b, 3) != 1) - abort (); -} - -struct D -{ - int i; - struct D1 - { - char b; - char a[10]; - } j; -}; - -void -__attribute__ ((noinline)) -test6 (struct D *d) -{ - if (__builtin_object_size (&d->j.a[3], 0) != (size_t) -1) - abort (); - if (__builtin_object_size (&d->j.a[3], 1) != sizeof (d->j.a) - 3) - abort (); - if (__builtin_object_size (&d->j.a[3], 2) != 0) - abort (); - if (__builtin_object_size (&d->j.a[3], 3) != sizeof (d->j.a) - 3) - abort (); -} - -struct E -{ - int i; - struct E1 - { - char b; - char a[10]; - } j[1]; -}; - -void -__attribute__ ((noinline)) -test7 (struct E *e) -{ - if (__builtin_object_size (&e->j[0].a[3], 0) != (size_t) -1) - abort (); - if (__builtin_object_size (&e->j[0].a[3], 1) != sizeof (e->j[0].a) - 3) - abort (); - if (__builtin_object_size (&e->j[0].a[3], 2) != 0) - abort (); - if (__builtin_object_size (&e->j[0].a[3], 3) != sizeof (e->j[0].a) - 3) - abort (); - if (__builtin_object_size ((char *) &e->j[0], 0) != (size_t) -1) - abort (); - if (__builtin_object_size ((char *) &e->j[0], 1) != (size_t) -1) - abort (); - if (__builtin_object_size ((char *) &e->j[0], 2) != 0) - abort (); - if (__builtin_object_size ((char *) &e->j[0], 3) != 0) - abort (); -} - -union F -{ - char a[1]; - struct F1 - { - char b; - char c[10]; - } d; -}; - -void -__attribute__ ((noinline)) -test8 (union F *f) -{ - if (__builtin_object_size (&f->d.c[3], 0) != (size_t) -1) - abort (); - if (__builtin_object_size (&f->d.c[3], 1) != (size_t) -1) - abort (); - if (__builtin_object_size (&f->d.c[3], 2) != 0) - abort (); - if (__builtin_object_size (&f->d.c[3], 3) != 0) - abort (); -} - -int -main (void) -{ - A a, *p = &a; - int i = 1; - __asm ("" : "+r" (p)); - test1 (p); - test2 (); - test3 (); - struct B b, *q = &b; - __asm ("" : "+r" (q), "+r" (i)); - test4 (q, i); - struct C c, *cp = &c; - __asm ("" : "+r" (cp)); - test5 (cp); - struct D d, *dp = &d; - __asm ("" : "+r" (dp)); - test6 (dp); - struct E e, *ep = &e; - __asm ("" : "+r" (ep)); - test7 (ep); - union F f, *fp = &f; - __asm ("" : "+r" (fp)); - test8 (fp); - exit (0); -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/builtin-object-size2.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/builtin-object-size2.C deleted file mode 100644 index d79b1b833..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/builtin-object-size2.C +++ /dev/null @@ -1,438 +0,0 @@ -// { dg-do run } -// { dg-options "-O2" } - -typedef __SIZE_TYPE__ size_t; -extern "C" void abort (); -extern "C" void exit (int); -extern "C" void *malloc (size_t); -extern "C" void free (void *); - -typedef struct A -{ - char a[10]; - int b; - char c[10]; - static int d; -} AT; - -int A::d = 6; - -void -__attribute__ ((noinline)) -test1 (A *p) -{ - char *c; - if (__builtin_object_size (&p->a, 0) != (size_t) -1) - abort (); - if (__builtin_object_size (&p->a[0], 0) != (size_t) -1) - abort (); - if (__builtin_object_size (&p->a[3], 0) != (size_t) -1) - abort (); - if (__builtin_object_size (&p->b, 0) != (size_t) -1) - abort (); - if (__builtin_object_size (&p->c, 0) != (size_t) -1) - abort (); - c = p->a; - if (__builtin_object_size (c, 0) != (size_t) -1) - abort (); - c = &p->a[0]; - if (__builtin_object_size (c, 0) != (size_t) -1) - abort (); - c = &p->a[3]; - if (__builtin_object_size (c, 0) != (size_t) -1) - abort (); - c = (char *) &p->b; - if (__builtin_object_size (c, 0) != (size_t) -1) - abort (); - c = (char *) &p->c; - if (__builtin_object_size (c, 0) != (size_t) -1) - abort (); - if (__builtin_object_size (&p->a, 1) != sizeof (p->a)) - abort (); - if (__builtin_object_size (&p->a[0], 1) != sizeof (p->a)) - abort (); - if (__builtin_object_size (&p->a[3], 1) != sizeof (p->a) - 3) - abort (); - if (__builtin_object_size (&p->b, 1) != sizeof (p->b)) - abort (); - if (__builtin_object_size (&p->c, 1) != (size_t) -1) - abort (); - c = p->a; - if (__builtin_object_size (c, 1) != sizeof (p->a)) - abort (); - c = &p->a[0]; - if (__builtin_object_size (c, 1) != sizeof (p->a)) - abort (); - c = &p->a[3]; - if (__builtin_object_size (c, 1) != sizeof (p->a) - 3) - abort (); - c = (char *) &p->b; - if (__builtin_object_size (c, 1) != sizeof (p->b)) - abort (); - c = (char *) &p->c; - if (__builtin_object_size (c, 1) != (size_t) -1) - abort (); - if (__builtin_object_size (&p->a, 2) != 0) - abort (); - if (__builtin_object_size (&p->a[0], 2) != 0) - abort (); - if (__builtin_object_size (&p->a[3], 2) != 0) - abort (); - if (__builtin_object_size (&p->b, 2) != 0) - abort (); - if (__builtin_object_size (&p->c, 2) != 0) - abort (); - c = p->a; - if (__builtin_object_size (c, 2) != 0) - abort (); - c = &p->a[0]; - if (__builtin_object_size (c, 2) != 0) - abort (); - c = &p->a[3]; - if (__builtin_object_size (c, 2) != 0) - abort (); - c = (char *) &p->b; - if (__builtin_object_size (c, 2) != 0) - abort (); - c = (char *) &p->c; - if (__builtin_object_size (c, 2) != 0) - abort (); - if (__builtin_object_size (&p->a, 3) != sizeof (p->a)) - abort (); - if (__builtin_object_size (&p->a[0], 3) != sizeof (p->a)) - abort (); - if (__builtin_object_size (&p->a[3], 3) != sizeof (p->a) - 3) - abort (); - if (__builtin_object_size (&p->b, 3) != sizeof (p->b)) - abort (); - if (__builtin_object_size (&p->c, 3) != 0) - abort (); - c = p->a; - if (__builtin_object_size (c, 3) != sizeof (p->a)) - abort (); - c = &p->a[0]; - if (__builtin_object_size (c, 3) != sizeof (p->a)) - abort (); - c = &p->a[3]; - if (__builtin_object_size (c, 3) != sizeof (p->a) - 3) - abort (); - c = (char *) &p->b; - if (__builtin_object_size (c, 3) != sizeof (p->b)) - abort (); - c = (char *) &p->c; - if (__builtin_object_size (c, 3) != 0) - abort (); -} - -void -__attribute__ ((noinline)) -test2 (void) -{ - char *c; - size_t s = 2 * sizeof (A); - A *p = (A *) malloc (2 * sizeof (A)); - if (__builtin_object_size (&p->a, 0) != s) - abort (); - if (__builtin_object_size (&p->a[0], 0) != s) - abort (); - if (__builtin_object_size (&p->a[3], 0) != s - 3) - abort (); - if (__builtin_object_size (&p->b, 0) != s - __builtin_offsetof (A, b)) - abort (); - if (__builtin_object_size (&p->c, 0) != s - __builtin_offsetof (A, c)) - abort (); - c = p->a; - if (__builtin_object_size (c, 0) != s) - abort (); - c = &p->a[0]; - if (__builtin_object_size (c, 0) != s) - abort (); - c = &p->a[3]; - if (__builtin_object_size (c, 0) != s - 3) - abort (); - c = (char *) &p->b; - if (__builtin_object_size (c, 0) != s - __builtin_offsetof (A, b)) - abort (); - c = (char *) &p->c; - if (__builtin_object_size (c, 0) != s - __builtin_offsetof (A, c)) - abort (); - if (__builtin_object_size (&p->a, 1) != sizeof (p->a)) - abort (); - if (__builtin_object_size (&p->a[0], 1) != sizeof (p->a)) - abort (); - if (__builtin_object_size (&p->a[3], 1) != sizeof (p->a) - 3) - abort (); - if (__builtin_object_size (&p->b, 1) != sizeof (p->b)) - abort (); - if (__builtin_object_size (&p->c, 1) != s - __builtin_offsetof (A, c)) - abort (); - c = p->a; - if (__builtin_object_size (c, 1) != sizeof (p->a)) - abort (); - c = &p->a[0]; - if (__builtin_object_size (c, 1) != sizeof (p->a)) - abort (); - c = &p->a[3]; - if (__builtin_object_size (c, 1) != sizeof (p->a) - 3) - abort (); - c = (char *) &p->b; - if (__builtin_object_size (c, 1) != sizeof (p->b)) - abort (); - c = (char *) &p->c; - if (__builtin_object_size (c, 1) != s - __builtin_offsetof (A, c)) - abort (); - if (__builtin_object_size (&p->a, 2) != s) - abort (); - if (__builtin_object_size (&p->a[0], 2) != s) - abort (); - if (__builtin_object_size (&p->a[3], 2) != s - 3) - abort (); - if (__builtin_object_size (&p->b, 2) != s - __builtin_offsetof (A, b)) - abort (); - if (__builtin_object_size (&p->c, 2) != s - __builtin_offsetof (A, c)) - abort (); - c = p->a; - if (__builtin_object_size (c, 2) != s) - abort (); - c = &p->a[0]; - if (__builtin_object_size (c, 2) != s) - abort (); - c = &p->a[3]; - if (__builtin_object_size (c, 2) != s - 3) - abort (); - c = (char *) &p->b; - if (__builtin_object_size (c, 2) != s - __builtin_offsetof (A, b)) - abort (); - c = (char *) &p->c; - if (__builtin_object_size (c, 2) != s - __builtin_offsetof (A, c)) - abort (); - if (__builtin_object_size (&p->a, 3) != sizeof (p->a)) - abort (); - if (__builtin_object_size (&p->a[0], 3) != sizeof (p->a)) - abort (); - if (__builtin_object_size (&p->a[3], 3) != sizeof (p->a) - 3) - abort (); - if (__builtin_object_size (&p->b, 3) != sizeof (p->b)) - abort (); - if (__builtin_object_size (&p->c, 3) != s - __builtin_offsetof (A, c)) - abort (); - c = p->a; - if (__builtin_object_size (c, 3) != sizeof (p->a)) - abort (); - c = &p->a[0]; - if (__builtin_object_size (c, 3) != sizeof (p->a)) - abort (); - c = &p->a[3]; - if (__builtin_object_size (c, 3) != sizeof (p->a) - 3) - abort (); - c = (char *) &p->b; - if (__builtin_object_size (c, 3) != sizeof (p->b)) - abort (); - c = (char *) &p->c; - if (__builtin_object_size (c, 3) != s - __builtin_offsetof (A, c)) - abort (); - free (p); -} - -void -__attribute__ ((noinline)) -test3 (void) -{ - char *c; - size_t s; - A *p = (A *) malloc (4); - if (__builtin_object_size (&p->a, 0) != 4) - abort (); - if (__builtin_object_size (&p->a[0], 0) != 4) - abort (); - if (__builtin_object_size (&p->a[3], 0) != 1) - abort (); - if (__builtin_object_size (&p->b, 0) != 0) - abort (); - if (__builtin_object_size (&p->c, 0) != 0) - abort (); - if (__builtin_object_size (&p->a, 1) != 4) - abort (); - if (__builtin_object_size (&p->a[0], 1) != 4) - abort (); - if (__builtin_object_size (&p->a[3], 1) != 1) - abort (); - if (__builtin_object_size (&p->b, 1) != 0) - abort (); - if (__builtin_object_size (&p->c, 1) != 0) - abort (); - free (p); - s = __builtin_offsetof (A, c) + 4; - p = (A *) malloc (s); - if (__builtin_object_size (&p->a, 0) != s) - abort (); - if (__builtin_object_size (&p->a[0], 0) != s) - abort (); - if (__builtin_object_size (&p->a[3], 0) != s - 3) - abort (); - if (__builtin_object_size (&p->b, 0) != s - __builtin_offsetof (A, b)) - abort (); - if (__builtin_object_size (&p->c, 0) != 4) - abort (); - if (__builtin_object_size (&p->a, 1) != sizeof (p->a)) - abort (); - if (__builtin_object_size (&p->a[0], 1) != sizeof (p->a)) - abort (); - if (__builtin_object_size (&p->a[3], 1) != sizeof (p->a) - 3) - abort (); - if (__builtin_object_size (&p->b, 1) != sizeof (p->b)) - abort (); - if (__builtin_object_size (&p->c, 1) != 4) - abort (); - free (p); -} - -struct B -{ - A a[4]; -}; - -void -__attribute__ ((noinline)) -test4 (struct B *q, int i) -{ - if (__builtin_object_size (&q->a[2].a[2], 1) != sizeof (q->a[0].a) - 2) - abort (); - if (__builtin_object_size (&q->a[2].c[2], 1) != sizeof (q->a[0].c) - 2) - abort (); - if (__builtin_object_size (&q->a[3].a[2], 1) != sizeof (q->a[0].a) - 2) - abort (); - if (__builtin_object_size (&q->a[3].c[2], 1) != sizeof (q->a[0].c) - 2) - abort (); - if (__builtin_object_size (&q->a[i].a[2], 1) != sizeof (q->a[0].a) - 2) - abort (); - if (__builtin_object_size (&q->a[i].c[2], 1) != sizeof (q->a[0].c) - 2) - abort (); -} - -struct C -{ - char a[10]; - char b; -}; - -void -__attribute__ ((noinline)) -test5 (struct C *c) -{ - if (__builtin_object_size (&c->b, 0) != (size_t) -1) - abort (); - if (__builtin_object_size (&c->b, 1) != 1) - abort (); - if (__builtin_object_size (&c->b, 2) != 0) - abort (); - if (__builtin_object_size (&c->b, 3) != 1) - abort (); -} - -struct D -{ - int i; - struct D1 - { - char b; - char a[10]; - } j; -}; - -void -__attribute__ ((noinline)) -test6 (struct D *d) -{ - if (__builtin_object_size (&d->j.a[3], 0) != (size_t) -1) - abort (); - if (__builtin_object_size (&d->j.a[3], 1) != sizeof (d->j.a) - 3) - abort (); - if (__builtin_object_size (&d->j.a[3], 2) != 0) - abort (); - if (__builtin_object_size (&d->j.a[3], 3) != sizeof (d->j.a) - 3) - abort (); -} - -struct E -{ - int i; - struct E1 - { - char b; - char a[10]; - } j[1]; -}; - -void -__attribute__ ((noinline)) -test7 (struct E *e) -{ - if (__builtin_object_size (&e->j[0].a[3], 0) != (size_t) -1) - abort (); - if (__builtin_object_size (&e->j[0].a[3], 1) != sizeof (e->j[0].a) - 3) - abort (); - if (__builtin_object_size (&e->j[0].a[3], 2) != 0) - abort (); - if (__builtin_object_size (&e->j[0].a[3], 3) != sizeof (e->j[0].a) - 3) - abort (); - if (__builtin_object_size ((char *) &e->j[0], 0) != (size_t) -1) - abort (); - if (__builtin_object_size ((char *) &e->j[0], 1) != (size_t) -1) - abort (); - if (__builtin_object_size ((char *) &e->j[0], 2) != 0) - abort (); - if (__builtin_object_size ((char *) &e->j[0], 3) != 0) - abort (); -} - -union F -{ - char a[1]; - struct F1 - { - char b; - char c[10]; - } d; -}; - -void -__attribute__ ((noinline)) -test8 (union F *f) -{ - if (__builtin_object_size (&f->d.c[3], 0) != (size_t) -1) - abort (); - if (__builtin_object_size (&f->d.c[3], 1) != (size_t) -1) - abort (); - if (__builtin_object_size (&f->d.c[3], 2) != 0) - abort (); - if (__builtin_object_size (&f->d.c[3], 3) != 0) - abort (); -} - -int -main (void) -{ - A a, *p = &a; - int i = 1; - __asm ("" : "+r" (p)); - test1 (p); - test2 (); - test3 (); - struct B b, *q = &b; - __asm ("" : "+r" (q), "+r" (i)); - test4 (q, i); - struct C c, *cp = &c; - __asm ("" : "+r" (cp)); - test5 (cp); - struct D d, *dp = &d; - __asm ("" : "+r" (dp)); - test6 (dp); - struct E e, *ep = &e; - __asm ("" : "+r" (ep)); - test7 (ep); - union F f, *fp = &f; - __asm ("" : "+r" (fp)); - test8 (fp); - exit (0); -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/builtin-object-size3.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/builtin-object-size3.C deleted file mode 100644 index 09263e587..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/builtin-object-size3.C +++ /dev/null @@ -1,26 +0,0 @@ -// { dg-do compile } -// { dg-options "-O2" } - -void baz (int *, int *); - -#define MEMCPY(d,s,l) __builtin___memcpy_chk (d, s, l, __builtin_object_size (d, 0)) - -int -foo () -{ - int *p = new int; - int *q = new int[4]; - MEMCPY (p, "abcdefghijklmnopqrstuvwxyz", sizeof (int)); - MEMCPY (q, "abcdefghijklmnopqrstuvwxyz", 4 * sizeof (int)); - baz (p, q); -} - -int -bar () -{ - int *p = new int; - int *q = new int[4]; - MEMCPY (p, "abcdefghijklmnopqrstuvwxyz", sizeof (int) + 1); // { dg-warning "will always overflow destination buffer" } - MEMCPY (q, "abcdefghijklmnopqrstuvwxyz", 4 * sizeof (int) + 1); // { dg-warning "will always overflow destination buffer" } - baz (p, q); -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/builtin1.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/builtin1.C deleted file mode 100644 index 9947c85bf..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/builtin1.C +++ /dev/null @@ -1,10 +0,0 @@ -// Test whether alternate 'asm' name is applied correctly to -// builtin in global namespace - -// { dg-do compile } -// { dg-options "" } -// { dg-final { scan-assembler "fancy_printf" } } - -extern "C" int printf(const char*, ...) __asm("_fancy_printf"); - -void foo() { printf("abc"); } diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/builtin10.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/builtin10.C deleted file mode 100644 index 8742223a4..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/builtin10.C +++ /dev/null @@ -1,56 +0,0 @@ -// { dg-do compile { target correct_iso_cpp_string_wchar_protos } } -// { dg-options "-O2 -fdump-tree-optimized" } - -#include <cstring> - -const void *cv1; -const char *cc1, *cc2, *cc3, *cc4; -void *v1; -char *c1, *c2, *c3, *c4; - -void -f1 (void) -{ - cv1 = memchr ("abcba", 'b', 3); - cc1 = strchr ("abcba", 'b'); - cc2 = strrchr ("abcba", 'b'); - cc3 = strpbrk ("dabc", "abc"); - cc4 = strstr ("aaabc", "abc"); -} - -void -f2 (void) -{ - cv1 = std::memchr ("abcba", 'b', 3); - cc1 = std::strchr ("abcba", 'b'); - cc2 = std::strrchr ("abcba", 'b'); - cc3 = std::strpbrk ("dabc", "abc"); - cc4 = std::strstr ("aaabc", "abc"); -} - -void -f3 (void) -{ - v1 = memchr ((char *)"abcba", 'b', 3); - c1 = strchr ((char *)"abcba", 'b'); - c2 = strrchr ((char *)"abcba", 'b'); - c3 = strpbrk ((char *)"dabc", "abc"); - c4 = strstr ((char *)"aaabc", "abc"); -} - -void -f4 (void) -{ - v1 = std::memchr ((char *)"abcba", 'b', 3); - c1 = std::strchr ((char *)"abcba", 'b'); - c2 = std::strrchr ((char *)"abcba", 'b'); - c3 = std::strpbrk ((char *)"dabc", "abc"); - c4 = std::strstr ((char *)"aaabc", "abc"); -} - -// { dg-final { scan-tree-dump-not "memchr" "optimized" } } -// { dg-final { scan-tree-dump-not "strchr" "optimized" } } -// { dg-final { scan-tree-dump-not "strrchr" "optimized" } } -// { dg-final { scan-tree-dump-not "strpbrk" "optimized" } } -// { dg-final { scan-tree-dump-not "strstr" "optimized" } } -// { dg-final { cleanup-tree-dump "optimized" } } diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/builtin11.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/builtin11.C deleted file mode 100644 index 2749671fb..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/builtin11.C +++ /dev/null @@ -1,9 +0,0 @@ -// PR c++/40138 -// { dg-options "-Wall" } - -void foo(int i, ...) -{ - V v; // { dg-error "not declared|expected" } - __builtin_va_start(v, i); // { dg-error "not declared" } - i = __builtin_va_arg(v, int); -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/builtin2.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/builtin2.C deleted file mode 100644 index ffa25285b..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/builtin2.C +++ /dev/null @@ -1,13 +0,0 @@ -// PR c++/18514 -// Test whether alternate 'asm' name is applied correctly to -// builtin imported into namespace std. - -// { dg-do compile } -// { dg-options "" } -// { dg-final { scan-assembler "fancy_printf" } } - -extern "C" int printf(const char*, ...) __asm("_fancy_printf"); - -namespace std { using ::printf; } - -namespace std { void foo() { printf("abc"); } } diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/builtin3.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/builtin3.C deleted file mode 100644 index 001d5f784..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/builtin3.C +++ /dev/null @@ -1,14 +0,0 @@ -// Verify that declaring builtin in namespace std doesn't give us -// declaration in global namespace - -// { dg-do compile } -// { dg-options "" } - -namespace std { -extern "C" int printf(char*, ...); // { dg-message "std::printf" } -} - -void foo() { - printf("abc"); // { dg-error "not declared" } - // { dg-message "suggested alternative" "suggested alternative" { target *-*-* } 12 } -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/builtin30.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/builtin30.C deleted file mode 100644 index d0a75fb17..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/builtin30.C +++ /dev/null @@ -1,27 +0,0 @@ -// { dg-do compile } -// { dg-options "-O2" } - -typedef __SIZE_TYPE__ size_t; -extern "C" { -extern void __chk_fail (void); -extern int snprintf (char *, size_t, const char *, ...); -extern inline __attribute__((gnu_inline, always_inline)) int snprintf (char *a, size_t b, const char *fmt, ...) -{ - if (__builtin_object_size (a, 0) != -1UL && __builtin_object_size (a, 0) < b) - __chk_fail (); - return __builtin_snprintf (a, b, fmt, __builtin_va_arg_pack ()); -} -extern int snprintf (char *, size_t, const char *, ...) __asm ("mysnprintf"); -} - -char buf[10]; - -int -main (void) -{ - snprintf (buf, 10, "%d%d\n", 10, 10); - return 0; -} - -// { dg-final { scan-assembler "mysnprintf" } } -// { dg-final { scan-assembler-not "__chk_fail" } } diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/builtin4.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/builtin4.C deleted file mode 100644 index 8804b53bd..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/builtin4.C +++ /dev/null @@ -1,10 +0,0 @@ -// Verify that builtin is used when declared in global namespace - -// { dg-do compile } -// { dg-options "-Wall" } - -extern "C" int printf(const char*,...); - -void foo() { - printf("%d"); // { dg-warning "expects a matching" } -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/builtin5.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/builtin5.C deleted file mode 100644 index 051224ffd..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/builtin5.C +++ /dev/null @@ -1,12 +0,0 @@ -// Verify that builtin is used when declared in namespace std - -// { dg-do compile } -// { dg-options "-Wall" } - -namespace std { - extern "C" int printf(const char*,...); -} - -void foo() { - std::printf("%d"); // { dg-warning "expects a matching" } -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/builtin6.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/builtin6.C deleted file mode 100644 index 8f405b095..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/builtin6.C +++ /dev/null @@ -1,11 +0,0 @@ -// PR c++/19044 -// Verify that alternate asm name for builtin named "foo" also gets -// applied to its sibling "__builtin_foo". - -// { dg-do compile } -// { dg-final { scan-assembler "fancy_sin" } } - -extern "C" double sin(double) __asm("_fancy_sin"); - -double foo(double x) { return __builtin_sin(x); } - diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/builtin7.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/builtin7.C deleted file mode 100644 index dae658abc..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/builtin7.C +++ /dev/null @@ -1,14 +0,0 @@ -// PR c++/19628 -// Verify that __builtin_constant_p may appear in a constant-expression. - -// { dg-do run } - -int main() -{ - switch (3) { - case (__builtin_constant_p(7) ? 3 : 8): - return 0; - default: - return 1; - } -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/builtin8.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/builtin8.C deleted file mode 100644 index dd4997725..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/builtin8.C +++ /dev/null @@ -1,16 +0,0 @@ -// PR c++/19628 -// Verify that __builtin_constant_p may appear in a constant-expression. - -// { dg-do compile } - -template <int I> -int f(int x[__builtin_constant_p(I)]) -{ - return x[0]; -} - -int g() -{ - int a[1] = { 7 }; - return f<32>(a); -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/builtin9.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/builtin9.C deleted file mode 100644 index 6b2b712de..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/builtin9.C +++ /dev/null @@ -1,3 +0,0 @@ -// PR c++/21619 -// { dg-options "" } -int f[__builtin_constant_p(&"Hello"[0])?1:-1]; diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/c99struct1.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/c99struct1.C deleted file mode 100644 index 93e84b460..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/c99struct1.C +++ /dev/null @@ -1,12 +0,0 @@ -// { dg-options "" } -// C99 anon struct variable with array accesses. - -struct s { int a[1]; }; - -void -foo5 (void) -{ - ((struct s) { { 0 } }).a[0] = 1; -} - - diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/case-range1.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/case-range1.C deleted file mode 100644 index 0e313d6b6..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/case-range1.C +++ /dev/null @@ -1,23 +0,0 @@ -// { dg-do compile } -// Tests if case ranges (a GNU extension) are accepted -// { dg-options "" } -const int low = -2; -const int high = 15; - -template <typename T> -T f2 (T i) -{ - switch (i) - { - case low ... high : return i + 1; - default : return 0; - } -} - -int f (int i) -{ - switch (i) { - case 1 ... 10: return i + 1; - default: return f2 (i); - } -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/case-range2.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/case-range2.C deleted file mode 100644 index 985ded336..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/case-range2.C +++ /dev/null @@ -1,27 +0,0 @@ -// { dg-do compile } -// Tests if case ranges (a GNU extension) correctly emit messages -// about overlapping ranges. -// { dg-options "" } - -const int low = -2; -const int high = 15; - -template <typename T> -T f2 (T i) -{ - switch (i) - { - case low ... high : return i + 1; // { dg-error "previously" } - case 5 : return i + 2; // { dg-error "duplicate" } - default : return 0; - } -} - -int f (int i) -{ - switch (i) { - case 1 ... 10: return i + 1; // { dg-error "first entry" } - case 3 ... 5 : return i + 3; // { dg-error "duplicate" } - default: return f2 (i); // { dg-message "required" } - } -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/case-range3.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/case-range3.C deleted file mode 100644 index 0b0c1fc69..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/case-range3.C +++ /dev/null @@ -1,23 +0,0 @@ -// { dg-do compile } -// Tests if case ranges (a GNU extension) emit errors in ISO mode -// { dg-options "-pedantic" } -const int low = -2; -const int high = 15; - -template <typename T> -T f2 (T i) -{ - switch (i) - { - case low ... high : return i + 1; // { dg-warning "non-standard" } - default : return 0; - } -} - -int f (int i) -{ - switch (i) { - case 1 ... 10: return i + 1; // { dg-warning "non-standard" } - default: return f2 (i); // { dg-message "required" } - } -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/cleanup-1.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/cleanup-1.C deleted file mode 100644 index 7cf14c998..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/cleanup-1.C +++ /dev/null @@ -1,36 +0,0 @@ -/* { dg-do compile } */ -/* { dg-options "-Wall -ftrack-macro-expansion=0" } */ -/* Validate expected warnings and errors. */ - -#define U __attribute__((unused)) -#define C(x) __attribute__((cleanup(x))) - -static int f1(void *x U) { return 0; } -static void f2() { } /* { dg-message "note: declared here" } */ -static void f3(void) { } /* { dg-message "note: declared here" } */ -static void f4(void *x U) { } -static void f5(int *x U) { } -static void f6(double *x U) { } -static void f7(const int *x U) { } -static void f8(const int *x U, int y U) { } /* { dg-message "note: declared here" } */ -static void f9(int x U) { } - -void test(void) -{ - int o1 C(f1); - int o2 C(f2); /* { dg-error "too many arguments" } */ - int o3 C(f3); /* { dg-error "too many arguments" } */ - int o4 C(f4); - int o5 C(f5); - int o6 C(f6); /* { dg-error "cannot convert" } */ - int o7 C(f7); - int o8 C(f8); /* { dg-error "too few arguments" } */ - int o9 C(f9); /* { dg-error "conversion" } */ - int o10 U C(undef); /* { dg-error "not a function" } */ - int o11 U C(o1); /* { dg-error "not a function" } */ - int o12 U C("f1"); /* { dg-error "not an identifier" } */ - static int o13 U C(f1); /* { dg-warning "attribute ignored" } */ -} - -int o14 C(f1); /* { dg-warning "attribute ignored" } */ -void t15(int o U C(f1)) {} /* { dg-warning "attribute ignored" } */ diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/cleanup-10.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/cleanup-10.C deleted file mode 100644 index eeb607b29..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/cleanup-10.C +++ /dev/null @@ -1,117 +0,0 @@ -/* { dg-do run { target hppa*-*-hpux* *-*-linux* powerpc*-*-darwin* *-*-darwin[912]* } } */ -/* { dg-options "-fexceptions -fnon-call-exceptions -O2" } */ -/* Verify that cleanups work with exception handling through signal frames - on alternate stack. */ - -#include <unwind.h> -#include <stdlib.h> -#include <signal.h> -#include <unistd.h> -#include <string.h> - -static _Unwind_Reason_Code -force_unwind_stop (int version, _Unwind_Action actions, - _Unwind_Exception_Class exc_class, - struct _Unwind_Exception *exc_obj, - struct _Unwind_Context *context, - void *stop_parameter) -{ - if (actions & _UA_END_OF_STACK) - abort (); - return _URC_NO_REASON; -} - -static void force_unwind () -{ - struct _Unwind_Exception *exc - = (struct _Unwind_Exception *) malloc (sizeof (*exc)); - memset (&exc->exception_class, 0, sizeof (exc->exception_class)); - exc->exception_cleanup = 0; - -#ifndef __USING_SJLJ_EXCEPTIONS__ - _Unwind_ForcedUnwind (exc, force_unwind_stop, 0); -#else - _Unwind_SjLj_ForcedUnwind (exc, force_unwind_stop, 0); -#endif - - abort (); -} - -int count; -char *null; - -static void counter (void *p __attribute__((unused))) -{ - ++count; -} - -static void handler (void *p __attribute__((unused))) -{ - if (count != 2) - abort (); - exit (0); -} - -static int __attribute__((noinline)) fn5 () -{ - char dummy __attribute__((cleanup (counter))); - force_unwind (); - return 0; -} - -static void fn4 (int sig, siginfo_t *info, void *ctx) -{ - char dummy __attribute__((cleanup (counter))); - fn5 (); - null = NULL; -} - -static void fn3 () -{ - abort (); -} - -static int __attribute__((noinline)) fn2 () -{ - *null = 0; - fn3 (); - return 0; -} - -static int __attribute__((noinline)) fn1 () -{ - stack_t ss; - struct sigaction s; - - ss.ss_size = 4 * sysconf (_SC_PAGESIZE); - if (ss.ss_size < SIGSTKSZ) - ss.ss_size = SIGSTKSZ; - ss.ss_sp = malloc (ss.ss_size); - if (ss.ss_sp == NULL) - exit (1); - ss.ss_flags = 0; - if (sigaltstack (&ss, NULL) < 0) - exit (1); - - sigemptyset (&s.sa_mask); - s.sa_sigaction = fn4; - s.sa_flags = SA_RESETHAND | SA_ONSTACK; - sigaction (SIGSEGV, &s, NULL); - sigaction (SIGBUS, &s, NULL); - fn2 (); - return 0; -} - -static int __attribute__((noinline)) fn0 () -{ - char dummy __attribute__((cleanup (handler))); - fn1 (); - null = 0; - return 0; -} - -int main() -{ - fn0 (); - abort (); -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/cleanup-11.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/cleanup-11.C deleted file mode 100644 index 0b6d11ce2..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/cleanup-11.C +++ /dev/null @@ -1,117 +0,0 @@ -/* { dg-do run { target hppa*-*-hpux* *-*-linux* powerpc*-*-darwin* *-*-darwin[912]* } } */ -/* { dg-options "-fexceptions -fnon-call-exceptions -O2" } */ -/* Verify that cleanups work with exception handling through realtime signal - frames on alternate stack. */ - -#include <unwind.h> -#include <stdlib.h> -#include <signal.h> -#include <unistd.h> -#include <string.h> - -static _Unwind_Reason_Code -force_unwind_stop (int version, _Unwind_Action actions, - _Unwind_Exception_Class exc_class, - struct _Unwind_Exception *exc_obj, - struct _Unwind_Context *context, - void *stop_parameter) -{ - if (actions & _UA_END_OF_STACK) - abort (); - return _URC_NO_REASON; -} - -static void force_unwind () -{ - struct _Unwind_Exception *exc - = (struct _Unwind_Exception*) malloc (sizeof (*exc)); - memset (&exc->exception_class, 0, sizeof (exc->exception_class)); - exc->exception_cleanup = 0; - -#ifndef __USING_SJLJ_EXCEPTIONS__ - _Unwind_ForcedUnwind (exc, force_unwind_stop, 0); -#else - _Unwind_SjLj_ForcedUnwind (exc, force_unwind_stop, 0); -#endif - - abort (); -} - -int count; -char *null; - -static void counter (void *p __attribute__((unused))) -{ - ++count; -} - -static void handler (void *p __attribute__((unused))) -{ - if (count != 2) - abort (); - exit (0); -} - -static int __attribute__((noinline)) fn5 () -{ - char dummy __attribute__((cleanup (counter))); - force_unwind (); - return 0; -} - -static void fn4 (int sig, siginfo_t *info, void *ctx) -{ - char dummy __attribute__((cleanup (counter))); - fn5 (); - null = NULL; -} - -static void fn3 () -{ - abort (); -} - -static int __attribute__((noinline)) fn2 () -{ - *null = 0; - fn3 (); - return 0; -} - -static int __attribute__((noinline)) fn1 () -{ - stack_t ss; - struct sigaction s; - - ss.ss_size = 4 * sysconf (_SC_PAGESIZE); - if (ss.ss_size < SIGSTKSZ) - ss.ss_size = SIGSTKSZ; - ss.ss_sp = malloc (ss.ss_size); - if (ss.ss_sp == NULL) - exit (1); - ss.ss_flags = 0; - if (sigaltstack (&ss, NULL) < 0) - exit (1); - - sigemptyset (&s.sa_mask); - s.sa_sigaction = fn4; - s.sa_flags = SA_RESETHAND | SA_ONSTACK | SA_SIGINFO; - sigaction (SIGSEGV, &s, NULL); - sigaction (SIGBUS, &s, NULL); - fn2 (); - return 0; -} - -static int __attribute__((noinline)) fn0 () -{ - char dummy __attribute__((cleanup (handler))); - fn1 (); - null = 0; - return 0; -} - -int main() -{ - fn0 (); - abort (); -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/cleanup-2.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/cleanup-2.C deleted file mode 100644 index d9033b454..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/cleanup-2.C +++ /dev/null @@ -1,22 +0,0 @@ -/* { dg-do run } */ -/* { dg-options "" } */ -/* Verify that cleanup works in the most basic of ways. */ - -extern "C" void exit(int); -extern "C" void abort(void); - -static void handler(void *p __attribute__((unused))) -{ - exit (0); -} - -static void doit(void) -{ - int x __attribute__((cleanup (handler))); -} - -int main() -{ - doit (); - abort (); -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/cleanup-3.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/cleanup-3.C deleted file mode 100644 index 5367c496e..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/cleanup-3.C +++ /dev/null @@ -1,45 +0,0 @@ -/* { dg-do run } */ -/* { dg-options "" } */ -/* Verify that the cleanup handler receives the proper contents - of the variable. */ - -extern "C" void exit(int); -extern "C" void abort(void); - -static int expected; - -static void -handler(int *p) -{ - if (*p != expected) - abort (); -} - -static void __attribute__((noinline)) -bar(void) -{ -} - -static void doit(int x, int y) -{ - int r __attribute__((cleanup (handler))); - if (x < y) - { - r = 0; - return; - } - - bar(); - r = x + y; -} - -int main() -{ - expected = 0; - doit (1, 2); - - expected = 3; - doit (2, 1); - - return 0; -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/cleanup-4.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/cleanup-4.C deleted file mode 100644 index ae9a6e40f..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/cleanup-4.C +++ /dev/null @@ -1,39 +0,0 @@ -/* { dg-do run } */ -/* { dg-options "" } */ -/* Verify cleanup execution on non-trivial exit from a block. */ - -extern "C" void exit(int); -extern "C" void abort(void); - -static int counter; - -static void -handler(int *p) -{ - counter += *p; -} - -static void __attribute__((noinline)) -bar(void) -{ -} - -static void doit(int n, int n2) -{ - int i; - for (i = 0; i < n; ++i) - { - int dummy __attribute__((cleanup (handler))) = i; - if (i == n2) - break; - bar(); - } -} - -int main() -{ - doit (10, 6); - if (counter != 0 + 1 + 2 + 3 + 4 + 5 + 6) - abort (); - return 0; -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/cleanup-5.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/cleanup-5.C deleted file mode 100644 index db4c2bbc8..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/cleanup-5.C +++ /dev/null @@ -1,54 +0,0 @@ -/* HP-UX libunwind.so doesn't provide _UA_END_OF_STACK */ -/* { dg-do run } */ -/* { dg-options "-fexceptions" } */ -/* { dg-skip-if "" { "ia64-*-hpux11.*" } { "*" } { "" } } */ -/* Verify that cleanups work with exception handling. */ - -#include <unwind.h> -#include <stdlib.h> -#include <string.h> - -static _Unwind_Reason_Code -force_unwind_stop (int version, _Unwind_Action actions, - _Unwind_Exception_Class exc_class, - struct _Unwind_Exception *exc_obj, - struct _Unwind_Context *context, - void *stop_parameter) -{ - if (actions & _UA_END_OF_STACK) - abort (); - return _URC_NO_REASON; -} - -static void force_unwind () -{ - struct _Unwind_Exception *exc - = (struct _Unwind_Exception *) malloc (sizeof (*exc)); - memset (&exc->exception_class, 0, sizeof (exc->exception_class)); - exc->exception_cleanup = 0; - -#ifndef __USING_SJLJ_EXCEPTIONS__ - _Unwind_ForcedUnwind (exc, force_unwind_stop, 0); -#else - _Unwind_SjLj_ForcedUnwind (exc, force_unwind_stop, 0); -#endif - - abort (); -} - -static void handler (void *p __attribute__((unused))) -{ - exit (0); -} - -static void doit () -{ - char dummy __attribute__((cleanup (handler))); - force_unwind (); -} - -int main() -{ - doit (); - abort (); -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/cleanup-6.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/cleanup-6.C deleted file mode 100644 index 4e3d53893..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/cleanup-6.C +++ /dev/null @@ -1,14 +0,0 @@ -/* { dg-do compile } */ -/* { dg-options "-O" } */ -/* Verify that a cleanup marked "inline" gets inlined. */ - -static inline void xyzzy(void *p __attribute__((unused))) -{ -} - -void doit(void) -{ - int x __attribute__((cleanup (xyzzy))); -} - -/* { dg-final { scan-assembler-not "xyzzy" } } */ diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/cleanup-8.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/cleanup-8.C deleted file mode 100644 index be6676848..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/cleanup-8.C +++ /dev/null @@ -1,100 +0,0 @@ -/* { dg-do run { target hppa*-*-hpux* *-*-linux* powerpc*-*-darwin* *-*-darwin[912]* } } */ -/* { dg-options "-fexceptions -fnon-call-exceptions -O2" } */ -/* Verify that cleanups work with exception handling through signal - frames. */ - -#include <unwind.h> -#include <stdlib.h> -#include <signal.h> -#include <string.h> - -static _Unwind_Reason_Code -force_unwind_stop (int version, _Unwind_Action actions, - _Unwind_Exception_Class exc_class, - struct _Unwind_Exception *exc_obj, - struct _Unwind_Context *context, - void *stop_parameter) -{ - if (actions & _UA_END_OF_STACK) - abort (); - return _URC_NO_REASON; -} - -static void force_unwind () -{ - struct _Unwind_Exception *exc - = (struct _Unwind_Exception *) malloc (sizeof (*exc)); - memset (&exc->exception_class, 0, sizeof (exc->exception_class)); - exc->exception_cleanup = 0; - -#ifndef __USING_SJLJ_EXCEPTIONS__ - _Unwind_ForcedUnwind (exc, force_unwind_stop, 0); -#else - _Unwind_SjLj_ForcedUnwind (exc, force_unwind_stop, 0); -#endif - - abort (); -} - -int count; -char *null; - -static void counter (void *p __attribute__((unused))) -{ - ++count; -} - -static void handler (void *p __attribute__((unused))) -{ - if (count != 2) - abort (); - exit (0); -} - -static int __attribute__((noinline)) fn5 () -{ - char dummy __attribute__((cleanup (counter))); - force_unwind (); - return 0; -} - -static void fn4 (int sig) -{ - char dummy __attribute__((cleanup (counter))); - fn5 (); - null = NULL; -} - -static void fn3 () -{ - abort (); -} - -static int __attribute__((noinline)) fn2 () -{ - *null = 0; - fn3 (); - return 0; -} - -static int __attribute__((noinline)) fn1 () -{ - signal (SIGSEGV, fn4); - signal (SIGBUS, fn4); - fn2 (); - return 0; -} - -static int __attribute__((noinline)) fn0 () -{ - char dummy __attribute__((cleanup (handler))); - fn1 (); - null = 0; - return 0; -} - -int main() -{ - fn0 (); - abort (); -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/cleanup-9.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/cleanup-9.C deleted file mode 100644 index 87f828399..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/cleanup-9.C +++ /dev/null @@ -1,104 +0,0 @@ -/* { dg-do run { target hppa*-*-hpux* *-*-linux* powerpc*-*-darwin* *-*-darwin[912]* } } */ -/* { dg-options "-fexceptions -fnon-call-exceptions -O2" } */ -/* Verify that cleanups work with exception handling through realtime - signal frames. */ - -#include <unwind.h> -#include <stdlib.h> -#include <signal.h> -#include <string.h> - -static _Unwind_Reason_Code -force_unwind_stop (int version, _Unwind_Action actions, - _Unwind_Exception_Class exc_class, - struct _Unwind_Exception *exc_obj, - struct _Unwind_Context *context, - void *stop_parameter) -{ - if (actions & _UA_END_OF_STACK) - abort (); - return _URC_NO_REASON; -} - -static void force_unwind () -{ - struct _Unwind_Exception *exc - = (struct _Unwind_Exception *) malloc (sizeof (*exc)); - memset (&exc->exception_class, 0, sizeof (exc->exception_class)); - exc->exception_cleanup = 0; - -#ifndef __USING_SJLJ_EXCEPTIONS__ - _Unwind_ForcedUnwind (exc, force_unwind_stop, 0); -#else - _Unwind_SjLj_ForcedUnwind (exc, force_unwind_stop, 0); -#endif - - abort (); -} - -int count; -char *null; - -static void counter (void *p __attribute__((unused))) -{ - ++count; -} - -static void handler (void *p __attribute__((unused))) -{ - if (count != 2) - abort (); - exit (0); -} - -static int __attribute__((noinline)) fn5 () -{ - char dummy __attribute__((cleanup (counter))); - force_unwind (); - return 0; -} - -static void fn4 (int sig, siginfo_t *info, void *ctx) -{ - char dummy __attribute__((cleanup (counter))); - fn5 (); - null = NULL; -} - -static void fn3 () -{ - abort (); -} - -static int __attribute__((noinline)) fn2 () -{ - *null = 0; - fn3 (); - return 0; -} - -static int __attribute__((noinline)) fn1 () -{ - struct sigaction s; - sigemptyset (&s.sa_mask); - s.sa_sigaction = fn4; - s.sa_flags = SA_RESETHAND | SA_SIGINFO; - sigaction (SIGSEGV, &s, NULL); - sigaction (SIGBUS, &s, NULL); - fn2 (); - return 0; -} - -static int __attribute__((noinline)) fn0 () -{ - char dummy __attribute__((cleanup (handler))); - fn1 (); - null = 0; - return 0; -} - -int main() -{ - fn0 (); - abort (); -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/cleanup-dtor.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/cleanup-dtor.C deleted file mode 100644 index 58da64670..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/cleanup-dtor.C +++ /dev/null @@ -1,28 +0,0 @@ -// Check that destructors are run after cleanup functions. -// { dg-do run } - -extern "C" void abort (); - -int i; - -struct S { - ~S() { - if (i != 1) - abort (); - i = 2; - } -}; - -void f(void *) { - if (i != 0) - abort (); - i = 1; -} - -int main () { - { - S s __attribute__((cleanup (f))); - } - if (i != 2) - abort (); -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/complex1.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/complex1.C deleted file mode 100644 index ac6771106..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/complex1.C +++ /dev/null @@ -1,6 +0,0 @@ -/* { dg-options "" } */ -/* { dg-do compile } */ -// Testing if we can do a new of a complex type -// PR C++/28450 - -void* q = new __complex__ int (); diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/complex2.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/complex2.C deleted file mode 100644 index c9e8cdce5..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/complex2.C +++ /dev/null @@ -1,5 +0,0 @@ -// PR c++/31388 -// { dg-options "" } - -bool b = !0i; - diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/complex3.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/complex3.C deleted file mode 100644 index 062c2d44b..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/complex3.C +++ /dev/null @@ -1,28 +0,0 @@ -// PR c++/31780 -// { dg-do run } -// { dg-options "" } - -// Test that we can implicitly convert to _Complex, but that it's worse -// than a scalar arithmetic conversion. - -extern "C" void exit (int); - -int r = 0; - -void f (_Complex int) { ++r; } -void f (double) { } - -void g (_Complex int) { } - -int main() -{ - f (1); - g (1); - - return r; -} - -void bar() -{ - r ? 0i : 0; -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/complex4.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/complex4.C deleted file mode 100644 index 78b935670..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/complex4.C +++ /dev/null @@ -1,5 +0,0 @@ -// { dg-do compile } -// This code used to be rejected as there was no conversion from int to float __complex__ - #include <vector> - typedef float __complex__ fcomplex; - std::vector<fcomplex> vfc(10); diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/complex5.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/complex5.C deleted file mode 100644 index 4a29960f5..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/complex5.C +++ /dev/null @@ -1,6 +0,0 @@ -/* PR c++/21210 */ -/* { dg-do compile } */ -/* { dg-options "-O2" } */ - -typedef float __complex__ fcomplex; -fcomplex cplx = fcomplex(0); diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/complex6.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/complex6.C deleted file mode 100644 index 9a7c50a7a..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/complex6.C +++ /dev/null @@ -1,10 +0,0 @@ -// PR c++/46304 -// { dg-options "" } - -template<class T> -void f() -{ - __complex double d = 1.0 + 2.0i; -} - -template void f<int>(); diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/complex7.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/complex7.C deleted file mode 100644 index 5b3eead18..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/complex7.C +++ /dev/null @@ -1,8 +0,0 @@ -// { dg-options "" } - -class A -{ - static const _Complex double x = 1.0 + 2.0i; -}; - -// { dg-prune-output "constexpr. needed" } diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/complex8.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/complex8.C deleted file mode 100644 index 9b8ac1b18..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/complex8.C +++ /dev/null @@ -1,67 +0,0 @@ -// PR libstdc++/48760 -// { dg-options -std=c++0x } -// { dg-do run } - -constexpr _Complex int i{1,2}; -constexpr _Complex int j{3}; - -#define SA(X) static_assert((X),#X) - -SA(__real i == 1); -SA(__imag i == 2); -SA(__real j == 3); -SA(__imag j == 0); - -struct A -{ - _Complex int c; - constexpr A(int i, int j): c{i,j} { } - constexpr A(int i): c{i} { } -}; - -constexpr A a1(1,2); -constexpr A a2(3); - -SA(__real a1.c == 1); -SA(__imag a1.c == 2); -SA(__real a2.c == 3); -SA(__imag a2.c == 0); - -typedef _Complex int ci; - -SA((__real ci{1,2} == 1)); -SA((__imag ci{1,2} == 2)); -SA((__real ci{3} == 3)); -SA((__imag ci{3} == 0)); - -struct B -{ - _Complex int c; - int i; -}; - -constexpr B b1 = { { 1,2 }, 42 }; -constexpr B b2 = { { 3 }, 24 }; -// No brace elision for complex. -constexpr B b3 = { 5, 6 }; - -SA(__real b1.c == 1); -SA(__imag b1.c == 2); -SA(b1.i == 42); -SA(__real b2.c == 3); -SA(__imag b2.c == 0); -SA(b2.i == 24); -SA(__real b3.c == 5); -SA(__imag b3.c == 0); -SA(b3.i == 6); - -int main() -{ - ci* p = new ci{1,2}; - if (__real *p != 1 || __imag *p != 2) - return 1; - delete p; - p = new ci{3}; - if (__real *p != 3 || __imag *p != 0) - return 1; -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/complex9.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/complex9.C deleted file mode 100644 index 5bb1625c9..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/complex9.C +++ /dev/null @@ -1,8 +0,0 @@ -// PR c++/28501 - -struct A -{ - operator int(); -}; - -int i = __real__ A(); diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/complit1.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/complit1.C deleted file mode 100644 index ab2b038fe..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/complit1.C +++ /dev/null @@ -1,16 +0,0 @@ -// PR c++/11063 -// { dg-options "" } - -class Foo -{ -private: - const int val_[2]; - -public: - Foo(int, int); -}; - -Foo::Foo(int v0, int v1) - : val_((int[]) {v0, v1}) // { dg-error "" "" } -{ -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/complit10.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/complit10.C deleted file mode 100644 index 7f159f0f7..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/complit10.C +++ /dev/null @@ -1,20 +0,0 @@ -// PR c++/36023 -// { dg-do compile } -// { dg-options "" } - -struct A; - -void -f1 (int i) -{ - (int[i]) { 1 }; // { dg-error "variable-sized compound literal" } - (A[5]) { 1 }; // { dg-error "have incomplete type" } - (A[i]) { 1 }; // { dg-error "have incomplete type" } -} - -void -f2 () -{ - (int[]) { 1 }; - (int[1]) { 1 }; -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/complit11.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/complit11.C deleted file mode 100644 index 0662543d9..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/complit11.C +++ /dev/null @@ -1,16 +0,0 @@ -// { dg-do compile } -// { dg-options "" } - -struct A { int i; }; - -template<int t> -void foo() -{ - ((struct A) { 0 }).i += 1; // { dg-error "temporary" } -} - -void g(void) -{ - foo<0>(); -} - diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/complit12.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/complit12.C deleted file mode 100644 index 5c6a731f9..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/complit12.C +++ /dev/null @@ -1,67 +0,0 @@ -// PR c++/40948 -// { dg-do run } -// { dg-options "" } - -int c; -struct M -{ - M () { ++c; } - M (const M&) { ++c; } - ~M () { --c; } -}; - -struct S -{ - S (); - M m[1]; -}; - -S::S () : m ((M[1]) { M () }) -{ -} - -struct T -{ - T (); - M m[4]; -}; - -T::T () : m ((M[4]) { M (), M (), M (), M () }) -{ -} - -typedef M MA[1]; -MA &bar (MA, MA& r) { return r; } - -M f(M m) { return m; } - -int main () -{ - { - M m[1] = (M[1]) { M () }; - if (c != 1) - return 1; - M n = (M) { M () }; - if (c != 2) - return 2; - M o[4] = (M[4]) { M (), M (), M (), M () }; - if (c != 6) - return 3; - S s; - if (c != 7) - return 4; - T t; - if (c != 11) - return 5; - M mm[2] = ((M[2]) { f(M()), f(M()) }); - if (c != 13) - return 8; -#if 0 - MA ma = bar ((M[2]) { M(), M() }, m); - if (c != 14) - return 7; -#endif - } - if (c != 0) - return 6; -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/complit2.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/complit2.C deleted file mode 100644 index 9fe00c42e..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/complit2.C +++ /dev/null @@ -1,22 +0,0 @@ -// PR c++/12726 -// Origin: Vladimir Zidar <mr_W@mindnever.org> -// Reduced version: Volker Reichelt <reichelt@igpm.rwth-aachen.de> -// { dg-options "" } - -struct A -{ - A(); - A(const A&); - A(int); -}; - -struct B -{ - A a; -}; - -void foo() -{ - B b; - b = (B){0}; -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/complit3.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/complit3.C deleted file mode 100644 index a54a8bce1..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/complit3.C +++ /dev/null @@ -1,8 +0,0 @@ -// { dg-options "" } - -int Compound_Literals_0() -{ - static int y[] = (int []) {1, 2, 3}; // { dg-error "init" } - static int z[] = (int [3]) {1}; // { dg-error "init" } - return y[0]+z[0]; -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/complit4.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/complit4.C deleted file mode 100644 index 1448e7a66..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/complit4.C +++ /dev/null @@ -1,10 +0,0 @@ -// PR c++/23172 -// { dg-do run } -// { dg-options "" } - -int i = (int) {7}; - -int main () { - if (i != 7) - return 1; -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/complit5.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/complit5.C deleted file mode 100644 index c406c9980..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/complit5.C +++ /dev/null @@ -1,12 +0,0 @@ -// PR c++/25417 -// { dg-options "" } - -struct object { - int a; - int b; -}; - -void f (int c, int d) -{ - object o = ((object){ a : c, b : d}); -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/complit6.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/complit6.C deleted file mode 100644 index d3187a65b..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/complit6.C +++ /dev/null @@ -1,19 +0,0 @@ -// PR c++/20103 -// { dg-options "" } - -struct A -{ - A(const A&); -}; - -struct B -{ - A a; -}; - -void foo(B); - -void bar(A &x) -{ - foo((B){x}); -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/complit7.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/complit7.C deleted file mode 100644 index bceb6d108..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/complit7.C +++ /dev/null @@ -1,4 +0,0 @@ -// PR c++/27807 -// { dg-options "" } - -int i = (int()){0}; // { dg-error "type" } diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/complit8.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/complit8.C deleted file mode 100644 index 97ff563fe..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/complit8.C +++ /dev/null @@ -1,12 +0,0 @@ -// PR c++/27270 -// { dg-options "" } - -template<typename Entry> -struct Array { - Entry *array[32]; - Array () : - array ( (Entry*[1]) { 0, 0 } ) // { dg-error "initializers|incompatible" } - {} -}; - -Array<void*> a; diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/complit9.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/complit9.C deleted file mode 100644 index 5b7fbe75c..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/complit9.C +++ /dev/null @@ -1,15 +0,0 @@ -// PR c++/35708 -// { dg-options "" } - -struct object { int one_o; int allocstamp; }; -int pgci_pointable (object obj); -void foo(void); -int main (int argc, char *argv[]) -{ - if (pgci_pointable((object){7,100})) - { - bad_rehash_size: - foo(); - } - goto bad_rehash_size; -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/cond1.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/cond1.C deleted file mode 100644 index ec342121e..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/cond1.C +++ /dev/null @@ -1,4 +0,0 @@ -// PR c++/12515 -// { dg-do compile } -// { dg-options "" } -template<int> void foo() { 0 ?: 0; } diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/construct1.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/construct1.C deleted file mode 100644 index 6a7d8cee4..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/construct1.C +++ /dev/null @@ -1,12 +0,0 @@ -// PR c++/16717 -// { dg-options "-O2" } - -int i; - -void hello (void) __attribute__ ((constructor)); -void hello (void) { i = 1; } - -int main (void) { - if (i != 1) - return 1; -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/conv1.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/conv1.C deleted file mode 100644 index 6c16fe484..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/conv1.C +++ /dev/null @@ -1,19 +0,0 @@ -// Test for backwards brain-damage compatibility with -fpermissive. -// { dg-options "-fpermissive -w" } - -void f (); -void f (int *); -void g (int); - -int main () -{ - void *v = 1234; - void (*p)() = v; - int i = v; - f (i); - f (v); - g (v); - enum { a } b = i; - void (*p2)(int) = p; - unsigned *ip = &i; -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/desig1.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/desig1.C deleted file mode 100644 index c3ff4c142..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/desig1.C +++ /dev/null @@ -1,24 +0,0 @@ -// { dg-options "" } - -struct a { - int x; -}; - -struct b { - int x; - int y; -}; - -struct foo { - union { - struct a a; - struct b b; - } u; -}; - -int main(void) -{ - struct foo bar = { u: { b: { x: 0, y: 0, }}}; - (void)bar; - return 0; -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/desig2.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/desig2.C deleted file mode 100644 index 229ae527d..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/desig2.C +++ /dev/null @@ -1,25 +0,0 @@ -// Test for C99-style designated array initializer - -union U -{ - long l; - const char *p; -}; - -__extension__ U u = { .p = "" }; - -__extension__ int i[4] = { [0] = 1, [1] = 2 }; - -// Currently, except for unions, the C++ front end only supports -// designators that designate the element that would have been initialized -// anyway. While that's true, make sure that we get a sorry rather than -// bad code. - -struct A -{ - int i; - int j; -}; - -__extension__ A a = { .j = 1 }; // { dg-message "non-trivial" } -__extension__ int j[2] = { [1] = 1 }; // { dg-message "non-trivial" } diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/desig3.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/desig3.C deleted file mode 100644 index d1ff5e53e..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/desig3.C +++ /dev/null @@ -1,9 +0,0 @@ -// PR c++/51229 -// { dg-do compile } -// { dg-options "" } - -struct A { int i; }; - -int a[5] = { .foo = 7 };// { dg-error "used in a GNU-style designated initializer for an array" } -int b[] = { .foo = 8 }; // { dg-error "used in a GNU-style designated initializer for an array" } -A c = { [0] = {} }; // { dg-error "used in a GNU-style designated initializer for class" } diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/desig4.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/desig4.C deleted file mode 100644 index 48d629a94..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/desig4.C +++ /dev/null @@ -1,10 +0,0 @@ -// PR c++/51458 -// { dg-options "" } - -char g[] = { [7] = "abcd" }; // { dg-error "designator" } -int a = { .foo = 6 }; // { dg-error "designator" } -int b = { [0] = 1 }; // { dg-error "designator" } -_Complex float c = { .foo = 0, 1 }; // { dg-error "designator" } -_Complex float d = { [0] = 0, 1 }; // { dg-error "designator" } -_Complex float e = { 0, .foo = 1 }; // { dg-error "designator" } -_Complex float f = { 0, [0] = 1 }; // { dg-error "designator" } diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/desig5.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/desig5.C deleted file mode 100644 index 48cce3183..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/desig5.C +++ /dev/null @@ -1,7 +0,0 @@ -// PR c++/55951 - -enum { A }; - -static const char *a[] = { - [A] = "a" -}; diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/desig6.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/desig6.C deleted file mode 100644 index ccdafa50d..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/desig6.C +++ /dev/null @@ -1,17 +0,0 @@ -// PR c++/57041 -// { dg-options "-std=gnu++11" } - -template<typename T> -union u { - T a; - char b; -}; - -template<typename T> -u<T> make_u(T t) { - return { .a = t }; -} - -int main() { - return make_u<int>(1).a; -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/dll-MI1.h b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/dll-MI1.h deleted file mode 100644 index 2f8b83669..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/dll-MI1.h +++ /dev/null @@ -1,39 +0,0 @@ -// Class definitions for dllexport-MI1.C and dllimport-MI1.C - -#ifdef BUILDING_MI_DLL -#define DLL_IMPEXP __attribute__ ((dllexport)) -#else -#define DLL_IMPEXP __attribute__ ((dllimport)) -#endif - - -#define D1_return 1 -#define D2_return 2 - -class DLL_IMPEXP MBase -{ -public: - virtual int vf() const = 0; - virtual ~MBase(); -}; - -class DLL_IMPEXP D1 : virtual public MBase -{ -public: - int vf() const; -}; - -class DLL_IMPEXP D2 : virtual public MBase -{ -public: - D2 (); - D2 (D2 const&); - int vf() const; -}; - -class DLL_IMPEXP MI1 : public D1, public D2 -{ -public: - int vf() const; -}; - diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/dllexport-MI1.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/dllexport-MI1.C deleted file mode 100644 index 08e65ec96..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/dllexport-MI1.C +++ /dev/null @@ -1,51 +0,0 @@ -// { dg-do compile { target i?86-*-cygwin* i?86-*-mingw* x86_64-*-mingw*} } -// Test that non-virtual MI thunks are exported. - - -// To build the dll and client app: -// g++ -shared -o MI.dll dllexport-MI1.C -// g++ -o MItest.exe dllimport-MI1.C -L. MI.dll - -#define BUILDING_MI_DLL -#include "dll-MI1.h" - -MBase::~MBase(){} - -int D1::vf() const { return D1_return; } - -D2::D2() { } -D2::D2 (D2 const&) { } -int D2::vf() const { return D2_return; } - -int MI1::vf() const { return D1::vf();} - -// a dllexported object -DLL_IMPEXP MI1 dllMI1; - -// use default copy ctor -DLL_IMPEXP MI1 dllMI1Copy = dllMI1; - -// Scan for export of some methods that are undefined in dllimportMI1.C, - -// { dg-final { scan-assembler "-export:\[\\\\\"\]*_ZNK2D12vfEv" } } -// { dg-final { scan-assembler "-export:\[\\\\\"\]*_ZNK2D22vfEv" } } -// { dg-final { scan-assembler "-export:\[\\\\\"\]*_ZNK3MI12vfEv" } } - -// and MI thunks, - -// { dg-final { scan-assembler "-export:\[\\\\\"\]*_ZThn._NK3MI12vfEv" } } -// { dg-final { scan-assembler "-export:\[\\\\\"\]*_ZTv0_n.._NK2D12vfEv" } } - -// and a vtable data variable. - -// { dg-final { scan-assembler "-export:\[\\\\\"\]*_ZTV2D1\[\\\\\"\]*,data" } } - -// an explicit copy ctor -// { dg-final { scan-assembler "-export:\[\\\\\"\]*_ZN2D2C2ERKS_" } } - -// but not implicit copy ctor generated by compiler -// nor implicit dtor - -// { dg-final { scan-assembler-not "-export:\[\\\\\"\]*_ZN2D1C2ERKS_" } } -// { dg-final { scan-assembler-not "-export:\[\\\\\"\]*_ZN2D1D2Ev" } } - diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/dllexport1.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/dllexport1.C deleted file mode 100644 index 3683d08b6..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/dllexport1.C +++ /dev/null @@ -1,23 +0,0 @@ -// Test that inline functions are exported with -fkeep-inline-functions. -// { dg-do compile { target i?86-*-cygwin* i?86-*-mingw* x86_64-*-mingw*} } -// { dg-options -fkeep-inline-functions } - -__attribute__((dllexport)) inline int foo (int a) { return a;} - - -class __attribute__((dllexport)) Bar -{ - public: - Bar(){}; - int inline_bar(int a) {return a;} - int outline_bar(int a); -}; - -int Bar::outline_bar(int a) {return foo (a);} - - -Bar abar; - -// { dg-final { scan-assembler "\.section\[ \t\]*.drectve\n.*_ZN3Bar11outline_barEi" } } -// { dg-final { scan-assembler " -export:\[\\\\\"\]*_ZN3Bar10inline_barEi" } } -// { dg-final { scan-assembler " -export:\[\\\\\"\]*_Z3fooi" } } diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/dllexport2.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/dllexport2.C deleted file mode 100644 index 71ccf670b..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/dllexport2.C +++ /dev/null @@ -1,52 +0,0 @@ -// { dg-do link } -// { dg-require-dll "" } -// { dg-additional-sources "dllexport2a.cc" } -// { dg-options "-O2" } - -/* Test that inline functions declared "dllexport" appear in object - files, even if they are not called. - - This behavior is required by the ARM C++ ABI: - - Exporting a function that can be inlined should force the - creation and export of an out-of-line copy of it. - - and should presumably also apply. - - Visual Studio 2005 also honors that rule. */ - -__declspec(dllexport) inline void i1() {} - -__declspec(dllexport) extern inline void e1() {} - -/* It is invalid to declare the function inline after its definition. */ -#if 0 -__declspec(dllexport) void i2() {} -inline void i2(); - -__declspec(dllexport) extern void e2() {} -inline void e2(); -#endif - -__declspec(dllexport) inline void i3() {} -void i3(); - -__declspec(dllexport) inline void e3() {} -extern void e3(); - -__declspec(dllexport) void i4(); -inline void i4() {}; - -__declspec(dllexport) extern void e4(); -inline void e4() {}; - -__declspec(dllexport) inline void i5(); -void i5() {}; - -__declspec(dllexport) inline void e5(); -extern void e5() {}; - -/* Make sure that just declaring the function -- without defining it - -- does not cause errors. */ -__declspec(dllexport) inline void i6(); -__declspec(dllexport) extern inline void e6(); diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/dllexport2a.cc b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/dllexport2a.cc deleted file mode 100644 index 80caf3217..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/dllexport2a.cc +++ /dev/null @@ -1,21 +0,0 @@ -extern void i1(); -extern void i3(); -extern void i4(); -extern void i5(); - -extern void e1(); -extern void e3(); -extern void e4(); -extern void e5(); - -int main () { - i1(); - i3(); - i4(); - i5(); - - e1(); - e3(); - e4(); - e5(); -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/dllexport3.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/dllexport3.C deleted file mode 100644 index 206dfc92c..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/dllexport3.C +++ /dev/null @@ -1,19 +0,0 @@ -// PR c++/42870 -// { dg-do compile { target i?86-*-cygwin *-*-mingw* } } -// { dg-final { scan-assembler "-export:\[\\\\\"\]*_ZN2SaD1Ev" } } - -#define ATTRIBUTE __attribute__ ((dllexport)) -class ATTRIBUTE Sa { - public: - Sa() - {} - ~Sa(); -}; -ATTRIBUTE Sa::~Sa() -{return;} - -bool DllMain(void *a,void*b,int) -{ - Sa s; - return true; -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/dllexport4.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/dllexport4.C deleted file mode 100644 index 81c57c3fb..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/dllexport4.C +++ /dev/null @@ -1,54 +0,0 @@ -// { dg-do link } -// { dg-require-dll "" } -// { dg-additional-sources "dllexport4a.cc" } -// { dg-options "-O2 -fno-keep-inline-dllexport" } -// { dg-prune-output .*undefined.* } -// { dg-xfail-if "link failure expected" { *-*-* } } - -/* Test that inline functions declared "dllexport" appear in object files, - even if they are not called - except when -fno-keep-inline-dllexport. - - This behavior is required by the ARM C++ ABI: - - Exporting a function that can be inlined should force the - creation and export of an out-of-line copy of it. - - and should presumably also apply. - - Visual Studio 2005 also honors that rule. */ - -__declspec(dllexport) inline void i1() {} - -__declspec(dllexport) extern inline void e1() {} - -/* It is invalid to declare the function inline after its definition. */ -#if 0 -__declspec(dllexport) void i2() {} -inline void i2(); - -__declspec(dllexport) extern void e2() {} -inline void e2(); -#endif - -__declspec(dllexport) inline void i3() {} -void i3(); - -__declspec(dllexport) inline void e3() {} -extern void e3(); - -__declspec(dllexport) void i4(); -inline void i4() {}; - -__declspec(dllexport) extern void e4(); -inline void e4() {}; - -__declspec(dllexport) inline void i5(); -void i5() {}; - -__declspec(dllexport) inline void e5(); -extern void e5() {}; - -/* Make sure that just declaring the function -- without defining it - -- does not cause errors. */ -__declspec(dllexport) inline void i6(); -__declspec(dllexport) extern inline void e6(); diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/dllexport4a.cc b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/dllexport4a.cc deleted file mode 100644 index 80caf3217..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/dllexport4a.cc +++ /dev/null @@ -1,21 +0,0 @@ -extern void i1(); -extern void i3(); -extern void i4(); -extern void i5(); - -extern void e1(); -extern void e3(); -extern void e4(); -extern void e5(); - -int main () { - i1(); - i3(); - i4(); - i5(); - - e1(); - e3(); - e4(); - e5(); -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/dllexport5.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/dllexport5.C deleted file mode 100644 index 8b2780731..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/dllexport5.C +++ /dev/null @@ -1,52 +0,0 @@ -// { dg-do link } -// { dg-require-dll "" } -// { dg-additional-sources "dllexport5a.cc" } -// { dg-options "-O2 -fkeep-inline-dllexport" } - -/* Test that inline functions declared "dllexport" appear in object files, - even if they are not called, when -fkeep-inline-dllexport is supplied. - - This behavior is required by the ARM C++ ABI: - - Exporting a function that can be inlined should force the - creation and export of an out-of-line copy of it. - - and should presumably also apply. - - Visual Studio 2005 also honors that rule. */ - -__declspec(dllexport) inline void i1() {} - -__declspec(dllexport) extern inline void e1() {} - -/* It is invalid to declare the function inline after its definition. */ -#if 0 -__declspec(dllexport) void i2() {} -inline void i2(); - -__declspec(dllexport) extern void e2() {} -inline void e2(); -#endif - -__declspec(dllexport) inline void i3() {} -void i3(); - -__declspec(dllexport) inline void e3() {} -extern void e3(); - -__declspec(dllexport) void i4(); -inline void i4() {}; - -__declspec(dllexport) extern void e4(); -inline void e4() {}; - -__declspec(dllexport) inline void i5(); -void i5() {}; - -__declspec(dllexport) inline void e5(); -extern void e5() {}; - -/* Make sure that just declaring the function -- without defining it - -- does not cause errors. */ -__declspec(dllexport) inline void i6(); -__declspec(dllexport) extern inline void e6(); diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/dllexport5a.cc b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/dllexport5a.cc deleted file mode 100644 index 80caf3217..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/dllexport5a.cc +++ /dev/null @@ -1,21 +0,0 @@ -extern void i1(); -extern void i3(); -extern void i4(); -extern void i5(); - -extern void e1(); -extern void e3(); -extern void e4(); -extern void e5(); - -int main () { - i1(); - i3(); - i4(); - i5(); - - e1(); - e3(); - e4(); - e5(); -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/dllimport-MI1.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/dllimport-MI1.C deleted file mode 100644 index 3f2d05683..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/dllimport-MI1.C +++ /dev/null @@ -1,53 +0,0 @@ -// { dg-do compile { target i?86-*-cygwin* i?86-*-mingw* x86_64-*-mingw* } } -// Test handling of MI thunks in dllimported classes. - -// To build the dll and client app: -// g++ -shared -o MI.dll dllexport-MI1.C -// g++ -o MItest.exe dllimport-MI1.C -L. MI.dll - -#include <stdlib.h> -#include "dll-MI1.h" - -extern DLL_IMPEXP MI1 dllMI1; - -// This should use the implicit copy ctor for D1 (not imported) -// and the explicit copy ctor for D2 (dll-imported). -MI1 dllMI1LocalCopy = dllMI1; - -class MI2 : public D1, public D2 -{ -public: - int vf() const { return D2::vf();} -}; - -class MI3 : public MI1 -{ -}; - -int main () - -{ - MI1 bar1; - MI2 bar2; - MI3 bar3; - - if (dllMI1.vf() != D1_return) - abort(); - - if (dllMI1LocalCopy.vf() != D1_return) - abort(); - - if (bar1.vf() != D1_return) - abort(); - - if (bar2.vf() != (D2_return)) - abort(); - - if (bar3.vf() != D1_return ) - abort(); -} - -// Scan for import of explicit copy ctor for D2, but no import -// of compiler generated copy ctor for D1. -// { dg-final { scan-assembler "__imp\[_\]*__ZN2D2C2ERKS_" } } -// { dg-final { scan-assembler-not "__imp\[_\]*__ZN2D1C2ERKS_" } } diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/dllimport1.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/dllimport1.C deleted file mode 100644 index d7ddfe8a2..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/dllimport1.C +++ /dev/null @@ -1,31 +0,0 @@ -// PR c++/7910 -// { dg-do compile { target i?86-*-cygwin* i?86-*-mingw* x86_64-*-mingw* } } -// { dg-options { -Wall -W } } - -class __attribute__((dllimport)) Foo -{ - public: - virtual void dummy_foo_func(void) - {} - void dummy_foo_fun2(); - virtual ~Foo(); // avoid warning -}; - -void Foo::dummy_foo_fun2() // { dg-warning "redeclared without dllimport" } -{ -} - -class Bar : public Foo -{ -public: - ~Bar(); - void dummy_bar_func(); -}; - -Bar::~Bar() -{} - -void Bar::dummy_bar_func() -{} - -// { dg-final { scan-assembler-not "__imp\[_\]*__ZN3Foo14dummy_foo_fun" } } diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/dllimport10.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/dllimport10.C deleted file mode 100644 index 808337661..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/dllimport10.C +++ /dev/null @@ -1,16 +0,0 @@ -// PR c++/5287, c++/11021 -// Inherit a virtual method from a dllimport'd base class. - -// { dg-do compile { target i?86-*-cygwin* i?86-*-mingw* x86_64-*-mingw* } } - -struct __attribute__((dllimport)) A -{ - virtual void vfunc(void); -}; - -struct B : public A -{ -}; - - -B aB; diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/dllimport11.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/dllimport11.C deleted file mode 100644 index 6d822be22..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/dllimport11.C +++ /dev/null @@ -1,15 +0,0 @@ -// PR target/23589 -// Template member functions do not get dllimport status of class. -// { dg-do compile { target i?86-*-cygwin* i?86-*-mingw* x86_64-*-mingw* } } - -struct __attribute__((dllimport)) Foo -{ - template <class T> Foo (T); -}; - -void a (int i) -{ - Foo f(i); -} - -template <class T> Foo::Foo (T) {} // no dllimport warnings on definition. diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/dllimport12.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/dllimport12.C deleted file mode 100644 index ede546f20..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/dllimport12.C +++ /dev/null @@ -1,23 +0,0 @@ -// PR target/27650 -// Don't use dllimport semantics on virtual methods when initializing -// vtables -// { dg-do compile { target i?86-*-cygwin* i?86-*-mingw* x86_64-*-mingw* } } - -// Use import lib thunk for vtable entry of explicitly virtual method, -struct base -{ - virtual void key_method(); - __attribute__((dllimport)) virtual ~base(); -}; - -void base::key_method() {} - - -// Likewise for an implicitly virtual method. -struct derived : public base -{ - void key_method(); - __attribute__((dllimport)) ~derived(); -}; - -void derived::key_method() {} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/dllimport13.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/dllimport13.C deleted file mode 100644 index fa1ffbfdb..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/dllimport13.C +++ /dev/null @@ -1,14 +0,0 @@ -// PR c++/34749 -// Ensure dllimport is handled correctly for friends - -// { dg-do compile { target i?86-*-cygwin* i?86-*-mingw* x86_64-*-mingw* } } - -int __declspec (dllimport) bar(); -int __declspec (dllimport) baz(); - -class Foo -{ -// MS requires that the dllimport attribute be specified on each declaration - friend int __declspec (dllimport) bar(); - friend int baz(); // { dg-warning "dllimport ignored" } -}; diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/dllimport2.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/dllimport2.C deleted file mode 100644 index d0de2551a..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/dllimport2.C +++ /dev/null @@ -1,28 +0,0 @@ -// { dg-do compile { target i?86-*-cygwin* i?86-*-mingw* x86_64-*-mingw* } } -// PR c++/9738 Dllimport attribute is overriden by later definition/redeclaration - -void __attribute__((dllimport)) Bar(void); -void __attribute__((dllimport)) Baz(void); -__attribute__((dllimport)) int Biz; -__attribute__((dllimport)) int Boz; - - -void Foo(void) - { - Bar(); - Baz(); - Biz++; - Boz++; - } - -void Baz(void); // { dg-warning "referenced with dll linkage" } -void Bar(void) // { dg-warning "referenced with dll linkage" } - { - } -extern int Biz; // { dg-warning "referenced with dll linkage" } -int Boz; // { dg-warning "referenced with dll linkage" } - -void foo() -{ - Biz++; -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/dllimport3.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/dllimport3.C deleted file mode 100644 index 6538232f7..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/dllimport3.C +++ /dev/null @@ -1,24 +0,0 @@ -// { dg-do compile { target i?86-*-cygwin* i?86-*-mingw* x86_64-*-mingw* } } - -// PR 10148 Dllimport attribute of object is overriden by later -// redefinition without attribute. - -struct Foo -{ - int a; -}; - - __attribute__((dllimport)) struct Foo f; - -void Bar(void) -{ - void* dummy = (void*) &f; -} - -struct Foo f; // { dg-warning "referenced with dll linkage" } - -// Dllimport'd symbols do not have a constant address, so following -// assignment would require static_initialization_and_destruction -// if attribute is retained. - -void* dummy = &f; diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/dllimport4.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/dllimport4.C deleted file mode 100644 index 4d4074cbb..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/dllimport4.C +++ /dev/null @@ -1,38 +0,0 @@ -// Report error if dllimport attribute in definition itself. -// { dg-do compile { target i?86-*-cygwin* i?86-*-mingw* x86_64-*-mingw* } } - -__attribute__((dllimport)) void bar () { } // { dg-error "definition" } - -__attribute__((dllimport)) int foo = 1; // { dg-error "definition" } - -void faz() -{ - __attribute__((dllimport)) int faa = 1; // { dg-error "definition" } - faa++; -} - -__attribute__((dllimport)) int fee (1); // { dg-error "definition" } - - -// In-class initialization of a static data member is not a definition. -struct F -{ - __attribute__ ((dllimport)) static const int i = 1; // OK -}; - -// Reference the dllimport'd static data member. -void f () -{ - const int* j = &F::i; -} - -struct G -{ - __attribute__ ((dllimport)) static const int i = 1; -}; - -// Define the static data member _without_ the dllimport. -// This should override the prior declaration with dllimport. - -const int G::i; // { dg-warning "dllimport ignored" } - diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/dllimport5.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/dllimport5.C deleted file mode 100644 index 5f1adb1ac..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/dllimport5.C +++ /dev/null @@ -1,28 +0,0 @@ -// { dg-do compile { target i?86-*-cygwin* i?86-*-mingw* x86_64-*-mingw* } } -// Report error if static symbol definition has dllimport attribute. - -__attribute__((dllimport)) - int impvar; // OK, implicit "extern" - - static __attribute__((dllimport)) - int static_impvar; // { dg-error "external linkage" } - - static __attribute__((dllexport)) -int static_expvar; // { dg-error "external linkage" } - -static __attribute__((dllimport)) -void static_impfun(void); // { dg-error "external linkage" } - -void foo() -{ - __attribute__((dllimport)) - int foovar; // OK, implicit "extern" - foovar++; -} - -void bar() -{ - __attribute__((dllexport)) - int barvar; // { dg-error "external linkage" } - barvar++; -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/dllimport6.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/dllimport6.C deleted file mode 100644 index 52b0476c6..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/dllimport6.C +++ /dev/null @@ -1,30 +0,0 @@ -// { dg-do compile { target i?86-*-cygwin* i?86-*-mingw* x86_64-*-mingw* } } -// Mark class static members as dllimport. - -struct Baz -{ - Baz(int a_ =0) : a(a_) {} - int a; -}; - -class __attribute__ ((dllimport)) Bar -{ - public: - static const int two = 2; - static const int three; - static const Baz null_baz; -}; - -int foo() -{ - Bar foobar; - const int* baz = &Bar::two; - int a = foobar.two; - int b = foobar.three; - int c = foobar.null_baz.a; - return (a + b + c + *baz); -} - -// { dg-final { scan-assembler __imp\[_\]*__ZN3Bar3twoE } } -// { dg-final { scan-assembler __imp\[_\]*__ZN3Bar5threeE } } -// { dg-final { scan-assembler __imp\[_\]*__ZN3Bar8null_bazE } } diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/dllimport7.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/dllimport7.C deleted file mode 100644 index 0a79b3da3..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/dllimport7.C +++ /dev/null @@ -1,34 +0,0 @@ -// { dg-do compile { target i?86-*-cygwin* i?86-*-mingw* x86_64-*-mingw* } } - -// Report errors on definition of dllimport'd static data member . - - -struct Baz -{ - Baz(int a_ =0) : a(a_) {} - int a; -}; - -class __declspec(dllimport) Bar -{ - public: - enum {one = 1}; - static const int two = 2; - static const int three; - static const Baz null_baz; -}; - -const int Bar::three = 3; // { dg-warning "redeclared without dllimport" } -// { dg-error "definition of static data" "C++ specific error" { target i?86-*-cygwin* i?86-*-mingw* x86_64-*-mingw* } 21 } - -const Baz Bar::null_baz; // { dg-warning "redeclared without dllimport" } - -int foo() -{ - Bar foobar; - const int* baz = &Bar::two; - int a = foobar.two; - int b = foobar.three; - int c = foobar.null_baz.a; - return (a + b + c + *baz); -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/dllimport8.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/dllimport8.C deleted file mode 100644 index af605a368..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/dllimport8.C +++ /dev/null @@ -1,29 +0,0 @@ -// PR c++/8378 -// Ignore dllimport of static members if marked inlined. -// or if definition follows declaration in dllimported class. - -// { dg-do compile { target i?86-*-cygwin* i?86-*-mingw* x86_64-*-mingw* } } -// { dg-options { -Wall -W } } - -struct __attribute__((dllimport)) Foo -{ - static int static_int; - static void static_func1(); - static void static_func2(); - }; - -void Foo::static_func1() // { dg-warning "redeclared without dllimport" } -{ -} - -inline void Foo::static_func2() -{ -} - -void testfoo() -{ - Foo::static_func1(); - Foo::static_func2(); -} - -// { dg-final { scan-assembler-not "__imp_" } } diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/dllimport9.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/dllimport9.C deleted file mode 100644 index da57ef4bd..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/dllimport9.C +++ /dev/null @@ -1,23 +0,0 @@ -// Handle dllimport attribute for functions declared inline. -// { dg-do compile { target i?86-*-cygwin* i?86-*-mingw* x86_64-*-mingw* } } -// { dg-options { -W } } - -inline __attribute__((dllimport)) void bar() { } // { dg-warning "inline" } - -struct __attribute__ ((dllimport)) Blah -{ - void in_blah () { } // Don't warn if member declared inline in class definition. - void out_blah (); -}; - -inline void Blah::out_blah(){ } // Don't warn for inline override of external declaration - -void use_inlines() -{ - Blah aBlah; - bar(); - aBlah.in_blah (); - aBlah.out_blah (); -} - -// { dg-final { scan-assembler-not "__imp_" } } diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/fixed1.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/fixed1.C deleted file mode 100644 index 5a479d689..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/fixed1.C +++ /dev/null @@ -1,8 +0,0 @@ -// PR c++/35325 -// { dg-options "" } - -template<int> struct A {}; - -template<typename> struct B : A<sizeof(0=0r)> {}; // { dg-error "not supported" } - -template<typename> struct C : A<sizeof(0=0r)> {}; // { dg-error "not supported" } diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/fixed2.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/fixed2.C deleted file mode 100644 index 1ee5538a1..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/fixed2.C +++ /dev/null @@ -1,7 +0,0 @@ -// PR c++/35319 -// { dg-options "" } - -void foo() -{ - throw 0r; // { dg-error "not supported" } -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/flexary1.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/flexary1.C deleted file mode 100644 index 4033e339d..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/flexary1.C +++ /dev/null @@ -1,33 +0,0 @@ -// { dg-do compile } - -// Copyright (C) 2003 Free Software Foundation, Inc. -// Contributed by Nathan Sidwell 22 Jul 2003 <nathan@codesourcery.com> - -// PR c++ 11614 - -typedef int ary_t[]; - -struct test -{ - ary_t *b; - int (*a)[]; // this is not a flexible array member -}; - -void test(void) -{ - struct test s; - int (*a)[] = 0; - ary_t *b = 0; - - a = s.a; - a = s.b; - - s.a = a; - s.b = a; - - b = s.a; - b = s.b; - - s.a = b; - s.b = b; -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/flexary2.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/flexary2.C deleted file mode 100644 index 4855b3f57..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/flexary2.C +++ /dev/null @@ -1,11 +0,0 @@ -// PR c++/46688 -// { dg-options "" } - -struct A { - A(int); -}; - -struct B { - B() {} - A a[]; -}; diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/flexary3.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/flexary3.C deleted file mode 100644 index 906877b11..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/flexary3.C +++ /dev/null @@ -1,10 +0,0 @@ -// PR c++/54441 -// { dg-options "" } - -struct s { char c[]; }; - -int main() -{ - struct s s = { .c = 0 }; // { dg-error "initializer" } - return 0; -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/fnname1.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/fnname1.C deleted file mode 100644 index 521d5a736..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/fnname1.C +++ /dev/null @@ -1,26 +0,0 @@ -// Test whether __func__ works for namespace-scope C++ functions. - -// Copyright (C) 2003 Free Software Foundation, Inc. -// Contributed by Matt Austern <austern@apple.com>, 3 Aug 2003 -// { dg-do run } - -namespace xyzzy -{ - const char* ab6(double, void*) - { - return __func__; - } -} - -int main() -{ - const char* s = xyzzy::ab6(2.3, (void*) 0); - bool ok = true; - - ok = ok && s[0] == 'a'; - ok = ok && s[1] == 'b'; - ok = ok && s[2] == '6'; - ok = ok && s[3] == '\0'; - - return ok ? 0 : 1; -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/fnname2.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/fnname2.C deleted file mode 100644 index ea0c1826f..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/fnname2.C +++ /dev/null @@ -1,31 +0,0 @@ -// Test whether __func__ works for ordinary member functions. - -// Copyright (C) 2003 Free Software Foundation, Inc. -// Contributed by Matt Austern <austern@apple.com>, 3 Aug 2003 -// { dg-do run } - -struct y8a -{ - const char* zqjx(int, char); -}; - -const char* y8a::zqjx(int, char) -{ - return __func__; -} - - -int main() -{ - y8a tmp; - const char* s = tmp.zqjx(16, 'x'); - bool ok = true; - - ok = ok && s[0] == 'z'; - ok = ok && s[1] == 'q'; - ok = ok && s[2] == 'j'; - ok = ok && s[3] == 'x'; - ok = ok && s[4] == '\0'; - - return ok ? 0 : 1; -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/fnname3.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/fnname3.C deleted file mode 100644 index c29170a9a..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/fnname3.C +++ /dev/null @@ -1,65 +0,0 @@ -// Test whether __func__ works for constructors and destructors. - -// Copyright (C) 2003 Free Software Foundation, Inc. -// Contributed by Matt Austern <austern@apple.com>, 3 Aug 2003 -// { dg-do run } - -struct uk9i -{ - uk9i(); - ~uk9i(); - - static const char* fname; - static bool obj_exists; -}; - -uk9i::uk9i() -{ - obj_exists = true; - fname = __func__; -} - -uk9i::~uk9i() -{ - obj_exists = false; - fname = __func__; -} - -const char* uk9i::fname = 0; -bool uk9i::obj_exists = false; - -int main() -{ - bool ok = true; - - ok = ok && uk9i::fname == 0; - ok = ok && !uk9i::obj_exists; - - { - uk9i tmp; - ok = ok && uk9i::obj_exists; - ok = ok && uk9i::fname != 0; - if (ok) - { - ok = ok && uk9i::fname[0] == 'u'; - ok = ok && uk9i::fname[1] == 'k'; - ok = ok && uk9i::fname[2] == '9'; - ok = ok && uk9i::fname[3] == 'i'; - ok = ok && uk9i::fname[4] == '\0'; - } - } - - ok = ok && !uk9i::obj_exists; - ok = ok && uk9i::fname != 0; - if (ok) - { - ok = ok && uk9i::fname[0] == '~'; - ok = ok && uk9i::fname[1] == 'u'; - ok = ok && uk9i::fname[2] == 'k'; - ok = ok && uk9i::fname[3] == '9'; - ok = ok && uk9i::fname[4] == 'i'; - ok = ok && uk9i::fname[5] == '\0'; - } - - return ok ? 0 : 1; -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/forscope1.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/forscope1.C deleted file mode 100644 index fa6401a3b..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/forscope1.C +++ /dev/null @@ -1,27 +0,0 @@ -// { dg-do compile } -// { dg-options -fno-for-scope } - -// Copyright (C) 2001 Free Software Foundation, Inc. -// Contributed by Nathan Sidwell 4 Sept 2001 <nathan@codesourcery.com> - -// Bug 4206. We were nesting SCOPE_STMTs badly. - - -struct A -{ - A (); - ~A (); -}; - - -void Go( ) -{ - for (int i = 1;;) - { - switch (1) { - default: {} - } - A d; - } - i; -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/forscope2.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/forscope2.C deleted file mode 100644 index 4c63bab77..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/forscope2.C +++ /dev/null @@ -1,27 +0,0 @@ -// { dg-do compile } -// { dg-options "-fpermissive -std=c++98" } - -// Copyright (C) 2001 Free Software Foundation, Inc. -// Contributed by Nathan Sidwell 4 Sept 2001 <nathan@codesourcery.com> - -// Bug 4206. We were nesting SCOPE_STMTs badly. - - -struct A -{ - A (); - ~A (); -}; - - -void Go( ) -{ - for (int i = 1;;) // { dg-warning "using obsolete binding" "" } - { - switch (1) { - default: {} - } - A d; - } - i; // { dg-warning "name lookup" "" } -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/fpreg1.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/fpreg1.C deleted file mode 100644 index c5170a4a4..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/fpreg1.C +++ /dev/null @@ -1,82 +0,0 @@ -// Test permitted and invalid uses of __fpreg, for C++. -// Origin: Joseph Myers <joseph@codesourcery.com> -// { dg-do compile { target ia64-*-* } } -// { dg-options "" } - -__float80 f80; -double d; -// Default initialized __fpreg is OK. -__fpreg fpreg, fpreg2; -// But explicitly zero-initialized is an invalid conversion. -__fpreg fi = 0; // { dg-error "invalid conversion to '__fpreg'" } - -__fpreg f0 (__fpreg); -int f1 (__float80); - -// __fpreg in a structure is OK. -struct s { - __float80 b; - __fpreg a; -} x; - -void -f (void) -{ - __fpreg *p; - // Valid operations. - fpreg = fpreg2; - fpreg2 = (__fpreg) fpreg; - fpreg = f0 (fpreg2); - fpreg = +fpreg2; - p = &fpreg; - (void) fpreg; - fpreg = x.a; - fpreg2 = (struct s) { 0 }.a; - fpreg = (d ? fpreg : fpreg2); - d = sizeof (fpreg); - (void)(fpreg, fpreg); - // Invalid operations. - ++fpreg; // { dg-error "invalid operation on '__fpreg'" } - --fpreg; // { dg-error "invalid operation on '__fpreg'" } - fpreg++; // { dg-error "invalid operation on '__fpreg'" } - fpreg--; // { dg-error "invalid operation on '__fpreg'" } - fpreg = -fpreg; // { dg-error "invalid operation on '__fpreg'" } - fpreg = ~fpreg; // { dg-error "invalid operation on '__fpreg'" } - d = !fpreg; // { dg-error "invalid operation on '__fpreg'" } - d = *fpreg; // { dg-error "invalid type argument" } - if (fpreg) // { dg-error "invalid conversion from '__fpreg'" } - return; - d = fpreg; // { dg-error "invalid conversion from '__fpreg'" } - d = (double) fpreg; // { dg-error "invalid conversion from '__fpreg'" } - fpreg = (__fpreg) d; // { dg-error "invalid conversion to '__fpreg'" } - fpreg = fpreg * fpreg; // { dg-error "invalid operation on '__fpreg'" } - fpreg = fpreg / fpreg; // { dg-error "invalid operation on '__fpreg'" } - fpreg = fpreg % fpreg; // { dg-error "invalid operation on '__fpreg'" } - fpreg = fpreg + fpreg; // { dg-error "invalid operation on '__fpreg'" } - fpreg = fpreg - fpreg; // { dg-error "invalid operation on '__fpreg'" } - fpreg = fpreg << fpreg; // { dg-error "invalid operation on '__fpreg'" } - fpreg = fpreg >> fpreg; // { dg-error "invalid operation on '__fpreg'" } - d = fpreg < fpreg; // { dg-error "invalid operation on '__fpreg'" } - d = fpreg > fpreg; // { dg-error "invalid operation on '__fpreg'" } - d = fpreg <= fpreg; // { dg-error "invalid operation on '__fpreg'" } - d = fpreg >= fpreg; // { dg-error "invalid operation on '__fpreg'" } - d = fpreg == fpreg; // { dg-error "invalid operation on '__fpreg'" } - d = fpreg != fpreg; // { dg-error "invalid operation on '__fpreg'" } - d = fpreg & fpreg; // { dg-error "invalid operation on '__fpreg'" } - d = fpreg ^ fpreg; // { dg-error "invalid operation on '__fpreg'" } - d = fpreg | fpreg; // { dg-error "invalid operation on '__fpreg'" } - d = fpreg && fpreg; // { dg-error "invalid operation on '__fpreg'" } - d = fpreg || fpreg; // { dg-error "invalid operation on '__fpreg'" } - d = (fpreg ? 1 : 2); // { dg-error "invalid conversion from '__fpreg'" } - fpreg = (d ? fpreg : d); // { dg-error "invalid conversion to '__fpreg'" } - fpreg *= fpreg; // { dg-error "invalid operation on '__fpreg'|in evaluation" } - fpreg /= fpreg; // { dg-error "invalid operation on '__fpreg'|in evaluation" } - fpreg %= fpreg; // { dg-error "invalid operation on '__fpreg'|in evaluation" } - fpreg += fpreg; // { dg-error "invalid operation on '__fpreg'|in evaluation" } - fpreg -= fpreg; // { dg-error "invalid operation on '__fpreg'|in evaluation" } - fpreg <<= fpreg; // { dg-error "invalid operation on '__fpreg'|in evaluation" } - fpreg >>= fpreg; // { dg-error "invalid operation on '__fpreg'|in evaluation" } - fpreg &= fpreg; // { dg-error "invalid operation on '__fpreg'|in evaluation" } - fpreg ^= fpreg; // { dg-error "invalid operation on '__fpreg'|in evaluation" } - fpreg |= fpreg; // { dg-error "invalid operation on '__fpreg'|in evaluation" } -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/gnu-inline-anon-namespace.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/gnu-inline-anon-namespace.C deleted file mode 100644 index b33629dcf..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/gnu-inline-anon-namespace.C +++ /dev/null @@ -1,11 +0,0 @@ -/* { dg-do compile } */ -/* { dg-options "-O" } */ // such that static functions are optimized out -/* { dg-final { scan-assembler-not "func1" } } */ -/* { dg-final { scan-assembler-not "func2" } } */ -/* { dg-final { scan-assembler-not "func3" } } */ -/* { dg-final { scan-assembler-not "func4" } } */ -/* { dg-final { scan-assembler-not "func5" } } */ - -namespace { -#include "gnu-inline-global.C" -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/gnu-inline-class-static.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/gnu-inline-class-static.C deleted file mode 100644 index f22a23c0b..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/gnu-inline-class-static.C +++ /dev/null @@ -1,20 +0,0 @@ -/* { dg-do compile } */ -/* { dg-options "-O" } */ // such that static functions are optimized out -/* { dg-final { scan-assembler "func1" } } */ -/* { dg-final { scan-assembler "func2" } } */ -/* { dg-final { scan-assembler-not "func3" } } */ -/* { dg-final { scan-assembler "func4" } } */ -/* { dg-final { scan-assembler "func5" } } */ - -#undef IN_CLASS -#define IN_CLASS gnu_test_static - -struct IN_CLASS { - static int func1(void); - static int func2(void); - static int func3(void); - static int func4(void); - static int func5(void); -}; - -#include "gnu-inline-global.C" diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/gnu-inline-class.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/gnu-inline-class.C deleted file mode 100644 index 71a0b1e36..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/gnu-inline-class.C +++ /dev/null @@ -1,19 +0,0 @@ -/* { dg-do compile } */ -/* { dg-options "-O" } */ // such that static functions are optimized out -/* { dg-final { scan-assembler "func1" } } */ -/* { dg-final { scan-assembler "func2" } } */ -/* { dg-final { scan-assembler-not "func3" } } */ -/* { dg-final { scan-assembler "func4" } } */ -/* { dg-final { scan-assembler "func5" } } */ - -#define IN_CLASS gnu_test - -struct IN_CLASS { - int func1(void); - int func2(void); - int func3(void); - int func4(void); - int func5(void); -}; - -#include "gnu-inline-global.C" diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/gnu-inline-common.h b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/gnu-inline-common.h deleted file mode 100644 index 87455ae7a..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/gnu-inline-common.h +++ /dev/null @@ -1,24 +0,0 @@ -#ifndef gnu -# define gnu_inline __attribute__((gnu_inline)) inline -#endif - -#define declspec(spec, name) spec int name (void) -#ifdef IN_CLASS -# define decl(spec, name) -#else -# define decl(spec, name) defpfx declspec(spec, name); -#endif -#define def(spec, name, ret) defpfx declspec(spec, name) { return ret; } -#define gnuindef(name, ret) def(gnu_inline, name, ret) - -#ifndef pfx -# ifdef IN_CLASS -# define pfx(x) IN_CLASS::x -# else -# define pfx(x) x -# endif -#endif - -#ifndef defpfx -# define defpfx -#endif diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/gnu-inline-global-redecl.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/gnu-inline-global-redecl.C deleted file mode 100644 index fc72d26fb..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/gnu-inline-global-redecl.C +++ /dev/null @@ -1,19 +0,0 @@ -/* Test __attribute__((gnu_inline)). - - Check that we don't get out-of-line definitions for extern inline - gnu_inline functions, regardless of redeclaration. - - */ - -/* { dg-do link } */ -/* { dg-options "-O" } */ // such that static functions are optimized out - -#include "gnu-inline-common.h" - -decl(extern, fn) -gnuindef(fn, 0) -decl(extern, fn) - -int main () { - fn (); -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/gnu-inline-global-reject.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/gnu-inline-global-reject.C deleted file mode 100644 index fc7385d80..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/gnu-inline-global-reject.C +++ /dev/null @@ -1,56 +0,0 @@ -/* Test __attribute__((gnu_inline)). - - Check that we reject various forms of duplicate definitions. -*/ - -/* { dg-do compile } */ -/* { dg-options " -ansi -Wno-long-long -ftrack-macro-expansion=0" } */ - -#include "gnu-inline-common.h" - -#undef fn -#define fn pfx(func_decl_inline_before) -decl(inline, fn) // { dg-error "previous" "" } -gnuindef(fn, 0) // { dg-error "redeclared" "" } - -#undef fn -#define fn pfx(func_decl_inline_after) -gnuindef(fn, 0) // { dg-error "previous" "" } -decl(inline, fn) // { dg-error "redeclared" "" } - -#undef fn -#define fn pfx(func_def_gnuin_redef) -gnuindef(fn, 0) // { dg-error "previous" "" } -gnuindef(fn, 1) // { dg-error "redefinition" "" } - -#undef fn -#define fn pfx(func_def_inline_redef) -def(inline, fn, 0) // { dg-error "previous" "" } -def(inline, fn, 1) // { dg-error "redefinition" "" } - -#undef fn -#define fn pfx(func_def_inline_after) -gnuindef(fn, 0) // { dg-error "previous" "" } -def(inline, fn, 1) // { dg-error "redeclare" "" } - -#undef fn -#define fn pfx(func_def_inline_before) -def(inline, fn, 0) // { dg-error "previous" "" } -gnuindef(fn, 1) // { dg-error "redefinition" "" } - -#undef fn -#define fn pfx(func_def_before) -def(, fn, 0) // { dg-error "previous" "" } -gnuindef(fn, 1) // { dg-error "redefinition" "" } - -#undef fn -#define fn pfx(func_decl_static_inline_before) -decl(static inline, fn) // { dg-error "previous" "" } -gnuindef(fn, 0) // { dg-error "redeclared" "" } - -#undef fn -#define fn pfx(func_def_static_inline_after) -decl(static, fn) -gnuindef(fn, 0) // { dg-error "previous" "" } -decl(static, fn) -def(static inline, fn, 1) // { dg-error "redeclare" "" } diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/gnu-inline-global.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/gnu-inline-global.C deleted file mode 100644 index f628073f9..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/gnu-inline-global.C +++ /dev/null @@ -1,50 +0,0 @@ -/* Test __attribute__((gnu_inline)). - - Check that __attribute__((gnu_inline)) has no effect, in the - absence of extern and/or inline. - - Check that we don't get out-of-line definitions for extern inline - gnu_inline functions, regardless of declarations or definitions. - - Check that such functions can be overridden by out-of-line - definitions. - - */ - -/* { dg-do compile } */ -/* { dg-options "-O" } */ // such that static functions are optimized out -/* { dg-final { scan-assembler "func1" } } */ -/* { dg-final { scan-assembler "func2" } } */ -/* { dg-final { scan-assembler-not "func3" } } */ -/* { dg-final { scan-assembler "func4" } } */ -/* { dg-final { scan-assembler-not "func5" } } */ - -#include "gnu-inline-common.h" - -#undef fn -#define fn pfx(func1) // must be emitted out-of-line -gnuindef(fn, 0) -def(, fn, 2) - -#undef fn -#define fn pfx(func2) // must be emitted out-of-line -decl(extern, fn) -gnuindef(fn, 0) -def(, fn, 2) - -#undef fn -#define fn pfx(func3) // must not be emitted -decl(extern, fn) -gnuindef(fn, 0) - -#undef fn -#define fn pfx(func4) // must be emitted out-of-line -decl(extern, fn) -gnuindef(fn, 0) -def(, fn, 1) - -#undef fn -#define fn pfx(func5) // must NOT be emitted, because it's static and unused -decl(static, fn) -gnuindef(fn, 0) -def(, fn, 1) diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/gnu-inline-namespace.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/gnu-inline-namespace.C deleted file mode 100644 index ce3fea655..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/gnu-inline-namespace.C +++ /dev/null @@ -1,11 +0,0 @@ -/* { dg-do compile } */ -/* { dg-options "-O" } */ // such that static functions are optimized out -/* { dg-final { scan-assembler "func1" } } */ -/* { dg-final { scan-assembler "func2" } } */ -/* { dg-final { scan-assembler-not "func3" } } */ -/* { dg-final { scan-assembler "func4" } } */ -/* { dg-final { scan-assembler-not "func5" } } */ - -namespace gnu_test { -#include "gnu-inline-global.C" -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/gnu-inline-template-class.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/gnu-inline-template-class.C deleted file mode 100644 index 9bf36a8d6..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/gnu-inline-template-class.C +++ /dev/null @@ -1,22 +0,0 @@ -/* { dg-do compile } */ -/* { dg-options "-O" } */ // such that static functions are optimized out -/* { dg-final { scan-assembler "func1" } } */ -/* { dg-final { scan-assembler "func2" } } */ -/* { dg-final { scan-assembler-not "func3" } } */ -/* { dg-final { scan-assembler "func4" } } */ -/* { dg-final { scan-assembler "func5" } } */ - -template <typename T> struct gnu_test { - int func1(void); - int func2(void); - int func3(void); - int func4(void); - int func5(void); -}; - -#define defpfx template <typename T> -#define IN_CLASS gnu_test<T> - -#include "gnu-inline-global.C" - -template struct gnu_test<int>; diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/gnu-inline-template-func.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/gnu-inline-template-func.C deleted file mode 100644 index fb88a2a91..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/gnu-inline-template-func.C +++ /dev/null @@ -1,17 +0,0 @@ -/* { dg-do compile } */ -/* { dg-options "-O" } */ // such that static functions are optimized out -/* { dg-final { scan-assembler "func1" } } */ -/* { dg-final { scan-assembler "func2" } } */ -/* { dg-final { scan-assembler-not "func3" } } */ -/* { dg-final { scan-assembler "func4" } } */ -/* { dg-final { scan-assembler-not "func5" } } */ - -#define defpfx template <typename T> - -#include "gnu-inline-global.C" - -template int func1<int>(void); -template int func2<int>(void); -template int func3<int>(void); -template int func4<int>(void); -template int func5<int>(void); diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/has_nothrow_assign.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/has_nothrow_assign.C deleted file mode 100644 index e6e9fc6ed..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/has_nothrow_assign.C +++ /dev/null @@ -1,152 +0,0 @@ -// { dg-do run } -#include <cassert> - -struct A -{ - double a; - double b; -}; - -struct B -{ - A a; -}; - -struct C -: public A { }; - -struct D -{ - D& operator=(const D&) throw() { return *this; } -}; - -struct E -{ - E& operator=(const E&) throw(int) { return *this; } -}; - -struct E1 -{ - E1& operator=(const E1&) throw(int) { throw int(); return *this; } -}; - -struct F -{ - F() throw(int) { } -}; - -struct G -{ - G() throw(int) { throw int(); } -}; - -struct H -{ - H& operator=(H&) throw(int) { return *this; } -}; - -struct H1 -{ - H1& operator=(H1&) throw(int) { throw int(); return *this; } -}; - -struct I -{ - I& operator=(I&) throw(int) { return *this; } - I& operator=(const I&) throw() { return *this; } -}; - -struct I1 -{ - I1& operator=(I1&) throw(int) { throw int(); return *this; } - I1& operator=(const I1&) throw() { return *this; } -}; - -struct J -{ - J& operator=(J&) throw() { return *this; } - J& operator=(const J&) throw() { return *this; } - J& operator=(volatile J&) throw() { return *this; } - J& operator=(const volatile J&) throw() { return *this; } -}; - -struct K -{ - K& operator=(K&) throw() { return *this; } -}; - -struct L -{ - L& operator=(const L&) throw() { return *this; } -}; - -template<typename T> - bool - f() - { return __has_nothrow_assign(T); } - -template<typename T> - class My - { - public: - bool - f() - { return !!__has_nothrow_assign(T); } - }; - -template<typename T> - class My2 - { - public: - static const bool trait = __has_nothrow_assign(T); - }; - -template<typename T> - const bool My2<T>::trait; - -template<typename T, bool b = __has_nothrow_assign(T)> - struct My3_help - { static const bool trait = b; }; - -template<typename T, bool b> - const bool My3_help<T, b>::trait; - -template<typename T> - class My3 - { - public: - bool - f() - { return My3_help<T>::trait; } - }; - -#define PTEST(T) (__has_nothrow_assign(T) && f<T>() \ - && My<T>().f() && My2<T>::trait && My3<T>().f()) - -#define NTEST(T) (!__has_nothrow_assign(T) && !f<T>() \ - && !My<T>().f() && !My2<T>::trait && !My3<T>().f()) - -int main() -{ - assert (PTEST (int)); - assert (NTEST (int (int))); - assert (NTEST (void)); - assert (PTEST (A)); - assert (PTEST (B)); - assert (PTEST (C)); - assert (PTEST (C[])); - assert (PTEST (D)); - assert (NTEST (E)); - assert (NTEST (E1)); - assert (PTEST (F)); - assert (PTEST (G)); - assert (NTEST (H)); - assert (NTEST (H1)); - assert (NTEST (I)); - assert (NTEST (I1)); - assert (PTEST (J)); - assert (NTEST (const K)); - assert (NTEST (const L)); - - return 0; -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/has_nothrow_assign_odr.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/has_nothrow_assign_odr.C deleted file mode 100644 index c2e99ef54..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/has_nothrow_assign_odr.C +++ /dev/null @@ -1,16 +0,0 @@ -// PR c++/36870 -// { dg-do run } -#include <cassert> - -struct S { const S& operator= (const S&); }; - -bool f (); - -int main () -{ - assert (__has_nothrow_assign (S) == f ()); -} - -const S& S::operator= (const S&) { } - -bool f () { return __has_nothrow_assign (S); } diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/has_nothrow_constructor-2.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/has_nothrow_constructor-2.C deleted file mode 100644 index 9191c3e97..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/has_nothrow_constructor-2.C +++ /dev/null @@ -1,7 +0,0 @@ -// PR c++/55842 -// { dg-options -std=c++11 } - -template <class=void> struct number { - number() noexcept(noexcept(0)) { } -}; -const int z=__has_nothrow_constructor(number<>); diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/has_nothrow_constructor.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/has_nothrow_constructor.C deleted file mode 100644 index 1f1227c30..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/has_nothrow_constructor.C +++ /dev/null @@ -1,106 +0,0 @@ -// { dg-do run } -#include <cassert> - -struct A -{ - double a; - double b; -}; - -struct B -{ - A a; -}; - -struct C -: public A { }; - -struct D -{ - D() throw() { } -}; - -struct E -{ - E() throw(int) { } -}; - -struct E1 -{ - E1() throw(int) { throw int(); } -}; - -struct F -{ - F(const F&) throw() { } -}; - -struct G -{ - G(const G&) throw(int) { throw int(); } -}; - -template<typename T> - bool - f() - { return __has_nothrow_constructor(T); } - -template<typename T> - class My - { - public: - bool - f() - { return !!__has_nothrow_constructor(T); } - }; - -template<typename T> - class My2 - { - public: - static const bool trait = __has_nothrow_constructor(T); - }; - -template<typename T> - const bool My2<T>::trait; - - -template<typename T, bool b = __has_nothrow_constructor(T)> - struct My3_help - { static const bool trait = b; }; - -template<typename T, bool b> - const bool My3_help<T, b>::trait; - -template<typename T> - class My3 - { - public: - bool - f() - { return My3_help<T>::trait; } - }; - -#define PTEST(T) (__has_nothrow_constructor(T) && f<T>() \ - && My<T>().f() && My2<T>::trait && My3<T>().f()) - -#define NTEST(T) (!__has_nothrow_constructor(T) && !f<T>() \ - && !My<T>().f() && !My2<T>::trait && !My3<T>().f()) - -int main() -{ - assert (PTEST (int)); - assert (NTEST (int (int))); - assert (NTEST (void)); - assert (PTEST (A)); - assert (PTEST (B)); - assert (PTEST (C)); - assert (PTEST (C[])); - assert (PTEST (D)); - assert (NTEST (E)); - assert (NTEST (E1)); - assert (NTEST (F)); - assert (NTEST (G)); - - return 0; -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/has_nothrow_constructor_odr.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/has_nothrow_constructor_odr.C deleted file mode 100644 index 68ca111b0..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/has_nothrow_constructor_odr.C +++ /dev/null @@ -1,16 +0,0 @@ -// PR c++/36870 -// { dg-do run } -#include <cassert> - -struct S { S (); }; - -bool f (); - -int main () -{ - assert (__has_nothrow_constructor (S) == f ()); -} - -S::S () { } - -bool f () { return __has_nothrow_constructor (S); } diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/has_nothrow_copy-1.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/has_nothrow_copy-1.C deleted file mode 100644 index 87785ae5a..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/has_nothrow_copy-1.C +++ /dev/null @@ -1,140 +0,0 @@ -// { dg-do run } -#include <cassert> - -struct A -{ - double a; - double b; -}; - -struct B -{ - A a; -}; - -struct C -: public A { }; - -struct D -{ - D(const D&) throw() { } -}; - -struct E -{ - E(const E&) throw(int) { } -}; - -struct E1 -{ - E1(const E1&) throw(int) { throw int(); } -}; - -struct F -{ - F() throw() { } -}; - -struct G -{ - G() throw(int) { throw int(); } -}; - -struct H -{ - H(H&) throw(int) { } -}; - -struct H1 -{ - H1(H1&) throw(int) { throw int(); } -}; - -struct I -{ - I(I&) throw(int) { } - I(const I&) throw() { } -}; - -struct I1 -{ - I1(I1&) throw(int) { throw int(); } - I1(const I1&) throw() { } -}; - -struct J -{ - J(J&) throw() { } - J(const J&) throw() { } - J(volatile J&) throw() { } - J(const volatile J&) throw() { } -}; - -template<typename T> - bool - f() - { return __has_nothrow_copy(T); } - -template<typename T> - class My - { - public: - bool - f() - { return !!__has_nothrow_copy(T); } - }; - -template<typename T> - class My2 - { - public: - static const bool trait = __has_nothrow_copy(T); - }; - -template<typename T> - const bool My2<T>::trait; - -template<typename T, bool b = __has_nothrow_copy(T)> - struct My3_help - { static const bool trait = b; }; - -template<typename T, bool b> - const bool My3_help<T, b>::trait; - -template<typename T> - class My3 - { - public: - bool - f() - { return My3_help<T>::trait; } - }; - -#define PTEST(T) (__has_nothrow_copy(T) && f<T>() \ - && My<T>().f() && My2<T>::trait && My3<T>().f()) - -#define NTEST(T) (!__has_nothrow_copy(T) && !f<T>() \ - && !My<T>().f() && !My2<T>::trait && !My3<T>().f()) - -int main() -{ - assert (PTEST (int)); - assert (NTEST (int (int))); - assert (NTEST (void)); - assert (PTEST (A)); - assert (PTEST (B)); - assert (PTEST (C)); - assert (PTEST (C[])); - assert (PTEST (D)); - assert (NTEST (E)); - assert (NTEST (E1)); - assert (PTEST (F)); - assert (PTEST (G)); - assert (NTEST (H)); - assert (NTEST (H1)); - assert (NTEST (I)); - assert (NTEST (I1)); - assert (PTEST (J)); - - return 0; -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/has_nothrow_copy-2.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/has_nothrow_copy-2.C deleted file mode 100644 index b2eb203f3..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/has_nothrow_copy-2.C +++ /dev/null @@ -1,12 +0,0 @@ -// PR c++/36871 -// { dg-do run } -#include <cassert> - -struct A { template <class T> A (T) throw (int); }; -struct B { B (B&) throw (); template <class T> B (T) throw (int); }; - -int main () -{ - assert (__has_nothrow_copy (A)); - assert (__has_nothrow_copy (B)); -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/has_nothrow_copy-3.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/has_nothrow_copy-3.C deleted file mode 100644 index 797004410..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/has_nothrow_copy-3.C +++ /dev/null @@ -1,13 +0,0 @@ -// PR c++/36871 -// { dg-do run } -#include <cassert> - -struct F { - F (const F&) throw () { } - template <class T> F (T) throw () { } -}; - -int main () -{ - assert (__has_nothrow_copy (F)); -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/has_nothrow_copy-4.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/has_nothrow_copy-4.C deleted file mode 100644 index 69e9a6bac..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/has_nothrow_copy-4.C +++ /dev/null @@ -1,13 +0,0 @@ -// PR c++/36872 -// { dg-do run } -#include <cassert> - -struct S { - S (const S&) throw (); - S (...) throw (int); -}; - -int main () -{ - assert (__has_nothrow_copy (S)); -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/has_nothrow_copy-5.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/has_nothrow_copy-5.C deleted file mode 100644 index b94b338c3..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/has_nothrow_copy-5.C +++ /dev/null @@ -1,13 +0,0 @@ -// PR c++/36872 -// { dg-do run } -#include <cassert> - -struct S { - S (const S&) throw (); - S (int) throw (int); -}; - -int main () -{ - assert (__has_nothrow_copy (S)); -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/has_nothrow_copy-6.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/has_nothrow_copy-6.C deleted file mode 100644 index 6268ee292..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/has_nothrow_copy-6.C +++ /dev/null @@ -1,12 +0,0 @@ -// { dg-do run } -#include <cassert> - -struct S { - S (S&) throw (); - S (const S&, int) throw (int); -}; - -int main () -{ - assert (__has_nothrow_copy (S)); -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/has_nothrow_copy-7.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/has_nothrow_copy-7.C deleted file mode 100644 index e0ecef44a..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/has_nothrow_copy-7.C +++ /dev/null @@ -1,13 +0,0 @@ -// { dg-do run } -// { dg-options "-std=c++0x" } -#include <cassert> - -struct S { - S (const S&) throw (); - S (S&&) throw (int); -}; - -int main () -{ - assert (__has_nothrow_copy (S)); -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/has_nothrow_copy-8.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/has_nothrow_copy-8.C deleted file mode 100644 index e1be1a0a7..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/has_nothrow_copy-8.C +++ /dev/null @@ -1,19 +0,0 @@ -// PR c++/56268 -// { dg-options -std=c++11 } - -template <class T> -struct A { - A(const A&) noexcept (T::value); -}; - -struct B { - static const bool value = true; -}; - -template <class T> -struct C { - static const bool value = __has_nothrow_copy (T); -}; - -#define SA(X) static_assert((X),#X) -SA(C<A<B>>::value); diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/has_nothrow_copy_odr.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/has_nothrow_copy_odr.C deleted file mode 100644 index 573fd2f80..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/has_nothrow_copy_odr.C +++ /dev/null @@ -1,16 +0,0 @@ -// PR c++/36870 -// { dg-do run } -#include <cassert> - -struct S { S (const S&); }; - -bool f (); - -int main () -{ - assert (__has_nothrow_copy (S) == f ()); -} - -S::S (const S&) { } - -bool f () { return __has_nothrow_copy (S); } diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/has_trivial_assign.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/has_trivial_assign.C deleted file mode 100644 index dce0f8b3a..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/has_trivial_assign.C +++ /dev/null @@ -1,106 +0,0 @@ -// { dg-do run } -#include <cassert> - -struct A -{ - double a; - double b; -}; - -union U -{ - double a; - double b; -}; - -struct B -{ - B& operator=(const B&) { return *this;} -}; - -struct C -{ - virtual int f() { return 1; } -}; - -struct D -: public B { }; - -struct E -: public A { }; - -struct F -{ - A a; -}; - -struct G -{ - B b; -}; - -template<typename T> - bool - f() - { return __has_trivial_assign(T); } - -template<typename T> - class My - { - public: - bool - f() - { return !!__has_trivial_assign(T); } - }; - -template<typename T> - class My2 - { - public: - static const bool trait = __has_trivial_assign(T); - }; - -template<typename T> - const bool My2<T>::trait; - -template<typename T, bool b = __has_trivial_assign(T)> - struct My3_help - { static const bool trait = b; }; - -template<typename T, bool b> - const bool My3_help<T, b>::trait; - -template<typename T> - class My3 - { - public: - bool - f() - { return My3_help<T>::trait; } - }; - -#define PTEST(T) (__has_trivial_assign(T) && f<T>() \ - && My<T>().f() && My2<T>::trait && My3<T>().f()) - -#define NTEST(T) (!__has_trivial_assign(T) && !f<T>() \ - && !My<T>().f() && !My2<T>::trait && !My3<T>().f()) - -int main() -{ - assert (PTEST (int)); - assert (NTEST (int (int))); - assert (NTEST (void)); - assert (PTEST (A)); - assert (PTEST (U)); - assert (NTEST (B)); - assert (NTEST (C)); - assert (NTEST (D)); - assert (PTEST (E)); - assert (PTEST (E[])); - assert (PTEST (F)); - assert (NTEST (G)); - assert (NTEST (const A)); - assert (NTEST (A&)); - - return 0; -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/has_trivial_constructor.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/has_trivial_constructor.C deleted file mode 100644 index f4addd824..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/has_trivial_constructor.C +++ /dev/null @@ -1,98 +0,0 @@ -// { dg-do run } -#include <cassert> - -struct A -{ - double a; - double b; -}; - -union U -{ - double a; - double b; -}; - -struct B -{ - B() { } -}; - -struct C -: public B { }; - -struct D -: public A { }; - -struct E -{ - A a; -}; - -struct F -{ - B b; -}; - -template<typename T> - bool - f() - { return __has_trivial_constructor(T); } - -template<typename T> - class My - { - public: - bool - f() - { return !!__has_trivial_constructor(T); } - }; - -template<typename T> - class My2 - { - public: - static const bool trait = __has_trivial_constructor(T); - }; - -template<typename T> - const bool My2<T>::trait; - -template<typename T, bool b = __has_trivial_constructor(T)> - struct My3_help - { static const bool trait = b; }; - -template<typename T, bool b> - const bool My3_help<T, b>::trait; - -template<typename T> - class My3 - { - public: - bool - f() - { return My3_help<T>::trait; } - }; - -#define PTEST(T) (__has_trivial_constructor(T) && f<T>() \ - && My<T>().f() && My2<T>::trait && My3<T>().f()) - -#define NTEST(T) (!__has_trivial_constructor(T) && !f<T>() \ - && !My<T>().f() && !My2<T>::trait && !My3<T>().f()) - -int main() -{ - assert (PTEST (int)); - assert (NTEST (int (int))); - assert (NTEST (void)); - assert (PTEST (A)); - assert (PTEST (U)); - assert (NTEST (B)); - assert (NTEST (C)); - assert (PTEST (D)); - assert (PTEST (D[])); - assert (PTEST (E)); - assert (NTEST (F)); - - return 0; -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/has_trivial_copy.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/has_trivial_copy.C deleted file mode 100644 index 4d2341b17..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/has_trivial_copy.C +++ /dev/null @@ -1,105 +0,0 @@ -// { dg-do run } -#include <cassert> - -struct A -{ - double a; - double b; -}; - -union U -{ - double a; - double b; -}; - -struct B -{ - B(const B&) { } -}; - -struct C -{ - virtual int f() { return 1; } -}; - -struct D -: public B { }; - -struct E -: public A { }; - -struct F -{ - A a; -}; - -struct G -{ - B b; -}; - -template<typename T> - bool - f() - { return __has_trivial_copy(T); } - -template<typename T> - class My - { - public: - bool - f() - { return !!__has_trivial_copy(T); } - }; - -template<typename T> - class My2 - { - public: - static const bool trait = __has_trivial_copy(T); - }; - -template<typename T> - const bool My2<T>::trait; - -template<typename T, bool b = __has_trivial_copy(T)> - struct My3_help - { static const bool trait = b; }; - -template<typename T, bool b> - const bool My3_help<T, b>::trait; - -template<typename T> - class My3 - { - public: - bool - f() - { return My3_help<T>::trait; } - }; - -#define PTEST(T) (__has_trivial_copy(T) && f<T>() \ - && My<T>().f() && My2<T>::trait && My3<T>().f()) - -#define NTEST(T) (!__has_trivial_copy(T) && !f<T>() \ - && !My<T>().f() && !My2<T>::trait && !My3<T>().f()) - -int main() -{ - assert (PTEST (int)); - assert (NTEST (int (int))); - assert (NTEST (void)); - assert (PTEST (A)); - assert (PTEST (U)); - assert (NTEST (B)); - assert (NTEST (C)); - assert (NTEST (D)); - assert (PTEST (E)); - assert (PTEST (E[])); - assert (PTEST (F)); - assert (NTEST (G)); - assert (PTEST (B&)); - - return 0; -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/has_trivial_destructor-1.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/has_trivial_destructor-1.C deleted file mode 100644 index 2834c238d..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/has_trivial_destructor-1.C +++ /dev/null @@ -1,86 +0,0 @@ -// { dg-do run } -#include <cassert> - -struct A -{ - double a; - double b; -}; - -union U -{ - double a; - double b; -}; - -struct B -{ - ~B() { } -}; - -struct C -: public B { }; - -struct D -: public A { }; - -template<typename T> - bool - f() - { return __has_trivial_destructor(T); } - -template<typename T> - class My - { - public: - bool - f() - { return !!__has_trivial_destructor(T); } - }; - -template<typename T> - class My2 - { - public: - static const bool trait = __has_trivial_destructor(T); - }; - -template<typename T> - const bool My2<T>::trait; - -template<typename T, bool b = __has_trivial_destructor(T)> - struct My3_help - { static const bool trait = b; }; - -template<typename T, bool b> - const bool My3_help<T, b>::trait; - -template<typename T> - class My3 - { - public: - bool - f() - { return My3_help<T>::trait; } - }; - -#define PTEST(T) (__has_trivial_destructor(T) && f<T>() \ - && My<T>().f() && My2<T>::trait && My3<T>().f()) - -#define NTEST(T) (!__has_trivial_destructor(T) && !f<T>() \ - && !My<T>().f() && !My2<T>::trait && !My3<T>().f()) - -int main() -{ - assert (PTEST (int)); - assert (NTEST (int (int))); - assert (NTEST (void)); - assert (PTEST (A)); - assert (PTEST (U)); - assert (NTEST (B)); - assert (NTEST (C)); - assert (PTEST (D)); - assert (PTEST (D[])); - - return 0; -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/has_trivial_destructor-2.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/has_trivial_destructor-2.C deleted file mode 100644 index f9dacf179..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/has_trivial_destructor-2.C +++ /dev/null @@ -1,3 +0,0 @@ -// PR c++/36855 - -typedef char assert_0 [__has_trivial_destructor (int&) ? 1 : -1]; diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/has_virtual_destructor.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/has_virtual_destructor.C deleted file mode 100644 index 62b60aebf..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/has_virtual_destructor.C +++ /dev/null @@ -1,89 +0,0 @@ -// { dg-do run } -#include <cassert> -#include <exception> - -struct A -{ - double a; - double b; -}; - -union U -{ - double a; - double b; -}; - -struct B -{ - virtual ~B() { } -}; - -struct C -: public B { }; - -struct D -{ - ~D() { } -}; - -template<typename T> - bool - f() - { return __has_virtual_destructor(T); } - -template<typename T> - class My - { - public: - bool - f() - { return !!__has_virtual_destructor(T); } - }; - -template<typename T> - class My2 - { - public: - static const bool trait = __has_virtual_destructor(T); - }; - -template<typename T> - const bool My2<T>::trait; - -template<typename T, bool b = __has_virtual_destructor(T)> - struct My3_help - { static const bool trait = b; }; - -template<typename T, bool b> - const bool My3_help<T, b>::trait; - -template<typename T> - class My3 - { - public: - bool - f() - { return My3_help<T>::trait; } - }; - -#define PTEST(T) (__has_virtual_destructor(T) && f<T>() \ - && My<T>().f() && My2<T>::trait && My3<T>().f()) - -#define NTEST(T) (!__has_virtual_destructor(T) && !f<T>() \ - && !My<T>().f() && !My2<T>::trait && !My3<T>().f()) - -int main() -{ - assert (NTEST (int)); - assert (NTEST (void)); - assert (PTEST (std::exception)); - assert (NTEST (A)); - assert (NTEST (U)); - assert (PTEST (B)); - assert (PTEST (C)); - assert (NTEST (C[])); - assert (NTEST (D)); - - return 0; -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/init1.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/init1.C deleted file mode 100644 index f8d8e8533..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/init1.C +++ /dev/null @@ -1,6 +0,0 @@ -// PR c++/9623 -// Test for trivial use of named initializer extension -// { dg-options "" } - -struct S { int x; int y; }; -S s = { x:1, y:2 }; diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/injected-ttp.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/injected-ttp.C deleted file mode 100644 index 5ef4a4ec4..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/injected-ttp.C +++ /dev/null @@ -1,15 +0,0 @@ -// Test for doing the right thing with injected-class-name used as template -// type argument. This is an extension from DR 176. - -// { dg-options "-pedantic -std=c++98" } - -template <class T> -struct A { }; - -template <template <class> class TTP> -struct B { }; - -struct C: A<int> -{ - B<A> b; // { dg-warning "injected-class-name" } -}; diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/inline1.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/inline1.C deleted file mode 100644 index 7e5f062e0..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/inline1.C +++ /dev/null @@ -1,34 +0,0 @@ -// { dg-do compile } -// { dg-options "-O" } -// Make sure inlined non-outlined functions aren't marked weak. -// We'd get a ".weak xyzzy" annotation trigged by the second declaration. - -// { dg-final { scan-assembler-not "weak\[^ \t\]*\[ \t\]_?xyzzy" } } - -// The next check isn't really part of the actual test, just to make -// sure there's no outline-copy of xyzzy, because if that really -// happened, it *should* be marked linkonce or perhaps weak. -// { dg-final { scan-assembler-not "xyzzy" } } - -extern int x; -extern void foo(void); -extern void bar(void); - -extern "C" inline int xyzzy(int a) -{ - foo(); - return a + x; -} - -extern "C" int xyzzy(int); - -extern inline int plugh(int c) -{ - return xyzzy (c); -} - -int y; -void doit(int b) -{ - y = xyzzy (b) + plugh (b); -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/instantiate1.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/instantiate1.C deleted file mode 100644 index 1d2a6200b..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/instantiate1.C +++ /dev/null @@ -1,24 +0,0 @@ -// Test that 'extern template' suppresses instantiations. -// { dg-do compile } -// { dg-options "" } - -template <class T> void f (T) { } -extern template void f (int); - -template <class T> struct A { - void f (); -}; -template <class T> void A<T>::f () { } -extern template struct A<int>; - -// { dg-final { scan-assembler-not "\n_?_Z1fIiEvT_(:|\n|\t)" } } -void test_f_int () { f(42); } - -// { dg-final { scan-assembler-not "\n_?_ZN1AIiE1fEv(:|\n|\t)" } } -void test_A_int_f () { A<int> a; a.f (); } - -// { dg-final { scan-assembler "\n_?_Z1fIdEvT_(:|\n|\t)" } } -void test_f_double () { f (2.0); } - -// { dg-final { scan-assembler "\n_?_ZN1AIdE1fEv(:|\n|\t)" } } -void test_A_double_f () { A<double> b; b.f (); } diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/instantiate2.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/instantiate2.C deleted file mode 100644 index a6292892b..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/instantiate2.C +++ /dev/null @@ -1,16 +0,0 @@ -// Test that 'static template' instantiates statics. -// { dg-do compile } -// { dg-options "-fno-implicit-templates" } - -template <class T> struct A { - static T t; -}; -template <class T> T A<T>::t = 0; -static template struct A<int>; - -// { dg-final { scan-assembler "\n_?_ZN1AIiE1tE(:|\n|\t)" { target { ! *-*-darwin* } } } } -// { dg-final { scan-assembler ".zerofill __DATA,__pu_bss2,__ZN1AIiE1tE" { target *-*-darwin* } } } -void test_int() { A<int>::t = 42; } - -// { dg-final { scan-assembler-not "\n_?_ZN1AIcE1tE(:|\n|\t)" } } -void test_char() { A<char>::t = 42; } diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/instantiate3.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/instantiate3.C deleted file mode 100644 index ea60d5bf9..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/instantiate3.C +++ /dev/null @@ -1,14 +0,0 @@ -// Test that 'inline template' instantiates the vtable. -// { dg-do compile } -// { dg-options "-O -fno-implicit-templates" } - -template <class T> struct A { - virtual void f () { } -}; -inline template struct A<int>; - -// { dg-final { scan-assembler "\n_?_ZTV1AIiE(:|\n|\t)" } } -A<int> a; - -// { dg-final { scan-assembler-not "\n_?_ZTV1AIcE(:|\n|\t)" } } -A<char> b; diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/int128-1.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/int128-1.C deleted file mode 100644 index 65540e848..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/int128-1.C +++ /dev/null @@ -1,11 +0,0 @@ -// PR c++/50454 -// { dg-do compile { target int128 } } - -template<typename T> - struct limits; - -template<> - struct limits<__int128> { }; // { dg-error "does not support" } - -template<> - struct limits<unsigned __int128> { }; // { dg-error "does not support" } diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/int128-2.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/int128-2.C deleted file mode 100644 index 36a3f1a44..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/int128-2.C +++ /dev/null @@ -1,4 +0,0 @@ -// PR c++/50454 -// { dg-do compile { target int128 } } - -#include "int128-2.h" diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/int128-2.h b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/int128-2.h deleted file mode 100644 index 4e441be8d..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/int128-2.h +++ /dev/null @@ -1,10 +0,0 @@ -#pragma GCC system_header - -template<typename T> - struct limits; - -template<> - struct limits<__int128> { }; - -template<> - struct limits<unsigned __int128> { }; diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/int128-3.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/int128-3.C deleted file mode 100644 index f62b62d10..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/int128-3.C +++ /dev/null @@ -1,12 +0,0 @@ -// Test for int128 enums. -// { dg-do compile { target int128 } } -// { dg-options "" } - -enum E { - e1 = 0xffffffffffffffff, - e2, e3 -} e = e3; - -#define SA(I,X) int a##I[(X)? 1 : -1] - -SA(1, sizeof(E) == sizeof(__int128)); diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/int128-4.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/int128-4.C deleted file mode 100644 index 2d30a082d..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/int128-4.C +++ /dev/null @@ -1,19 +0,0 @@ -// Test for int128 arithmetic conversions. -// { dg-do compile { target int128 } } -// { dg-options "-std=gnu++11" } - -template <class T, class U> struct same; -template <class T> struct same<T,T> { }; -#define assert_same(T,U) (same<T,U>()) - -int main() -{ - long long ll; - unsigned long long ull; - __int128 i8; - unsigned __int128 u8; - assert_same (decltype (ll+i8), __int128); - assert_same (decltype (ull+i8), __int128); - assert_same (decltype (ll+u8), unsigned __int128); - assert_same (decltype (ull+u8), unsigned __int128); -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/interface1.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/interface1.C deleted file mode 100644 index 0f803abc4..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/interface1.C +++ /dev/null @@ -1,7 +0,0 @@ -// PR c++/22252 -// { dg-do link } -// { dg-additional-sources "interface1a.cc" } -// { dg-options "-fno-inline" } - -#pragma implementation -#include "interface1.h" diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/interface1.h b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/interface1.h deleted file mode 100644 index ce91527b8..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/interface1.h +++ /dev/null @@ -1,10 +0,0 @@ -#pragma interface -struct B -{ - B(){}; - ~B(){} -}; -struct A { - B a; - -}; diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/interface1a.cc b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/interface1a.cc deleted file mode 100644 index 1859d5ce3..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/interface1a.cc +++ /dev/null @@ -1,4 +0,0 @@ -#include "interface1.h" -A a; -int main() {} - diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/interface2.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/interface2.C deleted file mode 100644 index 3b306fdd8..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/interface2.C +++ /dev/null @@ -1,7 +0,0 @@ -// PR c++/26195 -// { dg-do link } -// { dg-additional-sources "interface2b.cc" } -// { dg-options "-fno-inline" } - -#pragma implementation "interface2-imaginary.h" -#include "interface2a.h" diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/interface2a.h b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/interface2a.h deleted file mode 100644 index efde3e24b..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/interface2a.h +++ /dev/null @@ -1,5 +0,0 @@ -// PR c++/26195 -#pragma interface "interface2-imaginary.h" - -inline void foo1() { } -inline void foo2() { } diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/interface2b.cc b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/interface2b.cc deleted file mode 100644 index 9109949b8..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/interface2b.cc +++ /dev/null @@ -1,9 +0,0 @@ -// PR c++/26195 -extern void foo1(); -extern void foo2(); - -int main() -{ - foo1(); - foo2(); -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/interface3/dir1/interface3.h b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/interface3/dir1/interface3.h deleted file mode 100644 index 874be7509..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/interface3/dir1/interface3.h +++ /dev/null @@ -1,6 +0,0 @@ -// PR c++/26195 -#pragma interface "dir1/interface3.h" -#include "../dir2/interface3.h" - -inline void f1() { } -inline void f2() { } diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/interface3/dir2/interface3.h b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/interface3/dir2/interface3.h deleted file mode 100644 index df6f7cd2f..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/interface3/dir2/interface3.h +++ /dev/null @@ -1,5 +0,0 @@ -// PR c++/26195 -#pragma interface "dir2/interface3.h" - -inline void g1() { } -inline void g2() { } diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/interface3/interface3a.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/interface3/interface3a.C deleted file mode 100644 index b324dbef7..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/interface3/interface3a.C +++ /dev/null @@ -1,7 +0,0 @@ -// PR c++/26195 -// { dg-do link } -// { dg-additional-sources "interface3a2.cc" } -// { dg-options "-I. -fno-inline" } - -#pragma implementation "dir1/interface3.cc" -#include "dir1/interface3.h" diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/interface3/interface3a2.cc b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/interface3/interface3a2.cc deleted file mode 100644 index cbf1ba801..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/interface3/interface3a2.cc +++ /dev/null @@ -1,9 +0,0 @@ -// PR c++/26195 -extern void f1(); -extern void f2(); - -int main() -{ - f1(); - f2(); -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/interface3/interface3b.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/interface3/interface3b.C deleted file mode 100644 index 03f753209..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/interface3/interface3b.C +++ /dev/null @@ -1,7 +0,0 @@ -// PR c++/26195 -// { dg-do link } -// { dg-additional-sources "interface3b2.cc" } -// { dg-options "-fno-inline" } - -#pragma implementation "dir2/interface3.cc" -#include "dir1/interface3.h" diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/interface3/interface3b2.cc b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/interface3/interface3b2.cc deleted file mode 100644 index f532adc74..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/interface3/interface3b2.cc +++ /dev/null @@ -1,9 +0,0 @@ -// PR c++/26195 -extern void g1(); -extern void g2(); - -int main() -{ - g1(); - g2(); -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/interface4.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/interface4.C deleted file mode 100644 index 85bb91283..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/interface4.C +++ /dev/null @@ -1,13 +0,0 @@ -/* https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=227376 */ - -/* { dg-do compile } */ -/* { dg-options "-g2" } */ - -/* We used to crash when emitting debug info for type N::A because its - context was a namespace, not a function. */ - -#include "interface4.h" - -void f ( ) { - g ( ); -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/interface4.h b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/interface4.h deleted file mode 100644 index 0971b3722..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/interface4.h +++ /dev/null @@ -1,8 +0,0 @@ -#pragma interface -namespace N { - typedef int A; -} -inline void g ( ) { - static N :: A a = 0; - a = a; -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/is_abstract.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/is_abstract.C deleted file mode 100644 index 2d7149452..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/is_abstract.C +++ /dev/null @@ -1,89 +0,0 @@ -// { dg-do run } -#include <cassert> - -struct A -{ - double a; - double b; -}; - -union U -{ - double a; - double b; -}; - -class B -{ - B(); -}; - -class C -{ - virtual void rotate(int) = 0; -}; - -class D -{ - virtual void rotate(int) { } -}; - -template<typename T> - bool - f() - { return __is_abstract(T); } - -template<typename T> - class My - { - public: - bool - f() - { return !!__is_abstract(T); } - }; - -template<typename T> - class My2 - { - public: - static const bool trait = __is_abstract(T); - }; - -template<typename T> - const bool My2<T>::trait; - -template<typename T, bool b = __is_abstract(T)> - struct My3_help - { static const bool trait = b; }; - -template<typename T, bool b> - const bool My3_help<T, b>::trait; - -template<typename T> - class My3 - { - public: - bool - f() - { return My3_help<T>::trait; } - }; - -#define PTEST(T) (__is_abstract(T) && f<T>() \ - && My<T>().f() && My2<T>::trait && My3<T>().f()) - -#define NTEST(T) (!__is_abstract(T) && !f<T>() \ - && !My<T>().f() && !My2<T>::trait && !My3<T>().f()) - -int main() -{ - assert (NTEST (int)); - assert (NTEST (void)); - assert (NTEST (A)); - assert (NTEST (U)); - assert (NTEST (B)); - assert (NTEST (B[])); - assert (PTEST (C)); - assert (NTEST (D)); - - return 0; -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/is_base_of.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/is_base_of.C deleted file mode 100644 index 8afa532e1..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/is_base_of.C +++ /dev/null @@ -1,94 +0,0 @@ -// { dg-do run } -#include <cassert> - -class A1 -{ - double a; - double b; -}; - -class A2 -{ - double a; - double b; -}; - -class B -: private A1 { }; - -class C -: private A1, private A2 { }; - -union U -{ - double a; - double b; -}; - -template<typename T, typename U> - bool - f() - { return __is_base_of(T, U); } - -template<typename T, typename U> - class My - { - public: - bool - f() - { return !!__is_base_of(T, U); } - }; - -template<typename T, typename U> - class My2 - { - public: - static const bool trait = __is_base_of(T, U); - }; - -template<typename T, typename U> - const bool My2<T, U>::trait; - -template<typename T, typename U, bool b = __is_base_of(T, U)> - struct My3_help - { static const bool trait = b; }; - -template<typename T, typename U, bool b> - const bool My3_help<T, U, b>::trait; - -template<typename T, typename U> - class My3 - { - public: - bool - f() - { return My3_help<T, U>::trait; } - }; - -#define PTEST(T, U) (__is_base_of(T, U) && f<T, U>() \ - && My<T, U>().f() && My2<T, U>::trait && My3<T, U>().f()) - -#define NTEST(T, U) (!__is_base_of(T, U) && !f<T, U>() \ - && !My<T, U>().f() && !My2<T, U>::trait && !My3<T, U>().f()) - -int main() -{ - assert (NTEST (int, A1)); - assert (NTEST (A1, void)); - assert (PTEST (A1, A1)); - assert (NTEST (A1*, A1*)); - assert (NTEST (A1&, A1&)); - assert (PTEST (A1, B)); - assert (NTEST (B, A1)); - assert (PTEST (A1, C)); - assert (PTEST (A2, C)); - assert (NTEST (C, A1)); - assert (PTEST (A1, const B)); - assert (NTEST (const B, A1)); - assert (PTEST (A1, volatile C)); - assert (PTEST (volatile A2, const C)); - assert (NTEST (const volatile C, A1)); - assert (NTEST (U, U)); - - return 0; -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/is_base_of_diagnostic.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/is_base_of_diagnostic.C deleted file mode 100644 index 4ccc72b9e..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/is_base_of_diagnostic.C +++ /dev/null @@ -1,15 +0,0 @@ -class A -{ }; - -class B; // { dg-error "forward declaration" } - -union C -{ }; - -union D; - -void f() -{ - __is_base_of(A, B); // { dg-error "incomplete type" } - __is_base_of(C, D); -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/is_base_of_incomplete.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/is_base_of_incomplete.C deleted file mode 100644 index 4704ff5de..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/is_base_of_incomplete.C +++ /dev/null @@ -1,9 +0,0 @@ -// PR c++/50732 - -template <typename T> -struct non_instantiable -{ - typedef typename T::THIS_TYPE_CANNOT_BE_INSTANTIATED type; -}; - -int check[__is_base_of(non_instantiable<int>, void) ? -1 : 1]; diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/is_class.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/is_class.C deleted file mode 100644 index 6f3982855..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/is_class.C +++ /dev/null @@ -1,76 +0,0 @@ -// { dg-do run } -#include <cassert> - -struct A -{ - double a; - double b; -}; - -class B -{ - B() { } -}; - -union U -{ - double a; - double b; -}; - -template<typename T> - bool - f() - { return __is_class(T); } - -template<typename T> - class My - { - public: - bool - f() - { return !!__is_class(T); } - }; - -template<typename T> - class My2 - { - public: - static const bool trait = __is_class(T); - }; - -template<typename T> - const bool My2<T>::trait; - -template<typename T, bool b = __is_class(T)> - struct My3_help - { static const bool trait = b; }; - -template<typename T, bool b> - const bool My3_help<T, b>::trait; - -template<typename T> - class My3 - { - public: - bool - f() - { return My3_help<T>::trait; } - }; - -#define PTEST(T) (__is_class(T) && f<T>() \ - && My<T>().f() && My2<T>::trait && My3<T>().f()) - -#define NTEST(T) (!__is_class(T) && !f<T>() \ - && !My<T>().f() && !My2<T>::trait && !My3<T>().f()) - -int main() -{ - assert (NTEST (int)); - assert (NTEST (void)); - assert (PTEST (A)); - assert (PTEST (B)); - assert (NTEST (U)); - - return 0; -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/is_class_error1.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/is_class_error1.C deleted file mode 100644 index d037ec72b..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/is_class_error1.C +++ /dev/null @@ -1,6 +0,0 @@ -// PR c++/33212 - -template<int> void foo() -{ - __is_class((int); // { dg-error "type-specifier|primary-expression" } -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/is_class_error2.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/is_class_error2.C deleted file mode 100644 index 8649dc441..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/is_class_error2.C +++ /dev/null @@ -1,22 +0,0 @@ -// PR c++/33464 - -template<int> void foo() -{ - __has_nothrow_assign(int)(); // { dg-error "'__has_nothrow_assign\\(int\\)' cannot be used" } - __has_trivial_assign(int)(); // { dg-error "'__has_trivial_assign\\(int\\)' cannot be used" } - __has_nothrow_constructor(int)(); // { dg-error "'__has_nothrow_constructor\\(int\\)' cannot be used" } - __has_trivial_constructor(int)(); // { dg-error "'__has_trivial_constructor\\(int\\)' cannot be used" } - __has_nothrow_copy(int)(); // { dg-error "'__has_nothrow_copy\\(int\\)' cannot be used" } - __has_trivial_copy(int)(); // { dg-error "'__has_trivial_copy\\(int\\)' cannot be used" } - __has_trivial_destructor(int)(); // { dg-error "'__has_trivial_destructor\\(int\\)' cannot be used" } - __has_virtual_destructor(int)(); // { dg-error "'__has_virtual_destructor\\(int\\)' cannot be used" } - __is_abstract(int)(); // { dg-error "'__is_abstract\\(int\\)' cannot be used" } - __is_base_of(int, float)(); // { dg-error "'__is_base_of\\(int, float\\)' cannot be used" } - __is_class(int)(); // { dg-error "'__is_class\\(int\\)' cannot be used" } - __is_convertible_to(int, float)(); // { dg-message "unimplemented" } - __is_empty(int)(); // { dg-error "'__is_empty\\(int\\)' cannot be used" } - __is_enum(int)(); // { dg-error "'__is_enum\\(int\\)' cannot be used" } - __is_pod(int)(); // { dg-error "'__is_pod\\(int\\)' cannot be used" } - __is_polymorphic(int)(); // { dg-error "'__is_polymorphic\\(int\\)' cannot be used" } - __is_union(int)(); // { dg-error "'__is_union\\(int\\)' cannot be used" } -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/is_empty.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/is_empty.C deleted file mode 100644 index 4c58941b3..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/is_empty.C +++ /dev/null @@ -1,78 +0,0 @@ -// { dg-do run } -#include <cassert> - -struct A -{ - double a; - double b; -}; - -struct B -{ - virtual ~B() { } -}; - -class C -{ }; - -union U -{ }; - -template<typename T> - bool - f() - { return __is_empty(T); } - -template<typename T> - class My - { - public: - bool - f() - { return !!__is_empty(T); } - }; - -template<typename T> - class My2 - { - public: - static const bool trait = __is_empty(T); - }; - -template<typename T> - const bool My2<T>::trait; - -template<typename T, bool b = __is_empty(T)> - struct My3_help - { static const bool trait = b; }; - -template<typename T, bool b> - const bool My3_help<T, b>::trait; - -template<typename T> - class My3 - { - public: - bool - f() - { return My3_help<T>::trait; } - }; - -#define PTEST(T) (__is_empty(T) && f<T>() \ - && My<T>().f() && My2<T>::trait && My3<T>().f()) - -#define NTEST(T) (!__is_empty(T) && !f<T>() \ - && !My<T>().f() && !My2<T>::trait && !My3<T>().f()) - -int main() -{ - assert (NTEST (int)); - assert (NTEST (void)); - assert (NTEST (A)); - assert (NTEST (B)); - assert (PTEST (C)); - assert (NTEST (C[])); - assert (NTEST (U)); - - return 0; -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/is_empty2.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/is_empty2.C deleted file mode 100644 index d1bf64c0a..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/is_empty2.C +++ /dev/null @@ -1,11 +0,0 @@ -// PR c++/36797 - -template <int> struct A { }; - -template <class T> -int foo (A<__is_empty (T)>* = 0); // { dg-error "built-in trait" } - -int main () -{ - foo<int>(); -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/is_enum.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/is_enum.C deleted file mode 100644 index 4ac1723ed..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/is_enum.C +++ /dev/null @@ -1,73 +0,0 @@ -// { dg-do run } -#include <cassert> - -struct A -{ - double a; - double b; -}; - -class B -{ }; - -enum E -{ - e0 -}; - -template<typename T> - bool - f() - { return __is_enum(T); } - -template<typename T> - class My - { - public: - bool - f() - { return !!__is_enum(T); } - }; - -template<typename T> - class My2 - { - public: - static const bool trait = __is_enum(T); - }; - -template<typename T> - const bool My2<T>::trait; - -template<typename T, bool b = __is_enum(T)> - struct My3_help - { static const bool trait = b; }; - -template<typename T, bool b> - const bool My3_help<T, b>::trait; - -template<typename T> - class My3 - { - public: - bool - f() - { return My3_help<T>::trait; } - }; - -#define PTEST(T) (__is_enum(T) && f<T>() \ - && My<T>().f() && My2<T>::trait && My3<T>().f()) - -#define NTEST(T) (!__is_enum(T) && !f<T>() \ - && !My<T>().f() && !My2<T>::trait && !My3<T>().f()) - -int main() -{ - assert (NTEST (int)); - assert (NTEST (void)); - assert (NTEST (A)); - assert (NTEST (B)); - assert (PTEST (E)); - - return 0; -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/is_final.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/is_final.C deleted file mode 100644 index 7833f3a10..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/is_final.C +++ /dev/null @@ -1,46 +0,0 @@ -// PR c++/51365 -// { dg-do compile } -// { dg-options "-std=c++0x" } - -struct A { }; -static_assert( ! __is_final (A), "A not final" ); - -struct Af final { }; -static_assert( __is_final (Af), "Af is final" ); - -class B { }; -static_assert( ! __is_final (B), "B not final" ); - -class Bf final { }; -static_assert( __is_final (Bf), "Bf is final" ); - -struct C : private A, private B { }; -static_assert( ! __is_final (C), "C not final" ); - -struct Cf final : private A, private B { }; -static_assert( __is_final (Cf), "Cf is final" ); - -struct D { virtual ~D() final { } }; -static_assert( ! __is_final (D), "D not final" ); - -struct Df final { virtual ~Df() final { } }; -static_assert( __is_final (Df), "Df is final" ); - -template<typename> struct E { }; -static_assert( ! __is_final (E<int>), "E<int> not final" ); -static_assert( ! __is_final (E<Af>), "E<Af> not final" ); - -template<typename> struct Ef final { }; -static_assert( __is_final (Ef<int>), "Ef<int> is final" ); -static_assert( __is_final (Ef<A>), "Ef<A> is final" ); -static_assert( __is_final (Ef<Af>), "Ef<Af> is final" ); - -template<typename> struct F { virtual ~F() final { }; }; -static_assert( ! __is_final (F<int>), "F<int> not final" ); -static_assert( ! __is_final (F<Af>), "F<Af> not final" ); - -template<typename> struct Ff final { virtual ~Ff() final { }; }; -static_assert( __is_final (Ff<int>), "Ff<int> is final" ); -static_assert( __is_final (Ff<A>), "Ff<A> is final" ); -static_assert( __is_final (Ff<Af>), "Ff<Af> is final" ); - diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/is_literal_type1.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/is_literal_type1.C deleted file mode 100644 index 21570d2d6..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/is_literal_type1.C +++ /dev/null @@ -1,11 +0,0 @@ -// PR c++/48771 -// { dg-do compile } -// { dg-options "-std=c++0x" } - -struct NonLiteral { - NonLiteral(); - ~NonLiteral(); -}; - -static_assert(__is_literal_type(NonLiteral&), "Error"); -static_assert(__is_literal_type(NonLiteral&&), "Error"); diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/is_pod.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/is_pod.C deleted file mode 100644 index 939665d8d..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/is_pod.C +++ /dev/null @@ -1,76 +0,0 @@ -// { dg-do run } -// { dg-options "-std=c++0x" } -#include <cassert> - -struct A -{ - double a; - double b; -}; - -struct B -{ - B() { } -}; - -struct C -: public A { }; - -template<typename T> - bool - f() - { return __is_pod(T); } - -template<typename T> - class My - { - public: - bool - f() - { return !!__is_pod(T); } - }; - -template<typename T> - class My2 - { - public: - static const bool trait = __is_pod(T); - }; - -template<typename T> - const bool My2<T>::trait; - -template<typename T, bool b = __is_pod(T)> - struct My3_help - { static const bool trait = b; }; - -template<typename T, bool b> - const bool My3_help<T, b>::trait; - -template<typename T> - class My3 - { - public: - bool - f() - { return My3_help<T>::trait; } - }; - -#define PTEST(T) (__is_pod(T) && f<T>() \ - && My<T>().f() && My2<T>::trait && My3<T>().f()) - -#define NTEST(T) (!__is_pod(T) && !f<T>() \ - && !My<T>().f() && !My2<T>::trait && !My3<T>().f()) - -int main() -{ - assert (PTEST (int)); - assert (NTEST (void)); - assert (PTEST (A)); - assert (PTEST (A[])); - assert (NTEST (B)); - assert (PTEST (C)); - assert (PTEST (C[])); - - return 0; -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/is_pod_98.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/is_pod_98.C deleted file mode 100644 index 80a87c825..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/is_pod_98.C +++ /dev/null @@ -1,16 +0,0 @@ -// PR c++/43333 -// { dg-options "-std=c++98" } -// { dg-do run } - -struct strPOD -{ - const char *const foo; - const char *const bar; -}; -extern "C" void abort (void); -int main () -{ - if (!__is_pod (strPOD)) - abort (); - return 0; -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/is_pod_incomplete.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/is_pod_incomplete.C deleted file mode 100644 index a30ab1fdd..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/is_pod_incomplete.C +++ /dev/null @@ -1,8 +0,0 @@ -// PR c++/32158 -template<typename T> - struct A - { - A() { } - }; - -int t[__is_pod(A<int>)?-1:1]; diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/is_polymorphic.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/is_polymorphic.C deleted file mode 100644 index 462e4b705..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/is_polymorphic.C +++ /dev/null @@ -1,83 +0,0 @@ -// { dg-do run } -#include <cassert> -#include <exception> - -struct A -{ - double a; - double b; -}; - -class B -{ - virtual void rotate(int) { } -}; - -class C -: public B { }; - -union U -{ - double a; - double b; -}; - -template<typename T> - bool - f() - { return __is_polymorphic(T); } - -template<typename T> - class My - { - public: - bool - f() - { return !!__is_polymorphic(T); } - }; - -template<typename T> - class My2 - { - public: - static const bool trait = __is_polymorphic(T); - }; - -template<typename T> - const bool My2<T>::trait; - -template<typename T, bool b = __is_polymorphic(T)> - struct My3_help - { static const bool trait = b; }; - -template<typename T, bool b> - const bool My3_help<T, b>::trait; - -template<typename T> - class My3 - { - public: - bool - f() - { return My3_help<T>::trait; } - }; - -#define PTEST(T) (__is_polymorphic(T) && f<T>() \ - && My<T>().f() && My2<T>::trait && My3<T>().f()) - -#define NTEST(T) (!__is_polymorphic(T) && !f<T>() \ - && !My<T>().f() && !My2<T>::trait && !My3<T>().f()) - -int main() -{ - assert (NTEST (int)); - assert (NTEST (void)); - assert (PTEST (std::exception)); - assert (NTEST (A)); - assert (PTEST (B)); - assert (PTEST (C)); - assert (NTEST (C[])); - assert (NTEST (U)); - - return 0; -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/is_union.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/is_union.C deleted file mode 100644 index c95f5a6e5..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/is_union.C +++ /dev/null @@ -1,76 +0,0 @@ -// { dg-do run } -#include <cassert> - -struct A -{ - double a; - double b; -}; - -class B -{ - B() { } -}; - -union U -{ - double a; - double b; -}; - -template<typename T> - bool - f() - { return __is_union(T); } - -template<typename T> - class My - { - public: - bool - f() - { return !!__is_union(T); } - }; - -template<typename T> - class My2 - { - public: - static const bool trait = __is_union(T); - }; - -template<typename T> - const bool My2<T>::trait; - -template<typename T, bool b = __is_union(T)> - struct My3_help - { static const bool trait = b; }; - -template<typename T, bool b> - const bool My3_help<T, b>::trait; - -template<typename T> - class My3 - { - public: - bool - f() - { return My3_help<T>::trait; } - }; - -#define PTEST(T) (__is_union(T) && f<T>() \ - && My<T>().f() && My2<T>::trait && My3<T>().f()) - -#define NTEST(T) (!__is_union(T) && !f<T>() \ - && !My<T>().f() && !My2<T>::trait && !My3<T>().f()) - -int main() -{ - assert (NTEST (int)); - assert (NTEST (void)); - assert (NTEST (A)); - assert (NTEST (B)); - assert (PTEST (U)); - - return 0; -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/java-1.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/java-1.C deleted file mode 100644 index f88e1fcab..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/java-1.C +++ /dev/null @@ -1,26 +0,0 @@ -// { dg-do compile { target { ! { powerpc-ibm-aix* } } } } -// { dg-options "" } -// Test extern "java" and some throwing of the objects. - -extern "Java" - namespace java - { - namespace lang - { - class Throwable; - class Class; - } -} -typedef class java::lang::Throwable* jthrowable; -typedef class java::lang::Class* jclass; -class java::lang::Throwable { -public: - static jclass class$; -}; -int -_Jv_FindClassFromSignature ( ) - try - { - } - catch (java::lang::Throwable *ncdfe) {} - diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/java-2.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/java-2.C deleted file mode 100644 index 8114517b9..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/java-2.C +++ /dev/null @@ -1,79 +0,0 @@ -// PR c++/30293 -// PR c++/30294 -// { dg-do compile { target { ! { powerpc-ibm-aix* } } } } -// { dg-options "" } - -extern "Java" { -typedef __java_byte jbyte; -namespace java { -namespace lang { - class Object {}; - class Class {}; -} -} -typedef struct java::lang::Object* jobject; -typedef java::lang::Class *jclass; -} -extern "C" jobject _Jv_AllocObject (jclass); - -extern "Java" { - struct A { static java::lang::Class class$; }; -} - -struct B { - A a; // { dg-error "has Java class type" } -}; - -void* operator new (__SIZE_TYPE__, void*) throw(); -char buf[1024]; - -A a; // { dg-error "not allocated with" } -A b = A (); // { dg-error "not allocated with" } -A *c = new ((void *) buf) A (); // { dg-error "using placement new" } -A *d = new A (); -jbyte e = 6; - -const A fn1 () // { dg-error "return type has Java class type" } -{ - A a; // { dg-error "not allocated with" } - return a; -} - -A fn2 () // { dg-error "return type has Java class type" } -{ - A a; // { dg-error "not allocated with" } - return a; -} - -A *fn3 () -{ - return new A (); -} - -A &fn4 () -{ - return *c; -} - -jbyte fn5 () -{ - return 7; -} - -void fn6 (A x) // { dg-error "has Java class type" } -{ -} - -void fn7 (const A x) // { dg-error "has Java class type" } -{ -} - -void fn8 (A *x) -{ - (void) x; -} - -void fn9 (jbyte x) -{ - (void) x; -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/label1.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/label1.C deleted file mode 100644 index 95fd644e2..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/label1.C +++ /dev/null @@ -1,10 +0,0 @@ -// { dg-options "" } - -int main(void) { - static const void* lbls[2][2] = {{&&lbl0, &&lbl0}, {&&lbl0, &&lbl0}}; - goto *lbls[0][0]; - goto *lbls[0][0][0]; // { dg-message "" } - goto *lbls[0]; // { dg-error "" } - lbl0: - ; -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/label10.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/label10.C deleted file mode 100644 index 632b2426e..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/label10.C +++ /dev/null @@ -1,17 +0,0 @@ -// PR c++/33836 -// { dg-do compile } -// { dg-options "" } - -template<int N> struct A -{ - enum { M = && N }; // { dg-error "referenced outside|cannot appear in|not an integer constant" } -}; - -A<0> a; - -void foo () -{ - __label__ P; - enum { O = && P }; // { dg-error "cannot appear in|not an integer constant" } - P:; -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/label11.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/label11.C deleted file mode 100644 index dd9222860..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/label11.C +++ /dev/null @@ -1,46 +0,0 @@ -// PR c++/38725 -// { dg-do compile } -// { dg-options "" } - -struct A {}; -struct B : virtual A {}; -int vi; -void *vp; - -void -f1 (int i) -{ - goto *i; -} - -void -f2 (B b) -{ - goto *b; // { dg-error "cannot convert" } -} - -template <typename T> -void -f3 (T i) -{ - goto *i; -} - -void -f3a () -{ - f3 (vi); -} - -template <typename T> -void -f4 (T i) -{ - goto *i; -} - -void -f4a () -{ - f4 (vp); -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/label12.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/label12.C deleted file mode 100644 index 2585318b2..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/label12.C +++ /dev/null @@ -1,39 +0,0 @@ -// PR c++/39028 -// { dg-do compile } -// Origin: Stephan Springl <springl@bfw-online.de> - -void -f () -{ - int i; - for (i = 0; i < 2; i++) - { - __label__ l; - goto l; - l:; - } - while (i++ < 5) - { - __label__ l; - goto l; - l:; - } - do - { - __label__ l; - goto l; - l:; - } - while (i++ < 8); - if (1) - { - __label__ l; - goto l; - l:; - } - { - __label__ l; - goto l; - l:; - } -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/label13.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/label13.C deleted file mode 100644 index 6551c0a41..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/label13.C +++ /dev/null @@ -1,22 +0,0 @@ -// PR c++/41090 -// { dg-do run } -// { dg-options "" } - -int i; -struct C -{ - C(); -}; - -C::C() // { dg-bogus "can never be copied" "" { xfail { { *-apple-darwin* } || { hppa*-*-hpux* && { ! lp64 } } } } } -{ - static void *labelref = &&label; - goto *labelref; - label: i = 1; -} - -int main() -{ - C c; - return (i != 1); -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/label14.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/label14.C deleted file mode 100644 index d1a8b0d52..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/label14.C +++ /dev/null @@ -1,17 +0,0 @@ -// PR c++/53812 -// { dg-do compile } -// { dg-options "" } - -struct T { T () : t(0) {}; int t; ~T (); }; -struct S { void *operator [] (T); }; -void bar (S &, void *, void *); - -void -foo (S &x, T &y) -{ - bar (x, &&l1, &&l2); -l1: - goto *x[y]; -l2: - bar (x, &&l1, &&l2); -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/label2.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/label2.C deleted file mode 100644 index 7d11d00f5..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/label2.C +++ /dev/null @@ -1,11 +0,0 @@ -// { dg-options "" } - -template <typename T> -void f() { - l: - void *p[] = { &&l }; - - goto *p[0]; -} - -template void f<int>(); diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/label3.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/label3.C deleted file mode 100644 index 604bfdc12..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/label3.C +++ /dev/null @@ -1,39 +0,0 @@ -// Bug: we were removing the p = q assignment in dce, and then reinserting -// it *after* the try/catch in out-of-ssa. Oops. - -// testcase reduced from libjava/interpret.cc. - -// { dg-do run } -// { dg-options "-O2" } - -extern "C" int printf (const char *, ...); - -bool b; - -int main() -{ - __label__ one, two, done; - void *labs[] = { &&one, &&two, &&done }; - const void **q = (const void **)labs; - const void **p = q; - - try - { - one: - printf ("one!\n"); - if (b) - throw 42; - goto **p++; - - two: - printf ("two!\n"); - goto **p++; - - done: - printf ("done!\n"); - } - catch (int) - { - printf ("caught!\n"); - } -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/label4.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/label4.C deleted file mode 100644 index 93f140f34..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/label4.C +++ /dev/null @@ -1,6 +0,0 @@ -// PR c++/20563: ICE (--enable-checking), infinite loop (--disable-checking) -// Origin: Giovanni Bajo <giovannibajo@libero.it> - -// { dg-do compile } - -__label__ *l; // { dg-error "not at the beginning of" } diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/label5.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/label5.C deleted file mode 100644 index 34ca90d87..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/label5.C +++ /dev/null @@ -1,6 +0,0 @@ -// { dg-options "" } -// PR c++/24052 - -struct A { }; -int main() { b: A() && && b; } // { dg-error "operand types are 'A' and 'void\\*'" } -// { dg-message "candidate|operator&&|no known conversion" "additional" { target *-*-* } 5 } diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/label6.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/label6.C deleted file mode 100644 index e4b0c37c2..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/label6.C +++ /dev/null @@ -1,3 +0,0 @@ -// PR c++/32108 - -__label__ L; // { dg-error "not at the beginning" } diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/label7.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/label7.C deleted file mode 100644 index e92dccf5d..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/label7.C +++ /dev/null @@ -1,12 +0,0 @@ -// PR c++/32121 -// { dg-do compile } - -int f (void) -{ - a:; - __label__ a; // { dg-error "not at the beginning" } - int b; - __label__ c; // { dg-error "not at the beginning" } - a:; // { dg-error "duplicate label" } - c:; -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/label8.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/label8.C deleted file mode 100644 index 1f6175df3..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/label8.C +++ /dev/null @@ -1,22 +0,0 @@ -// PR c++/32121 -// { dg-do compile } - -int f (void) -{ - __label__ a, b; - __label__ c; - a:; - b:; - c:; - { - __label__ d; - d:; - if (0) - { - __label__ e; - __label__ f; - f:; - e:; - } - } -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/label9.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/label9.C deleted file mode 100644 index 81b385ffe..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/label9.C +++ /dev/null @@ -1,10 +0,0 @@ -// PR c++/32121 -// { dg-do compile } - -int f (void) -{ - while (1) - __label__ a; // { dg-error "not at the beginning" } - for (;;) - __label__ b; // { dg-error "not at the beginning" } -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/lvaddr.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/lvaddr.C deleted file mode 100644 index 5b217d165..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/lvaddr.C +++ /dev/null @@ -1,10 +0,0 @@ -// Copyright (C) 2002 Free Software Foundation -// Contributed by Matt Austern <austern@apple.com> - -// { dg-do compile } - -void f() -{ - int n; - char* p = &(char) n; // { dg-error "lvalue" } -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/lvalue1.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/lvalue1.C deleted file mode 100644 index bf883eae2..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/lvalue1.C +++ /dev/null @@ -1,10 +0,0 @@ -// Test that we complain about the gcc cast-as-lvalue extension. - -int main () -{ - char c; - - static_cast<int>(c) = 2; // { dg-error "lvalue" "not an lvalue" } - - return c != 2; -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/max.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/max.C deleted file mode 100644 index bc65f1f70..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/max.C +++ /dev/null @@ -1,6 +0,0 @@ -struct s_t { -}; -void foo(void) { - s_t s; int i; - s<?=i; // { dg-error "" } -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/member-attr.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/member-attr.C deleted file mode 100644 index 2a7e18bf5..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/member-attr.C +++ /dev/null @@ -1,14 +0,0 @@ -/* Test to see if__attribute__'s are handled by inline member functions */ -/* { dg-do compile } */ -/* { dg-options "-fmessage-length=0" } */ - -/* Previously __attribute__'s were handled by the grammar but "dropped - on the floor", these effectively ignoring them. This tests the fix - to see that they are now handled. In this test it should report - that we have an illegal attribute. */ - -class T { - public: - __attribute__ ((garbage1)) void member1(int) {} /* { dg-warning "'garbage1' attribute directive ignored" "" } */ - void __attribute__ ((garbage2)) member2(int) {} /* { dg-warning "'garbage2' attribute directive ignored" "" } */ -}; diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/ms-1.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/ms-1.C deleted file mode 100644 index 3963b7561..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/ms-1.C +++ /dev/null @@ -1,17 +0,0 @@ - -// MS allows more things to be pointers to member functions -// { dg-options "-fms-extensions" } - -struct X -{ - void Foo (X *); - void Bar (); -}; - -void Quux (void (X::*) ()); - -void X::Foo (X *ptr) // { dg-message "candidate" } -{ - Quux (Foo); // { dg-error "no matches" } - Quux (Bar); -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/mv1.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/mv1.C deleted file mode 100644 index 4eedbff7b..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/mv1.C +++ /dev/null @@ -1,132 +0,0 @@ -/* Test case to check if Multiversioning works. */ -/* { dg-do run { target i?86-*-* x86_64-*-* } } */ -/* { dg-require-ifunc "" } */ -/* { dg-options "-O2 -fPIC" } */ - -#include <assert.h> - -/* Default version. */ -int foo (); // Extra declaration that is merged with the second one. -int foo () __attribute__ ((target("default"))); -/* The other versions of foo. Mix up the ordering and - check if the dispatching does it in the order of priority. */ -/* Check combination of target attributes. */ -int foo () __attribute__ ((target("arch=corei7,popcnt"))); -/* The target operands in this declaration and the definition are re-ordered. - This should still work. */ -int foo () __attribute__ ((target("ssse3,avx2"))); - -/* Check for all target attributes for which dispatchers are available. */ -/* Check arch= */ -int foo () __attribute__((target("arch=core2"))); -int foo () __attribute__((target("arch=corei7"))); -int foo () __attribute__((target("arch=atom"))); -/* Check ISAs */ -int foo () __attribute__((target("avx"))); -int foo () __attribute__ ((target("arch=core2,sse4.2"))); -/* Check more arch=. */ -int foo () __attribute__((target("arch=amdfam10"))); -int foo () __attribute__((target("arch=bdver1"))); -int foo () __attribute__((target("arch=bdver2"))); - -int (*p)() = &foo; -int main () -{ - int val = foo (); - assert (val == (*p)()); - - /* Check in the exact same order in which the dispatching - is expected to happen. */ - if (__builtin_cpu_is ("bdver1")) - assert (val == 1); - else if (__builtin_cpu_is ("bdver2")) - assert (val == 2); - else if (__builtin_cpu_supports ("avx2") - && __builtin_cpu_supports ("ssse3")) - assert (val == 3); - else if (__builtin_cpu_supports ("avx")) - assert (val == 4); - else if (__builtin_cpu_is ("corei7") - && __builtin_cpu_supports ("popcnt")) - assert (val == 5); - else if (__builtin_cpu_is ("corei7")) - assert (val == 6); - else if (__builtin_cpu_is ("amdfam10h")) - assert (val == 7); - else if (__builtin_cpu_is ("core2") - && __builtin_cpu_supports ("sse4.2")) - assert (val == 8); - else if (__builtin_cpu_is ("core2")) - assert (val == 9); - else if (__builtin_cpu_is ("atom")) - assert (val == 10); - else - assert (val == 0); - - return 0; -} - -int __attribute__ ((target("default"))) -foo () -{ - return 0; -} - -int __attribute__ ((target("arch=corei7,popcnt"))) -foo () -{ - return 5; -} -int __attribute__ ((target("avx2,ssse3"))) -foo () -{ - return 3; -} - -int __attribute__ ((target("arch=core2"))) -foo () -{ - return 9; -} - -int __attribute__ ((target("arch=corei7"))) -foo () -{ - return 6; -} - -int __attribute__ ((target("arch=atom"))) -foo () -{ - return 10; -} - -int __attribute__ ((target("avx"))) -foo () -{ - return 4; -} - -int __attribute__ ((target("arch=core2,sse4.2"))) -foo () -{ - return 8; -} - -int __attribute__ ((target("arch=amdfam10"))) -foo () -{ - return 7; -} - -int __attribute__ ((target("arch=bdver1"))) -foo () -{ - return 1; -} - -int __attribute__ ((target("arch=bdver2"))) -foo () -{ - return 2; -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/mv10.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/mv10.C deleted file mode 100644 index 5dfe36372..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/mv10.C +++ /dev/null @@ -1,12 +0,0 @@ -// { dg-do assemble { target i?86-*-* x86_64-*-* } } -// { dg-options "" } - -__attribute__((target ("popcnt"), used)) -void foo (void) -{ -} - -__attribute__((target ("popcnt","avx"), used)) -void foo (void) -{ -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/mv11.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/mv11.C deleted file mode 100644 index 1f5c576f0..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/mv11.C +++ /dev/null @@ -1,23 +0,0 @@ -// { dg-do compile { target i?86-*-* x86_64-*-* } } -// { dg-options "-msse2" } - -int foo () __attribute__ ((target("default"))); -int foo () __attribute__ ((target("sse2"))); - -int -main () -{ - return foo (); -} - -int __attribute__ ((target("default"))) -foo () -{ - return 0; -} - -int __attribute__ ((target("sse2"))) -foo () -{ - return 0; -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/mv12-aux.cc b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/mv12-aux.cc deleted file mode 100644 index 611c679bb..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/mv12-aux.cc +++ /dev/null @@ -1,10 +0,0 @@ -// Test case to check if multiversioning works as expected when the versions -// are defined in different files. Auxiliary file for mv12.C. - -#include "mv12.h" - -__attribute__ ((target ("sse4.2"))) -int foo () -{ - return 1; -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/mv12.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/mv12.C deleted file mode 100644 index 8b2e42340..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/mv12.C +++ /dev/null @@ -1,22 +0,0 @@ -// Test case to check if multiversioning works as expected when the versions -// are defined in different files. - -// { dg-do run { target i?86-*-* x86_64-*-* } } -// { dg-require-ifunc "" } -// { dg-options "-O2" } -// { dg-additional-sources "mv12-aux.cc" } - -#include "mv12.h" - -int main () -{ - if (__builtin_cpu_supports ("sse4.2")) - return foo () - 1; - return foo (); -} - -__attribute__ ((target ("default"))) -int foo () -{ - return 0; -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/mv12.h b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/mv12.h deleted file mode 100644 index 650358d83..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/mv12.h +++ /dev/null @@ -1,4 +0,0 @@ -// Header file used by mv12.C and mv12-aux.cc. - -int foo () __attribute__ ((target ("default"))); -int foo () __attribute__ ((target ("sse4.2"))); diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/mv13.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/mv13.C deleted file mode 100644 index 955499313..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/mv13.C +++ /dev/null @@ -1,18 +0,0 @@ -// Test case to check if multiversioning functions that are extern "C" -// generates errors. - -// { dg-do compile { target i?86-*-* x86_64-*-* } } - -extern "C" -__attribute__ ((target ("default"))) -int foo () // { dg-error "previously defined here" } -{ - return 0; -} - -extern "C" -__attribute__ ((target ("sse4.2"))) -int foo () // { dg-error "redefinition" } -{ - return 1; -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/mv2.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/mv2.C deleted file mode 100644 index 869e99b4f..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/mv2.C +++ /dev/null @@ -1,118 +0,0 @@ -/* Test case to check if Multiversioning chooses the correct - dispatching order when versions are for various ISAs. */ -/* { dg-do run { target i?86-*-* x86_64-*-* } } */ -/* { dg-require-ifunc "" } */ -/* { dg-options "-O2" } */ - -#include <assert.h> - -/* Default version. */ -int foo () __attribute__ ((target ("default"))); -/* The dispatch checks should be in the exact reverse order of the - declarations below. */ -int foo () __attribute__ ((target ("mmx"))); -int foo () __attribute__ ((target ("sse"))); -int foo () __attribute__ ((target ("sse2"))); -int foo () __attribute__ ((target ("sse3"))); -int foo () __attribute__ ((target ("ssse3"))); -int foo () __attribute__ ((target ("sse4.1"))); -int foo () __attribute__ ((target ("sse4.2"))); -int foo () __attribute__ ((target ("popcnt"))); -int foo () __attribute__ ((target ("avx"))); -int foo () __attribute__ ((target ("avx2"))); - -int main () -{ - int val = foo (); - - if (__builtin_cpu_supports ("avx2")) - assert (val == 1); - else if (__builtin_cpu_supports ("avx")) - assert (val == 2); - else if (__builtin_cpu_supports ("popcnt")) - assert (val == 3); - else if (__builtin_cpu_supports ("sse4.2")) - assert (val == 4); - else if (__builtin_cpu_supports ("sse4.1")) - assert (val == 5); - else if (__builtin_cpu_supports ("ssse3")) - assert (val == 6); - else if (__builtin_cpu_supports ("sse3")) - assert (val == 7); - else if (__builtin_cpu_supports ("sse2")) - assert (val == 8); - else if (__builtin_cpu_supports ("sse")) - assert (val == 9); - else if (__builtin_cpu_supports ("mmx")) - assert (val == 10); - else - assert (val == 0); - - return 0; -} - -int __attribute__ ((target("default"))) -foo () -{ - return 0; -} - -int __attribute__ ((target("mmx"))) -foo () -{ - return 10; -} - -int __attribute__ ((target("sse"))) -foo () -{ - return 9; -} - -int __attribute__ ((target("sse2"))) -foo () -{ - return 8; -} - -int __attribute__ ((target("sse3"))) -foo () -{ - return 7; -} - -int __attribute__ ((target("ssse3"))) -foo () -{ - return 6; -} - -int __attribute__ ((target("sse4.1"))) -foo () -{ - return 5; -} - -int __attribute__ ((target("sse4.2"))) -foo () -{ - return 4; -} - -int __attribute__ ((target("popcnt"))) -foo () -{ - return 3; -} - -int __attribute__ ((target("avx"))) -foo () -{ - return 2; -} - -int __attribute__ ((target("avx2"))) -foo () -{ - return 1; -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/mv3.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/mv3.C deleted file mode 100644 index ec2aa1ffe..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/mv3.C +++ /dev/null @@ -1,36 +0,0 @@ -/* Test case to check if a call to a multiversioned function - is replaced with a direct call to the particular version when - the most specialized version's target attributes match the - caller. - - In this program, foo is multiversioned but there is no default - function. This is an error if the call has to go through a - dispatcher. However, the call to foo in bar can be replaced - with a direct call to the popcnt version of foo. Hence, this - test should pass. */ - -/* { dg-do run { target i?86-*-* x86_64-*-* } } */ -/* { dg-options "-O2" } */ - - -int __attribute__ ((target ("sse"))) -foo () -{ - return 1; -} -int __attribute__ ((target ("popcnt"))) -foo () -{ - return 0; -} - -int __attribute__ ((target ("popcnt"))) -bar () -{ - return foo (); -} - -int main () -{ - return bar (); -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/mv4.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/mv4.C deleted file mode 100644 index ff1cc2f63..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/mv4.C +++ /dev/null @@ -1,24 +0,0 @@ -/* Test case to check if the compiler generates an error message - when the default version of a multiversioned function is absent - and its pointer is taken. */ - -/* { dg-do compile { target i?86-*-* x86_64-*-* } } */ -/* { dg-require-ifunc "" } */ -/* { dg-options "-O2" } */ - -int __attribute__ ((target ("sse"))) -foo () -{ - return 1; -} -int __attribute__ ((target ("popcnt"))) -foo () -{ - return 0; -} - -int main () -{ - int (*p)() = &foo; /* { dg-error "use of multiversioned function without a default" {} } */ - return (*p)(); -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/mv5.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/mv5.C deleted file mode 100644 index fd62eee01..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/mv5.C +++ /dev/null @@ -1,25 +0,0 @@ -/* Test case to check if multiversioned functions are still generated if they are - marked comdat with inline keyword. */ - -/* { dg-do run { target i?86-*-* x86_64-*-* } } */ -/* { dg-require-ifunc "" } */ -/* { dg-options "-O2" } */ - - -/* Default version. */ -inline int __attribute__ ((target ("default"))) -foo () -{ - return 0; -} - -inline int __attribute__ ((target ("popcnt"))) -foo () -{ - return 0; -} - -int main () -{ - return foo (); -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/mv6.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/mv6.C deleted file mode 100644 index 227306599..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/mv6.C +++ /dev/null @@ -1,28 +0,0 @@ -/* Test to check if member version multiversioning works correctly. */ - -/* { dg-do run { target i?86-*-* x86_64-*-* } } */ -/* { dg-require-ifunc "" } */ -/* { dg-options "-march=x86-64" } */ - -class Foo -{ - public: - /* Default version of foo. */ - __attribute__ ((target("default"))) - int foo () - { - return 0; - } - /* corei7 version of foo. */ - __attribute__ ((target("arch=corei7"))) - int foo () - { - return 0; - } -}; - -int main () -{ - Foo f; - return f.foo (); -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/mv7.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/mv7.C deleted file mode 100644 index d378402e7..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/mv7.C +++ /dev/null @@ -1,12 +0,0 @@ -// { dg-do compile { target i?86-*-* x86_64-*-* } } -// { dg-options "" } - -__attribute__((target ("default"))) -void foo (void) // { dg-error "previously defined here" } -{ -} - -__attribute__((target (128))) -void foo (void) // { dg-error "(not a string|redefinition)" } -{ -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/mv8.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/mv8.C deleted file mode 100644 index 2e98dd7ad..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/mv8.C +++ /dev/null @@ -1,7 +0,0 @@ -// { dg-do compile { target i?86-*-* x86_64-*-* } } -// { dg-options "" } - -__attribute__((target (11,12))) -void foo (void) // { dg-error "not a string" } -{ -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/mv9.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/mv9.C deleted file mode 100644 index 53ee99502..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/mv9.C +++ /dev/null @@ -1,9 +0,0 @@ -// { dg-do compile { target i?86-*-* x86_64-*-* } } -// { dg-options "" } - -void foo (); -void foo () __attribute__((target ("sse4"))); -void foo () __attribute__((target ("default"))); // { dg-error "previous declaration" } -void foo () // { dg-error "attribute for multi-versioned" } -{ -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/no-asm-1.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/no-asm-1.C deleted file mode 100644 index e41ebbefc..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/no-asm-1.C +++ /dev/null @@ -1,10 +0,0 @@ -// { dg-do compile } -// { dg-options "" } - -// Verify that asm and the GNU extension typeof are recognized as -// keywords. - -int asm; // { dg-error "before .asm." } -int typeof; // { dg-error "expected" "expected" } -// { dg-error "multiple types" "multiple" { target *-*-* } 8 } -// { dg-error "declaration" "declaration" { target *-*-* } 8 } diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/no-asm-2.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/no-asm-2.C deleted file mode 100644 index fa614d8e2..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/no-asm-2.C +++ /dev/null @@ -1,10 +0,0 @@ -// { dg-do compile } -// { dg-options "-fno-asm" } - -// Verify that the keyword asm and the GNU extension typeof are not -// recognized as keywords when using -fno-asm. Having -fno-asm affect -// a standard C++ keyword seems strange, but that is existing -// behaviour. If that behaviour changes, this test should change. - -int asm; // { dg-bogus "before .asm." } -int typeof; // { dg-bogus "before .typeof." } diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/no-gnu-keywords-1.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/no-gnu-keywords-1.C deleted file mode 100644 index 8dbbd5f34..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/no-gnu-keywords-1.C +++ /dev/null @@ -1,9 +0,0 @@ -// { dg-do compile } -// { dg-options "-fno-gnu-keywords" } - -// Verify that the keyword asm is recognized and that the GNU -// extension typeof is not recognized as a keyword when using -// -fno-gnu-keywords. - -int asm; // { dg-error "before .asm." } -int typeof; // { dg-bogus "before .typeof." } diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/offsetof1.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/offsetof1.C deleted file mode 100644 index 1468c0a7c..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/offsetof1.C +++ /dev/null @@ -1,21 +0,0 @@ -// PR c++/27601 -// Origin: Patrik Hägglund <patrik.hagglund@bredband.net> -// { dg-do compile } - -struct bar { - static int foo; - static int baz(); -}; - -int a = __builtin_offsetof(bar, foo); // { dg-error "static data member" } -int av = __builtin_offsetof(volatile bar, foo); // { dg-error "static data member" } -int b = __builtin_offsetof(bar, baz); // { dg-error "member function" } -int b0 = __builtin_offsetof(bar, baz[0]); // { dg-error "function" } -int bv0 = __builtin_offsetof(volatile bar, baz[0]); // { dg-error "function" } -int c = __builtin_offsetof(bar, ~bar); // { dg-error "member function" } - -typedef int I; -enum E { }; - -int d = __builtin_offsetof(I, ~I); // { dg-error "destructor" } -int e = __builtin_offsetof(E, ~E); // { dg-error "destructor" } diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/oper1.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/oper1.C deleted file mode 100644 index 7f97d73a8..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/oper1.C +++ /dev/null @@ -1,19 +0,0 @@ -// { dg-do run } - -// Copyright 2002 Free Software Foundation -// Contributed by Jason Merrill <jason@redhat.com> - -// Make sure the GNU extension of accepting dropping cv-qualifiers for -// the implicit this argument does not kick in when taking the address -// of an object, since this extension would change the meaning of a -// well-defined program. - -struct A { - A* operator&() { return 0; } -}; - -int main () -{ - const A a = {}; - return (&a == 0); -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/packed10.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/packed10.C deleted file mode 100644 index c4bbb1462..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/packed10.C +++ /dev/null @@ -1,14 +0,0 @@ -// PR c++/13983, c++/17519 -// The typedef and the array were causing us to miss that A<int> is -// a packed type. - -template <class T> -struct A { - A(); -} __attribute__((packed)); - -typedef A<int> Ai; - -struct B { - Ai a[2]; -} __attribute__((packed)); diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/packed11.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/packed11.C deleted file mode 100644 index e75845d93..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/packed11.C +++ /dev/null @@ -1,13 +0,0 @@ -// PR c++/26670 - -struct nonpod { - nonpod(); -}; - -struct nonpod_pack { - nonpod n; // { dg-warning "ignoring packed attribute" } -} __attribute__ ((packed)); - -struct nonpod_pack2 { - nonpod_pack p; // { dg-warning "ignoring packed attribute" } -} __attribute__ ((packed)); diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/packed2.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/packed2.C deleted file mode 100644 index 66f156bac..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/packed2.C +++ /dev/null @@ -1,35 +0,0 @@ -// PR c++/10091 - -// Original synopsis -// Bug: We were dying because in general, B::a doesn't have enough -// alignment for us to take its address. But if the B is C::b, it does -// have enough alignment, and we should be able to determine that. - -// This only failed on STRICT_ALIGNMENT targets (i.e. not i686) - -// July 2003 -// packing of non-pods is now only allowed if the non-pod is itself -// packed. Also only such pods can be reference bound to non-consts - -struct A { - int i; - - A(); - A(const A&); - A& operator=(const A&); -} __attribute__ ((packed)); - -struct B { - A a; -} __attribute__ ((packed)); - -struct C { - B b; - int j; -}; - -void f (A&); -void g (C& c) -{ - f (c.b.a); -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/packed3.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/packed3.C deleted file mode 100644 index 880b5d9b4..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/packed3.C +++ /dev/null @@ -1,25 +0,0 @@ -// { dg-do compile } - -// Copyright (C) 2003 Free Software Foundation, Inc. -// Contributed by Nathan Sidwell 15 Jul 2003 <nathan@codesourcery.com> - -// Packed fields are unsuitable for direct reference binding. - -struct Unpacked { int i; }; - -void Ref (int &p); -void Ref (Unpacked &p); - -struct __attribute__ ((packed)) Packed -{ - char c; - int i; - Unpacked u; -}; - -void Foo (Packed &p) -{ - Ref (p.i); // { dg-error "cannot bind packed field" "" { target { ! default_packed } } } - Ref (p.u.i); // { dg-error "cannot bind packed field" "" { target { ! default_packed } } } - Ref (p.u); // { dg-error "cannot bind packed field" "" { target { ! default_packed } } } -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/packed4.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/packed4.C deleted file mode 100644 index e5e5e2c08..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/packed4.C +++ /dev/null @@ -1,77 +0,0 @@ -// { dg-do run { target { ! default_packed } } } -// { dg-options "-w" } - -// Copyright (C) 2003 Free Software Foundation, Inc. -// Contributed by Nathan Sidwell 15 Jul 2003 <nathan@codesourcery.com> - -// Packed fields are unsuitable for direct reference binding. - -struct Unpacked { int i; }; - -int ConstRef (int const &p, int const *ptr, int v) -{ - if (p != v) - return 1; - if (&p == ptr) - return 2; - return 0; -} - -int ConstRef (Unpacked const &p, Unpacked const *ptr, int v) -{ - if (p.i != v) - return 1; - if (&p == ptr) - return 2; - return 0; -} - -int Val (int p, int v) -{ - if (p != v) - return 1; - return 0; -} -int Val (Unpacked p, int v) -{ - if (p.i != v) - return 1; - return 0; -} - -struct __attribute__ ((packed)) Packed -{ - char c; - int i; - Unpacked u; - char t; -}; - -int Foo (Packed &p, int i, int ui) -{ - int r; - - if ((r = Val (p.i, i))) - return r; - if ((r = Val (p.u.i, ui))) - return r + 2; - if ((r = Val (p.u, ui))) - return r + 4; - - if ((r = ConstRef (p.i, &p.i, i))) - return r + 6; - - return 0; -} - -int main () -{ - Packed p; - - p.c = 0x12; - p.i = 0x3456789a; - p.u.i = 0xbcdef00f; - p.t = 0xed; - - return Foo (p, 0x3456789a, 0xbcdef00f); -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/packed5.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/packed5.C deleted file mode 100644 index caf14d89c..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/packed5.C +++ /dev/null @@ -1,16 +0,0 @@ -// PR c++/14173 - -struct A; - -void foo(const A&); - -struct A -{ - A(const A&); -}; - -struct B -{ - A a; - A bar() { return a; } -}; diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/packed6.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/packed6.C deleted file mode 100644 index 6a176b624..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/packed6.C +++ /dev/null @@ -1,78 +0,0 @@ -// PR c++/15209 -// { dg-options "-w" } - -__extension__ typedef __SIZE_TYPE__ size_t; -typedef unsigned char uint8_t; -typedef unsigned short int uint16_t; - -typedef unsigned int uint32_t; -__extension__ typedef unsigned long long int uint64_t; - -typedef uint8_t u8; -typedef uint16_t u16; -typedef uint32_t u32; -typedef uint64_t u64; - -struct MAGIC {u8 magic[8];} __attribute__ ((packed)); -struct PACKETTYPE {u8 type[16];} __attribute__ ((packed)); - - -typedef u16 leu16; -typedef u32 leu32; -typedef u64 leu64; - -class MD5Hash -{ -public: - - MD5Hash(void) {}; - - void *print(void) const; - MD5Hash(const MD5Hash &other); - MD5Hash& operator=(const MD5Hash &other); - -public: - u8 hash[16]; -}; - -struct PACKET_HEADER -{ - - MAGIC magic; - leu64 length; - MD5Hash hash; - MD5Hash setid; - PACKETTYPE type; -} __attribute__ ((packed)); - - -struct MAINPACKET -{ - PACKET_HEADER header; - - leu64 blocksize; - leu32 recoverablefilecount; - MD5Hash fileid[0]; - - -} __attribute__ ((packed)); - -struct CriticalPacket -{ - u8 *packetdata; - size_t packetlength; -}; - -class MainPacket : public CriticalPacket -{ - const MD5Hash& SetId(void) const; - - u64 blocksize; - u32 totalfilecount; - u32 recoverablefilecount; -}; - -inline const MD5Hash& MainPacket::SetId(void) const -{ - return ((const MAINPACKET*)packetdata)->header.setid; -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/packed7.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/packed7.C deleted file mode 100644 index e2f74e026..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/packed7.C +++ /dev/null @@ -1,15 +0,0 @@ -// PR c++/14124 -// A packed enum uses the minimal underlying type. - -// Copyright (C) 2004 Free Software Foundation, Inc. -// Contributed by Matt Austern <austern@apple.com> - -// { dg-do run } - -enum XXX { xyzzy = 3 } __attribute__((packed)); - -int main() -{ - int enumsize = sizeof(xyzzy); - return (enumsize == 1) ? 0 : 1; -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/packed8.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/packed8.C deleted file mode 100644 index 91ee8b3ee..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/packed8.C +++ /dev/null @@ -1,24 +0,0 @@ -// PR c++/18378 -// NOTE: This test assumes packed structure layout differs from unpacked -// structure layout. This isn't true, e.g., with the default -// arm-none-elf options. -// { dg-options "-mstructure-size-boundary=8" { target arm*-*-* } } - -class A -{ -public: - int i; - - A() {} - A(const A& a) { i = a.i; } -}; - -class B -{ - A a __attribute__((packed)); // { dg-warning "attribute ignored" "" { target default_packed } } - -public: - B() {} - A GetA() { return a; } // { dg-error "" "" { target { ! default_packed } } } -}; - diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/packed9.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/packed9.C deleted file mode 100644 index ba5d4ab04..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/packed9.C +++ /dev/null @@ -1,20 +0,0 @@ -// Copyright (C) 2005 Free Software Foundation, Inc. -// Contributed by Nathan Sidwell 26 Apr 2005 <nathan@codesourcery.com> - -// DR21166. unnecessary error on packed char - -struct s1 { - char c1; -} __attribute__((packed)); - -char& -f(struct s1 *s) -{ - return s->c1; -} - -char * -g(struct s1 *s) -{ - return &s->c1; -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/pr17577.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/pr17577.C deleted file mode 100644 index 29b1d17d7..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/pr17577.C +++ /dev/null @@ -1,6 +0,0 @@ -// Test for PR c++/17577. - -/* { dg-do compile } */ - -#include "pr17577.h" -#pragma implementation "pr17577.h" /* { dg-warning "appears after file" } */ diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/pr17577.h b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/pr17577.h deleted file mode 100644 index 6ff0addb9..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/pr17577.h +++ /dev/null @@ -1,2 +0,0 @@ -// Test for PR c++/17577. -#pragma interface diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/pr27019.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/pr27019.C deleted file mode 100644 index c96d51c14..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/pr27019.C +++ /dev/null @@ -1,11 +0,0 @@ - -// { dg-do compile } -// { dg-options "" } - -struct A -{ - int i; - int z[1]; -}; - -A a = { z:{} }; // { dg-message "unimplemented" } diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/pr28291.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/pr28291.C deleted file mode 100644 index 1b3b9f40a..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/pr28291.C +++ /dev/null @@ -1,13 +0,0 @@ - -// Test to make sure we do not ICE on this invalid program. - -// { dg-do compile } -// { dg-options "" } - -struct A -{ - static int i; - int j; -}; - -A a = { i:0 }; // { dg-error "non-static data member" } diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/pr34829.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/pr34829.C deleted file mode 100644 index d588b5b2b..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/pr34829.C +++ /dev/null @@ -1,22 +0,0 @@ -// Test for PR c++/34829 -// Placement new should be ok for non-aggregate Java types. - -// { dg-do compile } -// { dg-options "" } - -extern "Java" -{ - typedef __java_byte jbyte; -} - -typedef __SIZE_TYPE__ size_t; - -void *operator new (size_t, void *m) -{ - return m; -} - -jbyte *f(void *memory) -{ - return new (memory) jbyte; -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/pr47213.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/pr47213.C deleted file mode 100644 index 193007e83..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/pr47213.C +++ /dev/null @@ -1,16 +0,0 @@ -// { dg-do compile } -// { dg-require-visibility "" } -// { dg-options "-fvisibility-ms-compat" } -#include <typeinfo> - -template < typename T > void -bar () -{ - typeid (T); -} - -void -foo () -{ - bar < int () > (); -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/pr53605.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/pr53605.C deleted file mode 100644 index 0b902dd84..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/pr53605.C +++ /dev/null @@ -1,16 +0,0 @@ -// { dg-do compile } - -// Avoid -pedantic-error default -// { dg-options "" } - -template <bool lhs_is_null_literal> -class EqHelper { -public: - template <typename T1, typename T2> - static int Compare( const T1& expected, - const T2& actual); -}; -void foo(){ - static const int kData[] = {}; - ::EqHelper<false>::Compare(kData, "abc"); -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/pragmaweak1.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/pragmaweak1.C deleted file mode 100644 index 68bf3fce2..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/pragmaweak1.C +++ /dev/null @@ -1,9 +0,0 @@ -// PR c++/25999 -// { dg-final { scan-assembler-not "_Z3Foov" } } - -extern "C" { - void Foo(); -} -#pragma weak Random_Symbol -void Foo() { } - diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/pretty1.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/pretty1.C deleted file mode 100644 index 06608ae30..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/pretty1.C +++ /dev/null @@ -1,67 +0,0 @@ -// PR c++/6794 -// Test whether __PRETTY_FUNCTION__ works in templates, functions and -// in initializers at global scope -// { dg-do compile } -// { dg-options "" } - -extern "C" void __assert_fail (const char *, const char *, - unsigned int, const char *) - throw() __attribute__((noreturn)); -extern "C" void abort (void); -extern "C" void exit (int); - -#define str(expr) #expr -#define assert(expr) \ - ((expr) ? 0 : (__assert_fail (str(expr), __FILE__, __LINE__, \ - __PRETTY_FUNCTION__), 0)) - -int __attribute__((noinline)) -foo (void) -{ - return 1; -} - -template<class T> int -bar (T) -{ - return (assert (foo ()), 1); -} - -template<> int -bar<int> (int) -{ - return (assert (foo ()), 2); -} - -int a = (assert (foo ()), 1); -int b = (assert (foo ()), 2); - -int -main () -{ - double c = 1.0; - unsigned char *d = 0; - int e = (assert (foo ()), 3); - - bar (c); - bar (d); - bar (e); -} - -namespace N -{ - int f = (assert (foo ()), 4); -} - -void __attribute__((noinline)) -__assert_fail (const char *cond, const char *file, unsigned int line, - const char *pretty) throw () -{ - abort (); -} - -// { dg-final { scan-assembler "int bar\\(T\\).*with T = int" } } -// { dg-final { scan-assembler "top level" } } -// { dg-final { scan-assembler "int main\\(\\)" } } -// { dg-final { scan-assembler "int bar\\(T\\).*with T = double" } } -// { dg-final { scan-assembler "int bar\\(T\\).*with T = unsigned char\*" } } diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/pretty2.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/pretty2.C deleted file mode 100644 index 0c05da9b7..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/pretty2.C +++ /dev/null @@ -1,61 +0,0 @@ -// PR c++/6794 -// Test whether __PRETTY_FUNCTION__ works in templates, functions and -// in initializers at global scope -// { dg-do run } -// { dg-options "" } - -extern "C" void __assert_fail (const char *, const char *, - unsigned int, const char *) - throw() __attribute__((noreturn)); -extern "C" void abort (void); -extern "C" void exit (int); - -#define str(expr) #expr -#define assert(expr) \ - ((expr) ? 0 : (__assert_fail (str(expr), __FILE__, __LINE__, \ - __PRETTY_FUNCTION__), 0)) - -int __attribute__((noinline)) -foo (void) -{ - return 1; -} - -template<class T> int -bar (T) -{ - return (assert (foo ()), 1); -} - -template<> int -bar<int> (int) -{ - return (assert (foo ()), 2); -} - -int a = (assert (foo ()), 1); -int b = (assert (foo ()), 2); - -int -main () -{ - double c = 1.0; - unsigned char *d = 0; - int e = (assert (foo ()), 3); - - bar (c); - bar (d); - bar (e); -} - -namespace N -{ - int f = (assert (foo ()), 4); -} - -void __attribute__((noinline)) -__assert_fail (const char *cond, const char *file, unsigned int line, - const char *pretty) throw () -{ - abort (); -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/pretty3.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/pretty3.C deleted file mode 100644 index 01b14579a..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/pretty3.C +++ /dev/null @@ -1,19 +0,0 @@ -// PR c++/16630 -// { dg-do compile } -// { dg-options "" } -extern "C" int printf (const char*, ...); - -template <class T> -struct B { typedef T X; }; - -template <class U> -struct D -{ - const char* foo (typename B<U>::X) { return __PRETTY_FUNCTION__; } -}; - -int main () -{ - printf ("%s\n", D<int>().foo (0)); -} -// { dg-final { scan-assembler "const char\\* D<U>::foo\\(typename B<U>::X\\)" } } diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/restrict1.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/restrict1.C deleted file mode 100644 index 049af1fa4..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/restrict1.C +++ /dev/null @@ -1,7 +0,0 @@ -// PR c++/6392 -// { dg-do compile } - -struct A -{ - int* __restrict__ data[10]; -}; diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/selectany1.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/selectany1.C deleted file mode 100644 index e80fe4fd1..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/selectany1.C +++ /dev/null @@ -1,20 +0,0 @@ -// { dg-do compile { target i?86-pc-cygwin } } -// { dg-do compile { target i?86-*-mingw* x86_64-*-mingw* } } - -// Check that selectany attribute puts symbols into link-once sections. - -// { dg-final { scan-assembler "\.section\t\.data\\\$foo\[^\n\]*\n\t\.linkonce discard" } } -// { dg-final { scan-assembler "\.section\t\.data\\\$x\[^\n\]*\n\t\.linkonce discard" } } - -__declspec (selectany) int foo = 1; - -class X -{ -private: - int m_i; -public: - X(int i): m_i(i){} - ~X(){} -}; - -__declspec(selectany) X x(1); diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/selectany2.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/selectany2.C deleted file mode 100644 index 278b32d2f..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/selectany2.C +++ /dev/null @@ -1,30 +0,0 @@ -// { dg-do compile { target i?86-pc-cygwin } } -// { dg-do compile { target i?86-*-mingw* x86_64-*-mingw* } } - -// Check for errors with invalid usage of selectany attribute. - -extern int foo; -__declspec (selectany) int foo = 1; // OK - -struct d -{ - static int foo; -}; -__declspec (selectany) int d::foo = 1; // OK - -struct f -{ - int i; -}; -__declspec (selectany) struct f F= {1}; // OK - -__declspec (selectany) int boo; //{ dg-error "selectany" } - -__declspec (selectany) static int bar = 1; // { dg-error "selectany" } -int use_bar = bar; // Avoid defined but not used warning. - -int baz() -{ - __declspec (selectany) int foo = 1; // { dg-error "selectany" } - return foo; -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/spe1.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/spe1.C deleted file mode 100644 index 8b1e630ec..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/spe1.C +++ /dev/null @@ -1,10 +0,0 @@ -/* { dg-do compile } */ -/* { dg-options "-mcpu=8540 -mspe -mabi=spe -mfloat-gprs=single -O0" } */ -/* { dg-skip-if "not an SPE target" { ! powerpc_spe_nocache } { "*" } { "" } } */ - -typedef int v2si __attribute__ ((vector_size (8))); - -/* The two specializations must be considered different. */ -template <class T> class X { }; -template <> class X<__ev64_opaque__> { }; -template <> class X<v2si> { }; diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/static1.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/static1.C deleted file mode 100644 index 9298b1d57..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/static1.C +++ /dev/null @@ -1,18 +0,0 @@ -// PR c++/23699 -// { dg-options "" } - -template<typename _CharT > class basic_string; -typedef basic_string<char> string; -template<typename _CharT> -struct basic_string -{ - static const int npos = -1; -}; -template<typename _CharT> -const int basic_string<_CharT>::npos; - -extern template class basic_string<char>; -struct A -{ - static const long npos = string::npos; -}; diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/stmtexpr1.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/stmtexpr1.C deleted file mode 100644 index fe9f3c3aa..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/stmtexpr1.C +++ /dev/null @@ -1,53 +0,0 @@ -// Copyright (C) 2003 Free Software Foundation, Inc. -// Contributed by Nathan Sidwell 30 Jul 2003 <nathan@codesourcery.com> - -// make sure statement expressions work properly - -// { dg-do run } -// { dg-options "" } - -extern "C" int printf (char const *, ...); -extern "C" void abort (); - -static unsigned order[] = -{ - 1, 101, 2, 102, - 3, 4, 104, 103, - 5, 6, 105, 106, - 7, 107, 8, 408, 9, 109, 108, - 10, 11, 110, 411, 12, 112, 111, - 13, 113, - 14, 214, 114, 114, - 0 -}; - -static unsigned point; - -static void Check (unsigned t, unsigned i, void const *ptr, char const *name) -{ - printf ("%d %d %p %s\n", t, i, ptr, name); - - if (order[point++] != i + t) - abort (); -} - -template <int I> struct A -{ - A () { Check (0, I, this, __PRETTY_FUNCTION__); } - ~A () { Check (100, I, this, __PRETTY_FUNCTION__); } - A (A const &) { Check (200, I, this, __PRETTY_FUNCTION__); } - A &operator= (A const &) { Check (300, I, this, __PRETTY_FUNCTION__); } - void Foo () const { Check (400, I, this, __PRETTY_FUNCTION__); } -}; - -int main () -{ - ({A<1> (); A<2> (); ;}); - ({A<3> (), A<4> (); ;}); - ({A<5> (), A<6> ();}); - ({A <7> (); A<8> (); }).Foo (), A<9> (); - ({A <10> (), A<11> (); }).Foo (), A<12> (); - ({A<13> a; a; ; }); - ({A<14> a; a; }); - Check (0, 0, 0, "end"); -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/stmtexpr10.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/stmtexpr10.C deleted file mode 100644 index f7c5f8f59..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/stmtexpr10.C +++ /dev/null @@ -1,16 +0,0 @@ -/* { dg-do compile } " */ -/* { dg-options "" } */ - -void foo(int i) -{ - (i ? 1 : 2) = ({ X; }); /* { dg-error "" } */ -} - -struct A -{ - ~A (); - void foo() - { - delete this = ({ X; }); /* { dg-error "" } */ - } -}; diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/stmtexpr11.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/stmtexpr11.C deleted file mode 100644 index 8b5c5f847..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/stmtexpr11.C +++ /dev/null @@ -1,15 +0,0 @@ -// PR c++/31337 -// { dg-options "" } - -struct A -{ - int i[0]; - A(); - A(const A&); - ~A(); -}; - -void foo() -{ - A a = ({ A(); }); -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/stmtexpr12.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/stmtexpr12.C deleted file mode 100644 index c35f41b0c..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/stmtexpr12.C +++ /dev/null @@ -1,7 +0,0 @@ -// PR c++/29000 -// { dg-options "" } - -template<int> int foo() -{ - return ({foo;})==0; // { dg-error "insufficient context" } -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/stmtexpr13.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/stmtexpr13.C deleted file mode 100644 index 978da1584..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/stmtexpr13.C +++ /dev/null @@ -1,9 +0,0 @@ -// PR c++/35747 -// { dg-do compile } -// { dg-options "" } - -void -foo () -{ - ({ i; ({ i; }); 0; }); // { dg-error "was not declared" } -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/stmtexpr14.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/stmtexpr14.C deleted file mode 100644 index 5f3ff0ddc..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/stmtexpr14.C +++ /dev/null @@ -1,12 +0,0 @@ -// PR c++/51714 - -template <typename T> -void Foo() -{ - true || !__extension__ ({ int verbose = 2; verbose <= 3; }); -} - -int main() -{ - Foo<int>(); -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/stmtexpr2.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/stmtexpr2.C deleted file mode 100644 index 5301103d4..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/stmtexpr2.C +++ /dev/null @@ -1,51 +0,0 @@ -// { dg-do run } -// { dg-options "" } - -extern "C" int printf (char const *, ...); -extern "C" void abort (); - -// There are two alternate legal renderings. -static unsigned int alt1[] = { 11, 10, 21, 110, 111, 121 }; -static unsigned int alt2[] = { 10, 11, 21, 111, 110, 121 }; - -static unsigned int pointer = 0; -static unsigned int *which; - -static void Check (unsigned t, unsigned i, void const *ptr, char const *name) -{ - printf ("%d %d %p %s\n", t, i, ptr, name); - - if (pointer > sizeof(alt1)/sizeof(alt1[0])) - abort (); - if (pointer == 0) - { - if (t + i == alt1[0]) - which = &alt1[0]; - else if (t + i == alt2[0]) - which = &alt2[0]; - else - abort (); - } - else if (t + i != which[pointer]) - abort (); - pointer++; -} - -struct A -{ - int I; - - A (int i) : I(i) { Check (0, I, this, __PRETTY_FUNCTION__); } - ~A () { Check (100, I, this, __PRETTY_FUNCTION__); } - A (A const &a) : I(a.I) { Check (200, I, this, __PRETTY_FUNCTION__); } - A &operator= (A const &a) - { I = a.I; Check (300, I, this, __PRETTY_FUNCTION__); return *this; } - void Foo () const { Check (400, I, this, __PRETTY_FUNCTION__); } - A operator+ (A const &a) const - { return A(I + a.I); } -}; - -int main () -{ - ({ A(10) + A(11); }); -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/stmtexpr3.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/stmtexpr3.C deleted file mode 100644 index 9a3205c08..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/stmtexpr3.C +++ /dev/null @@ -1,9 +0,0 @@ -// PR c++/16112 -// { dg-options "" } - -struct A -{ - A(); -}; - -A foo() { return ({ A(); }); } diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/stmtexpr4.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/stmtexpr4.C deleted file mode 100644 index a37c33ae0..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/stmtexpr4.C +++ /dev/null @@ -1,8 +0,0 @@ -// PR c++/20147 -// { dg-do compile } -// { dg-options "" } - -void foo() -{ - ({x;}); // { dg-error "was not declared" } -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/stmtexpr5.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/stmtexpr5.C deleted file mode 100644 index fc84981ce..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/stmtexpr5.C +++ /dev/null @@ -1,15 +0,0 @@ -// PR c++/21440 -// { dg-options "" } - -struct Foo { - ~Foo(); - int i; -}; - -void bar() { - Foo foo = ({ - Foo bletch; - bletch.i = 0; - bletch; - }); -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/stmtexpr6.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/stmtexpr6.C deleted file mode 100644 index d2518a64a..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/stmtexpr6.C +++ /dev/null @@ -1,11 +0,0 @@ -// { dg-do run } -// { dg-options "" } - -int a[128]; - -int main() { - // Check that array-to-pointer conversion occurs in a - // statement-expression. - if (sizeof (({ a; })) != sizeof (int *)) - return 1; -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/stmtexpr7.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/stmtexpr7.C deleted file mode 100644 index 87ca39b56..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/stmtexpr7.C +++ /dev/null @@ -1,14 +0,0 @@ -// PR c++/24686 -// { dg-options "" } - -struct A -{ - ~A(); -}; -bool h(int, const A&); -int f(); -int i; -void g() -{ - i && (A(), ({ static int l = f(); l; })); -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/stmtexpr8.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/stmtexpr8.C deleted file mode 100644 index 8e5d0ddcb..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/stmtexpr8.C +++ /dev/null @@ -1,28 +0,0 @@ -// PR c++/27115 - -// { dg-do run } -// { dg-options "" } - -struct A -{ - int i; - A (int j) : i(j) {} - A (const A &j) : i(j.i) {} - A& operator= (const A &j) { i = j.i; return *this; } -}; - -A foo(int j) -{ - return ({ j ? A(1) : A(0); }); -} - -int main() -{ - return foo(1).i-1; -} - -void foo2() -{ - A b = ({ A a(1); a; }); -} - diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/stmtexpr9.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/stmtexpr9.C deleted file mode 100644 index 4963e10e4..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/stmtexpr9.C +++ /dev/null @@ -1,8 +0,0 @@ -// PR c++/28899 -// { dg-options "" } - -void f() -{ - unsigned l, l1; - l1 = l = ({ unsigned __v; __v; }); -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/strncpy-chk1.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/strncpy-chk1.C deleted file mode 100644 index 7770ba931..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/strncpy-chk1.C +++ /dev/null @@ -1,31 +0,0 @@ -// PR c++/40502 -// { dg-do compile } -// { dg-options "-O2" } - -struct A { char x[12], y[35]; }; -struct B { char z[50]; }; - -inline void -foo (char *dest, const char *__restrict src, __SIZE_TYPE__ n) -{ - __builtin___strncpy_chk (dest, src, n, __builtin_object_size (dest, 0)); // { dg-warning "will always overflow" } -} - -void bar (const char *, int); - -inline void -baz (int i) -{ - char s[128], t[32]; - bar (s, 0); - bar (t, i); - A a; - B b; - foo (a.y, b.z, 36); -} - -void -test () -{ - baz (0); -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/sync-1.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/sync-1.C deleted file mode 100644 index e4d6dff61..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/sync-1.C +++ /dev/null @@ -1,40 +0,0 @@ -// Validate that the __sync builtins are overloaded properly. -// { dg-do compile } -// { dg-options "-Werror" } - -#define TEST1(TYPE, BUILTIN) \ -void t_##TYPE##BUILTIN(TYPE *p) \ -{ \ - __typeof(BUILTIN(p, 1)) *pp; \ - pp = p; \ -} - -#define TEST2(BUILTIN) \ - TEST1(int, BUILTIN) \ - TEST1(long, BUILTIN) - -TEST2(__sync_fetch_and_add) -TEST2(__sync_fetch_and_sub) -TEST2(__sync_fetch_and_or) -TEST2(__sync_fetch_and_and) -TEST2(__sync_fetch_and_xor) -TEST2(__sync_fetch_and_nand) - -TEST2(__sync_add_and_fetch) -TEST2(__sync_sub_and_fetch) -TEST2(__sync_or_and_fetch) -TEST2(__sync_and_and_fetch) -TEST2(__sync_xor_and_fetch) -TEST2(__sync_nand_and_fetch) - -TEST2(__sync_lock_test_and_set) - -#define TEST3(TYPE) \ -void t_##TYPE##__sync_val_compare_and_swap(TYPE *p) \ -{ \ - __typeof(__sync_val_compare_and_swap(p, 1, 2)) *pp; \ - pp = p; \ -} - -TEST3(int) -TEST3(long) diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/sync-2.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/sync-2.C deleted file mode 100644 index 5695684c3..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/sync-2.C +++ /dev/null @@ -1,58 +0,0 @@ -// Validate that the __sync builtins are overloaded properly in templates. -// { dg-do compile } -// { dg-options "-Werror" } - - -#define TEST1(BUILTIN) \ -template<typename T> \ -void f##BUILTIN(T *p) \ -{ \ - __typeof(BUILTIN(p, 1)) *pp; \ - pp = p; \ -} - -TEST1(__sync_fetch_and_add) -TEST1(__sync_fetch_and_sub) -TEST1(__sync_fetch_and_or) -TEST1(__sync_fetch_and_and) -TEST1(__sync_fetch_and_xor) -TEST1(__sync_fetch_and_nand) - -TEST1(__sync_add_and_fetch) -TEST1(__sync_sub_and_fetch) -TEST1(__sync_or_and_fetch) -TEST1(__sync_and_and_fetch) -TEST1(__sync_xor_and_fetch) -TEST1(__sync_nand_and_fetch) - -TEST1(__sync_lock_test_and_set) - -template<typename T> -void f__sync_val_compare_and_swap(T *p) -{ - __typeof(__sync_val_compare_and_swap(p, 1, 2)) *pp; - pp = p; -} - -#define TEST2(TYPE) \ -void h_##TYPE () \ -{ \ - TYPE x; \ - f__sync_fetch_and_add (&x); \ - f__sync_fetch_and_sub (&x); \ - f__sync_fetch_and_or (&x); \ - f__sync_fetch_and_and (&x); \ - f__sync_fetch_and_xor (&x); \ - f__sync_fetch_and_nand (&x); \ - f__sync_add_and_fetch (&x); \ - f__sync_sub_and_fetch (&x); \ - f__sync_or_and_fetch (&x); \ - f__sync_and_and_fetch (&x); \ - f__sync_xor_and_fetch (&x); \ - f__sync_nand_and_fetch (&x); \ - f__sync_lock_test_and_set (&x); \ - f__sync_val_compare_and_swap (&x); \ -} - -TEST2(int) -TEST2(long) diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/sync-3.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/sync-3.C deleted file mode 100644 index 99faac7bc..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/sync-3.C +++ /dev/null @@ -1,21 +0,0 @@ -// PR debug/41801 -// { dg-do compile } -// { dg-options "-O2 -g" } - -struct T -{ - void - foo () volatile - { - __sync_lock_release (&t); - __sync_synchronize (); - } - bool t; -}; - -int -main () -{ - T t = { false }; - t.foo (); -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/timevar1.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/timevar1.C deleted file mode 100644 index 0d2d3f5f3..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/timevar1.C +++ /dev/null @@ -1,12 +0,0 @@ -// PR c++/52248 -// { dg-options "-ftime-report" } -// { dg-prune-output "wall" } -// { dg-prune-output "times" } -// { dg-prune-output "TOTAL" } -// { dg-prune-output "checks" } - -void -foo () -{ - goto lab; // { dg-error "not defined" } -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/tmplattr1.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/tmplattr1.C deleted file mode 100644 index 16a32ce6b..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/tmplattr1.C +++ /dev/null @@ -1,23 +0,0 @@ -// PR c++/24260 -// { dg-do compile { target { { i?86-*-* x86_64-*-* } && ia32 } } } - -#define stdcall __attribute__((stdcall)) - -struct T { - template <class S> - static int stdcall func(int arg1, int arg2); -}; - -template <class S> -int stdcall T::func(int arg1, int arg2) -{ - return arg1+arg2; -} - -struct dummy {}; - -void xx() -{ - int (stdcall *ptr2)(int,int) = &T::func<dummy>; -} - diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/tmplattr2.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/tmplattr2.C deleted file mode 100644 index 4fd651d6c..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/tmplattr2.C +++ /dev/null @@ -1,18 +0,0 @@ -// PR c++/17743 - -template <unsigned Len, unsigned Align> -struct aligned_storage -{ - typedef char type[Len] __attribute__((aligned((Align)))); -}; - -template<typename T> -struct X -{ - typename aligned_storage<sizeof(T),__alignof(T)>::type data; -}; - -template<bool> struct StaticAssert; -template<> struct StaticAssert<true> {}; - -StaticAssert<__alignof (X<double>) == __alignof (double)> dummy; diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/tmplattr3.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/tmplattr3.C deleted file mode 100644 index f8d3c1620..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/tmplattr3.C +++ /dev/null @@ -1,42 +0,0 @@ -// PR c++/17743 - -template<typename T> -struct X { - typedef char layout_type[sizeof(T)] - __attribute ((aligned(__alignof(double)))); - layout_type data; -}; - -template<typename T> -struct Y { - typedef char layout_type[sizeof(T)] - __attribute ((aligned(__alignof(T)))); - layout_type data; -}; - -template<typename T> -struct Z { - typedef char layout_type[sizeof(T)] - __attribute ((aligned(__alignof(T)))); - struct Z2 { - layout_type data; - } in; -}; - -template<typename T> -struct A; - -template <typename T> -struct A<T*> { - typedef char layout_type[sizeof(T)] - __attribute ((aligned(__alignof(T)))); - layout_type data; -}; - -template<bool> struct StaticAssert; -template<> struct StaticAssert<true> {}; - -StaticAssert<__alignof(X<double>) == __alignof(double)> d1; -StaticAssert<__alignof(Y<double>) == __alignof(double)> d2; -StaticAssert<__alignof(Z<double>) == __alignof(double)> d3; -StaticAssert<__alignof(A<double*>) == __alignof(double)> d4; diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/tmplattr4.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/tmplattr4.C deleted file mode 100644 index 3d5c6b7d5..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/tmplattr4.C +++ /dev/null @@ -1,19 +0,0 @@ -// PR c++/7586 -// { dg-do run } - -template<typename T> -int f() -{ - typedef unsigned char type[sizeof (T)] - __attribute((aligned(__alignof(T)))); - - return __alignof (type); -} - -int main() -{ - if (f<int>() == __alignof (int)) - return 0; - else - return 1; -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/tmplattr5.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/tmplattr5.C deleted file mode 100644 index 30138d44a..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/tmplattr5.C +++ /dev/null @@ -1,33 +0,0 @@ -// PR c++/19407 -// { dg-do run } - -typedef float global_vector_type __attribute__((vector_size(16))); - -template <class T> struct A -{ - typedef T type; -}; - -template < typename Val > struct S -{ - typedef typename A<Val>::type vector_type __attribute__((vector_size(16))); - typedef Val vector_type2 __attribute__((vector_size(16))); - int pr_size() { return sizeof(vector_type); } - int pr_size2() { return sizeof(vector_type2); } -}; - -int main() -{ - if (sizeof (S<float>::vector_type) != sizeof (global_vector_type)) - return 1; - if (sizeof (S<float>::vector_type2) != sizeof (global_vector_type)) - return 2; - - S<float> x; - if (x.pr_size() != sizeof (global_vector_type)) - return 3; - if (x.pr_size2() != sizeof (global_vector_type)) - return 4; - - return 0; -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/tmplattr6.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/tmplattr6.C deleted file mode 100644 index 17f23fe34..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/tmplattr6.C +++ /dev/null @@ -1,12 +0,0 @@ -// Don't crash on an unknown attribute. - -struct foo { - template <class T> - void __attribute__((leafify)) bar() {} // { dg-warning "ignored" } -}; - -void bar(void) -{ - foo f; - f.bar<int>(); -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/tmplattr7.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/tmplattr7.C deleted file mode 100644 index ee6c41847..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/tmplattr7.C +++ /dev/null @@ -1,11 +0,0 @@ -// PR c++/33620 - -template <typename T> -struct __attribute__((visibility("default"))) List {}; - -int bar(List<int> args); -bool test(const List<int> &); - -int i = bar(List<int>()); - -bool test(const List<int> &) {} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/tmplattr8.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/tmplattr8.C deleted file mode 100644 index 4b8707aa5..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/tmplattr8.C +++ /dev/null @@ -1,8 +0,0 @@ -// PR c++/28560 - -template<typename> struct A {}; - -template<int> struct B; - -template<int N> struct C : - A<typename B<N>::X __attribute__((unused))> {}; // { dg-warning "attribute" } diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/tmplattr9.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/tmplattr9.C deleted file mode 100644 index 090257a5f..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/tmplattr9.C +++ /dev/null @@ -1,26 +0,0 @@ -// PR c++/34937, 34962 -// { dg-require-weak "" } -// { dg-options "" } - -struct A -{ - static const int i; -}; - -template<int> void foo() -{ - int x[A::i] __attribute((vector_size(8))); -} - -template<int> struct B -{ - enum { a, b = a }; - void bar(B<b>) __attribute((weak)); -}; - -void f() -{ - foo<0>(); - B<0> b; - b.bar (B<B<0>::b>()); -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/transparent-union.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/transparent-union.C deleted file mode 100644 index 123156361..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/transparent-union.C +++ /dev/null @@ -1,5 +0,0 @@ -// PR c++/53761 - -typedef union { // { dg-error "type transparent" } - double x; -} __attribute__(( __transparent_union__ )) example_t; diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/typedef-init.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/typedef-init.C deleted file mode 100644 index 153303d21..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/typedef-init.C +++ /dev/null @@ -1,36 +0,0 @@ -/* { dg-do compile } */ -/* { dg-options "-fpermissive" } // suppress default -pedantic-errors */ - -/* This code used to be a legitimate, if dubious, extension. However, - it's been broken since GCC 3.0 (caused ICE) and we have now removed - the extension. See PR c/7353. - - For cases A and C, C++ issues a warning in addition to the error, - since this construct appears to be a case of implicit int - (forbidden in std. C++) until we get to the equals sign. */ - -/* Case A: just the bare name = initializer. */ - -typedef A = 0; /* { dg-error "does not name a type" "A" } */ -A a; /* { dg-error "does not name a type" "A error cascade" } */ - -/* Case B: with a type also. */ - -typedef int B = 0; /* { dg-error "initialized" "B" } */ -B b; /* { dg-error "does not name a type" "B error cascade" } */ - -/* C and D are the same as A and B, but wrapped in a structure; - field declarations go by a different code path in C++ (ick). */ - -struct S { - typedef C = 0; /* { dg-error "does not name a type" "C" } */ - C c; /* { dg-error "" "C error cascade" } */ - - typedef int D = 0; /* { dg-error "initialized" "D" } */ - D d; /* { dg-bogus "" "D error cascade" } */ -}; - -template<int> void foo() -{ - typedef int i = 0; /* { dg-error "is initialized" } */ -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/typename1.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/typename1.C deleted file mode 100644 index cb9f4a7fc..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/typename1.C +++ /dev/null @@ -1,7 +0,0 @@ -// PR c++/6255 -// { dg-options "-fpermissive -w" } - -template <class T> struct A { typedef int X; }; -template <class T> struct B { typedef A<T> Y; void f (typename Y::X); }; -template <class T, class T1, class T2, class T3> struct C : public B<T> { void g (typename B<T>::Y::X); }; -template class B<int>; diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/typeof1.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/typeof1.C deleted file mode 100644 index a3c13c8ae..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/typeof1.C +++ /dev/null @@ -1,21 +0,0 @@ -// Test typeof template argument substitution - -// Copyright (C) 2001 Free Software Foundation -// Contributed by Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net> -// { dg-do compile } -// { dg-options "" } - -template <class T> struct A { - void f() {} - void g(T* t) { - A<typeof(t)> a; - a.f(); - } -}; - -int main() -{ - A<int> a; - int b; - a.g(&b); -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/typeof10.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/typeof10.C deleted file mode 100644 index 1b357ad9d..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/typeof10.C +++ /dev/null @@ -1,11 +0,0 @@ -// PR c++/20552 -// Origin: Ivan Godard <igodard@pacbell.net> - -template<int> struct A -{ - void foo() - { - typedef int T; // { dg-error "previous" } - typedef __typeof__(*this) T; // { dg-error "conflicting" } - } -}; diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/typeof11.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/typeof11.C deleted file mode 100644 index 757bcdea4..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/typeof11.C +++ /dev/null @@ -1,18 +0,0 @@ -// PR c++/37920 - -template<typename T> T& ensure_obj(const T&); -template <typename T> -void func2(T& t) -{ - typedef __typeof__(ensure_obj(t)) ttt; - struct ttt1 - { - ttt1( ttt arg0 ){} - } tttt ( t ); -} -int main() -{ - double d = 5; - func2(d); -} - diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/typeof2.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/typeof2.C deleted file mode 100644 index 3c5112fd0..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/typeof2.C +++ /dev/null @@ -1,29 +0,0 @@ -// Test typeof with __asm redirection -// { dg-do compile } -// { dg-options "-O2" } - -extern "C" { - extern int foo1; - extern int foo1 __asm ("bar1"); - int foo1 = 1; - - extern int foo2 (int); - extern int foo2 (int) __asm ("bar2"); - int foo2 (int x) - { - return x; - } - - extern int foo3; - extern __typeof (foo3) foo3 __asm ("bar3"); - int foo3 = 1; - - extern int foo4 (int); - extern __typeof (foo4) foo4 __asm ("bar4"); - int foo4 (int x) - { - return x; - } -} - -// { dg-final { scan-assembler-not "foo" } } diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/typeof3.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/typeof3.C deleted file mode 100644 index cf78c7c61..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/typeof3.C +++ /dev/null @@ -1,4 +0,0 @@ -double f(double); -float f(float); -void h(typeof(f) g) {} // { dg-error "" } - diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/typeof4.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/typeof4.C deleted file mode 100644 index 2f4237035..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/typeof4.C +++ /dev/null @@ -1,13 +0,0 @@ -// { dg-do compile } -// { dg-options "" } - -// Origin: Wolfgang Bangerth <bangerth@ticam.utexas.edu> - -// PR c++/9459: typeof in return type of template function - -void foo (int) {} -void foo (double) {} - -template <typename C> -typeof(foo(1)) -bar () { return foo(1); } diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/typeof5.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/typeof5.C deleted file mode 100644 index d1ee4f718..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/typeof5.C +++ /dev/null @@ -1,8 +0,0 @@ -// { dg-options "" } - -int foo; - -template <class T> struct Base {}; - -template <class T> -struct Derived : public Base<typeof(foo)> {}; diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/typeof6.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/typeof6.C deleted file mode 100644 index ef75f255c..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/typeof6.C +++ /dev/null @@ -1,17 +0,0 @@ -// { dg-options "" } - -template <class T> -void test1() { - int x = 0; - const typeof(x) & t1 = x+0; -} - -void test2() { - int x = 0; - const typeof(x) & t1 = x+0; -} - -int main() { - test1<int>(); - test2 (); -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/typeof7.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/typeof7.C deleted file mode 100644 index 6c426931b..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/typeof7.C +++ /dev/null @@ -1,6 +0,0 @@ -// PR c++/13635 -// { dg-options "" } - -template<int n> class X {template<class Y> typeof(Y::y) foo();}; -X<0> x; - diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/typeof8.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/typeof8.C deleted file mode 100644 index 8e6523484..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/typeof8.C +++ /dev/null @@ -1,12 +0,0 @@ -// PR c++/14116 -// Any use of typeof in a templete was causing an ICE. -// { dg-options "" } - -struct vector { typedef int iterator; }; -vector read_queue; -template <class T> void f(){ - typedef typeof (read_queue) read_queue_t; - read_queue_t::iterator it; -} - - diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/typeof9.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/typeof9.C deleted file mode 100644 index 1547c0f2f..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/typeof9.C +++ /dev/null @@ -1,17 +0,0 @@ -// { dg-do compile } - -// Origin: gcc-bug@vogtner.de - -// PR c++/14106: ICE with typeof of function template. - -template<class T> -void j (T i) -{ -} - -template<typename T> -void instanciate () { - static void (*fp) (T) = j; - __typeof__ (j) *p; // { dg-error "unknown|invalid" } -} -template void instanciate<float>(); diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/unary_trait_incomplete.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/unary_trait_incomplete.C deleted file mode 100644 index ecc5ec224..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/unary_trait_incomplete.C +++ /dev/null @@ -1,76 +0,0 @@ -// PR c++/39475 - -struct I; // { dg-error "forward declaration" } -struct C { }; - -bool nas1 = __has_nothrow_assign(I); // { dg-error "incomplete type" } -bool nas2 = __has_nothrow_assign(C[]); -bool nas3 = __has_nothrow_assign(I[]); // { dg-error "incomplete type" } -bool nas4 = __has_nothrow_assign(void); -bool nas5 = __has_nothrow_assign(const void); - -bool tas1 = __has_trivial_assign(I); // { dg-error "incomplete type" } -bool tas2 = __has_trivial_assign(C[]); -bool tas3 = __has_trivial_assign(I[]); // { dg-error "incomplete type" } -bool tas4 = __has_trivial_assign(void); -bool tas5 = __has_trivial_assign(const void); - -bool nco1 = __has_nothrow_constructor(I); // { dg-error "incomplete type" } -bool nco2 = __has_nothrow_constructor(C[]); -bool nco3 = __has_nothrow_constructor(I[]); // { dg-error "incomplete type" } -bool nco4 = __has_nothrow_constructor(void); -bool nco5 = __has_nothrow_constructor(const void); - -bool tco1 = __has_trivial_constructor(I); // { dg-error "incomplete type" } -bool tco2 = __has_trivial_constructor(C[]); -bool tco3 = __has_trivial_constructor(I[]); // { dg-error "incomplete type" } -bool tco4 = __has_trivial_constructor(void); -bool tco5 = __has_trivial_constructor(const void); - -bool ncp1 = __has_nothrow_copy(I); // { dg-error "incomplete type" } -bool ncp2 = __has_nothrow_copy(C[]); -bool ncp3 = __has_nothrow_copy(I[]); // { dg-error "incomplete type" } -bool ncp4 = __has_nothrow_copy(void); -bool ncp5 = __has_nothrow_copy(const void); - -bool tcp1 = __has_trivial_copy(I); // { dg-error "incomplete type" } -bool tcp2 = __has_trivial_copy(C[]); -bool tcp3 = __has_trivial_copy(I[]); // { dg-error "incomplete type" } -bool tcp4 = __has_trivial_copy(void); -bool tcp5 = __has_trivial_copy(const void); - -bool vde1 = __has_virtual_destructor(I); // { dg-error "incomplete type" } -bool vde2 = __has_virtual_destructor(C[]); -bool vde3 = __has_virtual_destructor(I[]); // { dg-error "incomplete type" } -bool vde4 = __has_virtual_destructor(void); -bool vde5 = __has_virtual_destructor(const void); - -bool tde1 = __has_trivial_destructor(I); // { dg-error "incomplete type" } -bool tde2 = __has_trivial_destructor(C[]); -bool tde3 = __has_trivial_destructor(I[]); // { dg-error "incomplete type" } -bool tde4 = __has_trivial_destructor(void); -bool tde5 = __has_trivial_destructor(const void); - -bool abs1 = __is_abstract(I); // { dg-error "incomplete type" } -bool abs2 = __is_abstract(C[]); -bool abs3 = __is_abstract(I[]); // { dg-error "incomplete type" } -bool abs4 = __is_abstract(void); -bool abs5 = __is_abstract(const void); - -bool pod1 = __is_pod(I); // { dg-error "incomplete type" } -bool pod2 = __is_pod(C[]); -bool pod3 = __is_pod(I[]); // { dg-error "incomplete type" } -bool pod4 = __is_pod(void); -bool pod5 = __is_pod(const void); - -bool emp1 = __is_empty(I); // { dg-error "incomplete type" } -bool emp2 = __is_empty(C[]); -bool emp3 = __is_empty(I[]); // { dg-error "incomplete type" } -bool emp4 = __is_empty(void); -bool emp5 = __is_empty(const void); - -bool pol1 = __is_polymorphic(I); // { dg-error "incomplete type" } -bool pol2 = __is_polymorphic(C[]); -bool pol3 = __is_polymorphic(I[]); // { dg-error "incomplete type" } -bool pol4 = __is_polymorphic(void); -bool pol5 = __is_polymorphic(const void); diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/underlying_type1.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/underlying_type1.C deleted file mode 100644 index a8f68d3d6..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/underlying_type1.C +++ /dev/null @@ -1,18 +0,0 @@ -// { dg-do compile } - -struct B { }; -union U { }; - -template<typename T> - struct underlying_type - { typedef __underlying_type(T) type; }; // { dg-error "not an enumeration" } - -__underlying_type(int) i1; // { dg-error "not an enumeration|invalid" } -__underlying_type(A) i2; // { dg-error "expected" } -__underlying_type(B) i3; // { dg-error "not an enumeration|invalid" } -__underlying_type(U) i4; // { dg-error "not an enumeration|invalid" } - -underlying_type<int>::type i5; -underlying_type<A>::type i6; // { dg-error "not declared|template|expected" } -underlying_type<B>::type i7; -underlying_type<U>::type i8; diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/underlying_type10.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/underlying_type10.C deleted file mode 100644 index cb57407fe..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/underlying_type10.C +++ /dev/null @@ -1,32 +0,0 @@ -// { dg-do run } -// { dg-options "-std=c++0x" } - -#include <cassert> - -enum E1 : unsigned { E1_en = 1 }; -enum E2 : char { E2_en = 1 }; -enum class E3 { a = -1 }; -enum class E4 : unsigned char { c = 1 }; -enum class E5 : int { a = -1, b = 1 }; -enum class E6 : long { c = __LONG_MAX__ }; - -template<typename T> - struct underlying_type - { typedef __underlying_type(T) type; }; - -template<typename T> - void - test(T t, typename underlying_type<T>::type v) - { - assert( t == T(v) ); - } - -int main() -{ - test(E1::E1_en, 1); - test(E2::E2_en, 1); - test(E3::a, -1); - test(E4::c, 1); - test(E5::a, -1); - test(E6::c, __LONG_MAX__); -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/underlying_type11.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/underlying_type11.C deleted file mode 100644 index 72ee434bb..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/underlying_type11.C +++ /dev/null @@ -1,3 +0,0 @@ -// PR c++/51414 - -__underlying_type(int[1]) i; // { dg-error "int \\\[1\\\]|invalid" } diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/underlying_type2.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/underlying_type2.C deleted file mode 100644 index 0e4519876..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/underlying_type2.C +++ /dev/null @@ -1,9 +0,0 @@ -// { dg-do compile } - -enum E1 { }; -enum E2 { a = -1, b = 1 }; -enum E3 { c = __LONG_MAX__ }; - -__underlying_type(E1) e1 = 0; -__underlying_type(E2) e2 = b; -__underlying_type(E3) e3 = __LONG_MAX__; diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/underlying_type3.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/underlying_type3.C deleted file mode 100644 index b78cc7dd3..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/underlying_type3.C +++ /dev/null @@ -1,33 +0,0 @@ -// { dg-do compile } -// { dg-options "-std=c++0x" } - -template<typename T1, typename T2> - struct is_same - { static const bool value = false; }; - -template<typename T> - struct is_same<T, T> - { static const bool value = true; }; - -enum E1 : unsigned { }; -enum E2 : char { }; -enum class E3 { }; -enum class E4 : unsigned char { c = 1 }; -enum class E5 : int { a = -1, b = 1 }; -enum class E6 : long { c = __LONG_MAX__ }; - -__underlying_type(E1) i1 = __INT_MAX__ * 2U + 1; -__underlying_type(E2) i2 = (char(-1) < 0 - ? __SCHAR_MAX__ - : __SCHAR_MAX__ * 2U + 1); -__underlying_type(E3) i3 = __INT_MAX__; -__underlying_type(E4) i4 = __SCHAR_MAX__ * 2U + 1; -__underlying_type(E5) i5 = int(E5::b); -__underlying_type(E6) i6 = __LONG_MAX__; - -static_assert(is_same<__underlying_type(E1), unsigned>::value, "Error"); -static_assert(is_same<__underlying_type(E2), char>::value, "Error"); -static_assert(is_same<__underlying_type(E3), int>::value, "Error"); -static_assert(is_same<__underlying_type(E4), unsigned char>::value, "Error"); -static_assert(is_same<__underlying_type(E5), int>::value, "Error"); -static_assert(is_same<__underlying_type(E6), long>::value, "Error"); diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/underlying_type4.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/underlying_type4.C deleted file mode 100644 index b80ed5769..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/underlying_type4.C +++ /dev/null @@ -1,25 +0,0 @@ -// { dg-do compile } - -#include <tr1/type_traits> - -using namespace std::tr1; - -enum E1 { }; -enum E2 { a = -1, b = 1 }; -enum E3 { c = __LONG_MAX__ }; - -typedef __underlying_type(E1) UTE1; -typedef __underlying_type(E2) UTE2; -typedef __underlying_type(E3) UTE3; - -template<typename T> - struct underlying_type - { typedef __underlying_type(T) type; }; - -int test1[is_same<underlying_type<E1>::type, UTE1>::value ? 1 : -1]; -int test2[is_same<underlying_type<E2>::type, UTE2>::value ? 1 : -1]; -int test3[is_same<underlying_type<E3>::type, UTE3>::value ? 1 : -1]; - -int test4[is_integral<underlying_type<E1>::type>::value ? 1 : -1]; -int test5[is_integral<underlying_type<E2>::type>::value ? 1 : -1]; -int test6[is_integral<underlying_type<E3>::type>::value ? 1 : -1]; diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/underlying_type5.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/underlying_type5.C deleted file mode 100644 index a9c19924b..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/underlying_type5.C +++ /dev/null @@ -1,43 +0,0 @@ -// { dg-do compile } -// { dg-options "-std=c++0x" } - -template<typename T1, typename T2> - struct is_same - { static const bool value = false; }; - -template<typename T> - struct is_same<T, T> - { static const bool value = true; }; - -enum E1 : unsigned { }; -enum E2 : char { }; -enum class E3 { }; -enum class E4 : unsigned char { c = 1 }; -enum class E5 : int { a = -1, b = 1 }; -enum class E6 : long { c = __LONG_MAX__ }; - -typedef __underlying_type(E1) UTE1; -typedef __underlying_type(E2) UTE2; -typedef __underlying_type(E3) UTE3; -typedef __underlying_type(E4) UTE4; -typedef __underlying_type(E5) UTE5; -typedef __underlying_type(E6) UTE6; - -template<typename T> - struct underlying_type - { typedef __underlying_type(T) type; }; - -static_assert(is_same<underlying_type<E1>::type, UTE1>::value, "Error"); -static_assert(is_same<underlying_type<E2>::type, UTE2>::value, "Error"); -static_assert(is_same<underlying_type<E3>::type, UTE3>::value, "Error"); -static_assert(is_same<underlying_type<E4>::type, UTE4>::value, "Error"); -static_assert(is_same<underlying_type<E5>::type, UTE5>::value, "Error"); -static_assert(is_same<underlying_type<E6>::type, UTE6>::value, "Error"); - -static_assert(is_same<underlying_type<E1>::type, unsigned>::value, "Error"); -static_assert(is_same<underlying_type<E2>::type, char>::value, "Error"); -static_assert(is_same<underlying_type<E3>::type, int>::value, "Error"); -static_assert(is_same<underlying_type<E4>::type, - unsigned char>::value, "Error"); -static_assert(is_same<underlying_type<E5>::type, int>::value, "Error"); -static_assert(is_same<underlying_type<E6>::type, long>::value, "Error"); diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/underlying_type6.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/underlying_type6.C deleted file mode 100644 index 50f528856..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/underlying_type6.C +++ /dev/null @@ -1,31 +0,0 @@ -// { dg-do compile } -// { dg-options "-std=c++0x" } - -template<typename T1, typename T2> - struct is_same - { static const bool value = false; }; - -template<typename T> - struct is_same<T, T> - { static const bool value = true; }; - -enum E1 : unsigned { }; -enum E2 : char { }; -enum class E3 { }; -enum class E4 : unsigned char { c = 1 }; -enum class E5 : int { a = -1, b = 1 }; -enum class E6 : long { c = __LONG_MAX__ }; - -template<typename T, typename U, - typename V = __underlying_type(T)> - struct test - { - static_assert(is_same<U, V>::value, "Error"); - }; - -template class test<E1, unsigned>; -template class test<E2, char>; -template class test<E3, int>; -template class test<E4, unsigned char>; -template class test<E5, int>; -template class test<E6, long>; diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/underlying_type7.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/underlying_type7.C deleted file mode 100644 index 872fe52b0..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/underlying_type7.C +++ /dev/null @@ -1,24 +0,0 @@ -// { dg-do compile } -// { dg-options "-std=c++0x" } - -enum E1 : unsigned { E1_en = 1 }; -enum E2 : char { E2_en = 1 }; -enum class E3 { a = -1 }; -enum class E4 : unsigned char { c = 1 }; -enum class E5 : int { a = -1, b = 1 }; -enum class E6 : long { c = __LONG_MAX__ }; - -template<typename T> - void - test(T, __underlying_type(T)) // { dg-message "sorry, unimplemented: mangling" } - { } - -int main() -{ - test(E1::E1_en, 1); - test(E2::E2_en, 1); - test(E3::a, -1); - test(E4::c, 1); - test(E5::a, -1); - test(E6::c, __LONG_MAX__); -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/underlying_type8.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/underlying_type8.C deleted file mode 100644 index 0bbed2b48..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/underlying_type8.C +++ /dev/null @@ -1,46 +0,0 @@ -// { dg-do compile } -// { dg-options "-std=c++0x" } - -enum E1 : unsigned { E1_en = 1 }; -enum E2 : char { E2_en = 1 }; -enum class E3 { a = -1 }; -enum class E4 : unsigned char { c = 1 }; -enum class E5 : int { a = -1, b = 1 }; -enum class E6 : long { c = __LONG_MAX__ }; - -template<typename T1, typename T2> - struct is_same - { static const bool value = false; }; - -template<typename T> - struct is_same<T, T> - { static const bool value = true; }; - -template<typename> - struct underlying_type; - -template<typename T, typename U> - void - test(T, U, typename underlying_type<T>::type); - -template<typename T> - struct underlying_type - { typedef __underlying_type(T) type; }; - -template<typename T, typename U> - void - test(T, U, typename underlying_type<T>::type) - { - static_assert(is_same<typename underlying_type<T>::type, U>::value, - "Error"); - } - -int main() -{ - test(E1::E1_en, unsigned(), 1); - test(E2::E2_en, char(), 1); - test(E3::a, int(), -1); - test(E4::c, (unsigned char)(1), 1); - test(E5::a, int(), -1); - test(E6::c, long(), __LONG_MAX__); -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/underlying_type9.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/underlying_type9.C deleted file mode 100644 index 9ffd24439..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/underlying_type9.C +++ /dev/null @@ -1,30 +0,0 @@ -// { dg-do compile } -// { dg-options "-std=c++0x" } - -template<typename T1, typename T2> - struct is_same - { static const bool value = false; }; - -template<typename T> - struct is_same<T, T> - { static const bool value = true; }; - -enum E1 : unsigned { }; -enum E2 : char { }; -enum class E3 { }; -enum class E4 : unsigned char { c = 1 }; -enum class E5 : int { a = -1, b = 1 }; -enum class E6 : long { c = __LONG_MAX__ }; - -template<typename T, typename U> - struct test - { - static_assert(is_same<T, U>::value, "Error"); - }; - -test<__underlying_type(E1), unsigned> t1; -test<__underlying_type(E2), char> t2; -test<__underlying_type(E3), int> t3; -test<__underlying_type(E4), unsigned char> t4; -test<__underlying_type(E5), int> t5; -test<__underlying_type(E6), long> t6; diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/uow-1.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/uow-1.C deleted file mode 100644 index fdf6aebb1..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/uow-1.C +++ /dev/null @@ -1,12 +0,0 @@ -/* { dg-do compile } */ -/* { dg-options "-Wall" } */ - -extern "C" { - -typedef int UOW; -struct ABC { - UOW UOW; -}; - -} - diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/uow-2.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/uow-2.C deleted file mode 100644 index 79c1913f9..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/uow-2.C +++ /dev/null @@ -1,8 +0,0 @@ -/* { dg-do compile } */ -/* { dg-options "-Wall -fms-extensions" } */ - -typedef int UOW; -struct ABC { - UOW UOW; -}; - diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/uow-3.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/uow-3.C deleted file mode 100644 index a2c224021..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/uow-3.C +++ /dev/null @@ -1,8 +0,0 @@ -/* { dg-do compile } */ -/* { dg-options "-Wall" } */ - -typedef int UOW; /* { dg-error "" } */ -struct ABC { - UOW UOW; /* { dg-error "" } */ -}; - diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/uow-4.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/uow-4.C deleted file mode 100644 index 21ed04a88..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/uow-4.C +++ /dev/null @@ -1,12 +0,0 @@ -/* { dg-do compile } */ -/* { dg-options "-Wall -pedantic" } */ - -extern "C" { - -typedef int UOW; /* { dg-error "" } */ -struct ABC { - UOW UOW; /* { dg-error "" } */ -}; - -} - diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/utf-array-short-wchar.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/utf-array-short-wchar.C deleted file mode 100644 index a549f6973..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/utf-array-short-wchar.C +++ /dev/null @@ -1,36 +0,0 @@ -/* Contributed by Kris Van Hees <kris.van.hees@oracle.com> */ -/* Expected errors for char16_t/char32_t string literals. */ -/* { dg-do compile } */ -/* { dg-options "-std=c++0x -fshort-wchar" } */ - -const char s_0[] = "ab"; -const char s_1[] = u"ab"; /* { dg-error "from wide string" } */ -const char s_2[] = U"ab"; /* { dg-error "from wide string" } */ -const char s_3[] = L"ab"; /* { dg-error "from wide string" } */ - -const char16_t s16_0[] = "ab"; /* { dg-error "from non-wide" } */ -const char16_t s16_1[] = u"ab"; -const char16_t s16_2[] = U"ab"; /* { dg-error "from incompatible" } */ -const char16_t s16_3[] = L"ab"; /* { dg-error "from incompatible" } */ - -const char16_t s16_4[0] = u"ab"; /* { dg-error "chars is too long" } */ -const char16_t s16_5[1] = u"ab"; /* { dg-error "chars is too long" } */ -const char16_t s16_6[2] = u"ab"; /* { dg-error "chars is too long" } */ -const char16_t s16_7[3] = u"ab"; -const char16_t s16_8[4] = u"ab"; - -const char32_t s32_0[] = "ab"; /* { dg-error "from non-wide" } */ -const char32_t s32_1[] = u"ab"; /* { dg-error "from incompatible" } */ -const char32_t s32_2[] = U"ab"; -const char32_t s32_3[] = L"ab"; /* { dg-error "from incompatible" } */ - -const char32_t s32_4[0] = U"ab"; /* { dg-error "chars is too long" } */ -const char32_t s32_5[1] = U"ab"; /* { dg-error "chars is too long" } */ -const char32_t s32_6[2] = U"ab"; /* { dg-error "chars is too long" } */ -const char32_t s32_7[3] = U"ab"; -const char32_t s32_8[4] = U"ab"; - -const wchar_t sw_0[] = "ab"; /* { dg-error "from non-wide" } */ -const wchar_t sw_1[] = u"ab"; /* { dg-error "from incompatible" } */ -const wchar_t sw_2[] = U"ab"; /* { dg-error "from incompatible" } */ -const wchar_t sw_3[] = L"ab"; diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/utf-array.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/utf-array.C deleted file mode 100644 index 6a14f79e5..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/utf-array.C +++ /dev/null @@ -1,36 +0,0 @@ -/* Contributed by Kris Van Hees <kris.van.hees@oracle.com> */ -/* Expected errors for char16_t/char32_t string literals. */ -/* { dg-do compile } */ -/* { dg-options "-std=c++0x" } */ - -const char s_0[] = "ab"; -const char s_1[] = u"ab"; /* { dg-error "from wide string" } */ -const char s_2[] = U"ab"; /* { dg-error "from wide string" } */ -const char s_3[] = L"ab"; /* { dg-error "from wide string" } */ - -const char16_t s16_0[] = "ab"; /* { dg-error "from non-wide" } */ -const char16_t s16_1[] = u"ab"; -const char16_t s16_2[] = U"ab"; /* { dg-error "from incompatible" } */ -const char16_t s16_3[] = L"ab"; /* { dg-error "from incompatible" } */ - -const char16_t s16_4[0] = u"ab"; /* { dg-error "chars is too long" } */ -const char16_t s16_5[1] = u"ab"; /* { dg-error "chars is too long" } */ -const char16_t s16_6[2] = u"ab"; /* { dg-error "chars is too long" } */ -const char16_t s16_7[3] = u"ab"; -const char16_t s16_8[4] = u"ab"; - -const char32_t s32_0[] = "ab"; /* { dg-error "from non-wide" } */ -const char32_t s32_1[] = u"ab"; /* { dg-error "from incompatible" } */ -const char32_t s32_2[] = U"ab"; -const char32_t s32_3[] = L"ab"; /* { dg-error "from incompatible" } */ - -const char32_t s32_4[0] = U"ab"; /* { dg-error "chars is too long" } */ -const char32_t s32_5[1] = U"ab"; /* { dg-error "chars is too long" } */ -const char32_t s32_6[2] = U"ab"; /* { dg-error "chars is too long" } */ -const char32_t s32_7[3] = U"ab"; -const char32_t s32_8[4] = U"ab"; - -const wchar_t sw_0[] = "ab"; /* { dg-error "from non-wide" } */ -const wchar_t sw_1[] = u"ab"; /* { dg-error "from incompatible" } */ -const wchar_t sw_2[] = U"ab"; /* { dg-error "from incompatible" } */ -const wchar_t sw_3[] = L"ab"; diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/utf-badconcat.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/utf-badconcat.C deleted file mode 100644 index bab020e4f..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/utf-badconcat.C +++ /dev/null @@ -1,22 +0,0 @@ -/* Contributed by Kris Van Hees <kris.van.hees@oracle.com> */ -/* Test unsupported concatenation of char16_t/char32_t* string literals. */ -/* { dg-do compile } */ -/* { dg-options "-std=c++0x" } */ - -const void *s0 = u"a" "b"; -const void *s1 = "a" u"b"; -const void *s2 = u"a" U"b"; /* { dg-error "non-standard concatenation" } */ -const void *s3 = U"a" u"b"; /* { dg-error "non-standard concatenation" } */ -const void *s4 = u"a" L"b"; /* { dg-error "non-standard concatenation" } */ -const void *s5 = L"a" u"b"; /* { dg-error "non-standard concatenation" } */ -const void *s6 = u"a" u"b"; -const void *s7 = U"a" "b"; -const void *s8 = "a" U"b"; -const void *s9 = U"a" L"b"; /* { dg-error "non-standard concatenation" } */ -const void *sa = L"a" U"b"; /* { dg-error "non-standard concatenation" } */ -const void *sb = U"a" U"b"; -const void *sc = L"a" "b"; -const void *sd = "a" L"b"; -const void *se = L"a" L"b"; - -int main () {} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/utf-badconcat2.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/utf-badconcat2.C deleted file mode 100644 index 499b323fc..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/utf-badconcat2.C +++ /dev/null @@ -1,15 +0,0 @@ -// Test unsupported concatenation of UTF-8 string literals. -// { dg-do compile } -// { dg-options "-std=c++0x" } - -const void *s0 = u8"a" "b"; -const void *s1 = "a" u8"b"; -const void *s2 = u8"a" u8"b"; -const void *s3 = u8"a" u"b"; // { dg-error "non-standard concatenation" } -const void *s4 = u"a" u8"b"; // { dg-error "non-standard concatenation" } -const void *s5 = u8"a" U"b"; // { dg-error "non-standard concatenation" } -const void *s6 = U"a" u8"b"; // { dg-error "non-standard concatenation" } -const void *s7 = u8"a" L"b"; // { dg-error "non-standard concatenation" } -const void *s8 = L"a" u8"b"; // { dg-error "non-standard concatenation" } - -int main () {} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/utf-cvt.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/utf-cvt.C deleted file mode 100644 index 286a0d007..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/utf-cvt.C +++ /dev/null @@ -1,55 +0,0 @@ -/* Contributed by Kris Van Hees <kris.van.hees@oracle.com> */ -/* Test the char16_t and char32_t promotion rules. */ -/* { dg-do compile } */ -/* { dg-options "-std=c++0x -Wall -Wconversion -Wsign-conversion -Wsign-promo" } */ - -extern void f_c (char); -extern void fsc (signed char); -extern void fuc (unsigned char); -extern void f_s (short); -extern void fss (signed short); -extern void fus (unsigned short); -extern void f_i (int); -extern void fsi (signed int); -extern void fui (unsigned int); -extern void f_l (long); -extern void fsl (signed long); -extern void ful (unsigned long); -extern void f_ll (long long); -extern void fsll (signed long long); -extern void full (unsigned long long); - -void m(char16_t c0, char32_t c1) -{ - f_c (c0); /* { dg-warning "alter its value" } */ - fsc (c0); /* { dg-warning "alter its value" } */ - fuc (c0); /* { dg-warning "alter its value" } */ - f_s (c0); /* { dg-warning "change the sign" } */ - fss (c0); /* { dg-warning "change the sign" } */ - fus (c0); - f_i (c0); - fsi (c0); - fui (c0); - f_l (c0); - fsl (c0); - ful (c0); - f_ll (c0); - fsll (c0); - full (c0); - - f_c (c1); /* { dg-warning "alter its value" } */ - fsc (c1); /* { dg-warning "alter its value" } */ - fuc (c1); /* { dg-warning "alter its value" } */ - f_s (c1); /* { dg-warning "alter its value" } */ - fss (c1); /* { dg-warning "alter its value" } */ - fus (c1); /* { dg-warning "alter its value" } */ - f_i (c1); /* { dg-warning "change the sign" } */ - fsi (c1); /* { dg-warning "change the sign" } */ - fui (c1); - f_l (c1); /* { dg-warning "change the sign" "" { target { llp64 || ilp32 } } } */ - fsl (c1); /* { dg-warning "change the sign" "" { target { llp64 || ilp32 } } } */ - ful (c1); - f_ll (c1); - fsll (c1); - full (c1); -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/utf-cxx0x.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/utf-cxx0x.C deleted file mode 100644 index 1daa0dee4..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/utf-cxx0x.C +++ /dev/null @@ -1,14 +0,0 @@ -/* Contributed by Kris Van Hees <kris.van.hees@oracle.com> */ -/* Test parsing of u and U prefixes when also used as macros. */ -/* { dg-do compile } */ -/* { dg-options "-std=c++0x" } */ - -#define u L -#define U L - -const unsigned short c2 = u'a'; -const unsigned long c3 = U'a'; -const void *s0 = u"a"; -const void *s1 = U"a"; - -int main () {} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/utf-cxx98.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/utf-cxx98.C deleted file mode 100644 index 365118e39..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/utf-cxx98.C +++ /dev/null @@ -1,27 +0,0 @@ -/* Contributed by Kris Van Hees <kris.van.hees@oracle.com> */ -/* Expected errors for char16_t/char32_t in c++98. */ -/* Ensure u and U prefixes are parsed as separate tokens in c++98. */ -/* { dg-do compile } */ -/* { dg-options "-std=c++98" } */ - -const static char16_t c0 = 'a'; /* { dg-error "not name a type" } */ -const static char32_t c1 = 'a'; /* { dg-error "not name a type" } */ - -const unsigned short c2 = u'a'; /* { dg-error "not declared" } */ -const unsigned long c3 = U'a'; /* { dg-error "not declared" } */ - -#define u 1 + -#define U 2 + - -const unsigned short c5 = u'a'; -const unsigned long c6 = U'a'; - -#undef u -#undef U -#define u "a" -#define U "b" - -const void *s0 = u"a"; -const void *s1 = U"a"; - -int main () {} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/utf-dflt.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/utf-dflt.C deleted file mode 100644 index c2b127d5d..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/utf-dflt.C +++ /dev/null @@ -1,27 +0,0 @@ -/* Contributed by Kris Van Hees <kris.van.hees@oracle.com> */ -/* Expected errors for char16_t/char32_t in default std. */ -/* Ensure u and U prefixes are parsed as separate tokens in default std. */ -/* { dg-do compile } */ -/* { dg-options "-std=c++98" } */ - -const static char16_t c0 = 'a'; /* { dg-error "not name a type" } */ -const static char32_t c1 = 'a'; /* { dg-error "not name a type" } */ - -const unsigned short c2 = u'a'; /* { dg-error "not declared" } */ -const unsigned long c3 = U'a'; /* { dg-error "not declared" } */ - -#define u 1 + -#define U 2 + - -const unsigned short c4 = u'a'; -const unsigned long c5 = U'a'; - -#undef u -#undef U -#define u "a" -#define U "b" - -const void *s0 = u"a"; -const void *s1 = U"a"; - -int main () {} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/utf-dflt2.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/utf-dflt2.C deleted file mode 100644 index ab18ef52f..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/utf-dflt2.C +++ /dev/null @@ -1,11 +0,0 @@ -// In C++0x, the u8 prefix should be parsed as separate tokens. -// { dg-do compile } -// { dg-options "-std=c++98" } - -const void *s0 = u8"a"; // { dg-error "was not declared" } - -#define u8 "a" - -const void *s1 = u8"a"; - -int main () {} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/utf-gnuxx0x.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/utf-gnuxx0x.C deleted file mode 100644 index 0a6967fe4..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/utf-gnuxx0x.C +++ /dev/null @@ -1,14 +0,0 @@ -/* Contributed by Kris Van Hees <kris.van.hees@oracle.com> */ -/* Test parsing of u and U prefixes when also used as macros. */ -/* { dg-do compile } */ -/* { dg-options "-std=gnu++0x" } */ - -#define u L -#define U L - -const unsigned short c2 = u'a'; -const unsigned long c3 = U'a'; -const void *s0 = u"a"; -const void *s1 = U"a"; - -int main () {} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/utf-gnuxx98.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/utf-gnuxx98.C deleted file mode 100644 index b3be121e2..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/utf-gnuxx98.C +++ /dev/null @@ -1,27 +0,0 @@ -/* Contributed by Kris Van Hees <kris.van.hees@oracle.com> */ -/* Expected errors for char16_t/char32_t in gnu++98. */ -/* Ensure u and U prefixes are parsed as separate tokens in gnu++98. */ -/* { dg-do compile } */ -/* { dg-options "-std=gnu++98" } */ - -const static char16_t c0 = 'a'; /* { dg-error "not name a type" } */ -const static char32_t c1 = 'a'; /* { dg-error "not name a type" } */ - -const unsigned short c2 = u'a'; /* { dg-error "not declared" } */ -const unsigned long c3 = U'a'; /* { dg-error "not declared" } */ - -#define u 1 + -#define U 2 + - -const unsigned short c5 = u'a'; -const unsigned long c6 = U'a'; - -#undef u -#undef U -#define u "a" -#define U "b" - -const void *s0 = u"a"; -const void *s1 = U"a"; - -int main () {} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/utf-mangle.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/utf-mangle.C deleted file mode 100644 index a13188788..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/utf-mangle.C +++ /dev/null @@ -1,14 +0,0 @@ -// Contributed by Kris Van Hees <kris.van.hees@oracle.com> -// Test the support for char16_t character constants. -// { dg-do compile } -// { dg-options "-std=c++0x" } - -void f0 (char16_t c) {} -void f1 (char32_t c) {} -void f2 (char16_t *s) {} -void f3 (char32_t *s) {} - -// { dg-final { scan-assembler "_Z2f0Ds:" } } -// { dg-final { scan-assembler "_Z2f1Di:" } } -// { dg-final { scan-assembler "_Z2f2PDs:" } } -// { dg-final { scan-assembler "_Z2f3PDi:" } } diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/utf-rtti.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/utf-rtti.C deleted file mode 100644 index b5d201b4d..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/utf-rtti.C +++ /dev/null @@ -1,12 +0,0 @@ -/* Contributed by Kris Van Hees <kris.van.hees@oracle.com> */ -/* Ensure that typeinfo data is generated for char16_t/char32_t. */ -/* { dg-do link } */ -/* { dg-options "-std=c++0x" } */ - -#include <typeinfo> - -int main(void) -{ - typeid(char16_t).name(); - typeid(char32_t).name(); -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/utf-type.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/utf-type.C deleted file mode 100644 index 41a83ff2e..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/utf-type.C +++ /dev/null @@ -1,15 +0,0 @@ -/* Contributed by Kris Van Hees <kris.van.hees@oracle.com> */ -/* Ensure that __CHAR16_TYPE__ and __CHAR32_TYPE__ exist, match the types they - are the underlying data type for. */ -/* { dg-do run } */ -/* { dg-options "-std=c++0x -Wall -Werror" } */ - -extern "C" void abort (void); - -int main () -{ - if (sizeof (__CHAR16_TYPE__) != sizeof (char16_t)) - abort(); - if (sizeof (__CHAR32_TYPE__) != sizeof (char32_t)) - abort(); -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/utf-typedef-cxx0x.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/utf-typedef-cxx0x.C deleted file mode 100644 index 641e836e4..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/utf-typedef-cxx0x.C +++ /dev/null @@ -1,7 +0,0 @@ -/* Contributed by Kris Van Hees <kris.van.hees@oracle.com> */ -/* Ensure that a typedef to char16_t/char32_t issues an error in c++0x. */ -/* { dg-do compile } */ -/* { dg-options "-std=c++0x" } */ - -typedef short unsigned int char16_t; /* { dg-error "redeclaration" } */ -typedef unsigned int char32_t; /* { dg-error "redeclaration" } */ diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/utf-typedef-cxx98.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/utf-typedef-cxx98.C deleted file mode 100644 index 8922856c2..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/utf-typedef-cxx98.C +++ /dev/null @@ -1,7 +0,0 @@ -/* Contributed by Kris Van Hees <kris.van.hees@oracle.com> */ -/* Ensure that a typedef to char16_t/char32_t is fine in c++98. */ -/* { dg-do compile } */ -/* { dg-options "-std=c++98" } */ - -typedef short unsigned int char16_t; -typedef unsigned int char32_t; diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/utf-typespec.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/utf-typespec.C deleted file mode 100644 index 6a4af2559..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/utf-typespec.C +++ /dev/null @@ -1,25 +0,0 @@ -/* Contributed by Kris Van Hees <kris.van.hees@oracle.com> */ -/* Ensure that type specifiers are not allowed for char16_t/char32_t. */ -/* { dg-do compile } */ -/* { dg-options "-std=c++0x" } */ - -signed char16_t c0; /* { dg-error "signed" } */ -signed char32_t c1; /* { dg-error "signed" } */ -unsigned char16_t c2; /* { dg-error "unsigned" } */ -unsigned char32_t c3; /* { dg-error "unsigned" } */ - -short char16_t c4; /* { dg-error "short" } */ -long char16_t c5; /* { dg-error "long" } */ -short char32_t c6; /* { dg-error "short" } */ -long char32_t c7; /* { dg-error "long" } */ - -signed short char16_t c8; /* { dg-error "signed" } */ -signed short char32_t c9; /* { dg-error "signed" } */ -signed long char16_t ca; /* { dg-error "signed" } */ -signed long char32_t cb; /* { dg-error "signed" } */ -unsigned short char16_t cc; /* { dg-error "unsigned" } */ -unsigned short char32_t cd; /* { dg-error "unsigned" } */ -unsigned long char16_t ce; /* { dg-error "unsigned" } */ -unsigned long char32_t cf; /* { dg-error "unsigned" } */ - -int main () {} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/utf16-1.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/utf16-1.C deleted file mode 100644 index fa07de912..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/utf16-1.C +++ /dev/null @@ -1,65 +0,0 @@ -/* Contributed by Kris Van Hees <kris.van.hees@oracle.com> */ -/* Test the support for char16_t character constants. */ -/* { dg-do run } */ -/* { dg-options "-std=c++0x -Wall -Werror" } */ - -extern "C" void abort (void); - -const static char16_t c0 = u'a'; -const static char16_t c1 = u'\0'; -const static char16_t c2 = u'\u0024'; -const static char16_t c3 = u'\u2029'; -const static char16_t c4 = u'\u8010'; - -const static char16_t c5 = 'a'; -const static char16_t c6 = U'a'; -const static char16_t c7 = U'\u2029'; -const static char16_t c8 = U'\u8010'; -const static char16_t c9 = L'a'; -const static char16_t ca = L'\u2029'; -const static char16_t cb = L'\u8010'; - -#define A 0x0061 -#define D 0x0024 -#define X 0x2029 -#define Y 0x8010 - -int main () -{ - if (sizeof (u'a') != sizeof (char16_t)) - abort (); - if (sizeof (u'\0') != sizeof (char16_t)) - abort (); - if (sizeof (u'\u0024') != sizeof (char16_t)) - abort (); - if (sizeof (u'\u2029') != sizeof (char16_t)) - abort (); - if (sizeof (u'\u8010') != sizeof (char16_t)) - abort (); - - if (c0 != A) - abort (); - if (c1 != 0x0000) - abort (); - if (c2 != D) - abort (); - if (c3 != X) - abort (); - if (c4 != Y) - abort (); - - if (c5 != A) - abort (); - if (c6 != A) - abort (); - if (c7 != X) - abort (); - if (c8 != Y) - abort (); - if (c9 != A) - abort (); - if (ca != X) - abort (); - if (cb != Y) - abort (); -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/utf16-2.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/utf16-2.C deleted file mode 100644 index d7a6056f8..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/utf16-2.C +++ /dev/null @@ -1,30 +0,0 @@ -/* Contributed by Kris Van Hees <kris.van.hees@oracle.com> */ -/* Test the support for char16_t* string literals. */ -/* { dg-do run } */ -/* { dg-options "-std=c++0x -Wall -Werror" } */ - -extern "C" void abort (void); - -const static char16_t *s0 = u"ab"; -const static char16_t *s1 = u"a\u0024"; -const static char16_t *s2 = u"a\u2029"; -const static char16_t *s3 = u"a\U00064321"; - -#define A 0x0061 -#define B 0x0062 -#define D 0x0024 -#define X 0x2029 -#define Y1 0xD950 -#define Y2 0xDF21 - -int main () -{ - if (s0[0] != A || s0[1] != B || s0[2] != 0x0000) - abort (); - if (s1[0] != A || s1[1] != D || s0[2] != 0x0000) - abort (); - if (s2[0] != A || s2[1] != X || s0[2] != 0x0000) - abort (); - if (s3[0] != A || s3[1] != Y1 || s3[2] != Y2 || s3[3] != 0x0000) - abort (); -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/utf16-3.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/utf16-3.C deleted file mode 100644 index 183347b6e..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/utf16-3.C +++ /dev/null @@ -1,47 +0,0 @@ -/* Contributed by Kris Van Hees <kris.van.hees@oracle.com> */ -/* Test concatenation of char16_t* string literals. */ -/* { dg-do run } */ -/* { dg-options "-std=c++0x -Wall -Werror" } */ - -extern "C" void abort (void); - -const static char16_t *s0 = u"a" u"b"; - -const static char16_t *s1 = u"a" "b"; -const static char16_t *s2 = "a" u"b"; -const static char16_t *s3 = u"a" "\u2029"; -const static char16_t *s4 = "\u2029" u"b"; -const static char16_t *s5 = u"a" "\U00064321"; -const static char16_t *s6 = "\U00064321" u"b"; - -#define A 0x0061 -#define B 0x0062 -#define X 0x2029 -#define Y1 0xD950 -#define Y2 0xDF21 - -int main () -{ - if (sizeof ((u"a" u"b")[0]) != sizeof (char16_t)) - abort (); - if (sizeof ((u"a" "b")[0]) != sizeof (char16_t)) - abort (); - if (sizeof (( "a" u"b")[0]) != sizeof (char16_t)) - abort (); - - if (s0[0] != A || s0[1] != B || s0[2] != 0x0000) - abort (); - - if (s1[0] != A || s1[1] != B || s1[2] != 0x0000) - abort (); - if (s2[0] != A || s2[1] != B || s2[2] != 0x0000) - abort (); - if (s3[0] != A || s3[1] != X || s3[2] != 0x0000) - abort (); - if (s4[0] != X || s4[1] != B || s4[2] != 0x0000) - abort (); - if (s5[0] != A || s5[1] != Y1 || s5[2] != Y2 || s5[3] != 0x0000) - abort (); - if (s6[0] != Y1 || s6[1] != Y2 || s6[2] != B || s6[3] != 0x0000) - abort (); -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/utf16-4.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/utf16-4.C deleted file mode 100644 index 21cdb53bd..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/utf16-4.C +++ /dev/null @@ -1,18 +0,0 @@ -/* Contributed by Kris Van Hees <kris.van.hees@oracle.com> */ -/* Expected errors for char16_t character constants. */ -/* { dg-do compile } */ -/* { dg-options "-std=c++0x" } */ - -const static char16_t c0 = u''; /* { dg-error "empty character" } */ -const static char16_t c1 = u'ab'; /* { dg-warning "constant too long" } */ -const static char16_t c2 = u'\U00064321'; /* { dg-warning "constant too long" } */ - -const static char16_t c3 = 'a'; -const static char16_t c4 = U'a'; -const static char16_t c5 = U'\u2029'; -const static char16_t c6 = U'\U00064321'; /* { dg-warning "implicitly truncated" } */ -const static char16_t c7 = L'a'; -const static char16_t c8 = L'\u2029'; -const static char16_t c9 = L'\U00064321'; /* { dg-warning "implicitly truncated" "" { target { 4byte_wchar_t } } 16 } */ - /* { dg-warning "constant too long" "" { target { ! 4byte_wchar_t } } 16 } */ -int main () {} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/utf32-1.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/utf32-1.C deleted file mode 100644 index 98465a0a1..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/utf32-1.C +++ /dev/null @@ -1,42 +0,0 @@ -/* Contributed by Kris Van Hees <kris.van.hees@oracle.com> */ -/* Test the support for char32_t character constants. */ -/* { dg-do run } */ -/* { dg-options "-std=c++0x -Wall -Werror" } */ - -extern "C" void abort (void); - -const static char32_t c0 = U'a'; -const static char32_t c1 = U'\0'; -const static char32_t c2 = U'\u0024'; -const static char32_t c3 = U'\u2029'; -const static char32_t c4 = U'\U00064321'; - -#define A 0x00000061 -#define D 0x00000024 -#define X 0x00002029 -#define Y 0x00064321 - -int main () -{ - if (sizeof (U'a') != sizeof (char32_t)) - abort (); - if (sizeof (U'\0') != sizeof (char32_t)) - abort (); - if (sizeof (U'\u0024') != sizeof (char32_t)) - abort (); - if (sizeof (U'\u2029') != sizeof (char32_t)) - abort (); - if (sizeof (U'\U00064321') != sizeof (char32_t)) - abort (); - - if (c0 != A) - abort (); - if (c1 != 0x0000) - abort (); - if (c2 != D) - abort (); - if (c3 != X) - abort (); - if (c4 != Y) - abort (); -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/utf32-2.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/utf32-2.C deleted file mode 100644 index e2256ba74..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/utf32-2.C +++ /dev/null @@ -1,29 +0,0 @@ -/* Contributed by Kris Van Hees <kris.van.hees@oracle.com> */ -/* Test the support for char32_t* string constants. */ -/* { dg-do run } */ -/* { dg-options "-std=c++0x -Wall -Werror" } */ - -extern "C" void abort (void); - -const static char32_t *s0 = U"ab"; -const static char32_t *s1 = U"a\u0024"; -const static char32_t *s2 = U"a\u2029"; -const static char32_t *s3 = U"a\U00064321"; - -#define A 0x00000061 -#define B 0x00000062 -#define D 0x00000024 -#define X 0x00002029 -#define Y 0x00064321 - -int main () -{ - if (s0[0] != A || s0[1] != B || s0[2] != 0x00000000) - abort (); - if (s1[0] != A || s1[1] != D || s0[2] != 0x00000000) - abort (); - if (s2[0] != A || s2[1] != X || s0[2] != 0x00000000) - abort (); - if (s3[0] != A || s3[1] != Y || s3[2] != 0x00000000) - abort (); -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/utf32-3.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/utf32-3.C deleted file mode 100644 index bba893cef..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/utf32-3.C +++ /dev/null @@ -1,46 +0,0 @@ -/* Contributed by Kris Van Hees <kris.van.hees@oracle.com> */ -/* Test concatenation of char32_t* string literals. */ -/* { dg-do run } */ -/* { dg-options "-std=c++0x -Wall -Werror" } */ - -extern "C" void abort (void); - -const static char32_t *s0 = U"a" U"b"; - -const static char32_t *s1 = U"a" "b"; -const static char32_t *s2 = "a" U"b"; -const static char32_t *s3 = U"a" "\u2029"; -const static char32_t *s4 = "\u2029" U"b"; -const static char32_t *s5 = U"a" "\U00064321"; -const static char32_t *s6 = "\U00064321" U"b"; - -#define A 0x00000061 -#define B 0x00000062 -#define X 0x00002029 -#define Y 0x00064321 - -int main () -{ - if (sizeof ((U"a" U"b")[0]) != sizeof (char32_t)) - abort (); - if (sizeof ((U"a" "b")[0]) != sizeof (char32_t)) - abort (); - if (sizeof (( "a" U"b")[0]) != sizeof (char32_t)) - abort (); - - if (s0[0] != A || s0[1] != B || s0[2] != 0x00000000) - abort (); - - if (s1[0] != A || s1[1] != B || s1[2] != 0x00000000) - abort (); - if (s2[0] != A || s2[1] != B || s2[2] != 0x00000000) - abort (); - if (s3[0] != A || s3[1] != X || s3[2] != 0x00000000) - abort (); - if (s4[0] != X || s4[1] != B || s4[2] != 0x00000000) - abort (); - if (s5[0] != A || s5[1] != Y || s5[2] != 0x00000000) - abort (); - if (s6[0] != Y || s6[1] != B || s6[2] != 0x00000000) - abort (); -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/utf32-4.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/utf32-4.C deleted file mode 100644 index 744fea7c5..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/utf32-4.C +++ /dev/null @@ -1,18 +0,0 @@ -/* Contributed by Kris Van Hees <kris.van.hees@oracle.com> */ -/* Expected errors for char32_t character constants. */ -/* { dg-do compile } */ -/* { dg-options "-std=c++0x" } */ - -const static char32_t c0 = U''; /* { dg-error "empty character" } */ -const static char32_t c1 = U'ab'; /* { dg-warning "constant too long" } */ -const static char32_t c2 = U'\U00064321'; - -const static char32_t c3 = 'a'; -const static char32_t c4 = u'a'; -const static char32_t c5 = u'\u2029'; -const static char32_t c6 = u'\U00064321'; /* { dg-warning "constant too long" } */ -const static char32_t c7 = L'a'; -const static char32_t c8 = L'\u2029'; -const static char32_t c9 = L'\U00064321'; /* { dg-warning "constant too long" "" { target { ! 4byte_wchar_t } } } */ - -int main () {} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/utf8-1.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/utf8-1.C deleted file mode 100644 index 203b326af..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/utf8-1.C +++ /dev/null @@ -1,45 +0,0 @@ -// { dg-do run } -// { dg-require-iconv "ISO-8859-2" } -// { dg-options "-std=c++0x -fexec-charset=ISO-8859-2" } - -const char *str1 = "h\u00e1\U0000010Dky "; -const char *str2 = "\u010d\u00E1rky\n"; -const char *str3 = u8"h\u00e1\U0000010Dky "; -const char *str4 = u8"\u010d\u00E1rky\n"; -const char *str5 = "h\u00e1\U0000010Dky " "\u010d\u00E1rky\n"; -const char *str6 = u8"h\u00e1\U0000010Dky " "\u010d\u00E1rky\n"; -const char *str7 = "h\u00e1\U0000010Dky " u8"\u010d\u00E1rky\n"; -#define u8 -const char *str8 = u8"h\u00e1\U0000010Dky " u8"\u010d\u00E1rky\n"; - -const char latin2_1[] = "\x68\xe1\xe8\x6b\x79\x20"; -const char latin2_2[] = "\xe8\xe1\x72\x6b\x79\n"; -const char utf8_1[] = "\x68\xc3\xa1\xc4\x8d\x6b\x79\x20"; -const char utf8_2[] = "\xc4\x8d\xc3\xa1\x72\x6b\x79\n"; - -int -main (void) -{ - if (__builtin_strcmp (str1, latin2_1) != 0 - || __builtin_strcmp (str2, latin2_2) != 0 - || __builtin_strcmp (str3, utf8_1) != 0 - || __builtin_strcmp (str4, utf8_2) != 0 - || __builtin_strncmp (str5, latin2_1, sizeof (latin2_1) - 1) != 0 - || __builtin_strcmp (str5 + sizeof (latin2_1) - 1, latin2_2) != 0 - || __builtin_strncmp (str6, utf8_1, sizeof (utf8_1) - 1) != 0 - || __builtin_strcmp (str6 + sizeof (utf8_1) - 1, utf8_2) != 0 - || __builtin_strncmp (str7, utf8_1, sizeof (utf8_1) - 1) != 0 - || __builtin_strcmp (str7 + sizeof (utf8_1) - 1, utf8_2) != 0 - || __builtin_strncmp (str8, utf8_1, sizeof (utf8_1) - 1) != 0 - || __builtin_strcmp (str8 + sizeof (utf8_1) - 1, utf8_2) != 0) - __builtin_abort (); - if (sizeof ("a" u8"b"[0]) != 1 - || sizeof (u8"a" "b"[0]) != 1 - || sizeof (u8"a" u8"b"[0]) != 1 - || sizeof ("a" "\u010d") != 3 - || sizeof ("a" u8"\u010d") != 4 - || sizeof (u8"a" "\u010d") != 4 - || sizeof (u8"a" "\u010d") != 4) - __builtin_abort (); - return 0; -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/utf8-2.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/utf8-2.C deleted file mode 100644 index 417a8bfdc..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/utf8-2.C +++ /dev/null @@ -1,21 +0,0 @@ -// { dg-do compile } -// { dg-options "-std=c++0x" } - -const char s0[] = u8"ab"; -const char16_t s1[] = u8"ab"; // { dg-error "from non-wide" } -const char32_t s2[] = u8"ab"; // { dg-error "from non-wide" } -const wchar_t s3[] = u8"ab"; // { dg-error "from non-wide" } - -const char t0[0] = u8"ab"; // { dg-error "chars is too long" } -const char t1[1] = u8"ab"; // { dg-error "chars is too long" } -const char t2[2] = u8"ab"; // { dg-error "chars is too long" } -const char t3[3] = u8"ab"; -const char t4[4] = u8"ab"; - -const char u0[0] = u8"\u2160."; // { dg-error "chars is too long" } -const char u1[1] = u8"\u2160."; // { dg-error "chars is too long" } -const char u2[2] = u8"\u2160."; // { dg-error "chars is too long" } -const char u3[3] = u8"\u2160."; // { dg-error "chars is too long" } -const char u4[4] = u8"\u2160."; // { dg-error "chars is too long" } -const char u5[5] = u8"\u2160."; -const char u6[6] = u8"\u2160."; diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/va-arg-pack-1.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/va-arg-pack-1.C deleted file mode 100644 index b81d0e58d..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/va-arg-pack-1.C +++ /dev/null @@ -1,145 +0,0 @@ -// __builtin_va_arg_pack () builtin tests. -// { dg-do run } -// { dg-options "-O2" } - -#include <stdarg.h> - -extern "C" void abort (void); - -int v1 = 8; -long int v2 = 3; -void *v3 = (void *) &v2; -struct A { char c[16]; } v4 = { "foo" }; -long double v5 = 40; -char seen[20]; -int cnt; - -__attribute__ ((noinline)) int -foo1 (int x, int y, ...) -{ - int i; - long int l; - void *v; - struct A a; - long double ld; - va_list ap; - - va_start (ap, y); - if (x < 0 || x >= 20 || seen[x]) - abort (); - seen[x] = ++cnt; - if (y != 6) - abort (); - i = va_arg (ap, int); - if (i != 5) - abort (); - switch (x) - { - case 0: - i = va_arg (ap, int); - if (i != 9 || v1 != 9) - abort (); - a = va_arg (ap, struct A); - if (__builtin_memcmp (a.c, v4.c, sizeof (a.c)) != 0) - abort (); - v = (void *) va_arg (ap, struct A *); - if (v != (void *) &v4) - abort (); - l = va_arg (ap, long int); - if (l != 3 || v2 != 4) - abort (); - break; - case 1: - ld = va_arg (ap, long double); - if (ld != 41 || v5 != ld) - abort (); - i = va_arg (ap, int); - if (i != 8) - abort (); - v = va_arg (ap, void *); - if (v != &v2) - abort (); - break; - case 2: - break; - default: - abort (); - } - va_end (ap); - return x; -} - -__attribute__ ((noinline)) int -foo2 (int x, int y, ...) -{ - long long int ll; - void *v; - struct A a, b; - long double ld; - va_list ap; - - va_start (ap, y); - if (x < 0 || x >= 20 || seen[x]) - abort (); - seen[x] = ++cnt | 64; - if (y != 10) - abort (); - switch (x) - { - case 11: - break; - case 12: - ld = va_arg (ap, long double); - if (ld != 41 || v5 != 40) - abort (); - a = va_arg (ap, struct A); - if (__builtin_memcmp (a.c, v4.c, sizeof (a.c)) != 0) - abort (); - b = va_arg (ap, struct A); - if (__builtin_memcmp (b.c, v4.c, sizeof (b.c)) != 0) - abort (); - v = va_arg (ap, void *); - if (v != &v2) - abort (); - ll = va_arg (ap, long long int); - if (ll != 16LL) - abort (); - break; - case 2: - break; - default: - abort (); - } - va_end (ap); - return x + 8; -} - -__attribute__ ((noinline)) int -foo3 (void) -{ - return 6; -} - -extern inline __attribute__ ((always_inline, gnu_inline)) int -bar (int x, ...) -{ - if (x < 10) - return foo1 (x, foo3 (), 5, __builtin_va_arg_pack ()); - return foo2 (x, foo3 () + 4, __builtin_va_arg_pack ()); -} - -int -main (void) -{ - if (bar (0, ++v1, v4, &v4, v2++) != 0) - abort (); - if (bar (1, ++v5, 8, v3) != 1) - abort (); - if (bar (2) != 2) - abort (); - if (bar (v1 + 2) != 19) - abort (); - if (bar (v1 + 3, v5--, v4, v4, v3, 16LL) != 20) - abort (); - return 0; -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/va-arg-pack-2.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/va-arg-pack-2.C deleted file mode 100644 index c5d3e2ac5..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/va-arg-pack-2.C +++ /dev/null @@ -1,46 +0,0 @@ -// { dg-do compile } -// { dg-options "-O2" } - -int bar (int, const char *, int, ...); -int baz (int, const char *, long int); - -extern inline __attribute__((always_inline)) int -f2 (int y, ...) -{ - return bar (y, "", __builtin_va_arg_pack ()); /* { dg-error "invalid use of" } */ -} - -extern inline __attribute__((always_inline)) int -f3 (int y, ...) -{ - return bar (y, "", 5, __builtin_va_arg_pack ()); -} - -extern inline __attribute__((always_inline)) int -f4 (int y, ...) -{ - return bar (y, "", 4, __builtin_va_arg_pack (), 6); /* { dg-error "invalid use of" } */ -} - -extern inline __attribute__((always_inline)) int -f5 (int y, ...) -{ - return baz (y, "", __builtin_va_arg_pack ()); /* { dg-error "invalid use of" } */ -} - -extern inline __attribute__((always_inline)) int -f6 (int y, ...) -{ - return __builtin_va_arg_pack (); /* { dg-error "invalid use of" } */ -} - -int -test (void) -{ - int a = f2 (5, "a", 6); - a += f3 (6, "ab", 17LL); - a += f4 (7, 1, 2, 3); - a += f5 (8, 7L); - a += f6 (9); - return a; -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/va-arg-pack-len-1.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/va-arg-pack-len-1.C deleted file mode 100644 index d3c84091b..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/va-arg-pack-len-1.C +++ /dev/null @@ -1,122 +0,0 @@ -// { dg-do run } -// { dg-options "-O2" } - -#include <stdarg.h> - -extern "C" int error_open_missing_mode (void) - __attribute__((__error__ ("open with O_CREAT needs 3 arguments, only 2 were given"))); -extern "C" int warn_open_too_many_arguments (void) - __attribute__((__warning__ ("open called with more than 3 arguments"))); -extern "C" void abort (void); - -char expected_char; - -__attribute__((noinline)) int -myopen2 (const char *path, int oflag) -{ - if (expected_char++ != path[0] || path[1] != '\0') - abort (); - switch (path[0]) - { - case 'f': - if (oflag != 0x2) - abort (); - break; - case 'g': - if (oflag != 0x43) - abort (); - // In real __open_2 this would terminate the program: - // open with O_CREAT without third argument. - return -6; - default: - abort (); - } - return 0; -} - -__attribute__((noinline)) int -myopenva (const char *path, int oflag, ...) -{ - int mode = 0; - va_list ap; - if ((oflag & 0x40) != 0) - { - va_start (ap, oflag); - mode = va_arg (ap, int); - va_end (ap); - } - if (expected_char++ != path[0] || path[1] != '\0') - abort (); - switch (path[0]) - { - case 'a': - if (oflag != 0x43 || mode != 0644) - abort (); - break; - case 'b': - if (oflag != 0x3) - abort (); - break; - case 'c': - if (oflag != 0x2) - abort (); - break; - case 'd': - if (oflag != 0x43 || mode != 0600) - abort (); - break; - case 'e': - if (oflag != 0x3) - abort (); - break; - default: - abort (); - } - return 0; -} - -extern inline __attribute__((always_inline, gnu_inline)) int -myopen (const char *path, int oflag, ...) -{ - if (__builtin_va_arg_pack_len () > 1) - warn_open_too_many_arguments (); - - if (__builtin_constant_p (oflag)) - { - if ((oflag & 0x40) != 0 && __builtin_va_arg_pack_len () < 1) - { - error_open_missing_mode (); - return myopen2 (path, oflag); - } - return myopenva (path, oflag, __builtin_va_arg_pack ()); - } - - if (__builtin_va_arg_pack_len () < 1) - return myopen2 (path, oflag); - - return myopenva (path, oflag, __builtin_va_arg_pack ()); -} - -volatile int l0; - -int -main (void) -{ - expected_char = 'a'; - if (myopen ("a", 0x43, 0644)) - abort (); - if (myopen ("b", 0x3, 0755)) - abort (); - if (myopen ("c", 0x2)) - abort (); - if (myopen ("d", l0 + 0x43, 0600)) - abort (); - if (myopen ("e", l0 + 0x3, 0700)) - abort (); - if (myopen ("f", l0 + 0x2)) - abort (); - // Invalid use of myopen, but only detectable at runtime. - if (myopen ("g", l0 + 0x43) != -6) - abort (); - return 0; -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/va-arg-pack-len-2.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/va-arg-pack-len-2.C deleted file mode 100644 index 0d369bdc9..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/va-arg-pack-len-2.C +++ /dev/null @@ -1,42 +0,0 @@ -// { dg-do compile } -// { dg-options "-O2" } - -#include <stdarg.h> - -extern int error_open_missing_mode (void) - __attribute__((__error__ ("open with O_CREAT needs 3 arguments, only 2 were given"))); -extern int warn_open_too_many_arguments (void) - __attribute__((__warning__ ("open called with more than 3 arguments"))); - -extern int myopen2 (const char *path, int oflag); -extern int myopenva (const char *path, int oflag, ...); - -extern inline __attribute__((always_inline, gnu_inline)) int -myopen (const char *path, int oflag, ...) -{ - if (__builtin_va_arg_pack_len () > 1) - warn_open_too_many_arguments (); // { dg-warning "called with more than 3" } - - if (__builtin_constant_p (oflag)) - { - if ((oflag & 0x40) != 0 && __builtin_va_arg_pack_len () < 1) - { - error_open_missing_mode (); // { dg-error "needs 3 arguments, only 2 were given" } - return myopen2 (path, oflag); - } - return myopenva (path, oflag, __builtin_va_arg_pack ()); - } - - if (__builtin_va_arg_pack_len () < 1) - return myopen2 (path, oflag); - - return myopenva (path, oflag, __builtin_va_arg_pack ()); -} - -int -main (void) -{ - myopen ("h", 0x43); - myopen ("i", 0x43, 0644, 0655); - return 0; -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/va-arg1.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/va-arg1.C deleted file mode 100644 index 5606128e5..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/va-arg1.C +++ /dev/null @@ -1,8 +0,0 @@ -// PR c++/33462 - -struct A {}; - -void foo() -{ - ++__builtin_va_arg(0, A); // { dg-error "operand type is 'A'" } -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/vector1.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/vector1.C deleted file mode 100644 index c6f0e0409..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/vector1.C +++ /dev/null @@ -1,5 +0,0 @@ -// PR c++/11895 -// This used to ICE in reshape_init. -// testcase from fnf@ninemoons.com - - __attribute__((vector_size(16))) int a1 = { 100, 200, 300, 400 }; diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/vector10.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/vector10.C deleted file mode 100644 index 46ea244c5..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/vector10.C +++ /dev/null @@ -1,11 +0,0 @@ -// PR c++/34914 -// { dg-do compile } - -struct A { int __attribute ((vector_size (8))) x; }; - -void -foo () -{ - __attribute ((vector_size (8))) int A::*p; - p == 0; -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/vector11.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/vector11.C deleted file mode 100644 index a3213522b..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/vector11.C +++ /dev/null @@ -1,6 +0,0 @@ -// PR c++/34913 - -template<typename T> struct A -{ - int x[sizeof(T)] __attribute((vector_size(8))); -}; diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/vector12.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/vector12.C deleted file mode 100644 index e0b6d2ba6..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/vector12.C +++ /dev/null @@ -1,4 +0,0 @@ -// PR c++/34917 -// { dg-do compile } - -const int i __attribute ((vector_size (8))) = {}; diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/vector13.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/vector13.C deleted file mode 100644 index 5160f1121..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/vector13.C +++ /dev/null @@ -1,6 +0,0 @@ -// PR c++/35096 -// { dg-do compile } - -typedef const int X __attribute((vector_size(8))); -extern const int x[] __attribute((vector_size(8))); -X x[] = { 5 }; diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/vector14.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/vector14.C deleted file mode 100644 index 8e792108f..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/vector14.C +++ /dev/null @@ -1,22 +0,0 @@ -// PR c++/35758 -// { dg-do compile } -// { dg-options "-msse" { target { { i?86-*-* x86_64-*-* } && ilp32 } } } -// { dg-require-effective-target sse } -// Ignore warning on some powerpc-linux configurations. -// { dg-prune-output "non-standard ABI extension" } -// { dg-prune-output "mangled name" } - -#define vector __attribute__((vector_size(16))) - -template<int N> vector signed int foo (vector float value) {} - -template<int> void foo (float) {} - -int -main () -{ - vector float v; - float f; - foo<1> (v); - foo<1> (f); -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/vector15.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/vector15.C deleted file mode 100644 index 7058bf1b8..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/vector15.C +++ /dev/null @@ -1,5 +0,0 @@ -/* { dg-do compile } */ - -/* Check that we error out when using vector_size on the bool type. */ - -__attribute__((vector_size(16) )) bool a; /* { dg-error "" } */ diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/vector16.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/vector16.C deleted file mode 100644 index 7964a881f..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/vector16.C +++ /dev/null @@ -1,11 +0,0 @@ -/* { dg-do compile } */ -#define vector __attribute__((vector_size(4*sizeof(int)) )) - -vector int a, b, c; - - -/* Test that remainder works for vectors. */ -void f(void) -{ - a = b % c; -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/vector17.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/vector17.C deleted file mode 100644 index eb389be01..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/vector17.C +++ /dev/null @@ -1,12 +0,0 @@ -/* { dg-do compile } */ -typedef double __attribute__((vector_size(1024) )) vec; - -template <class T> -void f (T *p) -{ - p->~T(); -} -void g (vec *p) -{ - f(p); -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/vector18.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/vector18.C deleted file mode 100644 index dfffad5af..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/vector18.C +++ /dev/null @@ -1,14 +0,0 @@ -/* { dg-do compile } */ -/* { dg-options "-std=c++11" } */ - -typedef signed char __attribute__((vector_size(128) )) vec; - -template <class A, class B> -auto f (A *a, B b) -> decltype (*a + b); - -void f (...) {} - -void g (vec *v, long long l) -{ - f (v, l); -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/vector19.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/vector19.C deleted file mode 100644 index ace1c64ea..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/vector19.C +++ /dev/null @@ -1,53 +0,0 @@ -/* { dg-do compile } */ -/* { dg-options "-std=c++11" } */ - -typedef double vec __attribute__((vector_size(2*sizeof(double)))); -typedef signed char vec2 __attribute__((vector_size(16))); -typedef unsigned char vec2u __attribute__((vector_size(16))); - -void f (vec *x, vec *y, vec *z) -{ - *x = (*y < *z) ? *x : *y; -} - -void g (vec *x, vec *y, vec *z) -{ - *x = (*y < *z) ? *x : 42; -} - -void h (vec *x, vec *y, vec *z) -{ - *x = (*y < *z) ? 3. : *y; -} - -void i1 (vec *x, vec *y, vec *z) -{ - auto c = *y < *z; - *x = c ? *x : *y; -} - -void i2 (vec2 *x, vec2 *y, vec2u *z) -{ - *x = *y ? *x : *y; - *y = *z ? *x : *y; -} - -void j (vec2 *x, vec2 *y, vec2 *z, vec *t) -{ - *x = (*y < *z) ? *x : 4.2; /* { dg-error "" } */ - *y = (*x < *z) ? 2.5 : *y; /* { dg-error "" } */ - *t = *t ? *t : *t; /* { dg-error "" } */ - *z = (*x < *z) ? '1' : '0'; /* { dg-error "" } */ - // The last one may eventually be accepted. -} - -template <class A, class B> -auto k (A *a, B b) -> decltype (*a ? *a : b); - -void k (...) {} - -void l (vec2 *v, double x) -{ - k (v, x); -} - diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/vector2.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/vector2.C deleted file mode 100644 index c1737dbb4..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/vector2.C +++ /dev/null @@ -1,12 +0,0 @@ -// PR c++/23337; caused an ICE in component_ref_field_offset -// { dg-options "" } -// { dg-options "-mmmx" { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */ -// { dg-prune-output "mangled name" } -typedef int vec __attribute__ ((vector_size (8))); -extern int bar (vec); -int -foo (int i) -{ - vec a[] = { (vec) { 0, i }, (vec) { 4, 5 } }; - return bar (a[0]) + bar (a[1]); -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/vector20.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/vector20.C deleted file mode 100644 index 3d7c39250..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/vector20.C +++ /dev/null @@ -1,7 +0,0 @@ -/* { dg-do compile } */ -/* { dg-options "-std=c++11" } */ - -typedef long vec __attribute__((vector_size (2 * sizeof (long)))); -constexpr vec v = { 3, 4 }; -constexpr vec s = v + v; -constexpr vec w = __builtin_shuffle (v, v); diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/vector3.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/vector3.C deleted file mode 100644 index 1a67cf76a..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/vector3.C +++ /dev/null @@ -1,12 +0,0 @@ -/* { dg-do compile } */ -/* { dg-options "" } */ - -// PR c++/28302 - -int __attribute__((vector_size(8))) x; - -void foo() -{ - ~x; -} - diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/vector4.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/vector4.C deleted file mode 100644 index e14578489..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/vector4.C +++ /dev/null @@ -1,6 +0,0 @@ -/* { dg-options "" } */ -/* { dg-do compile } */ -// Testing if we can do a new of a vector -// PR C++/28450 - -void* q = new int __attribute__((vector_size(8))) (); diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/vector5.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/vector5.C deleted file mode 100644 index 68f711fe2..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/vector5.C +++ /dev/null @@ -1,8 +0,0 @@ -// PR c++/30022 -// { dg-do compile } - -void foo() -{ - int __attribute__((vector_size(8))) v; - v = 1/v; -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/vector6.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/vector6.C deleted file mode 100644 index 9caf8c2f6..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/vector6.C +++ /dev/null @@ -1,12 +0,0 @@ -// { dg-options "" } -// { dg-do compile } -// C++/30016, we were allowing conversion between vector types -// and union types which is invalid. - -typedef float __v_4F __attribute__ ((vector_size (16))); -typedef union {__v_4F v; float a[4];} __v4F; -void f(void) -{ - __v_4F b; - (reinterpret_cast<__v4F>(b).a)[1] = 1; // { dg-error "" } -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/vector7.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/vector7.C deleted file mode 100644 index cd259b1a2..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/vector7.C +++ /dev/null @@ -1,8 +0,0 @@ -// { dg-options "" } -// { dg-do compile } -// PR C++/31721 and PR 14217 -// the attribute vector_size would change a reference type into a pointer type which was wrong. - -#define vector __attribute__((__vector_size__(16) )) -vector int b; -vector int &a = b; diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/vector8.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/vector8.C deleted file mode 100644 index 5f9f9561d..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/vector8.C +++ /dev/null @@ -1,21 +0,0 @@ -/* { dg-do compile } */ -/* { dg-options "" } */ - -/* Check for application of |, ^, and & on vector types. */ -#define vector __attribute__((vector_size(16) )) - -vector float a; -vector int a1; -vector float b; -vector int b1; - -int f(void) -{ - a = a | b; /* { dg-error "" } */ - a = a & b; /* { dg-error "" } */ - a = a ^ b; /* { dg-error "" } */ - a1 = a1 | b1; - a1 = a1 & b1; - a1 = a1 ^ b1; -} - diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/vector9.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/vector9.C deleted file mode 100644 index 52b3f1714..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/vector9.C +++ /dev/null @@ -1,10 +0,0 @@ -// PR c++/34891 - -typedef float v4f __attribute__((vector_size(8))); -typedef int v4i __attribute__((vector_size(8))); - -void foo() -{ - v4f v; - !(v4i)v; // { dg-error "v4i|argument" } -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/anon1.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/anon1.C deleted file mode 100644 index 16647b228..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/anon1.C +++ /dev/null @@ -1,10 +0,0 @@ -// PR c++/21581 -// Test for anonymous namespace internal linkage - -// { dg-do compile } -// { dg-final { scan-assembler-not "globl.*_ZN.*1fEv" } } - -namespace -{ - int f() { } -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/anon10.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/anon10.C deleted file mode 100644 index 8c79631b0..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/anon10.C +++ /dev/null @@ -1,44 +0,0 @@ -// http://bugzilla.redhat.com/411871 -// { dg-do compile } - -extern "C" int printf (const char *, ...); - -struct E -{ - template <typename T> E (const volatile T&); - template <typename T> E (T&); - char x[64]; -}; - -template<typename T> struct D -{ - static E foo (E, ...); - static int foo (T, int); -}; - -template<typename T, typename U> struct C -{ - static T ca; - static const int value = sizeof (D<U>::foo (ca, 0)) == sizeof (int); -}; - -struct A -{ - int a; -}; - -namespace -{ - struct B - { - int a; - }; -} - -int bar (void) -{ - C<A, int> a; - C<B, int> b; - - return a.value + b.value; -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/anon11.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/anon11.C deleted file mode 100644 index dfb4f12bb..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/anon11.C +++ /dev/null @@ -1,13 +0,0 @@ -// PR c++/55877 -// { dg-final { scan-assembler-not "\\.local" } } - -typedef struct { - typedef enum { X, Y } A; - typedef struct { } B; - struct C { }; -} D; - -D d; -D::A a; -D::B b; -D::C c; diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/anon2.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/anon2.C deleted file mode 100644 index 1d8e479b9..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/anon2.C +++ /dev/null @@ -1,11 +0,0 @@ -// Test for propagation of anonymous namespace internal linkage - -// { dg-do compile } -// { dg-final { scan-assembler-not "globl.*_Z1fv" } } - -namespace -{ - struct A { }; -} - -A f () { } diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/anon3.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/anon3.C deleted file mode 100644 index 9def559d2..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/anon3.C +++ /dev/null @@ -1,16 +0,0 @@ -// PR c++/31187 -// Bug: the repeated declaration was confusing the compiler into -// thinking that foo1 had language internal linkage. - -class foo { }; - -namespace -{ - extern foo foo1; - foo foo1; -} - -template< foo * > -class bar { }; - -bar< &foo1 > bar1; diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/anon4.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/anon4.C deleted file mode 100644 index 6d5d58ec3..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/anon4.C +++ /dev/null @@ -1,16 +0,0 @@ -// PR c++/31903 -// Test for anonymous namespace internal linkage, for typeinfo - -// { dg-do compile } -// { dg-final { scan-assembler-not "globl.*_ZTIN*3fooE" } } - -#include <typeinfo> -namespace -{ - class foo - { - virtual void bar(); - }; -} - -const std::type_info &X = typeid(foo); diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/anon5.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/anon5.C deleted file mode 100644 index d069eeab6..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/anon5.C +++ /dev/null @@ -1,8 +0,0 @@ -// PR c++/32596 -// { dg-do compile } - -namespace -{ - template<class T> inline void char_less(void) { } - template<> inline void char_less<char>(void) { } -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/anon6.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/anon6.C deleted file mode 100644 index 951de4964..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/anon6.C +++ /dev/null @@ -1,28 +0,0 @@ -// PR c++/33094 -// { dg-final { scan-assembler "1BIiE1cE" } } -// { dg-final { scan-assembler-not "globl.*1BIiE1cE" } } -// { dg-final { scan-assembler-not "1CIiE1cE" } } - -// Test that B<int>::c is emitted as an internal symbol, and C<int>::c is -// not emitted. - -namespace -{ - template <typename T> - class A - { - virtual T f1() { return c; } - static const T c = 0; - }; - - template <typename T> - class B - { - static const T c = 0; - }; - - template <typename T> const T B<T>::c; - - template class A<int>; - template class B<int>; -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/anon7.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/anon7.C deleted file mode 100644 index 0c42ea866..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/anon7.C +++ /dev/null @@ -1,23 +0,0 @@ -// PR c++/34094 -// { dg-do compile } - -namespace -{ - struct A { - static int bar (); - static int i; // { dg-error "used, but not defined" "" { xfail *-*-* } } - static int j; - static int k; - static int l; - static const int m = 16; - static const int n = 17; - }; - int A::j = 4; - int A::k; - const int A::m; -} - -int foo (void) -{ - return A::i + A::j + A::k + A::m + A::n + A::bar (); -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/anon8.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/anon8.C deleted file mode 100644 index 5e58b5519..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/anon8.C +++ /dev/null @@ -1,33 +0,0 @@ -// PR c++/34213 -// { dg-do compile } - -template <void (*fn) ()> -void call () // { dg-message "note" } -{ - fn (); -} - -namespace -{ - struct B1 - { - static void fn1 () {} - static void fn4 (); - }; - void fn3 () {} - void B1::fn4 () {} - static void fn5 () {} -} - -int main () -{ - struct B2 - { - static void fn2 () {} - }; - call<&B1::fn1> (); - call<&B2::fn2> (); // { dg-error "linkage|no matching" } - call<&fn3> (); - call<&B1::fn4> (); - call<&fn5> (); // { dg-error "linkage|no matching" "" { target c++98 } } -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/anon9.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/anon9.C deleted file mode 100644 index bb752253b..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/anon9.C +++ /dev/null @@ -1,11 +0,0 @@ -// PR c++/34238 -// { dg-do compile } - -namespace -{ - template <typename T = int> struct A - { - static const bool a = true; - }; -} -struct A<> a; diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/arm1.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/arm1.C deleted file mode 100644 index 2c2e3d066..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/arm1.C +++ /dev/null @@ -1,30 +0,0 @@ -// { dg-do compile { target arm*-*-eabi* arm*-*-symbianelf* } } -// { dg-require-dll "" } -// { dg-options "-fvisibility=hidden" } -// Most class data should be exported. -// { dg-final { scan-not-hidden "_ZTV1S" } } -// { dg-final { scan-not-hidden "_ZTI1S" } } -// { dg-final { scan-not-hidden "_ZTS1S" } } -// { dg-final { scan-not-hidden "_ZTV1U" } } -// { dg-final { scan-not-hidden "_ZTT1U" } } -// { dg-final { scan-not-hidden "_ZTI1U" } } -// { dg-final { scan-not-hidden "_ZTS1U" } } -// The construction vtable should be hidden. -// { dg-final { scan-hidden "_ZTC1U0_1T" } } - -struct S { - virtual void f(); -}; - -void S::f() { -} - -struct T : public virtual S { - virtual void g(); -}; - -struct U : public virtual T { - virtual void h(); -}; - -void U::h() {} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/arm2.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/arm2.C deleted file mode 100644 index 7eed18d7f..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/arm2.C +++ /dev/null @@ -1,11 +0,0 @@ -// { dg-do compile { target arm*-*-*eabi* arm*-*-symbianelf* } } -// Class data should be exported. -// { dg-final { scan-not-hidden "_ZTV1S" } } -// { dg-final { scan-not-hidden "_ZTI1S" } } -// { dg-final { scan-not-hidden "_ZTS1S" } } - -struct S { - virtual void f(); -}; - -void S::f() {} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/arm3.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/arm3.C deleted file mode 100644 index 9be7082ce..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/arm3.C +++ /dev/null @@ -1,36 +0,0 @@ -// { dg-do compile { target arm*-*-*eabi* } } -// { dg-require-dll "" } -// { dg-options "-fvisibility=hidden" } - -/* From ARM C++ ABI \S 3.2.5.5: - - A class should be exported unless explicitly tagged otherwise. - - This admonition applies even on DLL-based systems where hidden - visibility is the default. We want -fvisibility=hidden to behave - identically to the situation where hidden visibility is the - hard-wired default. So, both A and B are exported classes. - - Furthermore: - - If CAG symbol Y names one of the impedimenta associated with an - exported class X: - - ... - - * Otherwise, if X has no key function: - - - Y is exported from ... each DLL that refers to X and uses Y. - - So, the type-info and virtual-table symbols associated with A and B - must be exported. */ - -// { dg-final { scan-not-hidden "_ZTI1A" } } -// { dg-final { scan-not-hidden "_ZTS1A" } } -// { dg-final { scan-not-hidden "_ZTV1B" } } -// { dg-final { scan-not-hidden "_ZTI1B" } } -// { dg-final { scan-not-hidden "_ZTS1B" } } - -struct A {}; -struct B : virtual public A {}; -B b; diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/assign1.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/assign1.C deleted file mode 100644 index b25999e8e..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/assign1.C +++ /dev/null @@ -1,18 +0,0 @@ -/* { dg-do compile } */ -/* { dg-require-visibility "" } */ -/* { dg-final { scan-hidden "_ZN1DaSERKS_" } } */ - -struct B { - B& operator=(const B&); -}; - -struct __attribute__((visibility("hidden"))) D : public B { - // The implicit assignment operator should be hidden. -}; - -__attribute__((visibility("hidden"))) D d1; -__attribute__((visibility("hidden"))) D d2; - -void f() { - d1 = d2; -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/class1.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/class1.C deleted file mode 100644 index 792fc7891..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/class1.C +++ /dev/null @@ -1,22 +0,0 @@ -// PR c++/26905 -// Init should not be hidden, so calling it should use the PLT. - -// { dg-options "-fpic" } -// { dg-do compile { target i?86-*-* x86_64-*-* } } -// { dg-skip-if "" { *-*-darwin* } { "*" } { "" } } -// { dg-require-visibility "" } -// { dg-require-effective-target fpic } -// { dg-final { scan-assembler "InitEv@PLT" } } - -#pragma GCC visibility push(hidden) -struct __attribute__ ((visibility ("default"))) nsINIParser -{ - static void Init(); -}; - -__attribute__ ((visibility ("default"))) -void -CheckCompatibility(void) -{ - nsINIParser::Init(); -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/fvisibility-inlines-hidden-2.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/fvisibility-inlines-hidden-2.C deleted file mode 100644 index ed38ebefe..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/fvisibility-inlines-hidden-2.C +++ /dev/null @@ -1,19 +0,0 @@ -/* Test that -fvisibility-inlines-hidden doesn't affect static variables. */ -/* { dg-do compile } */ -/* { dg-require-visibility "" } */ -/* { dg-options "-fvisibility-inlines-hidden" } */ -/* { dg-final { scan-not-hidden "_ZZN3foo7my_funcEvE1x" } } */ - -struct foo -{ - int my_func() { - static int x; - return x++; - } -}; - -int t() -{ - foo f; - return f.my_func(); -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/fvisibility-inlines-hidden-3.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/fvisibility-inlines-hidden-3.C deleted file mode 100644 index 50885a798..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/fvisibility-inlines-hidden-3.C +++ /dev/null @@ -1,30 +0,0 @@ -/* { dg-do compile } */ -/* { dg-require-visibility "" } */ -/* { dg-options "-fvisibility-inlines-hidden" } */ -/* { dg-final { scan-not-hidden "_ZN1IIiE3fooEv" } } */ -/* { dg-final { scan-not-hidden "_ZN1OIiE3fooEv" } } */ -/* { dg-final { scan-hidden "_ZN1S3fooEv" } } */ - -template <class T> -struct O { - static inline void foo() { } -}; - -template void O<int>::foo(); - -template <class T> -struct I { - static inline void foo() { } -}; - -extern template void I<int>::foo(); - -struct S { - static inline void foo() { } -}; - -void bar() { - I<int>::foo(); - O<int>::foo(); - S::foo(); -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/fvisibility-inlines-hidden-4.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/fvisibility-inlines-hidden-4.C deleted file mode 100644 index ebce2ba5c..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/fvisibility-inlines-hidden-4.C +++ /dev/null @@ -1,37 +0,0 @@ -/* PR c++/30066: Test that -fvisibility-inlines-hidden affects functions. */ -/* { dg-do compile } */ -/* { dg-require-visibility "" } */ -/* { dg-options "-fvisibility-inlines-hidden" } */ -/* { dg-final { scan-hidden "_Z3barv" } } */ -/* { dg-final { scan-not-hidden "_ZZ3barvE1n" } } */ -/* { dg-final { scan-not-hidden "_Z3fooIiEvv" } } */ -/* { dg-final { scan-hidden "_Z3fooIvEvv" } } */ -/* { dg-final { scan-hidden "_ZZN1A5innerEvE1n" } } */ - -inline int * bar() -{ - static int n; - return &n; -} - -template <class T> -inline void foo() { } - -template void foo<int>(); - -namespace A __attribute__ ((visibility ("hidden"))) -{ - inline int * inner() - { - static int n; - return &n; - } -} - -int main(void) -{ - bar(); - foo<void>(); - A::inner(); - return 0; -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/fvisibility-inlines-hidden.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/fvisibility-inlines-hidden.C deleted file mode 100644 index 2ee8f0767..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/fvisibility-inlines-hidden.C +++ /dev/null @@ -1,18 +0,0 @@ -/* Test that -fvisibility-inlines-hidden affects class members. */ -/* { dg-do compile } */ -/* { dg-require-visibility "" } */ -/* { dg-options "-fvisibility-inlines-hidden" } */ -/* { dg-final { scan-hidden "_ZN3Foo6methodEv" } } */ - -class Foo -{ -public: - void method() { } -}; - -int main(void) -{ - Foo f; - f.method(); - return 0; -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/fvisibility-override1.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/fvisibility-override1.C deleted file mode 100644 index 685cd1309..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/fvisibility-override1.C +++ /dev/null @@ -1,12 +0,0 @@ -/* Test that -fvisibility does not override class member specific settings. */ -/* { dg-do compile } */ -/* { dg-require-visibility "" } */ -/* { dg-options "-fvisibility=hidden" } */ -/* { dg-final { scan-not-hidden "methodEv" } } */ - -class __attribute__ ((visibility ("default"))) Foo -{ - void method(); -}; - -void Foo::method() { } diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/fvisibility-override2.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/fvisibility-override2.C deleted file mode 100644 index 4b4b54d5a..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/fvisibility-override2.C +++ /dev/null @@ -1,12 +0,0 @@ -/* Test that -fvisibility does not override class member specific settings. */ -/* { dg-do compile } */ -/* { dg-require-visibility "internal" } */ -/* { dg-options "-fvisibility=hidden" } */ -/* { dg-final { scan-not-hidden "Foo.methodEv" } } */ - -class Foo -{ - __attribute__ ((visibility ("internal"))) void method(); -}; - -void Foo::method() { } diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/fvisibility.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/fvisibility.C deleted file mode 100644 index 4358d25a9..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/fvisibility.C +++ /dev/null @@ -1,12 +0,0 @@ -/* Test that -fvisibility affects class members. */ -/* { dg-do compile } */ -/* { dg-require-visibility "" } */ -/* { dg-options "-fvisibility=hidden" } */ -/* { dg-final { scan-hidden "_ZN3Foo6methodEv" } } */ - -class Foo -{ - void method(); -}; - -void Foo::method() { } diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/guard1.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/guard1.C deleted file mode 100644 index 5290e2f8e..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/guard1.C +++ /dev/null @@ -1,29 +0,0 @@ -// { dg-options "-fvisibility=hidden" } -// { dg-require-visibility "" } -// { dg-final { scan-not-hidden "_ZGVZN5otherclEvE4s_cd" } } - -extern "C" int printf (const char *, ...); - -#define DLLEXPORT __attribute__ ((visibility("default"))) - -struct class_data -{ - int apple; - class_data() { printf("non trivial ctor\n"); } -}; - -struct DLLEXPORT other -{ - class_data* operator ()() - { - static class_data s_cd; - return &s_cd; - } -}; - -int main() -{ - other aFoo; - aFoo(); - return 0; -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/local1.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/local1.C deleted file mode 100644 index 7a04db601..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/local1.C +++ /dev/null @@ -1,25 +0,0 @@ -// PR c++/19238 -// Test that hidden visibility on an inline function is inherited by static -// local variables and local classes. - -// { dg-require-visibility "" } -// { dg-final { scan-hidden "_Z1fv" } } -// { dg-final { scan-hidden "_ZZ1fvE1i" } } -// { dg-final { scan-hidden "_ZZ1fvEN1A1fEv" } } - -__attribute ((visibility ("hidden"))) inline int -f() -{ - static int i = 2; - struct A - { - void f () { } - } a; - a.f(); - return i; -} - -int main() -{ - f(); -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/memfuncts.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/memfuncts.C deleted file mode 100644 index 45eb641b2..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/memfuncts.C +++ /dev/null @@ -1,11 +0,0 @@ -/* Test that setting visibility for class member functions works. */ -/* { dg-do compile } */ -/* { dg-require-visibility "" } */ -/* { dg-final { scan-hidden "_ZN3Foo6methodEv" } } */ - -class __attribute__ ((visibility ("hidden"))) Foo -{ - void method(); -}; - -void Foo::method() { } diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/ms-compat-1.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/ms-compat-1.C deleted file mode 100644 index bce2aac55..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/ms-compat-1.C +++ /dev/null @@ -1,28 +0,0 @@ -/* { dg-require-visibility "" } */ -/* { dg-options "-fvisibility-ms-compat" } */ - -/* { dg-final { scan-not-hidden "_ZTI1S" } } */ -/* { dg-final { scan-hidden "_ZTI1T" } } */ -/* { dg-final { scan-not-hidden "_ZTI1U" } } */ -/* { dg-final { scan-not-hidden "_ZN1U6hide_4Ev" } } */ - -class S { - virtual void hide_2(); -} hide_1; - -void S::hide_2() { -} - -class __attribute__((visibility("hidden"))) T { - virtual void hide_4(); -} hide_3; - -void T::hide_4() { -} - -class __attribute__((visibility("default"))) U { - virtual void hide_4(); -}; - -void U::hide_4() { -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/namespace1.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/namespace1.C deleted file mode 100644 index b7773dc9d..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/namespace1.C +++ /dev/null @@ -1,30 +0,0 @@ -// PR c++/21764 -// Test for namespace visibility attribute semantics. - -// { dg-require-visibility "" } -// { dg-final { scan-hidden "_ZN3foo1fEv" } } -// { dg-final { scan-hidden "_ZN3foo1gEv" } } -// { dg-final { scan-hidden "_ZN3foo1A1mEv" } } -// { dg-final { scan-hidden "_ZN3foo1tIiEEvv" } } -// { dg-final { scan-not-hidden "_ZN3foo1hEv" } } - -namespace foo __attribute ((visibility ("hidden"))) -{ - int f() { } - void g(); - template <typename T> void t() { } - class A - { - void m (); - }; -} - -namespace foo -{ - void h() {} -} - -void foo::g() { t<int> (); } - -void foo::A::m() { } - diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/namespace2.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/namespace2.C deleted file mode 100644 index 96c5b0953..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/namespace2.C +++ /dev/null @@ -1,20 +0,0 @@ -// PR c++/32470 - -// { dg-require-visibility "" } -// { dg-options "-fvisibility=hidden" } -// { dg-final { scan-hidden "_ZN4Test4testEv" } } - -namespace std __attribute__((__visibility__("default"))) { - template<typename _CharT> - class basic_streambuf - { - friend void getline(); - }; - extern template class basic_streambuf<char>; -} - -class Test -{ - void test(); -}; -void Test::test() { } diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/namespace3.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/namespace3.C deleted file mode 100644 index a07abdcd8..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/namespace3.C +++ /dev/null @@ -1,6 +0,0 @@ -// PR c++/41774 -// { dg-do compile } - -namespace std __attribute__ ((__visibility__ ("default"))) { -#pragma GCC visibility pop // { dg-warning "no matching push for" } -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/new1.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/new1.C deleted file mode 100644 index ec201cbc2..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/new1.C +++ /dev/null @@ -1,13 +0,0 @@ -// { dg-require-visibility "" } -// { dg-options "-fvisibility=hidden" } -// { dg-final { scan-not-hidden "_Znwj" } } - -void f() { - new int; -} - -void *g(); - -void *operator new(__SIZE_TYPE__) { - return g(); -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/noPLT.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/noPLT.C deleted file mode 100644 index 38af05fd6..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/noPLT.C +++ /dev/null @@ -1,20 +0,0 @@ -/* Test that -fvisibility=hidden prevents PLT. */ -/* { dg-do compile { target fpic } } */ -/* { dg-require-visibility "" } */ -/* { dg-options "-fPIC -fvisibility=hidden" } */ -/* { dg-final { scan-assembler-not "methodEv@PLT|indirect_symbol.*methodEv" } } */ - -class Foo -{ -public: - void method(); -}; - -void Foo::method() { } - -int main(void) -{ - Foo f; - f.method(); - return 0; -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/overload-1.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/overload-1.C deleted file mode 100644 index d841c53fb..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/overload-1.C +++ /dev/null @@ -1,9 +0,0 @@ -/* Test that visibility of function parameters propagates to an undecorated - function. */ -/* { dg-require-visibility "" } -/* { dg-final { scan-hidden "_Z3fooP8a_struct" } } */ - -struct __attribute__((visibility("hidden"))) a_struct; - -void foo(a_struct * p) -{ } diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/pragma-override1.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/pragma-override1.C deleted file mode 100644 index c13161d3c..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/pragma-override1.C +++ /dev/null @@ -1,14 +0,0 @@ -/* Test that #pragma GCC visibility does not override class member specific settings. */ -/* { dg-do compile } */ -/* { dg-require-visibility "internal" } */ -/* { dg-final { scan-assembler "\\.internal.*Foo.methodEv" { target { ! { *-*-solaris2* *-*-darwin* } } } } } */ -/* { dg-final { scan-assembler "\\.(internal|hidden).*Foo.methodEv" { target *-*-solaris2* } } } */ - -#pragma GCC visibility push(hidden) -class __attribute__ ((visibility ("internal"))) Foo -{ - void method(); -}; -#pragma GCC visibility pop - -void Foo::method() { } diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/pragma-override2.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/pragma-override2.C deleted file mode 100644 index 25e9ceac0..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/pragma-override2.C +++ /dev/null @@ -1,14 +0,0 @@ -/* Test that #pragma GCC visibility does not override class member specific settings. */ -/* { dg-do compile } */ -/* { dg-require-visibility "internal" } */ -/* { dg-final { scan-assembler "\\.internal.*Foo.methodEv" { target { ! { *-*-solaris2* *-*-darwin* } } } } } */ -/* { dg-final { scan-assembler "\\.(internal|hidden).*Foo.methodEv" { target *-*-solaris2* } } } */ - -#pragma GCC visibility push(hidden) -class Foo -{ - __attribute__ ((visibility ("internal"))) void method(); -}; -#pragma GCC visibility pop - -void Foo::method() { } diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/pragma.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/pragma.C deleted file mode 100644 index 98384c9c4..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/pragma.C +++ /dev/null @@ -1,13 +0,0 @@ -/* Test that #pragma GCC visibility affects class members. */ -/* { dg-do compile } */ -/* { dg-require-visibility "" } */ -/* { dg-final { scan-hidden "_ZN3Foo6methodEv" } } */ - -#pragma GCC visibility push(hidden) -class Foo -{ - void method(); -}; -#pragma GCC visibility pop - -void Foo::method() { } diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/prop1.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/prop1.C deleted file mode 100644 index f4574820d..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/prop1.C +++ /dev/null @@ -1,23 +0,0 @@ -// Test for propagation of visibility through template arguments - -// { dg-do compile } -// { dg-require-visibility "" } -// { dg-final { scan-hidden "_Z1fIN1N1AEEvT_" } } -// { dg-final { scan-hidden "_Z1hIXadL_ZN1N1iEEEEvv" } } - -namespace N __attribute ((__visibility__ ("hidden"))) -{ - struct A { }; - int i; -} - -template <class T> void f (T) { } -template <int *I> void h() { } - -void g() -{ - N::A a; - f(a); - h<&N::i>(); -} - diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/redecl1.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/redecl1.C deleted file mode 100644 index b53335ef5..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/redecl1.C +++ /dev/null @@ -1,7 +0,0 @@ -// Test that we complain about redeclaration with different visibility - -struct __attribute((visibility("hidden"))) B; -struct __attribute((visibility("default"))) B; // { dg-error "visibility" } - -__attribute ((visibility ("hidden"))) void f(); // { dg-warning "previous" } -__attribute ((visibility ("default"))) void f(); // { dg-warning "visibility" } diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/staticdatamem.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/staticdatamem.C deleted file mode 100644 index 4ec9479a7..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/staticdatamem.C +++ /dev/null @@ -1,20 +0,0 @@ -// PR c++/18925 -// { dg-do compile { target ia64-*-linux* } } -// { dg-options "-fPIC -fvisibility=hidden" } -// { dg-final { scan-assembler-not "gprel" } } - -class __attribute__ ((visibility("default"))) Type -{ - private: - static long _staticTypeCount; - public: - Type() { _staticTypeCount++; } - ~Type(); -}; - -long Type::_staticTypeCount = 0; - -Type::~Type() -{ - _staticTypeCount--; -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/staticmemfuncts.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/staticmemfuncts.C deleted file mode 100644 index e745caa5a..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/staticmemfuncts.C +++ /dev/null @@ -1,11 +0,0 @@ -/* Test that setting visibility for static class member functions works. */ -/* { dg-do compile } */ -/* { dg-require-visibility "" } */ -/* { dg-final { scan-hidden "_ZN3Foo6methodEv" } } */ - -class __attribute__ ((visibility ("hidden"))) Foo -{ - static void method(); -}; - -void Foo::method() { } diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/symbian1.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/symbian1.C deleted file mode 100644 index 864ab2bb9..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/symbian1.C +++ /dev/null @@ -1,22 +0,0 @@ -// { dg-do compile { target arm*-*-symbianelf* } } -// Class data should not be exported. -// { dg-final { scan-hidden "_ZTV2K3" } } -// But the constructor and destructor should be exported. -// { dg-final { scan-not-hidden "_ZN2K3C2Ev" } } -// { dg-final { scan-not-hidden "_ZN2K3D0Ev" } } - -class __declspec(notshared) K3 { -public: - __declspec(dllimport) K3(); - __declspec(dllimport) virtual ~K3(); - virtual int m1(); -}; - -__declspec(dllexport) - K3::K3(){} - -__declspec(dllexport) - K3::~K3(){} - -int K3::m1() { return 1; } - diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/symbian2.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/symbian2.C deleted file mode 100644 index 767f0b54e..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/symbian2.C +++ /dev/null @@ -1,11 +0,0 @@ -// { dg-do compile { target arm*-*-symbianelf* } } -// Class data should not be exported. -// { dg-final { scan-hidden "_ZTI1A" } } -// { dg-final { scan-hidden "_ZTS1A" } } -// { dg-final { scan-hidden "_ZTV1B" } } -// { dg-final { scan-hidden "_ZTI1B" } } -// { dg-final { scan-hidden "_ZTS1B" } } - -struct A {}; -struct B : virtual public A {}; -B b; diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/template1.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/template1.C deleted file mode 100644 index c5cee0d4b..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/template1.C +++ /dev/null @@ -1,35 +0,0 @@ -// PR c++/19134 -// -fvisibility-inlines-hidden doesn't apply to non-inline specializations - -// { dg-require-visibility "" } -// { dg-options "-fvisibility-inlines-hidden" } -// { dg-final { scan-not-hidden "_ZN1AIiE3fooEv" } } -// { dg-final { scan-not-hidden "_ZN1AIiE3barEv" } } -// { dg-final { scan-hidden "_ZN1AIlE3fooEv" } } -// { dg-final { scan-hidden "_ZN1AIlE3barEv" } } -// { dg-final { scan-hidden "_ZN1AIcE3barEv" } } - -template<class T> -struct A { - void foo() {}; - __attribute ((visibility ("hidden"))) void bar(); -}; - -// This has default visibility. -template<> void A<int>::foo() {} - -// This has hidden visibility because of -fvisibility-inlines-hidden. -template<> inline void A<long>::foo() {} -// Force the inline out. -void f () { A<long> a; a.foo(); } - -// This has default visibility. -template<> __attribute ((visibility ("default"))) void A<int>::bar() {} - -// This inherits hidden visibility from its template. -template<> void A<long>::bar() { } - -// This also has hidden visibility; #pragma vis doesn't affect class members. -#pragma GCC visibility push(default) -template<> void A<char>::bar() { } -#pragma GCC visibility pop diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/template10.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/template10.C deleted file mode 100644 index 492623334..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/template10.C +++ /dev/null @@ -1,16 +0,0 @@ -// PR c++/51930 -// { dg-require-visibility "" } -// { dg-options -fvisibility=hidden } -// { dg-final { scan-not-hidden "_Z8testfuncI3fooEvv" } } - -struct foo { }; - -template<typename T> -__attribute__ ((visibility("default"))) -void testfunc(); - -template<typename T> void testfunc() { } - -template -__attribute__ ((visibility("default"))) -void testfunc<foo>(); diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/template11.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/template11.C deleted file mode 100644 index fb47fe2af..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/template11.C +++ /dev/null @@ -1,20 +0,0 @@ -// PR c++/51930 -// { dg-require-visibility "" } -// { dg-options "-fvisibility=hidden" } -// { dg-final { scan-not-hidden "_ZN13template_testI4testE8functionEv" } } - -struct test { }; - -template<typename T> -struct template_test -{ - __attribute__((visibility("default"))) - void function(); -}; - -template<typename T> -void template_test<T>::function() { } - -template -struct __attribute__((visibility("default"))) -template_test<test>; diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/template12.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/template12.C deleted file mode 100644 index b9219d528..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/template12.C +++ /dev/null @@ -1,13 +0,0 @@ -// { dg-require-visibility "" } -// { dg-options "-fvisibility=hidden" } -// { dg-final { scan-not-hidden "_ZN1aI1bE1cE" } } - -template <class T> class __attribute__((visibility("default"))) a -{ -public: - /* A */ static int c; -}; - -class __attribute__((visibility("default"))) b : a <b> {}; - -template<> /* B */ int a<b>::c = 0; diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/template2.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/template2.C deleted file mode 100644 index 8db96db56..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/template2.C +++ /dev/null @@ -1,35 +0,0 @@ -// PR c++/27000 -// Implicitly instantiated templates should not be affected by -// #pragma visibility. - -/* { dg-do compile } */ -/* { dg-require-visibility "" } */ -/* { dg-final { scan-not-hidden "_ZN1SIiED1Ev" } } */ -/* { dg-final { scan-not-hidden "_ZN1SIiEC1ERKi" } } */ - -template <class T> -struct S -{ - S (const T &); - ~S (); - T t; -}; - -template <class T> -S<T>::S (const T &x) -{ - t = x; -} - -template <class T> -S<T>::~S () -{ -} - -#pragma GCC visibility push(hidden) -struct U -{ - S<int> s; - U () : s (6) { } -} u; -#pragma GCC visibility pop diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/template3.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/template3.C deleted file mode 100644 index 69cb6caba..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/template3.C +++ /dev/null @@ -1,22 +0,0 @@ -// PR c++/17470 -// Test that we can give visibility to explicit template instantiations - -// { dg-require-visibility "" } -// { dg-final { scan-hidden "_ZN1AIlE1fEl" } } -// { dg-final { scan-hidden "_ZN1AIiE1fEi" } } -// { dg-final { scan-not-hidden "_ZN1AIcE1fEc" } } -// { dg-final { scan-hidden "_Z8identityIdET_S0_" } } -// { dg-final { scan-not-hidden "_Z8identityIiET_S0_" } } - -template <class T> T identity(T t) { return t; } -template __attribute__((visibility("hidden"))) double identity(double); -template int identity(int); - - -template <class T> struct A { void f (T); }; -template <class T> void A<T>::f (T) { } -template struct __attribute ((visibility ("hidden"))) A<int>; -template<> struct __attribute ((visibility ("hidden"))) A<long> { void f(long); }; -// inherits hidden visibility from its class -void A<long>::f (long) { } -template struct A<char>; diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/template4.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/template4.C deleted file mode 100644 index add63a593..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/template4.C +++ /dev/null @@ -1,39 +0,0 @@ -// Test for explicit visibility on template vs. #pragma vis at explicit -// instantiation/specialization point for plain function templates. - -// { dg-require-visibility "" } -// { dg-final { scan-hidden "_Z3fooIdEvT_" } } -// { dg-final { scan-hidden "_Z3fooIlEvT_" } } -// { dg-final { scan-hidden "_Z3fooIcEvT_" } } -// { dg-final { scan-hidden "_Z3fooIiEvT_" } } -// { dg-final { scan-not-hidden "_Z3fooIfEvT_" } } -// { dg-final { scan-not-hidden "_Z3fooIsEvT_" } } - -// { dg-final { scan-hidden "_Z3barIdEvT_" } } -// { dg-final { scan-hidden "_Z3barIlEvT_" } } -// { dg-final { scan-hidden "_Z3barIiEvT_" } } -// { dg-final { scan-hidden "_Z3barIcEvT_" } } -// { dg-final { scan-not-hidden "_Z3barIfEvT_" } } -// { dg-final { scan-not-hidden "_Z3barIsEvT_" } } - -#pragma GCC visibility push(hidden) -template <class T> void bar(T) { } -#pragma GCC visibility pop -template void bar (long); -template<> void bar (double) { } -template __attribute ((visibility ("default"))) void bar (short); -template<> __attribute ((visibility ("default"))) void bar (float) { } -#pragma GCC visibility push(default) -template<> void bar(char) { } -template void bar(int); -#pragma GCC visibility pop - -template <class T> __attribute ((visibility ("hidden"))) void foo(T) { } -template void foo (long); -template<> void foo (double) { } -template __attribute ((visibility ("default"))) void foo (short); -template<> __attribute ((visibility ("default"))) void foo (float) { } -#pragma GCC visibility push(default) -template<> void foo(char) { } -template void foo(int); -#pragma GCC visibility pop diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/template6.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/template6.C deleted file mode 100644 index 7892a46e2..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/template6.C +++ /dev/null @@ -1,17 +0,0 @@ -// Test for explicit visibility taking precedence - -// { dg-require-visibility "" } -// { dg-final { scan-not-hidden "_ZN1AIiE1fEv" } } - -template <class T> struct A -{ - // This attribute takes precedence over... - __attribute ((visibility ("default"))) void f (); -}; - -template <class T> -void A<T>::f () -{ } - -// ...this attribute. -template struct __attribute ((visibility ("hidden"))) A<int>; diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/template7.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/template7.C deleted file mode 100644 index 5197fb1c9..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/template7.C +++ /dev/null @@ -1,29 +0,0 @@ -// PR c++/35688 -// { dg-require-visibility "" } -// { dg-options "-fvisibility=hidden" } - -// { dg-final { scan-hidden "_ZN1s6vectorI1AEC1Ev" } } -// { dg-final { scan-hidden "_ZN1s3fooI1AEEvT_" } } - -namespace s __attribute__((visibility("default"))) { - template <class T> - class vector { - public: - vector() { } - }; - template <class T> - void foo(T t) { - } -} - -class A { -public: - A() { } -}; - -s::vector<A> v; - -int main() { - A a; - s::foo(a); -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/template8.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/template8.C deleted file mode 100644 index e491882e0..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/template8.C +++ /dev/null @@ -1,26 +0,0 @@ -// PR c++/35688 -// { dg-require-visibility "" } -// { dg-options "-fvisibility=hidden" } - -// { dg-final { scan-hidden "_Z1gI1BEvT_" } } -// { dg-final { scan-hidden "_Z1gI1AI1BEEvT_" } } - -// Test that template argument visibility takes priority even over an -// explicit visibility attribute on a template. - -template <class T> -struct __attribute ((visibility ("default"))) A { }; -template <class T> -void g(T) __attribute ((visibility ("default"))); - -struct B { }; - -template <class T> -void g(T) -{ } - -int main() -{ - g(B()); - g(A<B>()); -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/template9.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/template9.C deleted file mode 100644 index 5a1b7396e..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/template9.C +++ /dev/null @@ -1,15 +0,0 @@ -// PR c++/51813 -// { dg-require-visibility "" } -// { dg-options -fvisibility=hidden } -// { dg-final { scan-not-hidden "_ZN1N1fI1AEEvT" } } - -struct A { }; -namespace N __attribute((visibility("default"))) { - template <class T> void f(T) { } - extern template void f(A); -} - -int main() -{ - N::f(A()); -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/typeinfo1.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/typeinfo1.C deleted file mode 100644 index 99dfc1cd7..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/typeinfo1.C +++ /dev/null @@ -1,19 +0,0 @@ -// PR c++/26984 -// lazily generated typeinfos should not be affected by #pragma vis, but -// they should be affected by the visibility of the type they describe. - -// { dg-require-visibility "" } -// { dg-options "-fvisibility-inlines-hidden" } -// { dg-final { scan-not-hidden "_ZTIPPi" } } -// { dg-final { scan-not-hidden "_ZTSPPi" } } -// { dg-final { scan-hidden "_ZTIP1A" } } -// { dg-final { scan-hidden "_ZTSP1A" } } - -#include <typeinfo> - -#pragma GCC visibility push(hidden) -const std::type_info* t = &(typeid(int **)); -struct A { }; -#pragma GCC visibility pop - -const std::type_info* t2 = &(typeid(A *)); diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/typeinfo2.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/typeinfo2.C deleted file mode 100644 index 54f541d85..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/typeinfo2.C +++ /dev/null @@ -1,23 +0,0 @@ -// PR c++/35368 -// { dg-require-visibility "" } - -#pragma GCC visibility push (hidden) - -struct A -{ - A(); - virtual ~A() { } -}; - -A::A() -{ -} - -void foo(A *a) -{ - delete a; -} - -// { dg-final { scan-not-hidden "_ZTVN10__cxxabiv117__class_type_infoE" } } -// { dg-final { scan-hidden "_ZTI1A" } } -// { dg-final { scan-hidden "_ZTV1A" } } diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/typeinfo3.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/typeinfo3.C deleted file mode 100644 index 5102b6492..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/typeinfo3.C +++ /dev/null @@ -1,24 +0,0 @@ -// PR c++/35368 -// { dg-require-visibility "" } - -#pragma GCC visibility push (hidden) - -#include <typeinfo> - -const std::type_info& info1 = typeid(int []); -const std::type_info& info2 = typeid(int); -enum E { e = 0 }; -const std::type_info& info3 = typeid(E); -struct S { S (); }; -const std::type_info& info4 = typeid(S); -const std::type_info& info5 = typeid(int *); - -// { dg-final { scan-not-hidden "_ZTVN10__cxxabiv117__array_type_infoE" } } -// { dg-final { scan-not-hidden "_ZTVN10__cxxabiv116__enum_type_infoE" } } -// { dg-final { scan-hidden "_ZTI1S" } } -// { dg-final { scan-hidden "_ZTS1S" } } -// { dg-final { scan-hidden "info1" } } -// { dg-final { scan-hidden "info2" } } -// { dg-final { scan-hidden "info3" } } -// { dg-final { scan-hidden "info4" } } -// { dg-final { scan-hidden "info5" } } diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/virtual.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/virtual.C deleted file mode 100644 index 770600368..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/virtual.C +++ /dev/null @@ -1,17 +0,0 @@ -/* Test that setting visibility for class affects virtual table, VTT and - type_info name and node. */ -/* { dg-do compile } */ -/* { dg-require-visibility "" } */ -/* { dg-final { scan-hidden "ZTV3Foo" } } */ -/* { dg-final { scan-hidden "ZTT3Foo" } } */ -/* { dg-final { scan-hidden "ZTS3Foo" } } */ -/* { dg-final { scan-hidden "ZTI3Foo" } } */ - -struct A { }; - -class __attribute__ ((visibility ("hidden"))) Foo: virtual public A -{ - virtual void method(); -}; - -void Foo::method() { } diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/visibility-1.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/visibility-1.C deleted file mode 100644 index 8ea270bf8..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/visibility-1.C +++ /dev/null @@ -1,8 +0,0 @@ -/* Test visibility attribute on function definition. */ -/* { dg-require-visibility "" } -/* { dg-final { scan-hidden "_Z3foov" } } */ - -void -__attribute__((visibility ("hidden"))) -foo() -{ } diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/visibility-10.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/visibility-10.C deleted file mode 100644 index 312d32309..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/visibility-10.C +++ /dev/null @@ -1,19 +0,0 @@ -// { dg-require-visibility "" } -// { dg-require-dll "" } - -extern void __attribute__((dllimport, visibility("hidden"))) - f1(); // { dg-error "visibility" } -extern void __attribute__((visibility("hidden"), dllimport)) - f2(); // { dg-error "visibility" } -extern void __attribute__((dllexport, visibility("hidden"))) - f3(); // { dg-error "visibility" } -extern void __attribute__((visibility("hidden"), dllexport)) - f4(); // { dg-error "visibility" } -extern void __attribute__((visibility("default"), dllimport)) - f5(); -extern void __attribute__((dllimport, visibility("default"))) - f6(); -extern void __attribute__((visibility("default"), dllexport)) - f7(); -extern void __attribute__((dllexport, visibility("default"))) - f8(); diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/visibility-11.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/visibility-11.C deleted file mode 100644 index 78f40c62b..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/visibility-11.C +++ /dev/null @@ -1,18 +0,0 @@ -// PR target/39175 -// { dg-do compile } -// { dg-require-visibility "" } -// { dg-options "-O2 -fvisibility=hidden -fpic" { target fpic } } - -__attribute__((noinline)) int -foo (int x) -{ - return x; -} - -int foo (int x); - -int -bar (int x) -{ - return foo (x); -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/visibility-2.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/visibility-2.C deleted file mode 100644 index 26272abb1..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/visibility-2.C +++ /dev/null @@ -1,7 +0,0 @@ -/* Test that visibility attribute on declaration extends to definition. */ -/* { dg-require-visibility "" } -/* { dg-final { scan-hidden "_Z3foov" } } */ - -void __attribute__((visibility ("hidden"))) foo(); - -void foo() { } diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/visibility-3.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/visibility-3.C deleted file mode 100644 index e4f499fcc..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/visibility-3.C +++ /dev/null @@ -1,7 +0,0 @@ -/* Test visibility attribute on forward declaration of global variable */ -/* { dg-require-visibility "" } -/* { dg-final { scan-hidden "xyzzy" } } */ - -int -__attribute__((visibility ("hidden"))) -xyzzy = 5; diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/visibility-4.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/visibility-4.C deleted file mode 100644 index f67659587..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/visibility-4.C +++ /dev/null @@ -1,8 +0,0 @@ -/* Test visibility attribute on forward declaration of global variable */ -/* { dg-require-visibility "" } -/* { dg-final { scan-hidden "xyzzy" } } */ - -extern int __attribute__ ((visibility ("hidden"))) -xyzzy; - -int xyzzy = 5; diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/visibility-5.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/visibility-5.C deleted file mode 100644 index 592529e66..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/visibility-5.C +++ /dev/null @@ -1,11 +0,0 @@ -/* Test visibility attribute on definition of a function that has - already had a forward declaration. */ -/* { dg-require-visibility "" } -/* { dg-final { scan-hidden "_Z3foov" } } */ - -void foo(); - -void - __attribute__((visibility ("hidden"))) -foo() -{ } diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/visibility-6.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/visibility-6.C deleted file mode 100644 index 0fecf6b74..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/visibility-6.C +++ /dev/null @@ -1,10 +0,0 @@ -/* Test visibility attribute on definition of global variable that has - already had a forward declaration. */ -/* { dg-require-visibility "" } -/* { dg-final { scan-hidden "xyzzy" } } */ - -extern int xyzzy; - -int -__attribute__((visibility ("hidden"))) -xyzzy = 5; diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/visibility-7.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/visibility-7.C deleted file mode 100644 index ae4589397..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/visibility-7.C +++ /dev/null @@ -1,11 +0,0 @@ -/* Test warning from conflicting visibility specifications. */ -/* { dg-require-visibility "protected" } */ -/* { dg-final { scan-hidden "xyzzy" } } */ - -extern int -__attribute__((visibility ("hidden"))) -xyzzy; /* { dg-warning "previous declaration here" "" } */ - -int -__attribute__((visibility ("protected"))) -xyzzy = 5; /* { dg-warning "visibility attribute ignored" "" } */ diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/visibility-8.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/visibility-8.C deleted file mode 100644 index f0139b362..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/visibility-8.C +++ /dev/null @@ -1,56 +0,0 @@ -// Test that a definition marked with dllexport has default -// visibility. -// { dg-require-visibility "" } -// { dg-require-dll "" } -// { dg-options "-fvisibility=hidden" } -// { dg-final { scan-not-hidden "_ZN1A1fEv" } } -// { dg-final { scan-not-hidden "_Z1gv" } } -// { dg-final { scan-not-hidden "_Z1hv" } } -// { dg-final { scan-not-hidden "_ZN1BC1Ev" } } -// { dg-final { scan-not-hidden "_ZN1BC2Ev" } } -// { dg-final { scan-not-hidden "_ZN1BD0Ev" } } -// { dg-final { scan-not-hidden "_ZN1BD1Ev" } } -// { dg-final { scan-not-hidden "_ZN1BD2Ev" } } -// { dg-final { scan-not-hidden "_ZN1B1iEv" } } -// { dg-final { scan-not-hidden "_ZN1B1jEv" } } -// { dg-final { scan-not-hidden "_ZN1A1a" } } -// { dg-final { scan-not-hidden "_ZN1B1b" } } -// { dg-final { scan-not-hidden "k" } } -// { dg-final { scan-not-hidden "l" } } - -struct __declspec(dllexport) A { - void f(); - static int a; -}; - -void A::f() {} - -int A::a; - -__declspec(dllexport) void g() {} - -__declspec(dllexport) void h(); -void h() {} - -struct B { - B(); - __declspec(dllexport) virtual ~B(); - void i(); - __declspec(dllexport) void j(); - __declspec(dllexport) static int b; -}; - -__declspec(dllexport) B::B() {} - -B::~B() {} - -__declspec(dllexport) void B::i() {} - -void B::j() {} - -int B::b; - -__declspec(dllexport) int k; - -__declspec(dllexport) extern int l; -int l; diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/visibility-9.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/visibility-9.C deleted file mode 100644 index 06b5a17e9..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/visibility-9.C +++ /dev/null @@ -1,29 +0,0 @@ -// Test that dllimport'd functions have default visibility. -// { dg-require-visibility "" } -// { dg-require-dll "" } -// { dg-options "-fvisibility=hidden" } -// { dg-final { scan-not-hidden "_Z2f1v" } } -// { dg-final { scan-not-hidden "_ZN1S2f3Ev" } } - -extern void __attribute__((dllimport)) f1(); -void f2() { - f1(); -} - -struct __attribute__((visibility("hidden")) S1 { - __attribute__((dllimport)) void f3(); -}; - -void f4() { - S1 s1; - s1.f3(); -} - -struct S2 { - __attribute__((dllimport)) void f5(); -}; - -void f6() { - S2 s2; - s2.f5(); -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/warn2.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/warn2.C deleted file mode 100644 index 475179fd6..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/warn2.C +++ /dev/null @@ -1,16 +0,0 @@ -// Complain when a class is specified with greater visibility than one of -// its members' types or bases. - -// { dg-require-visibility "" } - -namespace N __attribute ((__visibility__ ("hidden"))) -{ - struct A { }; -} - -struct B // { dg-warning "visibility" } -{ - N::A a; -}; - -struct C: public N::A { }; // { dg-warning "visibility" } diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/warn3.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/warn3.C deleted file mode 100644 index d1d3ba486..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/warn3.C +++ /dev/null @@ -1,26 +0,0 @@ -// Tests for various visibility mismatch situations. - -// { dg-require-visibility "" } - -// { dg-final { scan-not-hidden "_ZN1A1fEv" } } - -struct __attribute ((visibility ("hidden"))) A -{ - // This is OK, A::f gets default visibility. - __attribute ((visibility ("default"))) void f (); -}; - -void A::f() { } - -// This gets a warning because B objects might rely -// on hidden symbols from A. -struct B // { dg-warning "visibility" } -{ - A a; -}; - -// This one has explicit visibility, so it doesn't get a warning. -struct __attribute ((visibility ("default"))) C -{ - A a; -}; diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/warn4.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/warn4.C deleted file mode 100644 index 33e6f6785..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/warn4.C +++ /dev/null @@ -1,10 +0,0 @@ -// Warn if we try to give an instantiation visibility after it's already -// been instantiated. - -// { dg-require-visibility "" } - -template <class T> struct A { void f (T); }; -template <class T> void A<T>::f (T) { } - -A<double> ad; -template struct __attribute ((visibility ("hidden"))) A<double>; // { dg-warning "already defined" } diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/warn5.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/warn5.C deleted file mode 100644 index 63538e5ad..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/visibility/warn5.C +++ /dev/null @@ -1,11 +0,0 @@ -// PR c++/40145 -// { dg-do compile } -// { dg-require-visibility "" } -// { dg-options "-fvisibility=hidden" } - -struct EditorInternalCommand { }; - -static void createCommandMap() -{ - struct CommandEntry { EditorInternalCommand command; }; -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/vla1.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/vla1.C deleted file mode 100644 index f3725354f..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/vla1.C +++ /dev/null @@ -1,26 +0,0 @@ -// { dg-do compile } - -// Crash tests from PR middle-end/6994. See also gcc.dg/vla-2.c. -// A::A is acceptable extended C++ (VLA types brought over from C99); -// B::B is not, but is closely related to acceptable extended C, though -// not to acceptable C99. - -class A { A (int); }; - -A::A (int i) -{ - int ar[1][i]; // { dg-error "variable length array" } - - ar[0][0] = 0; -} - -class B { B (int); }; - -B::B (int i) -{ - struct S { - int ar[1][i]; // { dg-error "array" } - } s; - - s.ar[0][0] = 0; // { dg-prune-output "no member" } -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/vla10.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/vla10.C deleted file mode 100644 index 17cdb2f9f..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/vla10.C +++ /dev/null @@ -1,32 +0,0 @@ -// PR c++/48446 -// { dg-options "" } - -template<typename T> -struct A -{ - ~A (); - T *operator-> () const; -}; - -struct B -{ - typedef A <B> P; - static P foo (int); -}; - -struct C -{ - typedef A<C> P; - static const int c = 80; -}; - -C::P bar (); - -void -baz () -{ - char z[bar ()->c]; - { - B::P m = B::foo (sizeof (z)); - } -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/vla11.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/vla11.C deleted file mode 100644 index 8f3be9e56..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/vla11.C +++ /dev/null @@ -1,8 +0,0 @@ -// Test that auto works with VLAs. -// { dg-options -std=c++0x } - -void bar(int n) -{ - float loc2[n]; - auto&& range = loc2; -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/vla12.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/vla12.C deleted file mode 100644 index bca836507..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/vla12.C +++ /dev/null @@ -1,28 +0,0 @@ -// VLA sizeof test -// { dg-do compile } -// { dg-options "" } - -int -f1 (int i) -{ - char a[sizeof (i) + 6 + i]; - char b[sizeof (a) + 1]; - return sizeof (b); -} - -int -f2 (int i) -{ - char a[sizeof (i) + 6 + i]; - char b[sizeof (a)]; - return sizeof (b); -} - -int -f3 (int i) -{ - char a[sizeof (i) + 6 + i]; - char b[sizeof (i) + i]; - char c[sizeof (a) + sizeof (b) + 7]; - return sizeof (c); -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/vla13.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/vla13.C deleted file mode 100644 index 719c35b16..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/vla13.C +++ /dev/null @@ -1,8 +0,0 @@ -// PR c++/54583 -// { dg-options "-Wunused-value" } - -void fred() -{ - int n=10; - double (*x)[n]; -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/vla2.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/vla2.C deleted file mode 100644 index 3e83c8b3d..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/vla2.C +++ /dev/null @@ -1,19 +0,0 @@ -// { dg-do compile } -// { dg-options "" } - -// Copyright (C) 2003 Free Software Foundation, Inc. -// Contributed by Nathan Sidwell 21 Mar 2003 <nathan@codesourcery.com> - -// PR 9708. We unified a VLA size as a constant. Then issued bogus -// errors. - -template <unsigned int N> -char* begin(char (&a) [N] ); // { dg-message "note" } - -void bar(int i) -{ - char d[i] ; - - begin(d); // { dg-error "no matching function" "" } - // { dg-message "(candidate|valid template argument)" "candidate note" { target *-*-* } 17 } -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/vla3.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/vla3.C deleted file mode 100644 index 329cc7dde..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/vla3.C +++ /dev/null @@ -1,24 +0,0 @@ -// PR c++/28903 -// { dg-options "" } - -template <class> -struct View -{ - int n; -}; -template <class ViewA> -struct ViewDom : View<ViewA> -{ - using View<ViewA>::n; - ViewDom(); -}; -template <class ViewA> -ViewDom<ViewA>::ViewDom() -{ - char a[n]; -} -void element( ) -{ - ViewDom<int> a; -} - diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/vla4.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/vla4.C deleted file mode 100644 index ecec90807..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/vla4.C +++ /dev/null @@ -1,21 +0,0 @@ -// PR c++/29318 -// { dg-options "" } - -#include <typeinfo> - -void f(int i) { - try { - int a[i]; - throw &a; // { dg-error "variable size" } - } catch (int (*)[i]) { // { dg-error "variable size" } - } -} - -int main() -{ - int i = 5; - int va[i]; - const std::type_info& info(typeid(&va)); // { dg-error "variable size" } - - return 0; -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/vla5.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/vla5.C deleted file mode 100644 index 2457e34f1..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/vla5.C +++ /dev/null @@ -1,10 +0,0 @@ -// PR c++/37417 -// Testcase by Martin Michlmayr <tbm@cyrius.com> -// { dg-do compile } -// { dg-options "-O" } - -void -test (int a) -{ - new (char[a]); // { dg-warning "variable-length array" } -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/vla6.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/vla6.C deleted file mode 100644 index 83011f2f0..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/vla6.C +++ /dev/null @@ -1,18 +0,0 @@ -// PR c++/28879 -// { dg-options "" } - -struct A -{ - int i; - A(): i(1) {} -}; - -template<int> void foo() -{ - int x[A().i]; -} - -void f() -{ - foo<1>(); -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/vla7.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/vla7.C deleted file mode 100644 index 5246f9c8c..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/vla7.C +++ /dev/null @@ -1,30 +0,0 @@ -// PR c++/40013 -// { dg-options "" } - -template <class T> -struct A -{ - struct B - { - struct - { - int fn () { return 0; } - } b; - }; - void test (); -}; - -template <class T> -void -A <T>::test () -{ - B a; - int vla[a.b.fn ()]; -} - -int -main () -{ - A <char> a; - a.test (); -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/vla8.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/vla8.C deleted file mode 100644 index 1c6000fa3..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/vla8.C +++ /dev/null @@ -1,15 +0,0 @@ -// PR c++/42387 -// { dg-options "" } - -template<class PF> -struct AvlTreeIter -{ - int Num(); - - AvlTreeIter() - { - new (void* [Num()]); // { dg-warning "variable-length array" } - } -}; - -AvlTreeIter<int> a; // { dg-message "from here" } diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/vla9.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/vla9.C deleted file mode 100644 index c58edbc9b..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/vla9.C +++ /dev/null @@ -1,38 +0,0 @@ -// PR c++/43555 -// { dg-options "" } -// { dg-do run } - -extern "C" void * malloc (__SIZE_TYPE__); -extern "C" int printf (const char *, ...); -extern "C" void abort(void); - -int nx,ny; - -void f(double *x1d,int choice) -{ - double (*x2d)[nx][ny]=(double(*)[nx][ny])x1d; - unsigned long delta; -// (*x2d)[0][0]=123; // <- this line affects the result - if (choice!=0) - { - delta=&(*x2d)[1][0]-x1d; - } - else - { - delta=&(*x2d)[1][0]-x1d; - } - printf("Choice: %d, Delta: %ld\n",choice,delta); - if (delta != ny) - abort (); -} - -int main() -{ - double *data; - nx=100; - ny=100; - data=(double*)malloc(nx*ny*sizeof(double)); - f(data,0); - f(data,1); - return 0; -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/vlm1.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/vlm1.C deleted file mode 100644 index 9cb6c38be..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/vlm1.C +++ /dev/null @@ -1,13 +0,0 @@ -// { dg-options "" } - -template <class T> struct A {}; - -struct B { - static const int s; - A<int[s]> a; // { dg-error "array|template" } -}; - -const int B::s=16; - -B b; - diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/vlm2.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/vlm2.C deleted file mode 100644 index 3a0b33526..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/vlm2.C +++ /dev/null @@ -1,13 +0,0 @@ -// { dg-options "" } - -int n; - -struct Y -{ - void f () { - typedef int X[n]; - struct Z { - X x; // { dg-error "variably modified" } - }; - } -}; diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/weak1.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/weak1.C deleted file mode 100644 index b7a448f37..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/weak1.C +++ /dev/null @@ -1,13 +0,0 @@ -// Test for #pragma weak where the weak alias symbol isn't declared, -// although the symbol it is an alias for is defined in the -// translation unit. Bug 7544. -// Origin: Joseph Myers <joseph@codesourcery.com> -// { dg-do compile } -// { dg-require-weak "" } -// { dg-require-alias "" } -// { dg-options "-fno-common" } - -// { dg-final { scan-assembler "weak\[^ \t\]*\[ \t\]_?bar1" } } - -#pragma weak bar1 = foo1 -extern "C" void foo1 (void) {} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/weak2.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/weak2.C deleted file mode 100644 index 1bf2ddcb4..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/weak2.C +++ /dev/null @@ -1,17 +0,0 @@ -// Test for #pragma weak with declaration not at file scope. -// { dg-do compile } -// { dg-require-weak "" } -// { dg-options "" } - -// { dg-final { scan-assembler "weak\[^ \t\]*\[ \t\]_?_Z3foov" } } - -#pragma weak _Z3foov - -int -main (void) -{ - extern int foo (void); - if (&foo) - return foo (); - return 0; -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/weak3.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/weak3.C deleted file mode 100644 index 360821acc..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/weak3.C +++ /dev/null @@ -1,17 +0,0 @@ -// PR c++/20961 -// Test for #pragma weak and __attribute__((weak)) being used together. -// { dg-do compile } -// { dg-require-weak "" } -// { dg-options "" } - -// { dg-final { scan-assembler "weak\[^ \t\]*\[ \t\]_?_Z3foov" } } - -int foo (); -#pragma weak foo - -int -__attribute__((weak)) -foo () -{ - return 0; -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/weak4.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/weak4.C deleted file mode 100644 index 5b3cce05c..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/weak4.C +++ /dev/null @@ -1,9 +0,0 @@ -// PR c++/52759 -// { dg-do compile } -// { dg-require-weak "" } -// { dg-options "" } -#pragma weak foo -template <typename T> -struct A { }; -template <typename T> -void bar (A<T> &); diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/weak5.C b/gcc-4.8.1/gcc/testsuite/g++.dg/ext/weak5.C deleted file mode 100644 index f2924a0b6..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/ext/weak5.C +++ /dev/null @@ -1,12 +0,0 @@ -// PR c++/36107 -// { dg-do assemble } -// { dg-require-weak "" } - -class Test { - public: - Test() __attribute__((weak)); -}; - -void test() { - Test test; -} |