Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | IR: print value numbers for unnamed function arguments | Tim Northover | 2019-08-03 | 1 | -1/+1 |
| | | | | | | | | | | For consistency with normal instructions and clarity when reading IR, it's best to print the %0, %1, ... names of function arguments in definitions. Also modifies the parser to accept IR in that form for obvious reasons. llvm-svn: 367755 | ||||
* | [WebAssembly] Reduce strictness of static destructor test | Derek Schuff | 2016-05-10 | 1 | -6/+3 |
| | | | | | | It didn't work on non-asserts builds llvm-svn: 269099 | ||||
* | Introduce CGCXXABI::canCallMismatchedFunctionType | Derek Schuff | 2016-05-10 | 1 | -1/+7 |
| | | | | llvm-svn: 269089 | ||||
* | Clean up condition, add ARM to test | Derek Schuff | 2016-05-10 | 1 | -0/+1 |
| | | | | llvm-svn: 269086 | ||||
* | Do not register incompatible C++ destructors with __cxa_atexit | Derek Schuff | 2016-05-10 | 1 | -0/+29 |
Summary: For a static object with a nontrivial destructor, clang generates an initializer function (__cxx_global_var_init) which registers that object's destructor using __cxa_atexit. However some ABIs (ARM, WebAssembly) use destructors that return 'this' instead of having void return (which does not match the signature of function pointers passed to __cxa_atexit). This results in undefined behavior when the destructors are called. All the calling conventions I know of on ARM can tolerate this, but WebAssembly requires the signatures of indirect calls to match the called function. This patch disables that direct registration of destructors for ABIs that have this-returning destructors. Subscribers: aemerson, jfb, cfe-commits, dschuff Differential Revision: http://reviews.llvm.org/D19275 llvm-svn: 269085 |