aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.6/gcc/testsuite/g++.dg
diff options
context:
space:
mode:
authorAndrew Hsieh <andrewhsieh@google.com>2013-08-07 14:07:56 +0800
committerAndrew Hsieh <andrewhsieh@google.com>2013-08-07 14:10:19 +0800
commit3cbd714aa558ccb83ed8294779d9dcd4399dd24f (patch)
tree4fb3cd936d88cc6a8f6f96871f341af7e6c6580e /gcc-4.6/gcc/testsuite/g++.dg
parent34cef20a1108ff399ecbe13f42e1f6bc8c909b27 (diff)
downloadtoolchain_gcc-3cbd714aa558ccb83ed8294779d9dcd4399dd24f.tar.gz
toolchain_gcc-3cbd714aa558ccb83ed8294779d9dcd4399dd24f.tar.bz2
toolchain_gcc-3cbd714aa558ccb83ed8294779d9dcd4399dd24f.zip
[4.6,4.7] Always enable --eh-frame-hdr for static executable
See 23e3137ee2897464b051599b85a09f130d3ad05d for the reason why. backport 4.8 patch from http://gcc.gnu.org/ml/gcc-patches/2012-09/msg00969.html Change-Id: I9496e11f314e5e2ec9359b993016723ab6366dad
Diffstat (limited to 'gcc-4.6/gcc/testsuite/g++.dg')
-rw-r--r--gcc-4.6/gcc/testsuite/g++.dg/eh/spec3-static.C25
1 files changed, 25 insertions, 0 deletions
diff --git a/gcc-4.6/gcc/testsuite/g++.dg/eh/spec3-static.C b/gcc-4.6/gcc/testsuite/g++.dg/eh/spec3-static.C
new file mode 100644
index 000000000..15408effa
--- /dev/null
+++ b/gcc-4.6/gcc/testsuite/g++.dg/eh/spec3-static.C
@@ -0,0 +1,25 @@
+// PR c++/4381
+// Test that exception-specs work properly for classes with virtual bases.
+
+// { dg-do run }
+// { dg-options "-static" }
+
+class Base {};
+
+struct A : virtual public Base
+{
+ A() {}
+};
+
+struct B {};
+
+void func() throw (B,A)
+{
+ throw A();
+}
+
+int main(void)
+{
+ try { func(); }
+ catch (A& a) { }
+}