diff options
Diffstat (limited to 'gcc/testsuite/g++.dg/inherit/override-attribs.C')
-rw-r--r-- | gcc/testsuite/g++.dg/inherit/override-attribs.C | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.dg/inherit/override-attribs.C b/gcc/testsuite/g++.dg/inherit/override-attribs.C new file mode 100644 index 000000000..e28b8d484 --- /dev/null +++ b/gcc/testsuite/g++.dg/inherit/override-attribs.C @@ -0,0 +1,24 @@ +// PR c++/14688 +// { dg-do compile { target i?86-*-* x86_64-*-* } } +// { dg-require-effective-target ilp32 } + +class one +{ +public: + virtual void + test(void* value); // { dg-error "overriding" } +}; + +class two : public one +{ +public: + void __attribute__((regparm(2))) + test(void* value); // { dg-error "conflicting type attributes" } +}; + +class three : public one +{ +public: + void __attribute__ ((cdecl)) + test(void* value); // OK +}; |