aboutsummaryrefslogtreecommitdiff
path: root/test
AgeCommit message (Collapse)Author
2013-01-11Refine analyzer's handling of unary '!' and floating types to not assert.Ted Kremenek
Fixes PR 14634 and <rdar://problem/12903080>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172274 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-11Correctly propagate uninitialized values within logical expressions.Ted Kremenek
Fixes assertion failure reported in PR 14635 and <rdar://problem/12902945> respectively. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172263 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-11Reject incompatible redeclarations of extern C symbols.Rafael Espindola
Before we were only checking if the new declaration itself was marked extern C. Fixes prpr14766. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172243 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-11Improve diagnostic per Richard's suggestionFariborz Jahanian
(which may yet change if we move the diagnostic outside case value). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172242 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-11Fix single-line optimization for ObjC.Manuel Klimek
Puts blocks always into multiple lines when they start with an ObjC keyword or minus. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172238 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-11Implements pulling simple blocks into a single line.Manuel Klimek
void f() { return 42; } The final change that implements the feature. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172225 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-11Add -std=c++98 to the test and minor improvment in addition.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172221 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-11Enable the new (more C++-like, less broken) EH model when targeting the GNUstepDavid Chisnall
Objective-C runtime 1.7 or greater. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172207 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-11Fixed an assertion failure triggered by invalid code.Enea Zaffanella
Set invalid type of declarator after emitting error diagnostics, so that it won't be later considered when instantiating the template. Added test5_inst in test/SemaCXX/condition.cpp for non-regression. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172201 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-11[analyzer] Rename the warning: state the issue before the hint of how itAnna Zaks
can be fixed git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172170 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-11[analyzer]Recognize ivar invalidation protocol even if it was redeclaredAnna Zaks
This will get rid of some false positives as well as false negatives. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172169 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-11[analyzer] Ivar invalidation: track ivars declared in categories.Anna Zaks
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172168 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-11Revert "tg-fixits.td: fixup for Linux"Jordan Rose
It's better to show no caret/ranges/fixits than to show them misaligned. (It scares me a bit that Clang is going to show them misaligned on systems without a proper llvm::sys::locale::columnWidth.) See PR14910. This reverts commit a03cc72bedd015b7eb76e9ac650992f58a48549d. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172163 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-11Improve on my last test for patch for // rdar://12897704Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172154 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-11tg-fixits.td: fixup for Linux, which does not have a correct implementation ofDmitri Gribenko
llvm::sys::locale::columnWidth() git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172152 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-10[analyzer] Allow IvarInvalidation checker to suppress warnings viaAnna Zaks
assertions. To ensure that custom assertions/conditional would also be supported, just check if the ivar that needs to be invalidated or set to nil is compared against 0. Unfortunately, this will not work for code containing 'assert(IvarName)' git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172147 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-10c++ IRGen. In trivial cases that object is going into staticFariborz Jahanian
storage and thus is implicitly zero-initialized, no need to do C++11 memory model. This patch unconditionally detects such condition and zeroinitializer's the variable. Patch has been commented on and OKed by Doug off-line. // rdar://12897704 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172144 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-10[analyzer] Fix non-determinizm introduced in r172104.Anna Zaks
In some cases, we just pick any ivar that needs invalidation and attach the warning to it. Picking the first from DenseMap of pointer keys was triggering non-deterministic output. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172134 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-10Declare +new instead of -new in test.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172126 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-10[ms-inline asm] Add test case for r172121. Chad Rosier
Part of rdar://12991541 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172122 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-10[analyzer] Add more checks to the ObjC Ivar Invalidation checker.Anna Zaks
Restructured the checker so that it could easily find two new classes of issues: - when a class contains an invalidatable ivar, but no declaration of an invalidation method - when a class contains an invalidatable ivar, but no definition of an invalidation method in the @implementation. The second case might trigger some false positives, for example, when the method is defined in a category. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172104 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-10Provide a better warning when case value overflows.Fariborz Jahanian
// rdar://11577384 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172102 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-10Formatting: In @implementation etc lines, put a space before protocol lists.Nico Weber
Don't do this in Google style though: http://google-styleguide.googlecode.com/svn/trunk/objcguide.xml#Protocols Most other places (function declarations, variable declarations) still get this wrong, and since this looks very similiar to template instantiations to the lexer (`id <MyProtocol> a = ...`), it's going to be hard to fix in some places. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172099 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-10Formatter: Add space before '(' in @implemenation, @interface, @protocol linesNico Weber
The first token in @implementation, @interface, and @protocol lines is now marked TT_ObjCDecl, and lines starting with a TT_ObjCDecl token are now marked LT_ObjCMethodDecl. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172093 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-10objectiveC++: When throwing c++ exception of Fariborz Jahanian
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
2013-01-10Error if an anonymous DiagGroup is referenced multiple times.Jordan Rose
Not only is this inefficient for TableGen, it's annoying for maintenance when renaming warning flags (unusual) or adding those flags to a group (more likely). This uses the new fix-it infrastructure for LLVM's SourceMgr/SMDiagnostic, as well as a few changes to TableGen to track more source information. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172087 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-10Do not add newline in empty blocks.Manuel Klimek
void f() {} now gets formatted in one line. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172067 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-10Improvements to function type and ObjC block formatting.Daniel Jasper
Before: int (^myBlock) (int) = ^(int num) {} A<void ()>; int (*b)(int); After: int (^myBlock)(int) = ^(int num) {} A<void()>; int(*b)(int); For function types and function pointer types, this patch only makes the behavior consistent (for types that are keywords and other types). For the latter function pointer type declarations, we'll probably want to add a space after "int". Also added LangOpts.Bool = 1, so we handle "A<bool()>" appropriately Moved the LangOpts-settings to a public place for use by tests and clang-format binary. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172065 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-10[Mips] Pass a combination of +soft-float and -mips16-hard-float flags toSimon Atanasyan
the backend if hard float ABI is selected under -mips16 mode. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172062 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-10r172047 lacked a test (due to incomplete OpenCL support in clang). Use a ↵David Tweed
modified version of a test by Joey Gouly to use attributes to materialise the unsupported types and test vector shifts. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172053 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-10Enable intel_ocl_bicc for x86_64 target only. Remove fix from 171969 that ↵Guy Benyei
enabled this extension for multiple targets. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172052 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-10Don't assert in codegen on static data members which have NoLinkage. FixesNick Lewycky
PR14825! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172031 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-10Formatter: @optional and @required go on their own line.Nico Weber
Previously: @protocol myProtocol - (void)mandatoryWithInt:(int)i; @optional - (void) optional; @required - (void) required; @end Now: @protocol myProtocol - (void)mandatoryWithInt:(int)i; @optional - (void)optional; @required - (void)required; @end git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172023 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-09Formatter: Add support for @implementation.Nico Weber
Just reuse the @interface code for this. It accepts slightly more than necessary (@implementation cannot have protocol lists), but that's ok. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172019 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-09[PreprocessingRecord] A macro expansion can be reported out-of-order in ↵Argyrios Kyrtzidis
cases when there are macro expansions inside macro arguments where the arguments are not expanded in the same order as listed; don't assert that all macro expansions are in source order. rdar://12397063 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172018 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-09Issue warning when case value is too large to fitFariborz Jahanian
in case condition type. // rdar://11577384. Test is conditionalized on x86_64-apple triple as I am not sure if the INT_MAX/LONG_MAX values in the test will pass this test for other hosts. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172016 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-09Formatting: Add support for @protocol.Nico Weber
Pull pieces of the @interface code into reusable methods. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172001 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-09Fix test after r171995.Nico Weber
I wasn't aware libFormat is used elsewhere already. Let me know if rebasing is not the right thing to do here. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@171996 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-09Do not model loads from complex types, since we don't accurately model the ↵Ted Kremenek
imaginary and real parts yet. Fixes false positive reported in <rdar://problem/12964481>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@171987 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-09Handle static functions being redeclared in function scope.Rafael Espindola
Fixes pr14861. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@171978 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-09Fix ObjC block declarations.Daniel Jasper
Before: int ( ^ Block1) (int, int) = ^ (int i, int j) After: int (^Block1) (int, int) = ^(int i, int j) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@171959 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-09[ubsan] Make static check data non-const so it can be used for deduplication.Will Dietz
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@171947 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-09Make sure clang puts tokens from different files on separate lines in "-E ↵Eli Friedman
-P" mode. <rdar://problem/12774044> git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@171944 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-09Make __has_include a bit more resilient in the presence of macros. ↵Eli Friedman
<rdar://problem/12748859>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@171939 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-09When name lookup for a redeclaration finds declarations that are knownDouglas Gregor
(because they are part of some module) but have not been made visible (because they are in a submodule that wasn't imported), filter out those declarations unless both the old declaration and the new declaration have external linkage. When one or both has internal linkage, there should be no conflict unless both are imported. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@171925 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-09put back diagnostics when flexible members are capturedFariborz Jahanian
in lambdas. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@171921 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-08[ms-inline asm] Add a test case for the offset operator where the operand is aChad Rosier
global variable. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@171919 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-08Remove lambda from my last patch.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@171915 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-08objectiveC blocks: It is impractical to capture Fariborz Jahanian
struct variables with flexiable array members in blocks (and lambdas). Issue error instead of crashing in IRGen. // rdar://12655829 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@171912 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-08PR14855: don't silently swallow a nested-name-specifier after a type name.Richard Smith
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@171908 91177308-0d34-0410-b5e6-96231b3b80d8