aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2011-07-06Some code cleanup of r134522Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@134529 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-06createMCInstPrinter doesn't need TargetMachine anymore.Evan Cheng
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@134526 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-06objc-arc: Support objc_arc_weak_unavailable on thoseFariborz Jahanian
classes which are incompatible with weak references. // rdar://9693477 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@134522 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-06Don't try to type-check a copy construction of an exceptionDouglas Gregor
declaration with dependent type. Fixes PR10232 / <rdar://problem/9700653>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@134515 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-06Update docs to remove reference to OverloadedFunctionDecl and replace it ↵Jonathan D. Turner
with DeclContext::lookup_result. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@134514 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-06Keep track of when "unrecoverable" errors occur, then allowDouglas Gregor
clang_saveTranslationUnit() to save a PCH file if the only errors it contains are recoverable errors. Fixes <rdar://problem/9727804>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@134503 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-06SmallVectorize a critical vector.Benjamin Kramer
The small number of elements was determined by taking the median file length in clang+llvm and /usr/include on OS X with xcode installed. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@134496 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-06libclang: Allow callers of clang_saveTranslationUnit() to distinguishDouglas Gregor
between different classes of errors. Addresses most of <rdar://problem/9660328>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@134495 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-06Build up statistics about the work done for analysis based warnings.Chandler Carruth
Special detail is added for uninitialized variable analysis as this has serious performance problems than need to be tracked. Computing some of this data is expensive, for example walking the CFG to determine its size. To avoid doing that unless the stats data is going to be used, we thread a bit into the Sema object to track whether detailed stats should be collected or not. This bit is used to avoid computations whereever the computations are likely to be more expensive than checking the state of the flag. Thus, counters are in some cases unconditionally updated, but the more expensive (and less frequent) aggregation steps are skipped. With this patch, we're able to see that for 'gcc.c': *** Analysis Based Warnings Stats: 232 functions analyzed (0 w/o CFGs). 7151 CFG blocks built. 30 average CFG blocks per function. 1167 max CFG blocks per function. 163 functions analyzed for uninitialiazed variables 640 variables analyzed. 3 average variables per function. 94 max variables per function. 96409 block visits. 591 average block visits per function. 61546 max block visits per function. And for the reduced testcase in PR10183: *** Analysis Based Warnings Stats: 98 functions analyzed (0 w/o CFGs). 8526 CFG blocks built. 87 average CFG blocks per function. 7277 max CFG blocks per function. 68 functions analyzed for uninitialiazed variables 1359 variables analyzed. 19 average variables per function. 1196 max variables per function. 2540494 block visits. 37360 average block visits per function. 2536495 max block visits per function. That last number is the somewhat scary one that indicates the problem in PR10183. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@134494 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-06Teach the static analyzer's interpretation of Cocoa conventions toDouglas Gregor
obey the objc_method_family attribute when provided. Fixes <rdar://problem/9726279>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@134493 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-06Use attributes from the definition (if available) whenRafael Espindola
instantiating functions. Fixes PR10272. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@134491 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-06Fix C&P errorJoerg Sonnenberger
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@134490 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-06When tree-transforming an expression sequence, always flag expandedJohn McCall
variadic argument pack expansions as having changed, rather than doing it for each changed expansion, which leaves out zero-argument packs with catastrophic consequences. Fixes PR10260. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@134483 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-06Fixed enum types can be complete without actually being valid to useJohn McCall
as scope specifiers; diagnose the attempt, rather than letting it go to an assert. The rest of PR10264. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@134479 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-06Properly protect colons when parsing a nested-name-specifier as partJohn McCall
of an enum specifier in dialects which permit fixed underlying types. Fixes the rejects-valid part of PR10264. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@134468 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-06Improve the Python bindings for libclang in a few ways, from EliDouglas Gregor
Bendersky. Specifically: * Implemented a new function in libclang: clang_isAttribute * Fixing TranslationUnit.get_includes to only go through the argument * buffer when it contains something. This fixed a crash on Windows * clang_getFileName returns CXString, not char*. Made appropriate * fixes in cindex.py - now the relevant tests pass and we can see the * full locations correctly again (previously there was garbage in * place of the file name) * Exposed clang_getCursorDisplayName to the python bindings git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@134460 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-06Somehow the -fgnu-runtime option itself got lost in all that shuffling.John McCall
Restore it. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@134459 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-06Call objc_terminate() instead of abort() when a cleanup throws anJohn McCall
exception in Objective-C; in Objective-C++ we still use std::terminate(). This is only available in very recent runtimes. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@134456 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-06Missing header from last commit; accidental change.John McCall
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@134455 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-06Added a missing case label.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@134454 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-06Change the driver's logic about Objective-C runtimes: abstract out aJohn McCall
structure to hold inferred information, then propagate each invididual bit down to -cc1. Separate the bits of "supports weak" and "has a native ARC runtime"; make the latter a CodeGenOption. The tool chain is still driving this decision, because it's the place that has the required deployment target information on Darwin, but at least it's better-factored now. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@134453 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-05objc-arc: enforce performSelector rules in rejecting retaining selectorsFariborz Jahanian
passed to it, and unknown selectors causing potential leak. // rdar://9659270 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@134449 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-05Add the ObjC ARC optimization passes manually, now that they're notDan Gohman
hardwired into the default pass list. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@134445 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-05Remove unused member of Builtin::Info.Eli Friedman
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@134443 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-05Testcase for r134441.Devang Patel
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@134442 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-05Drop "soft" argument that would be considered as file argument by cc1.Joerg Sonnenberger
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@134438 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-05Look through parenthesized declarators when determining whether anDouglas Gregor
instantiated function template was written with a prototype or via some kind of typedef. Fixes PR10273 / <rdar://problem/9723679>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@134426 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-05Hook up mipsel-netbsd and mipsel-freebsd for OS specific handling.Joerg Sonnenberger
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@134425 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-05Use OS-specific configuration for mips-netbsd and mips-freebsd.Joerg Sonnenberger
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@134422 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-05Some documentation fixes for the parser, from John FreemanDouglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@134419 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-05StringRef'ize clang::drive::Option::getName(), from Zach Wheeler!Douglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@134418 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-05Clean up and refactor ParseFunctionDeclarator to reduce codeDouglas Gregor
repetition and better reflect the actual grammar, from John Freeman! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@134417 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-05ActOnCXXConditionDeclaration should take into account thatDouglas Gregor
ActOnDeclarator can return NULL. Fixes PR10270, from Hans Wennborg! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@134416 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-05Don't define __CONSTANT_CFSTRINGS__ with -fno-constant-cfstrings issue.Fariborz Jahanian
Patch by Jean-Daniel Dupas. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@134414 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-05Don't define _BIG_ENDIAN for NetBSD/PowerPC.Joerg Sonnenberger
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@134411 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-05Fix indentationJoerg Sonnenberger
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@134410 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-05Teach Clang's <float.h> to also include MinGW's <float.h>, which provides ↵Douglas Gregor
additional system definitions, from Ruben Van Boxem git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@134407 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-05Update header-search paths for MinGW, from Ruben Van BoxemDouglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@134406 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-05Don't overread the buffer when an %x escape in inline asm ends prematurely.Benjamin Kramer
Tested by valgrind & Sema/asm.c. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@134404 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-05Initialize member.Benjamin Kramer
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@134403 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-04Add explicit default case for -Wswitch-enum.Joerg Sonnenberger
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@134399 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-04Use switch(os) style consistently. Add a bunch of NetBSD branches.Joerg Sonnenberger
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@134393 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-04On PowerPC, both FreeBSD and NetBSD use ints for (s)size_tJoerg Sonnenberger
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@134392 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-04Remove unused parameter from ActOnDeclarator.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@134377 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-04Switch the Decl and Stmt stats printing to use llvm::errs() instead ofChandler Carruth
fprintf, and to be more consistent in formatting with the other stats printing routines. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@134374 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-04Start switching the AST stats printing to use llvm::errs() instead ofChandler Carruth
fprintf. There is more cleanup to be done to the AST stats printing... git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@134373 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-03fix typoChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@134361 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-02Rewritten fix in r134139 to conform evaluation result to original evaluation ↵Abramo Bagnara
context. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@134320 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-02Fix a typo, remove a tab, canonicalize some spacing. No functional change.Nick Lewycky
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@134305 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-02Reorganize builtins to separate out builtins which require MMX registers. ↵Eli Friedman
No functional change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@134304 91177308-0d34-0410-b5e6-96231b3b80d8