Update g++.dg/cpp0x/gen-attrs-{8,36,37}.C as c++11 attributes to types are ignored
The current implementation of C++11 attributes forbids them from being applied to a type unless the type is being declared. I forgot to adjust g++.dg/cpp0x/gen-attrs-{8,36,37}.C that was being run only on ia32. Fixed thus, tested on i386-unknown-linux-gnu and x86_64-unknown-linux-gnu against trunk. gcc/testsuite/ * g++.dg/cpp0x/gen-attrs-8.C: Update the test to reflect the fact that c++11 attributes to types are ignored for now. * g++.dg/cpp0x/gen-attrs-36.C: Likewise. * g++.dg/cpp0x/gen-attrs-37.C: Likewise From-SVN: r192300
This commit is contained in:
parent
d32350e7a5
commit
d072812eb5
|
@ -1,3 +1,10 @@
|
|||
2012-10-10 Dodji Seketeli <dodji@redhat.com>
|
||||
|
||||
* g++.dg/cpp0x/gen-attrs-8.C: Update the test to reflect the fact
|
||||
that c++11 attributes to types are ignored for now.
|
||||
* g++.dg/cpp0x/gen-attrs-36.C: Likewise.
|
||||
* g++.dg/cpp0x/gen-attrs-37.C: Likewise
|
||||
|
||||
2012-10-10 Paolo Carlini <paolo.carlini@oracle.com>
|
||||
|
||||
PR c++/53741
|
||||
|
|
|
@ -2,20 +2,22 @@
|
|||
// { dg-options "-std=c++11 -pedantic" }
|
||||
// { dg-do compile { target { { i?86-*-* x86_64-*-* } && ia32 } } }
|
||||
|
||||
// c++11 attributes that apply to types are ignored for now
|
||||
|
||||
class T;
|
||||
class L { };
|
||||
class P : public L
|
||||
{
|
||||
typedef void (T::* [[gnu::__stdcall__]] F2) (L*); // { dg-warning "only applies to function types" }
|
||||
typedef void (T::*F) (L*) [[gnu::__stdcall__]];
|
||||
typedef void (T::* [[gnu::__stdcall__]] F2) (L*); // { dg-warning "ignored" }
|
||||
typedef void (T::*F) (L*) [[gnu::__stdcall__]]; // { dg-warning "ignored" }
|
||||
void f(bool aAdd);
|
||||
};
|
||||
|
||||
class T
|
||||
{
|
||||
public:
|
||||
virtual void A(L *listener) [[gnu::__stdcall__]] = 0;
|
||||
virtual void R(L *listener) [[gnu::__stdcall__]] = 0;
|
||||
virtual void A(L *listener) [[gnu::__stdcall__]] = 0; // { dg-warning "ignored" }
|
||||
virtual void R(L *listener) [[gnu::__stdcall__]] = 0; // { dg-warning "ignored" }
|
||||
};
|
||||
void P::f(bool aAdd)
|
||||
{
|
||||
|
|
|
@ -2,12 +2,14 @@
|
|||
// { dg-options "-std=c++11 -pedantic" }
|
||||
// { dg-do compile { target { { i?86-*-* x86_64-*-* } && ia32 } } }
|
||||
|
||||
// c++11 attributes that apply to types are ignored for now
|
||||
|
||||
struct S {
|
||||
int x;
|
||||
S(const S &s) {}
|
||||
};
|
||||
|
||||
S getS() [[gnu::__stdcall__]];
|
||||
S getS() [[gnu::__stdcall__]]; // { dg-warning "ignored" }
|
||||
|
||||
void test()
|
||||
{
|
||||
|
|
|
@ -2,5 +2,5 @@
|
|||
// { dg-do compile { target { { i?86-*-* x86_64-*-* } && ia32 } } }
|
||||
|
||||
extern int * ([[gnu::stdcall]] *fooPtr)( void); // { dg-error "expected" }
|
||||
int * [[gnu::stdcall]] myFn01( void) { return 0; }// { dg-warning "attribute only applies to function types" }
|
||||
int * [[gnu::stdcall]] myFn01( void) { return 0; }// { dg-warning "ignored" }
|
||||
|
||||
|
|
Loading…
Reference in New Issue