diff options
Diffstat (limited to 'gcc/testsuite/g++.dg/torture/ipa-cp-1.C')
-rw-r--r-- | gcc/testsuite/g++.dg/torture/ipa-cp-1.C | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.dg/torture/ipa-cp-1.C b/gcc/testsuite/g++.dg/torture/ipa-cp-1.C new file mode 100644 index 000000000..37c046d87 --- /dev/null +++ b/gcc/testsuite/g++.dg/torture/ipa-cp-1.C @@ -0,0 +1,18 @@ +/* { dg-do compile } */ + +// With IPA-CP, this caused a problem on darwin, where +// _M_reset is being cloned, it was still being marked +// as weak and then we had to change the calls to the +// newly marked function for the non throwing behavior. + +int& f(int&); +inline void _M_reset(int &_M_vbp) throw() +{ + f(_M_vbp); +} +extern int _S_last_request; +void _M_allocate_single_object() throw() +{ + _M_reset(_S_last_request); + _M_reset(_S_last_request); +} |