33337ca4d89605025818daf83390ab4271d598d9 |
|
06-May-2015 |
Pirama Arumuga Nainar <pirama@google.com> |
Update aosp/master clang for rebase to r235153 Change-Id: Ia94bbcb6da7c75b6e7c2afedd1001094d62a7324
/external/clang/lib/CodeGen/CGException.cpp
|
3ea9e33ea25e0c2b12db56418ba3f994eb662c04 |
|
08-Apr-2015 |
Pirama Arumuga Nainar <pirama@google.com> |
Update aosp/master clang for rebase to r233350 Change-Id: I12d4823f10bc9e445b8b86e7721b71f98d1df442
/external/clang/lib/CodeGen/CGException.cpp
|
0e2c34f92f00628d48968dfea096d36381f494cb |
|
23-Mar-2015 |
Stephen Hines <srhines@google.com> |
Update aosp/master clang for rebase to r230699. Change-Id: I6a546ab3d4ae37119eebb735e102cca4f80ab520
/external/clang/lib/CodeGen/CGException.cpp
|
176edba5311f6eff0cad2631449885ddf4fbc9ea |
|
01-Dec-2014 |
Stephen Hines <srhines@google.com> |
Update aosp/master Clang for rebase to r222490. Change-Id: Ic557ac55e97fbf6ee08771c7b7c3594777b0aefd
/external/clang/lib/CodeGen/CGException.cpp
|
c568f1e98938584c0ef0b12ae5018ff7d90a4072 |
|
21-Jul-2014 |
Stephen Hines <srhines@google.com> |
Update Clang for rebase to r212749. This also fixes a small issue with arm_neon.h not being generated always. Includes a cherry-pick of: r213450 - fixes mac-specific header issue r213126 - removes a default -Bsymbolic on Android Change-Id: I2a790a0f5d3b2aab11de596fc3a74e7cbc99081d
/external/clang/lib/CodeGen/CGException.cpp
|
6bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89 |
|
29-May-2014 |
Stephen Hines <srhines@google.com> |
Update Clang for 3.5 rebase (r209713). Change-Id: I8c9133b0f8f776dc915f270b60f94962e771bc83
/external/clang/lib/CodeGen/CGException.cpp
|
651f13cea278ec967336033dd032faef0e9fc2ec |
|
24-Apr-2014 |
Stephen Hines <srhines@google.com> |
Updated to Clang 3.5a. Change-Id: I8127eb568f674c2e72635b639a3295381fe8af82
/external/clang/lib/CodeGen/CGException.cpp
|
4ee7dc2369c1f0257a73b2e83a7d38fdebdd9176 |
|
02-Oct-2013 |
Nick Lewycky <nicholas@mxc.ca> |
Thread a SourceLocation into the EmitCheck for "load_invalid_value". This occurs when scalars are loaded / undergo lvalue-to-rvalue conversion. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@191808 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.cpp
|
98592d9c4dff79480fdc25b83988de03f912b647 |
|
16-Sep-2013 |
Reid Kleckner <reid@kleckner.net> |
Emit an error when attempting to generate IR for SEH __try Currently we silently omit the code in the try and finally bodies, which is pretty bad. This way we fail loudly. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@190809 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.cpp
|
14b0e4b4d55111e2b00db0072d20f4a8209fa5a4 |
|
21-Jun-2013 |
Richard Smith <richard-llvm@metafoo.co.uk> |
Fix typo in comment. Patch by Matthew Dempsky! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@184495 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.cpp
|
45ff3807ef06bca715afb9eb7e16c4c89880e40e |
|
20-Jun-2013 |
John McCall <rjmccall@apple.com> |
Call __cxa_begin_catch before std::terminate() in a noexcept trap. r174939-40 caused us to do this in the canonical terminate lpad, but when the EH stack has other cleanups on it we use the terminate handler block, which wasn't doing this. Fixes the rest of rdar://11904428 given appropriate stdlib support. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@184475 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.cpp
|
59f0a5a5481a6dcfafd092dd944e6cfb7d146d4c |
|
16-May-2013 |
Adrian Prantl <aprantl@apple.com> |
Set the debug location for landing pad code to the canonical EH location. It used to point to the first call that caused the landing pad to be generated. rdar://problem/13888152 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@181958 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.cpp
|
4c71b8cded575b0cfc133c5da4502ca613982094 |
|
07-May-2013 |
Richard Smith <richard-llvm@metafoo.co.uk> |
Don't crash in IRGen if a conditional with 'throw' in one of its branches is used as a branch condition. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@181368 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.cpp
|
9d232c884ea9872d6555df0fd7359699819bc1f1 |
|
07-Mar-2013 |
John McCall <rjmccall@apple.com> |
Change hasAggregateLLVMType, which conflates complex and aggregate types in a profoundly wrong way that has to be worked around in every call site, to getEvaluationKind, which classifies and distinguishes between all of these cases. Also, normalize the API for loading and storing complexes. I'm working on a larger patch and wanted to pull these changes out, but it would have be annoying to detangle them from each other. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@176656 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.cpp
|
bd7370a78604e9a20d698bfe328c1e43f12a0613 |
|
28-Feb-2013 |
John McCall <rjmccall@apple.com> |
Use the actual ABI-determined C calling convention for runtime calls and declarations. LLVM has a default CC determined by the target triple. This is not always the actual default CC for the ABI we've been asked to target, and so we sometimes find ourselves annotating all user functions with an explicit calling convention. Since these calling conventions usually agree for the simple set of argument types passed to most runtime functions, using the LLVM-default CC in principle has no effect. However, the LLVM optimizer goes into histrionics if it sees this kind of formal CC mismatch, since it has no concept of CC compatibility. Therefore, if this module happens to define the "runtime" function, or got LTO'ed with such a definition, we can miscompile; so it's quite important to get this right. Defining runtime functions locally is quite common in embedded applications. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@176286 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.cpp
|
66b22771fc0a1dba598e50469f2961048e7edd55 |
|
12-Feb-2013 |
John McCall <rjmccall@apple.com> |
Call __cxa_begin_catch with the current exception before calling std::terminate(). rdar://11904428 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@174940 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.cpp
|
629df0196eb305221d2c8aa9ab72293d05846f0b |
|
12-Feb-2013 |
John McCall <rjmccall@apple.com> |
Change some CGF parameters to CGMs. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@174939 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.cpp
|
b1ba0efc3d1dc1daa5d82c40bc504e1f368c4fa0 |
|
19-Jan-2013 |
Chandler Carruth <chandlerc@gmail.com> |
Re-sort all the headers. Lots of regressions have crept in here. Manually fix the order of UnwrappedLineParser.cpp as that one didn't have its associated header as the first header. This also uncovered a subtle inclusion order dependency as CLog.h didn't include LLVM.h to pick up using declarations it relied upon. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172892 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.cpp
|
cfa88f893915ceb8ae4ce2f17c46c24a4d67502f |
|
12-Jan-2013 |
Dmitri Gribenko <gribozavr@gmail.com> |
Remove useless 'llvm::' qualifier from names like StringRef and others that are brought into 'clang' namespace by clang/Basic/LLVM.h git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172323 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.cpp
|
65bd4ac6ffbf6de30cd6f36735539ff8172a904a |
|
11-Jan-2013 |
David Chisnall <csdavec@swan.ac.uk> |
Enable the new (more C++-like, less broken) EH model when targeting the GNUstep Objective-C runtime 1.7 or greater. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172207 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.cpp
|
6a3c70ec59804347c99e96aa13934f63f4fed573 |
|
10-Jan-2013 |
Fariborz Jahanian <fjahanian@apple.com> |
objectiveC++: When throwing c++ exception of an objectiveC object, use objc_exception_throw to raise the exception. // rdar://12605907 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172091 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.cpp
|
3b844ba7d5be205a9b4f5f0b0d1b7978977f4b8c |
|
02-Jan-2013 |
Chandler Carruth <chandlerc@gmail.com> |
Rewrite #includes for llvm/Foo.h to llvm/IR/Foo.h as appropriate to reflect the migration in r171366. Re-sort the #include lines to reflect the new paths. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@171369 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.cpp
|
70cd619e74306b1599d5579e6fd6a14bd9592281 |
|
14-Nov-2012 |
John McCall <rjmccall@apple.com> |
The ObjC++-to-C++ personality trick is only necessary on NeXT runtimes, which is not coincidentally the only place it works, either (because of how it tests for EH_TYPE symbols). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@167935 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.cpp
|
c686004145b1f4dbeb38173a0886ba7040ae0089 |
|
07-Nov-2012 |
David Chisnall <csdavec@swan.ac.uk> |
Fix the Objective-C exception rethrow from cleanups (GNU runtimes). Note that a bug in the inliner still causes the wrong thing to happen at -O2 and above (PR14116). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@167534 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.cpp
|
f7226fbe677a9c7578fa0613491ed15c6dc6a5e1 |
|
12-Jul-2012 |
John McCall <rjmccall@apple.com> |
Add the ObjFW runtime. Patch by Jonathan Schleifer! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@160102 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.cpp
|
11d3f4cc27e6b923fc32481dc1bb5ec46c7d1f4b |
|
03-Jul-2012 |
David Chisnall <csdavec@swan.ac.uk> |
Rename the GCC Objective-C runtime to gcc from gnu-fragile and the GNUstep runtime to gnustep from gnu. Fix EH for the GCC runtime. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@159684 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.cpp
|
260611a32535c851237926bfcf78869b13c07d5b |
|
20-Jun-2012 |
John McCall <rjmccall@apple.com> |
Restructure how the driver communicates information about the target Objective-C runtime down to the frontend: break this down into a single target runtime kind and version, and compute all the relevant information from that. This makes it relatively painless to add support for new runtimes to the compiler. Make the new -cc1 flag, -fobjc-runtime=blah-x.y.z, available at the driver level as a better and more general alternative to -fgnu-runtime and -fnext-runtime. This new concept of an Objective-C runtime also encompasses what we were previously separating out as the "Objective-C ABI", so fragile vs. non-fragile runtimes are now really modelled as different kinds of runtime, paving the way for better overall differentiation. As a sort of special case, continue to accept the -cc1 flag -fobjc-runtime-has-weak, as a sop to PLCompatibilityWeak. I won't go so far as to say "no functionality change", even ignoring the new driver flag, but subtle changes in driver semantics are almost certainly not intended. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@158793 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.cpp
|
f5533019fb70d62917fd080f6152b6469e2c6cd5 |
|
15-Jun-2012 |
John McCall <rjmccall@apple.com> |
It turns out that implementing the rethrow-on-fallthrough semantics of a ctor/dtor function-try-block catch handler by pushing a normal cleanup is not just overkill but actually actively wrong when the handler contains an explicit return (which is only legal in a dtor). Just emit the rethrow as ordinary code at the fallthrough point. Fixes PR13102. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@158488 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.cpp
|
649b4a1a9b5e6f768ca0cb84bd97b00f51083e15 |
|
29-Mar-2012 |
Chad Rosier <mcrosier@apple.com> |
Revert r153613 as it's causing large compile-time regressions on the nightly testers. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153660 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.cpp
|
57cd1b89cd91433ce1991a5bff36fe776a263796 |
|
29-Mar-2012 |
John McCall <rjmccall@apple.com> |
When we can't prove that the target of an aggregate copy is a complete object, the memcpy needs to use the data size of the structure instead of its sizeof() value. Fixes PR12204. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153613 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.cpp
|
4e4d08403ca5cfd4d558fa2936215d3a4e5a528d |
|
11-Mar-2012 |
David Blaikie <dblaikie@gmail.com> |
Unify naming of LangOptions variable/get function across the Clang stack (Lex to AST). The member variable is always "LangOpts" and the member function is always "getLangOpts". Reviewed by Chris Lattner git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@152536 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.cpp
|
e8e92b9dccc362be33a7f9bb84a114b18db65b10 |
|
19-Feb-2012 |
Ahmed Charles <ace2001ac@gmail.com> |
Remove dead code. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150919 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.cpp
|
af2771b147f1a5934c6c91574f1c2df986034e74 |
|
08-Feb-2012 |
Benjamin Kramer <benny.kra@googlemail.com> |
CodeGen: Move EHPersonality from CGException.h into the cpp file, it has no other users. While at it make it value-initializable to get rid of static ctors. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150070 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.cpp
|
8b418685e9e4f02f4eb2a76e1ec063e07552b68d |
|
07-Feb-2012 |
Chris Lattner <sabre@nondot.org> |
simplify a bunch of code to use the well-known LLVM IR types computed by CodeGenModule. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149943 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.cpp
|
3026348bd4c13a0f83b59839f64065e0fcbea253 |
|
20-Jan-2012 |
David Blaikie <dblaikie@gmail.com> |
More dead code removal (using -Wunreachable-code) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@148577 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.cpp
|
b29b12d494babf061201ffbcbcacddd21abec50e |
|
17-Jan-2012 |
John McCall <rjmccall@apple.com> |
When initializing a catch variable in ARC, be sure to emit retains or whatever else is required for the initialization instead of assuming it can be done with a simple store. Fixes PR11732. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@148325 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.cpp
|
cc1f918ed4ef8f414d306c02e237a9540c67926e |
|
09-Dec-2011 |
Bill Wendling <isanbard@gmail.com> |
Don't get the exception obj from the slot more than once. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@146202 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.cpp
|
d7722d9d76a851e7897f4127626616d3b1b8e530 |
|
03-Dec-2011 |
Eli Friedman <eli.friedman@gmail.com> |
Switch the Alignment argument on AggValueSlot over to CharUnits, per John's review comment. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@145741 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.cpp
|
f394078fde147dcf27e9b6a7965517388d64dcb6 |
|
03-Dec-2011 |
Eli Friedman <eli.friedman@gmail.com> |
Track alignment in AggValueSlot. No functional change in this patch, but I'll be introducing uses of the specified alignment soon. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@145736 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.cpp
|
6f103ba42cb69d50005a977c5ea583984ab63fc4 |
|
10-Nov-2011 |
John McCall <rjmccall@apple.com> |
Whenever explicitly activating or deactivating a cleanup, we need to provide a 'dominating IP' which is guaranteed to dominate the (de)activation point but which cannot be avoided along any execution path from the (de)activation point to the push-point of the cleanup. Using the entry block is bad mojo. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@144276 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.cpp
|
8990daf237a48fa2eed3d0546687fc097a004db6 |
|
22-Sep-2011 |
Bill Wendling <isanbard@gmail.com> |
Don't remove filters. It's not valid to remove filters from landingpad instructions, even if we catch the type. The metadata won't be set up correctly. Testcase is projects/llvm-test/SingleSource/UnitTests/EH/filter-2.cpp. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140335 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.cpp
|
eecb6a1e8b95fcdb7d1a0d92b0a0311c041440cd |
|
20-Sep-2011 |
Bill Wendling <isanbard@gmail.com> |
Don't assume that the clause is a GlobalVariable. It could be a constant. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140123 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.cpp
|
40ccaccd21a4377cd76d6adda2b192dcf9514ef6 |
|
20-Sep-2011 |
Bill Wendling <isanbard@gmail.com> |
The eh.selector intrinsic isn't used anymore. Replace the check here with a check for the landingpad instruction instead. This check looks at each of the clauses in the landingpad instruction. If it's a catch clause, it compares the name directly with the global. If it's a filter clause, it has to look through each value in the filer to see if any have the prefix. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140075 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.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/lib/CodeGen/CGException.cpp
|
ae270598d5c7a9a283d4b3ddce53b151c6e2b182 |
|
15-Sep-2011 |
Bill Wendling <isanbard@gmail.com> |
Refactor the load of the exception pointer and the exception selector from their storage slot into helper functions. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139826 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.cpp
|
bcfd1f55bfbb3e5944cd5e03d07b343e280838c4 |
|
02-Sep-2011 |
Douglas Gregor <dgregor@apple.com> |
Extend the ASTContext constructor to delay the initialization of builtin types (When requested). This is another step toward making ASTUnit build the ASTContext as needed when loading an AST file, rather than doing so after the fact. No actual functionality change (yet). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@138985 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.cpp
|
74cfb23d44de82f1932f0229b742805b0b3c3719 |
|
27-Aug-2011 |
Benjamin Kramer <benny.kra@googlemail.com> |
Remove unused variables noticed by GCC. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@138707 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.cpp
|
1366862c3f5d390140b5978380d9ac7317d60fc6 |
|
26-Aug-2011 |
John McCall <rjmccall@apple.com> |
The allocated exception slot does not alias anything; should fix self-host. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@138615 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.cpp
|
7c2349be2d11143a2e59a167fd43362a3bf4585e |
|
25-Aug-2011 |
John McCall <rjmccall@apple.com> |
Use stronger typing for the flags on AggValueSlot and require creators to tell us whether something needs GC barriers. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@138581 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.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/lib/CodeGen/CGException.cpp
|
da549e8995c447542d5631b8b67fcc3a9582797a |
|
29-Jul-2011 |
Jay Foad <jay.foad@gmail.com> |
Remove some unnecessary single element array temporaries. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136461 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.cpp
|
5f9e272e632e951b1efe824cd16acb4d96077930 |
|
23-Jul-2011 |
Chris Lattner <sabre@nondot.org> |
remove unneeded llvm:: namespace qualifiers on some core types now that LLVM.h imports them into the clang namespace. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@135852 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.cpp
|
2acc6e3feda5e4f7d9009bdcf8b1cd777fecfe2d |
|
18-Jul-2011 |
Chris Lattner <sabre@nondot.org> |
de-constify llvm::Type, patch by David Blaikie! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@135370 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.cpp
|
4c7d9f1507d0f102bd4133bba63348636facd469 |
|
15-Jul-2011 |
Jay Foad <jay.foad@gmail.com> |
Convert CallInst and InvokeInst APIs to use ArrayRef. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@135265 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.cpp
|
ad346f4f678ab1c3222425641d851dc63e9dfa1a |
|
12-Jul-2011 |
John McCall <rjmccall@apple.com> |
Generalize Cleanup::Emit's "isForEH" parameter into a set of flags. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@134997 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.cpp
|
c4a1a8450a3613ef256a71b9d8305b41f79eef50 |
|
12-Jul-2011 |
John McCall <rjmccall@apple.com> |
Do full-expression cleanups in a much more sensible way that still lets people write useful cleanup classes. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@134942 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.cpp
|
61c1601e2a8534c09cb7032f791f918158abaa27 |
|
10-Jul-2011 |
John McCall <rjmccall@apple.com> |
Use cached types; no functionality change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@134880 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.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/lib/CodeGen/CGException.cpp
|
256a76e0b0e0c9e65a3122917d553ef10bc84d29 |
|
06-Jul-2011 |
John McCall <rjmccall@apple.com> |
Call objc_terminate() instead of abort() when a cleanup throws an exception in Objective-C; in Objective-C++ we still use std::terminate(). This is only available in very recent runtimes. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@134456 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.cpp
|
cf5abc7ba032bd35158e4d75b0bc92a482fc67e8 |
|
23-Jun-2011 |
Fariborz Jahanian <fjahanian@apple.com> |
Support for catching objc pointer objects in c++ catch-statement in fragile abi mode and some other cleanups. // rdar://8940528 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@133747 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.cpp
|
9d96bce991048fd2337cf058ec6a6a722207cbf2 |
|
22-Jun-2011 |
Fariborz Jahanian <fjahanian@apple.com> |
Alloa catching Objective-C id's being thrown with C++ throw in Darwin's fragile abi mode. // rdar://8940528 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@133639 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.cpp
|
d768e9d29abe1ac1ccc3ed63f2dce835d9bab342 |
|
22-Jun-2011 |
John McCall <rjmccall@apple.com> |
Emit @finally blocks completely lazily instead of forcing their existence by always threading an edge from the catchall. Not doing this was previously causing a crash in the very extreme case where neither the normal cleanup nor the EH catchall was actually reachable: we would delete the catchall entry block, which would cause us to delete the entry block of the finally cleanup as well because the cleanup logic would merge the blocks, which in turn triggered an assert because later blocks in the finally would still be using values from the entry. Laziness turns out to be the most elegant solution to the problem. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@133601 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.cpp
|
f85e193739c953358c865005855253af4f68a497 |
|
16-Jun-2011 |
John McCall <rjmccall@apple.com> |
Automatic Reference Counting. Language-design credit goes to a lot of people, but I particularly want to single out Blaine Garst and Patrick Beard for their contributions. Compiler implementation credit goes to Argyrios, Doug, Fariborz, and myself, in no particular order. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@133103 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.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/lib/CodeGen/CGException.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/lib/CodeGen/CGException.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/lib/CodeGen/CGException.cpp
|
eab80782f645489db299db24aa7a5886b37185b0 |
|
26-Apr-2011 |
Daniel Dunbar <daniel@zuster.org> |
IRgen/Darwin: Fix refacto introduced in Triple changes. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@130233 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.cpp
|
db57a4cdb0a6abf3239f3a794a900ce312c5887b |
|
19-Apr-2011 |
Daniel Dunbar <daniel@zuster.org> |
ADT/Triple: Switch to using .isOSDarwin() predicate. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@129823 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.cpp
|
2839d6b17715045d5eba6a47f750060a198d04b2 |
|
18-Apr-2011 |
Anders Carlsson <andersca@mac.com> |
Get rid of std::vector usage when getting function types in CGException.cpp git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@129698 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.cpp
|
fc8f0e14ad142ed811e90fbd9a30e419e301c717 |
|
15-Apr-2011 |
Chris Lattner <sabre@nondot.org> |
fix a bunch of comment typos found by codespell. Patch by Luis Felipe Strano Moraes! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@129559 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.cpp
|
80558d2db10a96eada4d8fb79949b3263b44652b |
|
20-Mar-2011 |
David Chisnall <csdavec@swan.ac.uk> |
Fix Objective-C++ exceptions (GNU runtime). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@127980 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.cpp
|
a968e97947b1281c3bb3c4d47a952b3801d9bb02 |
|
15-Mar-2011 |
Sebastian Redl <sebastian.redl@getdesigned.at> |
Reintroduce r127617: "Code generation for noexcept." with fixes. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@127685 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.cpp
|
112d5ee15a09f15e597037724e006004b3f2f78f |
|
15-Mar-2011 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Revert r127617: "Code generation for noexcept." The tests fail in a -Asserts build. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@127635 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.cpp
|
f86d5f2b888573f7d72d7eeae7237cf6c5080958 |
|
14-Mar-2011 |
Sebastian Redl <sebastian.redl@getdesigned.at> |
Code generation for noexcept. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@127617 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.cpp
|
60618fa7f88d5162bb5b40988b6b38d4d75d6fc6 |
|
12-Mar-2011 |
Sebastian Redl <sebastian.redl@getdesigned.at> |
Propagate the new exception information to FunctionProtoType. Change the interface to expose the new information and deal with the enormous fallout. Introduce the new ExceptionSpecificationType value EST_DynamicNone to more easily deal with empty throw specifications. Update the tests for noexcept and fix the various bugs uncovered, such as lack of tentative parsing support. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@127537 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.cpp
|
15348aeb81285c75b2e92b5bf8d2db3445d147c2 |
|
28-Feb-2011 |
Anders Carlsson <andersca@mac.com> |
Add a -fcxx-exceptions flag to the frontend, which can be used to enable C++ exceptions, even when exceptions have been turned off using -fno-exceptions. Make the -fobjc-exceptions flag do the same thing, but for Objective-C exceptions. C++ and Objective-C exceptions can also be disabled using -fno-cxx-excptions and -fno-objc-exceptions. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@126630 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.cpp
|
7a17851eee37f933eb57a5af7e1a0eb455443f6a |
|
28-Feb-2011 |
Anders Carlsson <andersca@mac.com> |
Get rid of the areExceptionsEnabled() getter from LangOptions. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@126598 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.cpp
|
34695856c0e67b3765b46304cc71b5d2cd5b71c7 |
|
22-Feb-2011 |
John McCall <rjmccall@apple.com> |
Reorganize the emission of local variables. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@126189 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.cpp
|
c1cfdf8647a499b6b3024f4bd14a236cddb23988 |
|
20-Feb-2011 |
Anders Carlsson <andersca@mac.com> |
Add a LangOptions::areExceptionsEnabled and start using it. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@126062 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.cpp
|
56ca35d396d8692c384c785f9aeebcf22563fe1e |
|
17-Feb-2011 |
John McCall <rjmccall@apple.com> |
Change the representation of GNU ?: expressions to use a different expression class and to bind the shared value using OpaqueValueExpr. This fixes an unnoticed problem with deserialization of these expressions where the deserialized form would lose the vital pointer-equality trait; or rather, it fixes it because this patch also does the right thing for deserializing OVEs. Change OVEs to not be a "temporary object" in the sense that copy elision is permitted. This new representation is not totally unawkward to work with, but I think that's really part and parcel with the semantics we're modelling here. In particular, it's much easier to fix things like the copy elision bug and to make the CFG look right. I've tried to update the analyzer to deal with this in at least some obvious cases, and I think we get a much better CFG out, but the printing of OpaqueValueExprs probably needs some work. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@125744 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.cpp
|
acff696118d98c3acd09a16b96c95807057b5c99 |
|
16-Feb-2011 |
John McCall <rjmccall@apple.com> |
Remove this FIXME; clear up an unused variable; style. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@125662 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.cpp
|
e996ffd240f20a1048179d7727a6ee3227261921 |
|
16-Feb-2011 |
John McCall <rjmccall@apple.com> |
Save a copy expression for non-trivial copy constructions of catch variables. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@125661 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.cpp
|
d16c2cf1cafa413709aa487cbbd5dc392f1ba1ff |
|
08-Feb-2011 |
John McCall <rjmccall@apple.com> |
Reorganize CodeGen{Function,Module} to eliminate the unfortunate Block{Function,Module} base class. Minor other refactorings. Fixed a few address-space bugs while I was there. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@125085 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.cpp
|
36f893c1efe367f929d92c8b125f964c22ba189e |
|
28-Jan-2011 |
John McCall <rjmccall@apple.com> |
Move all the cleanups framework code into a single file. Pure motion. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@124484 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.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/lib/CodeGen/CGException.cpp
|
4bbcbda302cba8b1b0d88c20d735d09b483bd005 |
|
26-Jan-2011 |
John McCall <rjmccall@apple.com> |
Fix some obvious bugs in the conditional-cleanup code and then make the dtor cleanup use it. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@124309 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.cpp
|
150b462afc7a713edd19bcbbbb22381fe060d4f5 |
|
26-Jan-2011 |
John McCall <rjmccall@apple.com> |
Better framework for conditional cleanups; untested as yet. I'm separately committing this because it incidentally changes some block orderings and minor IR issues, like using a phi instead of an unnecessary alloca. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@124277 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.cpp
|
82a113adf8063baa70251dfa269d039ca22e2537 |
|
24-Jan-2011 |
Anders Carlsson <andersca@mac.com> |
"Name" a bool parameter. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@124094 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.cpp
|
cd5b22e12b6513163dd131589746c194090f14e6 |
|
12-Jan-2011 |
John McCall <rjmccall@apple.com> |
Fix a latent bug where, after emitting an expression statement, we would delete the block we began emitting into if it had no predecessors. We never want to do this, because there are several valid cases during statement emission where an existing block has no known predecessors but will acquire some later. The case in my test case doesn't inherently fall into this category, because we could safely emit the case-range code before the statement body, but there are examples with labels that can't be fallen into that would also demonstrate this bug. rdar://problem/8837067 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@123303 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.cpp
|
4765fa05b5652fcc4356371c2f481d0ea9a1b007 |
|
06-Dec-2010 |
John McCall <rjmccall@apple.com> |
Rename CXXExprWithTemporaries -> ExprWithCleanups; there's no theoretical reason this is limited to C++, and it's certainly not limited to temporaries. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@120996 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.cpp
|
44680786286f4f651603c6811f8412a3ee7fe975 |
|
07-Nov-2010 |
John McCall <rjmccall@apple.com> |
ARM EH uses a different personality function in C. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@118366 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.cpp
|
14e1bc9201681a52e06b0544ee800b422f6f3efe |
|
29-Oct-2010 |
John McCall <rjmccall@apple.com> |
Don't assert on attempts to throw 'bool'. I wonder if in the history of C++ anyone has ever intentionally done this outside of a compiler test case. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@117645 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.cpp
|
b6bbcc9995186799a60ce17d0c1acff31601653a |
|
15-Oct-2010 |
John McCall <rjmccall@apple.com> |
Death to blocks, or at least the word "block" in one particular obnoxiously ambiguous context. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@116567 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.cpp
|
b25938303de0976b9f189363d43033e5788e3d36 |
|
16-Sep-2010 |
John McCall <rjmccall@apple.com> |
Opportunistically use the C++ personality function in ObjC++ translation units that don't catch ObjC types. rdar://problem/8434851 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114070 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.cpp
|
558d2abc7f9fd6801cc7677200992313ae90b5d8 |
|
15-Sep-2010 |
John McCall <rjmccall@apple.com> |
one piece of code is responsible for the lifetime of every aggregate slot. The easiest way to do that was to bundle up the information we care about for aggregate slots into a new structure which demands that its creators at least consider the question. I could probably be convinced that the ObjC 'needs GC' bit should be rolled into this structure. Implement generalized copy elision. The main obstacle here is that IR-generation must be much more careful about making sure that exactly git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@113962 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.cpp
|
91a16fa3265686b90054715eea504d9b4a13438b |
|
21-Aug-2010 |
Daniel Dunbar <daniel@zuster.org> |
IRgen: Change Emit{Load,Store}OfScalar to take a required Alignment argument and update callers as best I can. - This is a work in progress, our alignment handling is very horrible / sketchy -- I am just aiming for monotonic improvement. - Serious review appreciated. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111707 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.cpp
|
cd2d2b7814e0104ed41a8da159a06a8ca77b70d8 |
|
13-Aug-2010 |
John McCall <rjmccall@apple.com> |
Sketch out a framework for delaying the activation of a cleanup. Not yet complete or used. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111044 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.cpp
|
a5f2de2e49e25ece82dd9fd63d8f390a7cda6417 |
|
11-Aug-2010 |
John McCall <rjmccall@apple.com> |
When re-raising an exception after a cleanup, we need to call _Unwind_Resume_or_Rethrow instead of _Unwind_Resume. With SJLJ exceptions, this is spelled "_Unwind_SjLj_Resume_or_Rethrow", not "_Unwind_SjLj_Resume", which has significantly different semantics. We should actually never be generating a call to _Unwind_SjLj_Resume directly; even if we were generating true cleanups (which we aren't because of the horrible hack), we should be calling __cxa_end_cleanup() on ARM. I haven't implemented this because there's little point as long as the HH is present. I believe this fixes <rdar://problem/8281377>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110851 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.cpp
|
d96a8e771ca9f406f0fa1dd4639997335ae444a7 |
|
11-Aug-2010 |
John McCall <rjmccall@apple.com> |
Fix a bug in @finally emission in both the fragile and non-fragile EH schemes where we weren't accounting for the possibility that a @finally block might have internal cleanups and therefore might write to the cleanup destination slot. Fixes <rdar://problem/8293901>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110760 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.cpp
|
5a180397870944548aaadeaebf58e415885b9489 |
|
24-Jul-2010 |
John McCall <rjmccall@apple.com> |
Support catching Objective C pointers in C++ under the non-fragile NeXT runtime. Diagnose attempts to do this under the GNU or fragile NeXT runtimes. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@109298 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.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/lib/CodeGen/CGException.cpp
|
1f0fca54676cfa8616e7f3cd7a26788ab937e3cd |
|
21-Jul-2010 |
John McCall <rjmccall@apple.com> |
Rename LazyCleanup -> Cleanup. No functionality change for these last three commits. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@109000 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.cpp
|
7495f22934d577c71b4b5bae82142ad54ccb1d59 |
|
21-Jul-2010 |
John McCall <rjmccall@apple.com> |
Rip out EHCleanupScope. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@108999 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.cpp
|
6962f8d156735172146ae812732f4c4ddc13e91b |
|
21-Jul-2010 |
John McCall <rjmccall@apple.com> |
Kill the CleanupBlock API. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@108998 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.cpp
|
77199713ab56f87ffad9a535ff2a0877704eed87 |
|
21-Jul-2010 |
John McCall <rjmccall@apple.com> |
Switch finally cleanups over to being lazy cleanups. We get basically nothing from the laziness features here except better block ordering, but it removes yet another CleanupBlock use. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@108990 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.cpp
|
55b20fc514678ff8ae1627cd9aef047d1f780119 |
|
21-Jul-2010 |
John McCall <rjmccall@apple.com> |
Convert the end-catch call for finally blocks to a lazy cleanup. This kills off the last of the shared-code cleanups. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@108975 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.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/lib/CodeGen/CGException.cpp
|
8262b6a44c98cf14e1d5f347a01e6bf44858198f |
|
17-Jul-2010 |
John McCall <rjmccall@apple.com> |
The GNU-runtime ObjC personality function doesn't let us rethrow with URR for multiple reasons. Rethrow with _objc_exception_throw instead. Fixes PR7656. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@108595 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.cpp
|
3e29f96988b0438e42dba3790f61fb3df42d90cb |
|
14-Jul-2010 |
John McCall <rjmccall@apple.com> |
Work around an obnoxious GCC warning by changing semantics in a hopefully- harmless way. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@108295 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.cpp
|
fcd5c0c62ef3d86ecd991753bb43c88c861470e7 |
|
14-Jul-2010 |
John McCall <rjmccall@apple.com> |
Switch the __cxa_rethrow cleanup to be lazy. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@108288 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.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/lib/CodeGen/CGException.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/lib/CodeGen/CGException.cpp
|
da65ea86482bc116906edfb9ba1d7124f76cc867 |
|
13-Jul-2010 |
John McCall <rjmccall@apple.com> |
Teach IR generation how to lazily emit cleanups. This has a lot of advantages, mostly in avoiding unnecessary work at compile time but also in producing more sensible block orderings. Move the destructor cleanups for local variables over to use lazy cleanups. Eventually all cleanups will do this; for now we have some awkward code duplication. Tell IR generation just to never produce landing pads in -fno-exceptions. This is a much more comprehensive solution to a problem which previously was half-solved by checks in most cleanup-generation spots. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@108270 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.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/lib/CodeGen/CGException.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/lib/CodeGen/CGException.cpp
|
1d110e05e0ff48c1c7a483d6b7fd094cdf28316a |
|
01-Jul-2010 |
Douglas Gregor <dgregor@apple.com> |
Remove unnecessary ASTContext parameter from CXXRecordDecl::getDestructor(); no functionality change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107394 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.cpp
|
77b89b87c3b9220fea1bc80f6d6598d2003cc8a8 |
|
27-Jun-2010 |
Chris Lattner <sabre@nondot.org> |
finally get around to doing a significant cleanup to irgen: have CGF create and make accessible standard int32,int64 and intptr types. This fixes a ton of 80 column violations introduced by LLVMContextification and cleans up stuff a lot. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@106977 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.cpp
|
8019c45024be3026f854e3d22bfd89842be82266 |
|
28-May-2010 |
Daniel Dunbar <daniel@zuster.org> |
Fix personality function name when using SjLj exceptions. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@104999 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.cpp
|
dcf22ad88fdb6c4dd74f9065262cde8bac4f807b |
|
17-May-2010 |
Chandler Carruth <chandlerc@gmail.com> |
Fix an ambiguous else warning from GCC by adding some much needed curlies. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@103972 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.cpp
|
79a9ad8e5eec3696989354be13a74a1106f64f72 |
|
17-May-2010 |
David Chisnall <csdavec@swan.ac.uk> |
Pick the correct personality function based on the language. This prevents link failures when C/ObjC code uses __attribute__((cleanup())) (previously this was inserting references to two libstc++ symbols; the personality function and the __terminate() function). This is still probably wrong for Objective-C++ and adds a couple of lines in CGException that should probably be in the CGObjCRuntime subclass. The personality function is now only looked up in one place in CGException though, so this should be easier to fix in the future. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@103938 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.cpp
|
86a3a03667bdb0dcab7e6a2877dfd234b07a6d43 |
|
16-May-2010 |
Douglas Gregor <dgregor@apple.com> |
When initializing thread-safe statics, put the call to __cxa_guard_abort along the exceptional edge into (in effect) a nested "try" that rethrows after aborting. Fixes PR7144 and the remaining Boost.ProgramOptions failures, along with the regressions that r103880 caused. The crucial difference between this and r103880 is that we now follow LLVM's little dance with the llvm.eh.exception and llvm.eh.selector calls, then use _Unwind_Resume_or_Rethrow to rethrow. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@103892 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.cpp
|
1eb2e59338c4b9c0429fc39ca98662adc9e7a3f2 |
|
16-May-2010 |
Douglas Gregor <dgregor@apple.com> |
Revert r103880 (thread-safe static initialization w/ exceptions), because it's causing strange linker errors. Unfixes PR7144. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@103890 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.cpp
|
bfcc823a5c53dabab8cfc842bfea70e2b69cdee0 |
|
15-May-2010 |
Douglas Gregor <dgregor@apple.com> |
When initializing thread-safe statics, put the call to __cxa_guard_abort along the exceptional edge into (in effect) a nested "try" that rethrows after aborting. Fixes PR7144 and the remaining Boost.ProgramOptions failures. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@103880 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.cpp
|
9dffe6f51c676c1e423c382c62d1648746e36cd4 |
|
30-Apr-2010 |
John McCall <rjmccall@apple.com> |
Fix -fno-rtti -fexceptions by forcing the emission of (non-"builtin") RTTI when used by the exceptions routines. Fixes PR 6974. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@102684 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.cpp
|
891f80ec2fb2d1730b769467d602689e1080845b |
|
30-Apr-2010 |
John McCall <rjmccall@apple.com> |
Teach EHCleanupBlock to deal appropriately with the possibility that there might not have been an insertion block set at start. Fixes PR6975. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@102677 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.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/lib/CodeGen/CGException.cpp
|
3d3ec1c099ec8bfac3aa1fb0126fe515b7c7fa05 |
|
21-Apr-2010 |
John McCall <rjmccall@apple.com> |
Miscellaneous codegen cleanups. Mostly, don't create new basic blocks just to save the current insertion state! This change significantly simplifies the IR CFG in exceptions code. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@101996 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.cpp
|
7c647a1270cbe02f5e64cee9e3f3ddc176ed61e9 |
|
18-Mar-2010 |
Benjamin Kramer <benny.kra@googlemail.com> |
Replace some SmallVectors with arrays. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98833 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.cpp
|
9fc6a7774643a810c8501dae2323e863fefb623e |
|
19-Feb-2010 |
John McCall <rjmccall@apple.com> |
More refactoring around constructor/destructor code generation. Fix some bugs with function-try-blocks and simplify normal try-block code generation. This implementation excludes a deleting destructor's call to operator delete() from the function-try-block, which I believe is correct but which I can't find straightforward support for at a moment's glance. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96670 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.cpp
|
b2987d159a88ab0ee2e40c884eb4d77b42ab89b6 |
|
10-Feb-2010 |
Daniel Dunbar <daniel@zuster.org> |
Switch to using -fsjlj-exceptions instead of hard-coding it. Notably, this fixes calls to the UnwindResumeOrRethrow function for C++/Obj-C exception handling, for Darwin ARM. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@95787 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.cpp
|
1851a12605bc6f1ea70d11974a315340ebaab6eb |
|
07-Feb-2010 |
Anders Carlsson <andersca@mac.com> |
Make sure to set vtable pointers in the destructors as well. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@95525 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.cpp
|
a994ee4b197554282ae6b222c3284ccaa3a6484c |
|
07-Feb-2010 |
Anders Carlsson <andersca@mac.com> |
Make EmitStartEHSpec and EmitEndEHSpec return early when exceptions are disabled. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@95509 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.cpp
|
04a67a6aa3dfdc92d57f7f8d93ba397348c868a4 |
|
05-Feb-2010 |
John McCall <rjmccall@apple.com> |
Standardize the parsing of function type attributes in a way that follows (as conservatively as possible) gcc's current behavior: attributes written on return types that don't apply there are applied to the function instead, etc. Only parse CC attributes as type attributes, not as decl attributes; don't accepet noreturn as a decl attribute on ValueDecls, either (it still needs to apply to other decls, like blocks). Consistently consume CC/noreturn information throughout codegen; enforce this by removing their default values in CodeGenTypes::getFunctionInfo(). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@95436 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.cpp
|
13b2f92184bb7a310b800dd7e22c320361a72c4d |
|
01-Jan-2010 |
Mike Stump <mrs@apple.com> |
Fix last patch, catch of reference to non-pointer. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@92386 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.cpp
|
b606c384684f317cd75cdb1a2b2b172a42ee7706 |
|
01-Jan-2010 |
Mike Stump <mrs@apple.com> |
Fix catching a reference to a pointer. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@92385 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.cpp
|
f3c47c9525153aea2de0ec4bd615b9cf2d81c103 |
|
24-Dec-2009 |
Anders Carlsson <andersca@mac.com> |
Pass ReturnValueSlot to EmitCall. No functionality change yet. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@92138 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.cpp
|
63df2ae96bd0477a7d516814750640b7ce348a71 |
|
24-Dec-2009 |
Mike Stump <mrs@apple.com> |
Cleanup some dead code. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@92122 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.cpp
|
154fe9812faddcd94568a64aee5f3cb0d47003d9 |
|
23-Dec-2009 |
Douglas Gregor <dgregor@apple.com> |
There is no such thing as typeinfo for a cv-qualified type. Assert that this is true when mangling, then fix up the various places in Sema and/or CodeGen that need to remove qualifiers. Addresses a linking issue when building LLVM with Clang. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@92064 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.cpp
|
1d7088d1d9dc99e5478c0184a3e21cafef2a0b53 |
|
17-Dec-2009 |
Anders Carlsson <andersca@mac.com> |
Rename GetAddrOfRTTI to GetAddrOfRTTIDescriptor. Remove the overload that takes a CXXRecordDecl since we were just creating a QualType from it anyway. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91590 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.cpp
|
f2945c0a74ec15d4d171b34a98e7ef109b9b414b |
|
17-Dec-2009 |
Mike Stump <mrs@apple.com> |
Ensure we run cleanups for CXXTemporaries on the exceptional edge. WIP. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91588 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.cpp
|
e8e4a1c0bf2e3dd26dd0721a102307bbb589e96a |
|
16-Dec-2009 |
Anders Carlsson <andersca@mac.com> |
Use GetAddrOfRTTI everywhere and remove GenerateRTTI and GenerateRTTIRef. With this change, we can now compile and link TableGen. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91520 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.cpp
|
60cfcecaf48e4310339dcfbdb0e3f0e6d2853855 |
|
13-Dec-2009 |
Chandler Carruth <chandlerc@gmail.com> |
Silence some release build warnings. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91234 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.cpp
|
9f61aa9e280adea9fbf3365f0e4f6ed568c9885a |
|
12-Dec-2009 |
Jeffrey Yasskin <jyasskin@google.com> |
Un-namespace-qualify llvm_unreachable. It's a macro, so the qualification gave no extra safety anyway. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91207 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.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/lib/CodeGen/CGException.cpp
|
0924a8a06f6b5ccf0c34d26ce25d680c045ea915 |
|
11-Dec-2009 |
Mike Stump <mrs@apple.com> |
Fix spacing. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91078 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.cpp
|
5030a98e20e7501366cf50a7e8b92dc016b98bfb |
|
10-Dec-2009 |
Mike Stump <mrs@apple.com> |
Setup cleanup on eh edge out of the construction of the cleanup object during throw to deallocate the exception object. WIP. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91035 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.cpp
|
8755ec336108839b9621c3b18f0e175f8a3b671c |
|
10-Dec-2009 |
Mike Stump <mrs@apple.com> |
Fixup spacing. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91001 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.cpp
|
182f383db1782af752ecaf607fdff72a8542088b |
|
10-Dec-2009 |
Mike Stump <mrs@apple.com> |
Ensure we only generate one terminate handler. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90998 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.cpp
|
23e17c81d508a124c980ae8d198a7b70292298b5 |
|
10-Dec-2009 |
Mike Stump <mrs@apple.com> |
Remove obsolete FIXME and some dead fallback code. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90997 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.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/lib/CodeGen/CGException.cpp
|
9b39c51ae3c547568ac42325f94b4197618f6b18 |
|
09-Dec-2009 |
Mike Stump <mrs@apple.com> |
Break out code for reuse. WIP. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90991 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.cpp
|
d88ea5687968640ada2bc5a10211cbeb68a671ec |
|
09-Dec-2009 |
Mike Stump <mrs@apple.com> |
Add cleanups for exceptional edges. WIP. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90940 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.cpp
|
4e0179f03074f7a280da2c9691dc344500c79c90 |
|
08-Dec-2009 |
Mike Stump <mrs@apple.com> |
Add fixme. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90884 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.cpp
|
e64d434a3450c803beebc09920e111374397a4d2 |
|
08-Dec-2009 |
Mike Stump <mrs@apple.com> |
Remove some old code. WIP. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90882 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.cpp
|
b2debeb96da2b1d47ecffddbc35ade97b64af1c2 |
|
08-Dec-2009 |
Mike Stump <mrs@apple.com> |
Fixup catch parameters with class reference type. WIP. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90821 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.cpp
|
cce3d4f9812182ed4e551b7cf0fc86576be8d9c5 |
|
08-Dec-2009 |
Mike Stump <mrs@apple.com> |
Add codegen support for exception specifications. WIP. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90817 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.cpp
|
c2ab48698094f3e6f3acebc38a19b8cb04069b41 |
|
07-Dec-2009 |
Mike Stump <mrs@apple.com> |
Work around emitters that can't deal with dead code contexts yet. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90796 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.cpp
|
6a1e0eb557d47e85185e09bdf8721f53f4bf9c9c |
|
05-Dec-2009 |
Mike Stump <mrs@apple.com> |
Add support for function try blocks. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90622 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.cpp
|
b2c9c0b1c5e25cfbee1403cde12b98f180e6b315 |
|
04-Dec-2009 |
Mike Stump <mrs@apple.com> |
Fixup nested try blocks. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90576 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.cpp
|
a086783570f76062a345e761811296dc8df571c8 |
|
04-Dec-2009 |
Mike Stump <mrs@apple.com> |
Fix warning and be sure to set up the rethrow pointer if we fall off the end of all the catches. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90574 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.cpp
|
fffefeb8ecafa1e1a191a276361fd5acaa0f8c5e |
|
04-Dec-2009 |
Mike Stump <mrs@apple.com> |
Try/catch statements seem to be working well enough to turn on. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90538 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.cpp
|
ce0339032a08012cdda99c3e8660b9fc4dfd9baf |
|
04-Dec-2009 |
Mike Stump <mrs@apple.com> |
Disable for now, doesn't play nice with the temporary code. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90537 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.cpp
|
0a3816e566db7cd6084310a2f5a3167d0ec30b31 |
|
04-Dec-2009 |
Mike Stump <mrs@apple.com> |
Fixup reference binding for catch parameters. Fixup throws and rethrows to use invoke as appropriate. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90513 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.cpp
|
3faae56c3bf75e12e09f3d0f1b7643bffa0479d2 |
|
03-Dec-2009 |
Mike Stump <mrs@apple.com> |
These are done. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90494 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.cpp
|
d9cb7e97327e148cfc54db5b991d0925686934fb |
|
03-Dec-2009 |
Mike Stump <mrs@apple.com> |
Improve catch parameter bindings for scalar non-pointers. WIP. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90492 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.cpp
|
f668bd0e059774e44fd3571d998a5ca74cceb97f |
|
03-Dec-2009 |
Mike Stump <mrs@apple.com> |
Reflow. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90407 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.cpp
|
6b85fa41214d9d3e8ef635f964fdc1c74f4702d6 |
|
03-Dec-2009 |
Mike Stump <mrs@apple.com> |
Remove untrue statement. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90377 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.cpp
|
be7c144fcbcc27eec3efaab5f744e3591995dde1 |
|
03-Dec-2009 |
Mike Stump <mrs@apple.com> |
Cleanups on exceptional edges don't work at all, yet. This doesn't catch very many of them and if we caught all of them, the errors would be annoying. I'm working on this next. WIP. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90358 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.cpp
|
f7f74675d4e63c4529a4b890c0dd62cf6dc4c476 |
|
03-Dec-2009 |
Mike Stump <mrs@apple.com> |
Add a cleanup scope for each catch clause. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90357 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.cpp
|
639787c8e989d4c5381da01cff156abf888817c2 |
|
02-Dec-2009 |
Mike Stump <mrs@apple.com> |
Pull the terminate handler up so that we can use it for the catch parameter setup code and set up the catch parameter setup code to protect that code with terminate. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90340 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.cpp
|
de05057932cebc3f43911f87d75869cb7b705a19 |
|
02-Dec-2009 |
Mike Stump <mrs@apple.com> |
Change rtti/Rtti to RTTI, as it is an acronym. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90334 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.cpp
|
c88b6735ea8d2c0c5126239c0761e0e139117349 |
|
02-Dec-2009 |
Mike Stump <mrs@apple.com> |
Avoid warning for getTerminateFn defined but not used. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90330 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.cpp
|
666571afadd9dc472da9696377a05b50c9b3f2ab |
|
02-Dec-2009 |
Mike Stump <mrs@apple.com> |
terminate doesn't throw. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90308 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.cpp
|
99533834ba8f3658559f334e68a518ebb6388cea |
|
02-Dec-2009 |
Mike Stump <mrs@apple.com> |
More exception handling improvements... WIP. Highlights include: Add a helper to generate __cxa_free_exception and _ZSt9terminatev. Add a region to handle EH object deallocation for ctor failures for throw. Add a terminate handler for __cxa_end_catch. A framework for adding cleanup actions for the exceptional edges only. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90305 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.cpp
|
0f590be3808365e851352543faa6acbece50b686 |
|
01-Dec-2009 |
Mike Stump <mrs@apple.com> |
Much work on try/catch statement. WIP. Highlights include: Fix __cxa_begin_catch so it now returns a value. Added getUnwindResumeOrRethrowFn helper to build up calls to _Unwind_Resume_or_Rethrow. Broke out object copying code into CopyObject from EmitCXXThrowExpr. Built up another version of CopyObject that can copy from memory for use in the catch parameter code. RTTI generation for type matching for catch. Code to check for the type match for catch. Code to generate the catch parameter, WIP, need make sure references and pointers and copy ctors work. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90205 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.cpp
|
2bf701ee4babb5c4a9ea99ca4675c5ef040bd402 |
|
21-Nov-2009 |
Mike Stump <mrs@apple.com> |
Checkpoint current work. WIP. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89513 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.cpp
|
d1abf673bf133bd779a94978286c92cef86d7d36 |
|
20-Nov-2009 |
Mike Stump <mrs@apple.com> |
Implement throw d, where d is a class type that requires copy construction. WIP. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89442 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.cpp
|
e36c9abd383267775a5079166e5e02119866c129 |
|
20-Nov-2009 |
Mike Stump <mrs@apple.com> |
Handle throw d, where d is a class type but only has a trivial copy constructor. WIP. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89438 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.cpp
|
b4eea691866a3fa75722da9eba735c44f140398a |
|
20-Nov-2009 |
Mike Stump <mrs@apple.com> |
Add suport for throw;. WIP. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89424 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.cpp
|
23886d0dd3294b7b84a171fc9231bdded7f52cd1 |
|
20-Nov-2009 |
Mike Stump <mrs@apple.com> |
Fix rtti generation for throws. WIP. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89420 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.cpp
|
d3379292f90e1381d3236c68891bb725b02464b6 |
|
30-Oct-2009 |
Anders Carlsson <andersca@mac.com> |
Get throws limping along, still a bunch of FIXMEs. Too bad we don't support catching anything yet :) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@85574 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.cpp
|
756b5c4f9d52642d87d1948bee58f97a4f795b24 |
|
30-Oct-2009 |
Anders Carlsson <andersca@mac.com> |
Add CGException.cpp, to be used for exception related code generation. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@85560 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGException.cpp
|