aboutsummaryrefslogtreecommitdiff
path: root/test
AgeCommit message (Collapse)Author
2013-03-19Test case for r177439 and r177440.Chad Rosier
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@177441 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-19Objective-C [qoi]: Provide improved parse diagnostics whenFariborz Jahanian
closing rbrace is missing in an ObjC class declaration. Can do beter than this, but it involves addition of overhead which will be present in correct code. // rdar://6854840 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@177435 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-19Relax test to allow for attributes on other architectures. Caught by ↵Adrian Prantl
powerpc64-unknown-linux-gnu buildbot. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@177419 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-19Update test for r177413.Chad Rosier
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@177414 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-19Don't try to set attributes in alias, they have none.Rafael Espindola
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@177402 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-19Go back to using the integrated assembler on windows ever when passedRafael Espindola
-no-integrated-as. It is the only assembler we have there. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@177398 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-19[ASan] Make -fsanitize=address always imply -fsanitize=init-orderAlexey Samsonov
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@177391 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-19Add a clarifying note when a return statement is rejected becauseJohn McCall
we expect a related result type. rdar://12493140 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@177378 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-19<rdar://problem/13363214> Eliminate race condition between module rebuild ↵Douglas Gregor
and the global module index. The global module index was querying the file manager for each of the module files it knows about at load time, to prune out any out-of-date information. The file manager would then cache the results of the stat() falls used to find that module file. Later, the same translation unit could end up trying to import one of the module files that had previously been ignored by the module cache, but after some other Clang instance rebuilt the module file to bring it up-to-date. The stale stat() results in the file manager would trigger a second rebuild of the already-up-to-date module, causing failures down the line. The global module index now lazily resolves its module file references to actual AST reader module files only after the module file has been loaded, eliminating the stat-caching race. Moreover, the AST reader can communicate to its caller that a module file is missing (rather than simply being out-of-date), allowing us to simplify the module-loading logic and allowing the compiler to recover if a dependent module file ends up getting deleted. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@177367 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-19PR15383: When -fsanitize=float-cast-overflow checks a float-to-int conversion,Richard Smith
it wasn't taking into account that the float should be truncated *before* the range check happens. Thus (unsigned)-0.99 and (unsigned char)255.9 have defined behavior and should not be trapped. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@177362 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-18[libclang] Modify clang_getCursorType to be able to handle a function ↵Argyrios Kyrtzidis
template decl. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@177359 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-18documentation comment parsing. Added couple of Fariborz Jahanian
top-level HeaderDoc tags @functiongroup and @methodgroup to doc. tags recognized. // rdar://12379114 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@177358 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-18Diagnose uses of 'alignof' on functions in -pedantic mode.Richard Smith
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@177354 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-18Test case for r177347.Chad Rosier
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@177349 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-18PR15539: Record "evaluating if/elif condition" flag in the right placeDavid Blaikie
The previous implementation missed the case where the elif condition was evaluated from the context of an #ifdef that was false causing PR15539. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@177345 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-18Update testcase for r177340.Bill Wendling
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@177344 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-18[frontend] Initialize the diagnostic client before loading an ast file.Argyrios Kyrtzidis
Issue reported by Tom Honermann! http://llvm.org/bugs/show_bug.cgi?id=15377 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@177336 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-18Add missing diagnostic for a nested-name-specifier on a free-standing type ↵Richard Smith
definition. Bump some related diagnostics from warning to extension in C++, since they're errors there. Add some missing checks for function specifiers on non-function declarations. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@177335 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-18[PCH] Fix assertion hit related to enum decls inside templated funtions.Argyrios Kyrtzidis
Report and suggested fix by Tom Honermann! http://llvm.org/bugs/show_bug.cgi?id=13020 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@177330 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-18Bring inheriting constructor implementation up-to-date with current defectRichard Smith
reports, and implement implicit definition of inheriting constructors. Remaining missing features: inheriting constructor templates, implicit exception specifications for inheriting constructors, inheriting constructors from dependent bases. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@177320 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-18[analyzer] Warn when a ‘nil’ object is added to NSArray or NSMutableArray.Anna Zaks
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@177318 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-18Objective-C modern translator. Don't put line infoFariborz Jahanian
into the pre-preprocessed file to be passed to modern translator when compiling in no debug mode. // rdar://13138170 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@177311 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-18Make sure to use same EABI version for external assembler as for integrated as.Anton Korobeynikov
Patch by Andrew Turner! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@177252 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-17Generalize a few debug info test casesDavid Blaikie
Checking for the annotation comment rather than the metadata values makes these tests resilient to a coming refactor that will pull these fields out into a separate metadata node. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@177237 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-16revert r177211 due to its potential issuesManman Ren
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@177222 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-16[analyzer] Model trivial copy/move assignment operators with a bind as well.Jordan Rose
r175234 allowed the analyzer to model trivial copy/move constructors as an aggregate bind. This commit extends that to trivial assignment operators as well. Like the last commit, one of the motivating factors here is not warning when the right-hand object is partially-initialized, which can have legitimate uses. <rdar://problem/13405162> git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@177220 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-16Remove -Wspellcheck and replace it with a diagnostic option.Argyrios Kyrtzidis
Thanks to Richard S. for pointing out that the warning would show up with -Weverything. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@177218 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-16Exploit this-return of a callsite in a this-return function.Manman Ren
For constructors/desctructors that return 'this', if there exists a callsite that returns 'this' and is immediately before the return instruction, make sure we are using the return value from the callsite. We don't need to keep 'this' alive through the callsite. It also enables optimizations in the backend, such as tail call optimization. rdar://12818789 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@177211 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-15Improve template diffing handling of default integer values.Richard Trieu
When the template argument is both default and value dependent, the expression retrieved for the default argument cannot be evaluated, thus never matching any argument value. To get the proper value, get the template argument from the desugared template specialization. Also, output the original expression to provide more information about the argument mismatch. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@177209 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-15[analyzer] Use isLiveRegion to determine when SymbolRegionValue is dead.Anna Zaks
Fixes a FIXME, improves dead symbol collection, suppresses a false positive, which resulted from reusing the same symbol twice for simulation of 2 calls to the same function. Fixing this lead to 2 possible false negatives in CString checker. Since the checker is still alpha and the solution will not require revert of this commit, move the tests to a FIXME section. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@177206 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-15[analyzer] BugReporterVisitors: handle the case where a ternary operator is ↵Anna Zaks
wrapped in a cast. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@177205 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-15Enhance -Wtautological-constant-out-of-range-compare to include the name of ↵Ted Kremenek
the enum constant. This is QoI. Fixes <rdar://problem/13076064>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@177190 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-15[analyzer] Look through ExprWhenCleanups when trying to track a NULL.Jordan Rose
Silences a few false positives in LLVM. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@177186 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-15ClangTool output cleanupEdwin Vane
Information messages sent to stdout by ClangTool now only happen when the -debug flag is set. Error messages that used to go to stdout now go to stderr. Author: Ariel J Bernal <ariel.j.bernal@intel.com> git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@177177 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-15Force column info only for direct inlined functions. This should strikeAdrian Prantl
the balance between expected behavior and compatibility with the gdb testsuite. (GDB gets confused if we break an expression into multiple debug stmts so we enable this behavior only for inlined functions. For the full experience people can still use -gcolumn-info.) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@177164 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-15c: Also chek for integer overflow for '%' operator.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@177163 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-15c: add the missing binary operatory when checkingFariborz Jahanian
for integer overflow. // rdar://13423975 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@177162 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-15Fixup for r176934. More careful setup of path to llvm-symbolizerAlexey Samsonov
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@177145 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-15[analyzer] Teach trackNullOrUndef to look through ternary operatorsAnna Zaks
Allows the suppression visitors trigger more often. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@177137 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-15PR15290: 'this' is not permitted in the declaration of a friend function,Richard Smith
therefore references to members should not be transformed into implicit uses of 'this'. Patch by Ismail Pazarbasi! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@177134 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-14Diagnose about extern "C" functions returning c++ objectsFariborz Jahanian
on first declaration only. // rdar://13364028 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@177127 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-14Don't try to typo-correct 'super' in an objc method.Argyrios Kyrtzidis
This created 2 issues: 1) Performance issue, since typo-correction with PCH/modules is rather expensive. 2) Correctness issue, since if it managed to "correct" 'super' then bogus compiler errors would be emitted, like this: 3.m:8:3: error: unknown type name 'super'; did you mean 'super1'? super.x = 0; ^~~~~ super1 t3.m:5:13: note: 'super1' declared here typedef int super1; ^ t3.m:8:8: error: expected identifier or '(' super.x = 0; ^ git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@177126 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-14Add a testcase for r177118.Adrian Prantl
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@177124 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-14[analyzer] Change the way in which IDC Visitor decides to kick in and make ↵Anna Zaks
sure it attaches in the given edge case In the test case below, the value V is not constrained to 0 in ErrorNode but it is in node N. So we used to fail to register the Suppression visitor. We also need to change the way we determine that the Visitor should kick in because the node N belongs to the ExplodedGraph and might not be on the BugReporter path that the visitor sees. Instead of trying to match the node, turn on the visitor when we see the last node in which the symbol is ‘0’. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@177121 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-14[PR15513/<rdar://problem/13409707>] Template arguments in diagnostics aren't ↵Douglas Gregor
always known at compile time. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@177110 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-14Allocate stack storage for .block_descriptor and captured self at -O0.Adrian Prantl
This way the register allocator will not optimize away the debug info for captured variables. Fixes rdar://problem/12767564 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@177086 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-14[analyzer] Fix scan-build's -stats mode.Jordan Rose
We were failing to match the output line, which led to us collecting no stats at all, which led to a divide-by-zero error. Fixes PR15510. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@177084 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-14[ASan] Make -fsanitize=address imply -fsanitize=init-order (if the latter is ↵Alexey Samsonov
not explicitly disabled). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@177061 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-14Add support for the 'endian' attribute for OpenCL.Joey Gouly
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@177035 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-14Flag that friend function definitions are "late parsed" so thatJohn McCall
template instantiation will still consider them to be definitions if we instantiate the containing class before we get around to parsing the friend. This seems like a legitimate use of "late template parsed" to me, but I'd appreciate it if someone responsible for the MS feature would look over this. This file already appears to access AST nodes directly, which is arguably not kosher in the parser, but the performance of this path matters enough that perpetuating the sin is justifiable. Probably we ought to reconsider this policy for very simple manipulations like this. The reason this entire thing is necessary is that function template instantiation plays some very gross games in order to not associate an instantiated function template with the class it came from unless it's a definition, and the reason *that's* necessary is that the AST currently cannot represent the instantiation history of individual function template declarations, but instead tracks it in common for the entire function template. That probably prevents us from correctly reporting ill-formed calls to ambiguously instantiated friend function templates. rdar://12350696 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@177003 91177308-0d34-0410-b5e6-96231b3b80d8