[llvm-commits] [llvm-gcc-4.2] r80850 - in /llvm-gcc-4.2/tags/Apple/llvmgcc42-2306/gcc: except.c llvm-convert.cpp

Duncan Sands baldrick at free.fr
Thu Sep 3 09:20:19 PDT 2009


Hi Bill,

> Eric tested this patch quite thoroughly. There were no GCC testsuite 
> regressions. Can you come up with a testcase that this breaks?

sure, I expect this to break (untested) if you compile with enough
optimization to have inline_me me inlined into main.

#include <cstdio>

class Cleanup
{
public:
   ~Cleanup(void) {
     printf("in cleanup\n");
   }
};

static void inline_me(void) {
   Cleanup C;
   throw 0;
}

int main(void) {
   try {
     inline_me();
   } catch (...) {
     printf("in catch all\n");
   }
   return 0;
}



More information about the llvm-commits mailing list