diff options
Diffstat (limited to 'gcc/testsuite/g++.old-deja')
-rw-r--r-- | gcc/testsuite/g++.old-deja/g++.abi/vtable2.C | 4 | ||||
-rw-r--r-- | gcc/testsuite/g++.old-deja/g++.law/pr25000.C | 24 | ||||
-rw-r--r-- | gcc/testsuite/g++.old-deja/g++.law/profile1.C | 2 |
3 files changed, 27 insertions, 3 deletions
diff --git a/gcc/testsuite/g++.old-deja/g++.abi/vtable2.C b/gcc/testsuite/g++.old-deja/g++.abi/vtable2.C index a36cf0e7f17..b64f0fc257a 100644 --- a/gcc/testsuite/g++.old-deja/g++.abi/vtable2.C +++ b/gcc/testsuite/g++.old-deja/g++.abi/vtable2.C @@ -127,8 +127,8 @@ extern "C" { /* We can use weakref here without dg-require-weak, because we know the symbols are defined, so we don't actually issue the .weak directives. */ - void S3_s3 () __attribute__((__weakref__ ("_ZN2S32s3Ev"))); - void S4_s1 () __attribute__((__weakref__ ("_ZN2S42s1Ev"))); + static void S3_s3 () __attribute__((__weakref__ ("_ZN2S32s3Ev"))); + static void S4_s1 () __attribute__((__weakref__ ("_ZN2S42s1Ev"))); } // IA-64 uses function descriptors not function pointers in its vtables. diff --git a/gcc/testsuite/g++.old-deja/g++.law/pr25000.C b/gcc/testsuite/g++.old-deja/g++.law/pr25000.C new file mode 100644 index 00000000000..45d468020ef --- /dev/null +++ b/gcc/testsuite/g++.old-deja/g++.law/pr25000.C @@ -0,0 +1,24 @@ +// { dg-do compile } +// { dg-options "-O2" } +int * f(void); +void g(int*); +bool h(void); +void Find( ) +{ + int * pRes = f(); + if( !pRes ) { + if( h()){ + if( h()){ + try + { + pRes = new int(); + f(); + }catch(int& e1 ){} + } + if( !pRes ) + f(); + } + g(pRes); + } +} + diff --git a/gcc/testsuite/g++.old-deja/g++.law/profile1.C b/gcc/testsuite/g++.old-deja/g++.law/profile1.C index 56c52d1ef9a..acc20d0ad92 100644 --- a/gcc/testsuite/g++.old-deja/g++.law/profile1.C +++ b/gcc/testsuite/g++.old-deja/g++.law/profile1.C @@ -1,4 +1,4 @@ -// { dg-do run { xfail i[3456]86-*-sco3.2v5* } } +// { dg-do run } // { dg-require-profiling "-pg" } // { dg-options "-pg" } // { dg-options "-pg -static" { target hppa*-*-hpux* } } |