History log of /external/clang/test/SemaCXX/scope-check.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
820b23dc924a4ae7af07d5a75d6b1d781c267d57 15-Feb-2013 Argyrios Kyrtzidis <akyrtzi@gmail.com> When a statement is dropped from the AST because it was invalid, make sure
we don't do the scope checks otherwise we are going to hit assertion checks
since a label may not have been actually added.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@175281 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/scope-check.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/test/SemaCXX/scope-check.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/test/SemaCXX/scope-check.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/test/SemaCXX/scope-check.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/test/SemaCXX/scope-check.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/test/SemaCXX/scope-check.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/test/SemaCXX/scope-check.cpp
4e0d3cb72f37f46e62df9bbf5a5f3eb910de3f5b 11-Sep-2012 Rafael Espindola <rafael.espindola@gmail.com> Fix namespace nesting and remove windows line endings.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@163620 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/scope-check.cpp
2fe9b7fb07dff15dd15dd8755a9a9e6de0fe46fc 15-Dec-2011 Richard Trieu <rtrieu@google.com> Modify how the -verify flag works. Currently, the verification string and
diagnostic message are compared. If either is a substring of the other, then
no error is given. This gives rise to an unexpected case:

// expect-error{{candidate function has different number of parameters}}

will match the following error messages from Clang:

candidate function has different number of parameters (expected 1 but has 2)
candidate function has different number of parameters

It will also match these other error messages:

candidate function
function has different number of parameters
number of parameters

This patch will change so that the verification string must be a substring of
the diagnostic message before accepting. Also, all the failing tests from this
change have been corrected. Some stats from this cleanup:

87 - removed extra spaces around verification strings
70 - wording updates to diagnostics
40 - extra leading or trailing characters (typos, unmatched parens or quotes)
35 - diagnostic level was included (error:, warning:, or note:)
18 - flag name put in the warning (-Wprotocol)



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@146619 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/scope-check.cpp
762bb9d0ad20320b9f97a841dce57ba5e8e48b07 14-Oct-2011 Richard Smith <richard-llvm@metafoo.co.uk> Update all tests other than Driver/std.cpp to use -std=c++11 rather than
-std=c++0x. Patch by Ahmed Charles!


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141900 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/scope-check.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/test/SemaCXX/scope-check.cpp
c0a575f9b791a25c94b1c3c832dd73ec564646bb 29-Jul-2011 Argyrios Kyrtzidis <akyrtzi@gmail.com> Make DiagnosticErrorTrap keep a count of the errors that occurred so multiple
DiagnosticErrorTraps can be composed (e.g. a trap inside another trap).

Fixes http://llvm.org/PR10462 & rdar://9852007.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136447 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/scope-check.cpp
cfe38c4db48f188db3f48dc48030d8be6f6e3e03 22-Apr-2011 Chandler Carruth <chandlerc@gmail.com> I concur with DPG here. This does indeed apply in 0x mode. Added test
cases that demonstrates exactly why this does indeed apply in 0x mode.

If isPOD is currently broken in 0x mode, we should fix that directly
rather than papering over it here.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@130007 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/scope-check.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/test/SemaCXX/scope-check.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/test/SemaCXX/scope-check.cpp
e46f62cbaaa6294d84be09f3c9b910a2031be913 01-Aug-2010 John McCall <rjmccall@apple.com> Don't consider all local variables in C++ to mandate scope-checking, just
those with initializers.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@109964 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/scope-check.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/test/SemaCXX/scope-check.cpp