aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2010-09-27Frontend: Teach clang -cc1as to respond to -v.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114863 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-27Issue warning for trivial cases of nonnull attributesFariborz Jahanian
(on functions with no pointer arguments) but only when the attribute has not been coming from a macro instantiation in a header file. Fixes first part of radar 6857843. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114860 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-27Copying result of object property reference expressionFariborz Jahanian
into a temporary is elidable as well. (Finishes up radar 8291337). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114845 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-27Remove libclang logging codeDouglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114836 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-27Fixed isConstantInitializer for __builtin_choose_expr.Abramo Bagnara
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114820 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-27Fix coding standard mistake from my last commit.Michael J. Spencer
That, and keep aKor happy :P. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114816 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-27Lexer: Implement GCC's version of pragma message.Michael J. Spencer
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114814 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-27Enable caching of global code completion results in the suggestedDouglas Gregor
libclang options for editing a translation unit. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114810 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-25Driver/Linux: Translate rewritten lib options back to standard -l form whenDaniel Dunbar
using generic GCC tools. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114793 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-25In preparation for adding generation of destructors for objects with ↵Marcin Swiderski
automatic storage added: - LocalScope class with iterator used to pointing into it, - fat doxygen comment for LocalScope indended usage, - BlockScopePosPair class used for storing jump targets/sources (for: goto, break, continue), that replaces raw CFGBlock pointer used earlier for this purpose. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114790 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-25Fix a NYI in IRGen which was due to incorrect ASTFariborz Jahanian
for property reference expression (of c++ object type) in the conditional expression. Fixes // rdar://8291337 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114783 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-24When setting the globally-visible declarations for a particularDouglas Gregor
identifier, we may have a Sema object but no translation unit scope (because parsing is finished). In this case, we still need to update the IdResolver, which might still be used when writing a PCH containing another PCH (without chaining). This bug manifested as a failure with precompiled preambles. Also, add a little environment-variable-sensitive logging for libclang. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114774 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-24Allow the use of C++0x deleted functions as an extension in C++98.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114762 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-24Teach libclang to enable multithreading in LLVM, since libclang clients are ↵Douglas Gregor
likely to be multithreaded. Also move the printing of timers to somewhere better for multithreaded libclang clients git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114760 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-24Driver: Add -fallow-unsupported which disables some of the eager error'ing we doDaniel Dunbar
to prevent users from trying unsupported stuff. Useful for testing. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114749 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-24Fix rewriting of property declared in @protocol's.Fariborz Jahanian
Fixed //rdar://8472487. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114741 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-24Patch implements passing arrays to functions expectingFariborz Jahanian
vla. Implements pr7827. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114737 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-24Update Clang man page to say a little bit more about C++Douglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114735 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-24Remove this test for now until I figure out how to get it to work with ↵Ted Kremenek
c-index-test in a portable way. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114721 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-24Pass -fobjc-nonfragile-abi2 in test.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114720 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-24Since this test depends on default ivar synthesis, specify the target ↵Ted Kremenek
triple. This hopefully unbreaks the buildbot on some archs. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114716 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-24Update comment in test with reference to bug report.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114715 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-24Default synthesized ivars don't really have a location in the source. Using ↵Ted Kremenek
the location of the @implementation is just confusing for clients that want to use SourceLocations for syntactic references. Fixes: <rdar://problem/8470540> git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114714 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-24Revert r114712 due to failure on darwin buildbot.Nick Lewycky
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114713 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-23Make -M/-MM behave like in gcc; use -MF first then -o else use stdout.Nick Lewycky
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114712 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-23Fix header comment so we don't break emacs.Nick Lewycky
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114711 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-23Synchronize globally-cached code completion results with the resultsDouglas Gregor
provided when the optimization is disabled. In particular, split the completion context CCC_Other into two contexts: CCC_Other, which means that it's an undisclosed context for which any other results are unwelcome, and CCC_Recovery, which is used in recovery cases. Since we're now using the completion context within the completion results builder, make sure that it's always set to something. Fixes <rdar://problem/8470644>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114704 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-23Fix typo.Nick Lewycky
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114697 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-23When warning about comparing an unsigned int to being >= 0, don't issue a ↵Ted Kremenek
warning if the zero value was an enum or was expanded from a macro. Fixes: <rdar://problem/8414119> git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114695 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-23Add test case for c-index-test showing that @property declarations added in ↵Ted Kremenek
class extensions don't get reported in the @interface. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114694 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-23For properties declared in a @protocol and redeclared in a class extension, ↵Ted Kremenek
use the class extension as the lexical DeclContext for the @property declaration that gets auto-created for the @interface. Fixes: <rdar://problem/8467189> git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114693 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-23Add some missing concurrency checks into libclangDouglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114682 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-23Fix bogus compiler errors when declaring anonymous union, outside a class, withArgyrios Kyrtzidis
members with the same name as a decl outside the scope where the members are actually introduced. Fixes http://llvm.org/PR6741 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114641 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-23If -fcolor-diagnostics is explicitly passed to the driver respect that even ↵Argyrios Kyrtzidis
if the driver is of the opinion that stderr can't handle them. (see http://llvm.org/PR8150) Patch by Frits van Bommel! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114638 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-23Don't crash on _Imaginary.Argyrios Kyrtzidis
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114637 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-23Use -emit-llvm-only in the test.Argyrios Kyrtzidis
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114636 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-23Refactor GRExprEngine::VisitCall() to use EvalArguments(), just like ↵Ted Kremenek
VisitCXXMemberCallExpr(). Ideally we should unify these code paths as much as possible, since they only differ by a few details. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114628 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-23Tweak test to pass -ffreestanding, to avoid platform dependent header issues.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114627 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-23IRgen/ABI/ARM: Return large vectors in memory.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114619 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-23IRgen/ABI/ARM: Trust the backend to pass vectors correctly for the given ABI.Daniel Dunbar
- Therefore, we can lower out the NEON wrapper structs and pass the vectors directly. This makes a huge difference in the cleanliness of the IR after optimization. - I will trust, but verify, via future ABITest testing (for APCS-GNU, at least). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114618 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-23Update checker build.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114615 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-22Implement libclang API functions for retrieving the lexical andDouglas Gregor
semantic parents of the given cursor. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114587 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-22Testcase for r114585.Devang Patel
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114586 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-22Fix an inverse boolean and unnecessary new line in warning output from ↵Tom Care
AnalyzerStatsChecker. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114581 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-22Change source manager serialization to be less tied to the PCH model.Sebastian Redl
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114575 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-22Fix a hard-to-reproduce crash-on-invalid, where we weren't checking for a ↵Douglas Gregor
valid result from ActOnIdExpression git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114548 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-22Implement -Wpadded and -Wpacked.Argyrios Kyrtzidis
-Wpadded warns when undesired padding is introduced in a struct. (rdar://7469556) -Wpacked warns if a struct is given the packed attribute, but the packed attribute has no effect on the layout or the size of the struct. Such structs may be mis-aligned for little benefit. The warnings are emitted at the point where layout is calculated, that is at RecordLayoutBuilder. To avoid calculating the layouts of all structs regardless of whether they are needed or not, I let the layouts be lazily constructed when needed. This has the disadvantage that the above warnings will be emitted only when they are used for IR gen, and not e.g with -fsyntax-only: $ cat t.c struct S { char c; int i; }; void f(struct S* s) {} $ clang -fsyntax-only -Wpadded t.c $ clang -c -Wpadded t.c -o t.o t.c:3:7: warning: padding struct 'struct S' with 3 bytes to align 'i' [-Wpadded] int i; ^ 1 warning generated. This is a good tradeoff between providing the warnings and not calculating layouts for all structs in case the user has enabled a couple of rarely used warnings. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114544 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-22update a bunch of tests that are using the x86 backend instead of grepping IR :(Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114535 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-22Only preload SLocEntries after the entire PCH chain was loaded.Sebastian Redl
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114518 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-22Reshuffle PerFileData's members to make more sense.Sebastian Redl
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114517 91177308-0d34-0410-b5e6-96231b3b80d8