4e1125f630e75a52209b928e9d43b638abf39987 |
|
22-Feb-2013 |
Bill Wendling <isanbard@gmail.com> |
Update to use references to attribute groups instead of listing the attributes on the call/invoke instructions. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@175878 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/eh.cpp
|
762bb9d0ad20320b9f97a841dce57ba5e8e48b07 |
|
14-Oct-2011 |
Richard Smith <richard-llvm@metafoo.co.uk> |
Update all tests other than Driver/std.cpp to use -std=c++11 rather than -std=c++0x. Patch by Ahmed Charles! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141900 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/eh.cpp
|
285cfd8953d4ca4da613a47a0d691f7234068f8c |
|
19-Sep-2011 |
Bill Wendling <isanbard@gmail.com> |
Throw the switch to convert clang to the new exception handling model! This model uses the 'landingpad' instruction, which is pinned to the top of the landing pad. (A landing pad is defined as the destination of the unwind branch of an invoke instruction.) All of the information needed to generate the correct exception handling metadata during code generation is encoded into the landingpad instruction. The new 'resume' instruction takes the place of the llvm.eh.resume intrinsic call. It's lowered in much the same way as the intrinsic is. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140049 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/eh.cpp
|
777d6e56ad9b1fed9866daf3ee6486d85c5b7d32 |
|
11-Aug-2011 |
John McCall <rjmccall@apple.com> |
Simplify EH control flow by observing that EH scopes form a simple hierarchy of delegation, and that EH selector values are meaningful function-wide (good thing, too, or inlining wouldn't work). 2,3d 1a hierarchy of delegation and that EH selector values have the same meaning everywhere in the function instead of being meaningful only in the context of a specific selector. This removes the need for routing edges through EH cleanups, since a cleanup simply always branches to its enclosing scope. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@137293 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/eh.cpp
|
82cd2e5c15aa909ec9613c4228ab69e07f1c6f7a |
|
06-Aug-2011 |
John McCall <rjmccall@apple.com> |
Be sure to destroy the normal entry block of a cleanup that we aren't actually going to make a normal cleanup for. Sometimes we optimistically create branches to such blocks for fixups, and then we resolve the fixup to somewhere within the cleanup's scope, and then the cleanup is actually not reachable for some reason. The process of resolving the fixup leaves us with switches whose default edge leads to the cleanup; we can replace that with unreachable, then (in many cases) turn the switch into an unconditional branch. Fixes PR10467. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@137011 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/eh.cpp
|
9cbe4f0ba01ec304e1e3d071c071f7bca33631c0 |
|
09-Jul-2011 |
Chris Lattner <sabre@nondot.org> |
clang side to match the LLVM IR type system rewrite patch. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@134831 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/eh.cpp
|
93c332a8ba2c193c435b293966d343dab15f555b |
|
28-May-2011 |
John McCall <rjmccall@apple.com> |
Convert Clang over to resuming from landing pads with llvm.eh.resume. It's quite likely that this will explode, but I need to know how. :) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132269 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/eh.cpp
|
addd80d1c80d1e9f249988452103c93a564945f0 |
|
27-May-2011 |
Eli Friedman <eli.friedman@gmail.com> |
Back out r132209; it's breaking nightly tests. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132219 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/eh.cpp
|
0903421e36c174a82597f83bd296f3cd5b5f169b |
|
27-May-2011 |
John McCall <rjmccall@apple.com> |
Implement a new, much improved version of the cleanup hack. We just need to be careful to emit landing pads that are always prepared to handle a cleanup path. This is correct mostly because of the fix to the LLVM inliner, r132200. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132209 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/eh.cpp
|
0ee33912f8ec3453856c8a32ed2c2e8007bed614 |
|
19-May-2011 |
Sebastian Redl <sebastian.redl@getdesigned.at> |
Reapply r121528, fixing PR9941 by delaying the exception specification check for destructors until the class is complete and destructors have been adjusted. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@131632 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/eh.cpp
|
1d78032167c2f2d470e4270aadcb07ff71e6c7e1 |
|
18-May-2011 |
Sean Hunt <scshunt@csclub.uwaterloo.ca> |
Revert r121528 as it breaks a simple testcase, which leads to, among other things, libcxx not building. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@131573 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/eh.cpp
|
0320a1d7b3305d1aef36ee68b77bebe170e1d30a |
|
18-May-2011 |
Sebastian Redl <sebastian.redl@getdesigned.at> |
Implement implicit exception specifications of destructors. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@131528 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/eh.cpp
|
abea951c34876a5374d0e3678c7989b225c5c895 |
|
28-Feb-2011 |
Anders Carlsson <andersca@mac.com> |
Add -fcxx-exceptions to all tests that use C++ exceptions. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@126599 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/eh.cpp
|
3ad32c8d93eb65d1d4943d7df567fc9b4f55d137 |
|
28-Jan-2011 |
John McCall <rjmccall@apple.com> |
Convert the exception-freeing cleanup over to the conditional cleanups code, fixing a crash which probably nobody was ever going to see. In doing so, fix a horrendous number of problems with the conditional-cleanups code. Also, make conditional cleanups re-use the cleanup's activation variable, which avoids some unfortunate repetitiveness. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@124481 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/eh.cpp
|
0691a5c83246604a89654e0dfc25870e742035b4 |
|
25-Jan-2011 |
Rafael Espindola <rafael.espindola@gmail.com> |
Move unnamed_addr after the function arguments on Sabre's request. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@124210 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/eh.cpp
|
c5f657fe308f22243f674fc1dfbe24915944d8bf |
|
11-Jan-2011 |
Rafael Espindola <rafael.espindola@gmail.com> |
Add unnamed_addr to constructors and destructors. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@123197 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/eh.cpp
|
413e67778d593215d2f2161a4e712c8568f1ddd0 |
|
28-Jul-2010 |
John McCall <rjmccall@apple.com> |
When creating a jump destination, its scope should be the scope of the enclosing normal cleanup, not the top of the EH stack. I'm *really* surprised this hasn't been causing more problems. Fixes rdar://problem/8231514. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@109569 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/eh.cpp
|
7cd4b060f1e59f6d29126383ceee614e4772f859 |
|
27-Jul-2010 |
John McCall <rjmccall@apple.com> |
Test for the presence of EH branch-throughs instead of normal branch-throughs. I knew this code duplication would bite me. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@109463 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/eh.cpp
|
ff8e11579fc904aa4032d90d2be6ce1ac5fc9fe1 |
|
23-Jul-2010 |
John McCall <rjmccall@apple.com> |
Revise cleanup IR generation to fix a major bug with cleanups (PR7686) as well as some significant asymptotic inefficiencies with threading multiple jumps through deep cleanups. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@109274 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/eh.cpp
|
204b075fcc47c3f2aa7276dfba9b42eb25840b53 |
|
21-Jul-2010 |
John McCall <rjmccall@apple.com> |
Fix the IR generation for catching pointers by references. Fixes <rdar://problem/8212123>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@108944 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/eh.cpp
|
8e3f86193995c47ee0d229e4336c3382410f09f5 |
|
14-Jul-2010 |
John McCall <rjmccall@apple.com> |
Allow for the possibility that __cxa_end_catch might throw for a catch-all block or a catch of a record type by value or reference. Also convert this to a lazy cleanup. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@108287 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/eh.cpp
|
09faeabf39a6fab2e2beb6bf03da970c17d2049a |
|
13-Jul-2010 |
John McCall <rjmccall@apple.com> |
Switch the __cxa_free_exception cleanup to be lazy. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@108276 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/eh.cpp
|
59a7000a79118e4c140885ccbb2ac6a686a73092 |
|
07-Jul-2010 |
John McCall <rjmccall@apple.com> |
Teach function-try-blocks on constructors and destructors to implicitly rethrow. Fixes rdar://problem/7696603 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107757 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/eh.cpp
|
f1549f66a8216a78112286e3978cea2c29d6334c |
|
06-Jul-2010 |
John McCall <rjmccall@apple.com> |
Validated by nightly-test runs on x86 and x86-64 darwin, including after self-host. Hopefully these results hold up on different platforms. I tried to keep the GNU ObjC runtime happy, but it's hard for me to test. Reimplement how clang generates IR for exceptions. Instead of creating new invoke destinations which sequentially chain to the previous destination, push a more semantic representation of *why* we need the cleanup/catch/filter behavior, then collect that information into a single landing pad upon request. Also reorganizes how normal cleanups (i.e. cleanups triggered by non-exceptional control flow) are generated, since it's actually fairly closely tied in with the former. Remove the need to track which cleanup scope a block is associated with. Document a lot of previously poorly-understood (by me, at least) behavior. The new framework implements the Horrible Hack (tm), which requires every landing pad to have a catch-all so that inlining will work. Clang no longer requires the Horrible Hack just to make exceptions flow correctly within a function, however. The HH is an unfortunate requirement of LLVM's EH IR. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107631 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/eh.cpp
|
7e2f128354f631d44b3f6dbcd4cee1cc04bdf7b1 |
|
22-Apr-2010 |
John McCall <rjmccall@apple.com> |
Neuter this testcase a little. The way LLVM writes labels for anonymous blocks makes it impossible to check labels. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@102048 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/eh.cpp
|
ac418162692a951ca3796d6830496a85a2d12493 |
|
22-Apr-2010 |
John McCall <rjmccall@apple.com> |
Call PerformCopyInitialization to properly initialize the exception temporary in a throw expression. Use EmitAnyExprToMem to emit the throw expression, which magically elides the final copy-constructor call (which raises a new strict-compliance bug, but baby steps). Give __cxa_throw a destructor pointer if the exception type has a non-trivial destructor. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@102039 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/eh.cpp
|
3ecd785aff34381f3704d9cb28fe3ef85af759de |
|
04-Apr-2010 |
Mon P Wang <wangmp@apple.com> |
Reapply patch for adding support for address spaces and added a isVolatile field to memcpy, memmove, and memset. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@100305 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/eh.cpp
|
c90f56d9f144b2dce88d1c141ddf0e0940e62e63 |
|
02-Apr-2010 |
Mon P Wang <wangmp@apple.com> |
Revert r100193 since it causes failures in objc in clang git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@100200 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/eh.cpp
|
8facca6cafa8d471768fe14074b1301e24e08fec |
|
02-Apr-2010 |
Mon P Wang <wangmp@apple.com> |
Reapply patch for adding support for address spaces and added a isVolatile field to memcpy, memmove, and memset. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@100193 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/eh.cpp
|
b5896c37922e09529e61db4b3dd946cf2ecb211e |
|
31-Mar-2010 |
Bob Wilson <bob.wilson@apple.com> |
Revert Mon Ping's 99930 due to broken llvm-gcc buildbots. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@99949 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/eh.cpp
|
3b5caa20652c43d00229bac972b78bee44a0ee9f |
|
30-Mar-2010 |
Mon P Wang <wangmp@apple.com> |
Added support for address spaces and added a isVolatile field to memcpy, memmove, and memset git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@99930 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/eh.cpp
|
53b4810bad9385fbc65f045711585517f99fd31b |
|
13-Jan-2010 |
Mike Stump <mrs@apple.com> |
Fix Release-Asserts. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@93353 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/eh.cpp
|
a5728872c7702ddd09537c95bc3cbd20e1f2fb09 |
|
15-Dec-2009 |
Daniel Dunbar <daniel@zuster.org> |
Update tests to use %clang_cc1 instead of 'clang-cc' or 'clang -cc1'. - This is designed to make it obvious that %clang_cc1 is a "test variable" which is substituted. It is '%clang_cc1' instead of '%clang -cc1' because it can be useful to redefine what gets run as 'clang -cc1' (for example, to set a default target). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91446 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/eh.cpp
|
8370c58b9295b32bee50443fe3ac43a47a2047e8 |
|
11-Dec-2009 |
Anders Carlsson <andersca@mac.com> |
When an exception needs to be freed by calling __cxa_exception_free, make sure to stash away the exception pointer somewhere. This fixes an "Instruction does not dominate all uses!" verification error when compiling TableGen. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91084 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/eh.cpp
|
76958099828bac6ebd45abef9f76934b3e99e397 |
|
10-Dec-2009 |
Mike Stump <mrs@apple.com> |
Add terminate handler for copy constructors for thrown objects. WIP. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90994 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/eh.cpp
|
a446343a46ec5a2e3813f3d3314476be267fa242 |
|
20-Nov-2009 |
Mike Stump <mrs@apple.com> |
Add testcases for recent checkins. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89469 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/eh.cpp
|