4967a710c84587c654b56c828382219c3937dacb |
|
20-Sep-2016 |
Pirama Arumuga Nainar <pirama@google.com> |
Update aosp/master Clang for rebase to r275480 Bug: http://b/31320715 This merges commit ac9cc4764cf47a6c3f031687d8592e080c9f5001 from aosp/dev. Test: Build AOSP and run RenderScript tests (host tests for slang and libbcc, RsTest, CTS) Change-Id: Ic2875e5c3673c83448cd7d1013861e42947b1b55
/external/clang/lib/Sema/JumpDiagnostics.cpp
|
87d948ecccffea9e9e37d0d053b246e2d6d6c47b |
|
04-Mar-2016 |
Pirama Arumuga Nainar <pirama@google.com> |
Update aosp/master clang for rebase to r256229 http://b/26987366 Change-Id: I5d349c9843ea5c24d6e455956f8a446393b6873d
/external/clang/lib/Sema/JumpDiagnostics.cpp
|
b6d6993e6e6d3daf4d9876794254d20a134e37c2 |
|
01-Jul-2015 |
Pirama Arumuga Nainar <pirama@google.com> |
Update aosp/master clang for rebase to r239765 Change-Id: I0393bcc952590a7226af8c4b58534a8ee5fd2d99
/external/clang/lib/Sema/JumpDiagnostics.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/Sema/JumpDiagnostics.cpp
|
0e2c34f92f00628d48968dfea096d36381f494cb |
|
23-Mar-2015 |
Stephen Hines <srhines@google.com> |
Update aosp/master clang for rebase to r230699. Change-Id: I6a546ab3d4ae37119eebb735e102cca4f80ab520
/external/clang/lib/Sema/JumpDiagnostics.cpp
|
176edba5311f6eff0cad2631449885ddf4fbc9ea |
|
01-Dec-2014 |
Stephen Hines <srhines@google.com> |
Update aosp/master Clang for rebase to r222490. Change-Id: Ic557ac55e97fbf6ee08771c7b7c3594777b0aefd
/external/clang/lib/Sema/JumpDiagnostics.cpp
|
6bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89 |
|
29-May-2014 |
Stephen Hines <srhines@google.com> |
Update Clang for 3.5 rebase (r209713). Change-Id: I8c9133b0f8f776dc915f270b60f94962e771bc83
/external/clang/lib/Sema/JumpDiagnostics.cpp
|
651f13cea278ec967336033dd032faef0e9fc2ec |
|
24-Apr-2014 |
Stephen Hines <srhines@google.com> |
Updated to Clang 3.5a. Change-Id: I8127eb568f674c2e72635b639a3295381fe8af82
/external/clang/lib/Sema/JumpDiagnostics.cpp
|
b45a4d217cf1513b14a143143a2c3af8738a3cd7 |
|
03-Jun-2013 |
Richard Smith <richard-llvm@metafoo.co.uk> |
Fix a couple of bugs where jump diagnostics would not notice that a variable has an initializer. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@183092 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/JumpDiagnostics.cpp
|
4e43dec4df9d7dd8e07b47bb15967f1b733a9bc6 |
|
03-Jun-2013 |
Richard Smith <richard-llvm@metafoo.co.uk> |
Fix handling of pointers-to-members and comma expressions when lifetime-extending temporaries in reference bindings. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@183089 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/JumpDiagnostics.cpp
|
80ad52f327b532bded5c5b0ee38779d841c6cd35 |
|
02-Jan-2013 |
Richard Smith <richard-llvm@metafoo.co.uk> |
s/CPlusPlus0x/CPlusPlus11/g git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@171367 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/JumpDiagnostics.cpp
|
65d78312ce026092cb6e7b1d4d06f05e18d02aa0 |
|
25-Dec-2012 |
Erik Verbruggen <erikjv@me.com> |
Fix for PR12222. Changed getLocStart() and getLocEnd() to be required for Stmts, and make getSourceRange() optional. The default implementation for getSourceRange() is build the range by calling getLocStart() and getLocEnd(). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@171067 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/JumpDiagnostics.cpp
|
55fc873017f10f6f566b182b70f6fc22aefa3464 |
|
04-Dec-2012 |
Chandler Carruth <chandlerc@gmail.com> |
Sort all of Clang's files under 'lib', and fix up the broken headers uncovered. This required manually correcting all of the incorrect main-module headers I could find, and running the new llvm/utils/sort_includes.py script over the files. I also manually added quite a few missing headers that were uncovered by shuffling the order or moving headers up to be main-module-headers. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@169237 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/JumpDiagnostics.cpp
|
889b99e6d5b389c0ed99e7ad8470c28b146a42d3 |
|
01-Nov-2012 |
Eli Friedman <eli.friedman@gmail.com> |
Correctly reject gotos in function-level try blocks. PR14225. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@167184 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/JumpDiagnostics.cpp
|
644e90a17f1bc3dcc2b7b018eb02abb3a1c2022b |
|
28-Oct-2012 |
Rafael Espindola <rafael.espindola@gmail.com> |
Fix invalid jump scopes again. This time without trying to find out if an incomplete type has a destructor or not. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@166895 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/JumpDiagnostics.cpp
|
a92afb611c015196541edd53347aa23dba1949ac |
|
27-Oct-2012 |
Rafael Espindola <rafael.espindola@gmail.com> |
Revert 166876 while I debug a bootstrap problem. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@166878 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/JumpDiagnostics.cpp
|
ff8f9676c025dd9942521a29bf967505c3bda62a |
|
27-Oct-2012 |
Rafael Espindola <rafael.espindola@gmail.com> |
Reapply 166855 with an early exit on null QualTypes. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@166876 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/JumpDiagnostics.cpp
|
029d28449c4adb5ce92b58b5a57eeca6e396e404 |
|
27-Oct-2012 |
Rafael Espindola <rafael.espindola@gmail.com> |
Revert r166855. I can reproduce the bootstrap failure and have a testcase to reduce. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@166863 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/JumpDiagnostics.cpp
|
76b5d24b748896b5a0be7fff779943e3108e7518 |
|
27-Oct-2012 |
Rafael Espindola <rafael.espindola@gmail.com> |
Fix cases where we were not producing an error when a computed goto could jump over destructor calls. Fixes pr13812. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@166855 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/JumpDiagnostics.cpp
|
9f357de8d5823f9b13cf33ad1f6af1dd69b7669f |
|
25-Sep-2012 |
John McCall <rjmccall@apple.com> |
During jump-scope checking, build an ExprWithCleanups immediately into the enclosing scope; this is a more accurate model but is (I believe) unnecessary in my test case due to other flaws. However, one of those flaws is now intentional: blocks which appear in return statements can be trivially observed to not extend in lifetime past the return, and so we can allow a jump past them. Do the necessary magic in IR-generation to make this work. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164589 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/JumpDiagnostics.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/Sema/JumpDiagnostics.cpp
|
4fe5be028b723fedc28bb33be96cde1ab2574ee6 |
|
22-Feb-2012 |
Bill Wendling <isanbard@gmail.com> |
ArrayRef-icize the function arguments. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@151151 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/JumpDiagnostics.cpp
|
0e9e9814a7f8313c0c02b6afea71f0e4c411873e |
|
20-Oct-2011 |
Richard Smith <richard-llvm@metafoo.co.uk> |
Add -Wc++98-compat diagnostics for jumps which bypass initialization of non-POD but trivially constructible and destructible variables in C++11 mode. Also incidentally improve the precision of the wording for jump diagnostics in C++98 mode. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@142619 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/JumpDiagnostics.cpp
|
8b3c99e0167e0565905e1b05de2b8536d8e80d27 |
|
18-Sep-2011 |
Francois Pichet <pichet2000@gmail.com> |
Move the "jump bypasses variable initialization" error -> warning downgrade from -fms-extensions to -fms-compatibility. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140008 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/JumpDiagnostics.cpp
|
62ec1f2fd7368542bb926c04797fb07023547694 |
|
17-Sep-2011 |
Francois Pichet <pichet2000@gmail.com> |
Rename LangOptions::Microsoft to LangOptions::MicrosoftExt to make it clear that this flag must be used only for Microsoft extensions and not emulation; to avoid confusion with the new LangOptions::MicrosoftMode flag. Many of the code now under LangOptions::MicrosoftExt will eventually be moved under the LangOptions::MicrosoftMode flag. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139987 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/JumpDiagnostics.cpp
|
2e96511773c6a21291dfa5218eb8ba79f04b5318 |
|
17-Sep-2011 |
Francois Pichet <pichet2000@gmail.com> |
In Microsoft mode, warn if an indirect goto jump over a variable initialization. Also add a test case for the non Microsoft case because such test didn't exist. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139971 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/JumpDiagnostics.cpp
|
c985b88efc9188845952ab524fe6d4717705257b |
|
13-Sep-2011 |
Francois Pichet <pichet2000@gmail.com> |
In Microsoft mode, downgrade "goto into protected scope" from error to warning if we are jumping over a variable initialization via a goto. This fixes a few errors when parsing MFC code with clang. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139595 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/JumpDiagnostics.cpp
|
67bc6071d7abea2d4870bc4fd8f119ebd93c46f3 |
|
09-Sep-2011 |
Francois Pichet <pichet2000@gmail.com> |
Update comment because JumpDiagnostics.cpp is not just about VLA scope. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139364 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/JumpDiagnostics.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/Sema/JumpDiagnostics.cpp
|
4e7c7f2b78ac3930e45f00626ef6acf08b3f80ca |
|
11-Jul-2011 |
Fariborz Jahanian <fjahanian@apple.com> |
objc-arc: Diagnose when captured variable in block literals require destruction and there is possibility of that without construction. Thanks Johnm for review and suggestions offline. // rdar://9535237. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@134906 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/JumpDiagnostics.cpp
|
b8b0313e84700b5c6d597b3be4de41c97b7550f1 |
|
24-Jun-2011 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Rename objc_lifetime -> objc_ownership, and modify diagnostics to talk about 'ownership', not 'lifetime'. rdar://9477613. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@133779 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/JumpDiagnostics.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/Sema/JumpDiagnostics.cpp
|
1454cb952b76a7dc441f2ae1b7f8d998a54a23cf |
|
15-Jun-2011 |
Douglas Gregor <dgregor@apple.com> |
Properly implement C++0x [stmt.dcl]p3, which requires a scope to be protected in the case where a variable is being initialized by a trivial default constructor but has a non-trivial destructor. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@133037 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/JumpDiagnostics.cpp
|
9787f9bc5aa45ee153ce5a2d0b18b1d8c660219e |
|
28-May-2011 |
Douglas Gregor <dgregor@apple.com> |
Clean up a C++0x/C++03 conditional check. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132229 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/JumpDiagnostics.cpp
|
f61103ef335fb273a98c1389e6fddaf796feb4b3 |
|
27-May-2011 |
Douglas Gregor <dgregor@apple.com> |
Clean up my changes to jump-diagnostic handling for local variables of class type (or array thereof), eliminating some redundant checks (thanks Eli!) and adding some tests where the behavior differs in C++98/03 vs. C++0x. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132218 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/JumpDiagnostics.cpp
|
e413516d0ed61ef9e2ff706bcc00480adca947c4 |
|
27-May-2011 |
Douglas Gregor <dgregor@apple.com> |
Update the jump-scope checker for local variables with initializers, so that it looks at the initializer of a local variable of class type (or array thereof) to determine whether it's just an implicit invocation of the trivial default constructor. Fixes PR10034. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132191 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/JumpDiagnostics.cpp
|
162e1c1b487352434552147967c3dd296ebee2f7 |
|
15-Apr-2011 |
Richard Smith <richard-llvm@metafoo.co.uk> |
Support for C++11 (non-template) alias declarations. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@129567 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/JumpDiagnostics.cpp
|
ad8dcf4a9df0e24051dc31bf9e6f3cd138a34298 |
|
17-Feb-2011 |
Chris Lattner <sabre@nondot.org> |
Step #1/N of implementing support for __label__: split labels into LabelDecl and LabelStmt. There is a 1-1 correspondence between the two, but this simplifies a bunch of code by itself. This is because labels are the only place where we previously had references to random other statements, causing grief for AST serialization and other stuff. This does cause one regression (attr(unused) doesn't silence unused label warnings) which I'll address next. This does fix some minor bugs: 1. "The only valid attribute " diagnostic was capitalized. 2. Various diagnostics printed as ''labelname'' instead of 'labelname' 3. This reduces duplication of label checking between functions and blocks. Review appreciated, particularly for the cindex and template bits. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@125733 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/JumpDiagnostics.cpp
|
7502c1d3ce8bb97bcc4f7bebef507040bd93b26f |
|
13-Feb-2011 |
John McCall <rjmccall@apple.com> |
Give some convenient idiomatic accessors to Stmt::child_range and Stmt::const_child_range, then make a bunch of places use them instead of the individual iterator accessors. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@125450 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/JumpDiagnostics.cpp
|
95c225de9fa3d79f70ef5008c0279580a7d9dcad |
|
28-Oct-2010 |
John McCall <rjmccall@apple.com> |
Implement an indirect-goto optimization for goto *&&lbl and respect this in the scope checker. With that done, turn an indirect goto into a protected scope into a hard error; otherwise IR generation has to start worrying about declarations not dominating their scopes, as exemplified in PR8473. If this really affects anyone, I can probably adjust this to only hard-error on possible indirect gotos into VLA scopes rather than arbitrary scopes. But we'll see how people cope with the aggressive change on the marginal feature. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@117539 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/JumpDiagnostics.cpp
|
2d88708cbe4e4ec5e04e4acb6bd7f5be68557379 |
|
26-Aug-2010 |
John McCall <rjmccall@apple.com> |
Split out a header to hold APIs meant for the Sema implementation from Sema.h. Clients of Sema don't need to know (for example) the list of diagnostics we support. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112093 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/JumpDiagnostics.cpp
|
384aff8b94bb0d1ad6c5667b90621e5699815bb2 |
|
25-Aug-2010 |
John McCall <rjmccall@apple.com> |
Remove Sema.h's dependency on DeclCXX.h. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112032 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/JumpDiagnostics.cpp
|
e737f5041a36d0befb39ffeed8d50ba15916d3da |
|
12-Aug-2010 |
Douglas Gregor <dgregor@apple.com> |
Move Sema's headers into include/clang/Sema, renaming a few along the way. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110945 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/JumpDiagnostics.cpp
|
97ba481f3f45e5b63b4a354bfb471ce146b7de57 |
|
03-Aug-2010 |
John McCall <rjmccall@apple.com> |
Labels (and case statement) don't create independent scope parents for the purposes of the jump checker. Also extend Ted's iteration fix to labels. Fixes PR7789. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110082 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/JumpDiagnostics.cpp
|
f8dcf1a1d3c4f28fc96a45d7159e1a9c95484632 |
|
03-Aug-2010 |
Ted Kremenek <kremenek@apple.com> |
Fix another case (this time in JumpScopeChecker) where walking deeply nested CaseStmts can blow out the stack. Fixes <rdar://problem/8125165>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110071 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/JumpDiagnostics.cpp
|
025291b591a528d8a3f303991f65e19fa1e90a9d |
|
01-Jul-2010 |
Douglas Gregor <dgregor@apple.com> |
Be a bit more careful with undefined CXXRecordDecls. Fixes rdar://problem/8124080 and PR7118. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107358 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/JumpDiagnostics.cpp
|
43dec6bbde2d0a16c35978983761c8b7030c8e18 |
|
22-Jun-2010 |
Douglas Gregor <dgregor@apple.com> |
Alter the internal representation of the condition variable in if/while/switch/for statements to ensure that walking the children of these statements actually works. Previously, we stored the condition variable as a VarDecl. However, StmtIterator isn't able to walk from a VarDecl to a set of statements, and would (in some circumstances) walk beyond the end of the list of statements, cause Bad Behavior. In this change, we've gone back to representing the condition variables as DeclStmts. While not as memory-efficient as VarDecls, it greatly simplifies iteration over the children. Fixes the remainder of <rdar://problem/8104754>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@106504 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/JumpDiagnostics.cpp
|
5e2a7acbdc9e4aee4da54e1e2f560a78bf6fb3c1 |
|
12-May-2010 |
John McCall <rjmccall@apple.com> |
Improve commentary on the indirect-goto jump scope checker and extract a convenience routine to find the innermost common ancestor of two scopes. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@103565 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/JumpDiagnostics.cpp
|
ddb0b4d5391d3e6bc9dcf93dc42310b20c96b6fc |
|
12-May-2010 |
John McCall <rjmccall@apple.com> |
When checking scopes for indirect goto, be more permissive (but still safe) about the permitted scopes. Specifically: 1) Permit labels and gotos to appear after a prologue of variable initializations. 2) Permit indirect gotos to jump out of scopes that don't require cleanup. 3) Diagnose possible attempts to indirect-jump out of scopes that do require cleanup. This requires a substantial reinvention of the algorithm for checking indirect goto. The current algorithm is Omega(M*N), with M = the number of unique scopes being jumped from and N = the number of unique scopes being jumped to, with an additional factor that is probably (worst-case) linear in the depth of scopes. Thus the entire thing is likely cubic given some truly bizarre ill-formed code; on well-formed code the additional factor collapses to an amortized constant (when amortized over the entire function) and so the algorithm is quadratic. Even this requires every label to appear in its own scope, which would be very unusual for indirect-goto code (and extremely unlikely for well-formed code); it is far more likely that all labels will be in the same scope and so the algorithm becomes linear. For such a marginal feature, I am fairly happy with this result. (this is using JumpDiagnostic's definition of scope, where successive variables in a block appear in their own scope) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@103536 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/JumpDiagnostics.cpp
|
8f5e3dd32e443768d9dbbad7191e123e6733750c |
|
24-Apr-2010 |
Douglas Gregor <dgregor@apple.com> |
Improve the AST representation of Objective-C @try/@catch/@finally statements. Instead of the @try having a single @catch, where all of the @catch's were chained (using an O(n^2) algorithm nonetheless), @try just holds an array of its @catch blocks. The resulting AST is slightly more compact (not important) and better represents the actual language semantics (good). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@102221 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/JumpDiagnostics.cpp
|
5abbd606200d53f68b57b770ac338c2e9a696abc |
|
08-Mar-2010 |
Douglas Gregor <dgregor@apple.com> |
Make a note for the C++0x future, when we'll have to revisit the jump-diagnostics handling for variables without initializers git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@97929 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/JumpDiagnostics.cpp
|
6d97e5e4b7abdae710c2548b51f4ed0298e86d80 |
|
01-Mar-2010 |
Chris Lattner <sabre@nondot.org> |
Implement jump checking for initialized c++ variables, implementing a fixme and PR6451. Only perform jump checking if the containing function has no errors, and add the infrastructure needed to do this. On the testcase in the PR, we produce: t.cc:6:3: error: illegal goto into protected scope goto later; ^ t.cc:7:5: note: jump bypasses variable initialization X x; ^ git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@97497 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/JumpDiagnostics.cpp
|
6490ae5003226cae28f980648948bea8b21a8638 |
|
17-Nov-2009 |
Douglas Gregor <dgregor@apple.com> |
Silence some warnings produced by Clang, and add a missing header git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89051 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/JumpDiagnostics.cpp
|
1eb4433ac451dc16f4133a88af2d002ac26c58ef |
|
09-Sep-2009 |
Mike Stump <mrs@apple.com> |
Remove tabs, and whitespace cleanups. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81346 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/JumpDiagnostics.cpp
|
be6d259a375bbec49659d54a302c4758058f2eef |
|
19-Jul-2009 |
Chris Lattner <sabre@nondot.org> |
enhance the goto checker to reject jumps across __block variable definitions. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@76376 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/JumpDiagnostics.cpp
|
40b598eea1310ec9ed554d56ce3e25b34c585458 |
|
30-Jun-2009 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Remove the ASTContext parameter from the attribute-related methods of Decl. The implementations of these methods can Use Decl::getASTContext() to get the ASTContext. This commit touches a lot of files since call sites for these methods are everywhere. I used pre-tokenized "carbon.h" and "cocoa.h" headers to do some timings, and there was no real time difference between before the commit and after it. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74501 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/JumpDiagnostics.cpp
|
68584ed35ad819a1668e3f527ba7f5dd4ae6a333 |
|
18-Jun-2009 |
Douglas Gregor <dgregor@apple.com> |
Move the static DeclAttrs map into ASTContext. Fixes <rdar://problem/6983177>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73702 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/JumpDiagnostics.cpp
|
972041f45bdf8df7ea447221292d7827466ba94b |
|
27-Apr-2009 |
Sebastian Redl <sebastian.redl@getdesigned.at> |
Improve validation of C++ exception handling: diagnose throwing incomplete types and jumps into protected try-catch scopes. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70242 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/JumpDiagnostics.cpp
|
16f0049415ec596504891259e2a83e19871c0d52 |
|
26-Apr-2009 |
Chris Lattner <sabre@nondot.org> |
split ObjC and C++ Statements out into their own headers. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70105 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/JumpDiagnostics.cpp
|
46c3c4ba78766ac0f1c5ec631b424773e21f5271 |
|
21-Apr-2009 |
Chris Lattner <sabre@nondot.org> |
add support for goto checking and @synchronized blocks, rdar://6810106 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69667 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/JumpDiagnostics.cpp
|
5af280ce21af061f96b5b5b752746871e364ba99 |
|
19-Apr-2009 |
Chris Lattner <sabre@nondot.org> |
move jump scope checking and related code out into its own file, SemaDecl.cpp is already too large. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69505 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Sema/JumpDiagnostics.cpp
|