Hi Bill, > int main(int argc, char **argv) { > try { > throw argc; > } catch(int i) { > return i; > } > > return 0; > } I see a call to terminate in the llvm assembler. Where did that come from? I compiled with llvm-gcc-4.0 and llvm-gcc-4.2 and didn't see such a call. Thanks, Duncan.