aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2012-05-04Add a predefine __WINT_UNSIGNED__, similar to __WCHAR_UNSIGNED__, and test ↵James Molloy
them both for ARM and X86. Use this to fully fix Sema/format-strings.c for non-x86 platforms. Reviewed by Chandler on IRC. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@156169 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-04Fix handling of wint_t - we can't assume wint_t is purely an integer ↵James Molloy
promotion of wchar_t - they may differ in signedness. Teach ASTContext about WIntType, and have it taken from TargetInfo like WCharType. Should fix test/Sema/format-strings.c for ARM, with the exception of one subtest which will fail if wint_t and wchar_t are the same size and wint_t is signed, wchar_t is unsigned. There'll be a followup commit to fix that. Reviewed by Chandler and Hans at http://llvm.org/reviews/r/8 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@156165 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-04Fix -Wlarge-by-value-copy option handling in the driver.Jean-Daniel Dupas
CC1 supports only the joined format. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@156161 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-04This patch adds a new Clang compiler flag "-gline-tables-only".Alexey Samsonov
It reduces the amount of emitted debug information: 1) DIEs in .debug_info have types DW_TAG_compile_unit, DW_TAG_subprogram, DW_TAG_inlined_subroutine (for opt builds) and DW_TAG_lexical_block only. 2) .debug_str contains only function names. 3) No debug data for types/namespaces/variables is emitted. 4) The data in .debug_line is enough to produce valid stack traces with function names and line numbers. Reviewed by Eric Christopher. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@156160 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-04test/PCH/remap-file-from-pch.cpp: Fix expression for DOS pathsep.NAKAMURA Takumi
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@156153 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-04Remove obsolete code for finding a fallback iOS SDK. <rdar://problem/11378535>Bob Wilson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@156149 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-04Skip checking for infinite for-loops if there are global or static variablesRichard Trieu
in the conditional. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@156148 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-04[PCH] Really, pinky swear, fix for PR12689Argyrios Kyrtzidis
rdar://11353109 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@156145 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-04[libclang] Bring back BodyIndexer::TraverseCXXOperatorCallExpr whichArgyrios Kyrtzidis
was removed in r155969 to address a deficiency of RecursiveASTVisitor prior to recent changes on it. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@156142 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-04Make RecursiveASTVisitor fully data recursive on Stmts, withArgyrios Kyrtzidis
minimal disruption on its clients. Unlike the previous data-recursive scheme, Traverse*Stmt methods are always getting called. The base methods of RecursiveASTVisitor will enqueue the sub-statements instead of calling TraverseStmt on them. Clients that override a Traverse*Stmt method and call TraverseStmt will still function as function-recursive traversal; if a client wants to enqueue a sub-statement in its override method it can do it like this: [inside the override method] StmtQueueAction StmtQueue(*this); StmtQueue.queue(Stmt->getSubStmt()); Should address rdar://11179167. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@156141 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-03[analyzer] Assume pointer escapes when a callback is passed insideAnna Zaks
a struct. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@156135 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-03[analyzer] Allow pointers escape through calls containing callback args.Anna Zaks
(Since we don't have a generic pointer escape callback, modify ExprEngineCallAndReturn as well as the malloc checker.) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@156134 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-03Fix non-deterministic iteration order when walking the specializationsChandler Carruth
of templates by using the newly introduce FoldingSetVector. This preserves insertion order for all iteration of specializations. I've also included a somewhat terrifying testcase that rapidly builds up a large number of functions. This is enough that any system with ASLR will have non-deterministic debug information generated for the test case without the fix here as the debug information is generated in part by walking these specializations. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@156133 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-03Add a test for r156092.Bob Wilson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@156132 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-03Inline DenseMapInfo<clang::DeclarationName>::getHashValue() for a 0.4% ↵Douglas Gregor
speedup on <rdar://problem/11004361> git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@156129 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-03objc modern translator: fix up attribute for dynamic property in a category.Fariborz Jahanian
// rdar://11095151 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@156127 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-03Split DeclarationName::getFETokenInfoAsVoid() into hot/cold paths andDouglas Gregor
(trivially) make DeclContext::lookup()'s const version inlinable. Good for 0.3% on <rdar://problem/11004361>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@156126 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-03modern objc translator: support for default propertyFariborz Jahanian
synthesis translation. // rdar://11374235 - wip. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@156125 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-03Add support for full-width 128-bit integer literals.Stephen Canon
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@156123 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-03[driver - crash diagnostics] Convert the flags back to an array of strings ↵Chad Rosier
and use array_lengthof. Also, append the new filename with correct preprocessed suffix. Last part of rdar://11285725 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@156117 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-03Use the standard values for the __cplusplus macro, even when in GNU mode. GCCRichard Smith
dropped its prior behavior of always defining __cplusplus to 1 in GNU mode in version 4.7. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@156113 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-03[PCH] When validating that the files coming from PCH did not change, alsoArgyrios Kyrtzidis
validate that we didn't override the contents of any of such files. If this is detected, emit a diagnostic error and recover gracefully by using the contents of the original file that the PCH was built from. Part of rdar://11305263 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@156107 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-03modern objc translator: used size_t in coupleFariborz Jahanian
of places. // rdar://11375908 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@156106 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-03Use array_lengthof instead of sizeof trickery.Chad Rosier
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@156104 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-03Do not keep track of the set of visited Objective-C containers whenDouglas Gregor
performing the search for overridden methods. We very rarely see the same container twice, and in those rare cases we still have the fallback of the second SmallPtrSet to eliminate duplicates. Good for ~1.5% -fsyntax-only speedup on the code in <rdar://problem/11004361>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@156103 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-03modern objc translation. objc_getClass() and objc_getMetaClass()Fariborz Jahanian
prototypes should both return `struct objc_class *`. // rdar://11375495 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@156097 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-03[driver - crash diagnostics] Only write the failing command in the script.Chad Rosier
Part of rdar://11285725 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@156096 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-03Fix typo and avoid layout issue with almost-but-not-quite-fixed-width fonts.Richard Smith
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@156095 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-03Minor copy-edits to clang::fallthrough attribute documentation.Richard Smith
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@156094 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-03Canonicalize loop.Chad Rosier
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@156093 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-03Disable -Wformat-extra-args for arguments defined in system headers.Bob Wilson
Some of the NSAssert macros in OS X 10.7 are implemented in a way that adds extra arguments that trigger the -Wformat-extra-args warning. Earlier versions of clang failed to detect those -Wformat issues, but now that clang is reporting those problems, we need to quiet them since there's nothing to be done to fix them. <rdar://problem/11317765> I don't know how to write a testcase for this. Suggestions welcome. Patch by Ted Kremenek! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@156092 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-03Silence unused-variable warning when assertions are disabled.Kaelyn Uhrain
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@156091 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-03Honour CLANG_BUILD_EXAMPLES correctly, by setting the directory'sPeter Collingbourne
EXCLUDE_FROM_ALL property. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@156090 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-03[analyzer] When promoting constant integers in a comparison, use the larger ↵Jordy Rose
width of the two to avoid truncation. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@156089 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-03Remove diagnostic groups and DefaultIgnore from notes.Richard Smith
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@156087 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-03Add -Wimplicit-fallthrough warning flag, which warns on fallthrough betweenRichard Smith
cases in switch statements. Also add a [[clang::fallthrough]] attribute, which can be used to suppress the warning in the case of intentional fallthrough. Patch by Alexander Kornienko! The handling of C++11 attribute namespaces in this patch is temporary, and will be replaced with a cleaner mechanism in a subsequent patch. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@156086 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-03[analyzer] CString Checker: Do not split the path unless the userAnna Zaks
specifically checks for equality to null. Enforcing this general practice, which keeps the analyzer less noisy, in the CString Checker. This change suppresses "Assigned value is garbage or undefined" warning in the added test case. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@156085 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-03Fix a couple of cases of (innocuous) unmarked fallthrough. At least one of theseRichard Smith
was unintentional. Found by -Wimplicit-fallthrough, patch by Alexander Kornienko! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@156082 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-03In StringLiteralParser::init, make sure we emit an error whenArgyrios Kyrtzidis
failing to lex the string, as suggested by Eli. Part of rdar://11305263. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@156081 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-03[driver crash diagnostics] Remove more flags that reference absolute paths thatChad Rosier
aren't necessary to reproduce the clang crash. Part of rdar://11285725 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@156079 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-03objective-c: warn for properties being default synthesizedFariborz Jahanian
under -Wobjc-missing-property-synthesis which must be opted-in. // rdar://11295716 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@156078 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-03Correctly constify clang::CXXMemberCallExpr::getRecordDecl()David Blaikie
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@156074 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-03Test case Clang::Driver/debug-options-as.c depends on the integrated ↵Simon Atanasyan
assembler. Turn it on explicitly on all platforms by the "-integrated-as" option. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@156063 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-03[analyzer] Equality ops are like relational ops in that the arguments ↵Jordy Rose
shouldn't be converted to the result type. Fixes PR12206 and dupe PR12510. This was probably the original intent of r133041 (also me, a year ago). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@156062 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-03[analyzer] Fix RUN line and general cleanup for additive folding tests.Jordy Rose
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@156061 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-03Rip out old code for finding libraries in GCC's directories.Bob Wilson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@156058 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-03[PCH] Clear switch case IDs when deserializing a objc method body.Argyrios Kyrtzidis
Fixes rdar://11353109 & http://llvm.org/bugs/show_bug.cgi?id=12689 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@156056 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-03[analyzer] Conjure a symbol to ensure we can identify pointer arithmeticAnna Zaks
We need to identify the value of ptr as ElementRegion (result of pointer arithmetic) in the following code. However, before this commit '(2-x)' evaluated to Unknown value, and as the result, 'p + (2-x)' evaluated to Unknown value as well. int *p = malloc(sizeof(int)); ptr = p + (2-x); git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@156052 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-03[analyzer] Do not assert on constructing SymSymExpr with diff types.Anna Zaks
The resulting type info is stored in the SymSymExpr, so no reason not to support construction of expression with different subexpression types. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@156051 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-03[analyzer] Add a complexity bound on history tracking.Anna Zaks
(Currently, this is only relevant for tainted data.) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@156050 91177308-0d34-0410-b5e6-96231b3b80d8