aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2010-02-17Use proper lexcial context for newly added ivars.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96484 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-17Implement AST merging for Objective-C properties.Douglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96483 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-17Make FinalOverriders handle virtual bases correctly. Unfortunately this ↵Anders Carlsson
can't be tested just yet. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96481 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-17Allow for declaration and use of ivars in a stand-aloneFariborz Jahanian
implementation (toward radar 7547942). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96479 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-17AST import for Objective-C protocolsDouglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96478 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-17In symbol reaper, a variable is live if its stack frame is the parent of the Zhongxing Xu
current stack frame. When leaving a callee, remove all bindings belonging to that callee. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96473 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-17For inline-based inter-procedural analysis, we will have multiple stack ↵Zhongxing Xu
space regions. Use a dense map to store them. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96472 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-17Add a utility method.Zhongxing Xu
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96471 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-17Update checker build.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96470 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-17Driver: Tweak freebsd::Link, by Roman Divacky.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96469 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-17Fix comment.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96468 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-17Handle primary bases in AddVCallOffsets.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96461 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-17Silence GCC warning by marking an assert-only variable as unused.Chandler Carruth
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96459 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-17First cut at emitting vcall offsets.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96455 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-17Do not add functions marked with the unused attribute to the list of unused ↵Tanya Lattner
functions to warn about. Update test case. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96452 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-17Emit complete constructors and destructors as aliases to base constructorsJohn McCall
and destructors when the two entities are semantically identical, i.e. when the class has no virtual base classes. We only do this for linkage types for which aliases are supported, i.e. internal and external, i.e. not linkonce. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96451 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-17Pass through whether a base is virtual or not.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96449 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-17Add IBAction attribute to keep the IBOutlet attribute company.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96447 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-17implement EmitVAArg. pretty much the same way other targets do.Sanjiv Gupta
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96446 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-17Fix unused function warning to handle used attributes and redeclarations. ↵Tanya Lattner
Update test case. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96444 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-17Implement AST importing and checking for Objective-C method declarations.Douglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96442 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-17Correctly calculate base offsets for 'this' pointer adjustments involving ↵Anders Carlsson
virtual bases. This can't be tested yet due to lack of vcall offsets :) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96441 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-17Convert clang_getCompletionChunkText() to return a CXString.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96439 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-17Revert r95939, as suggested by Alexandre Julliard from the Wine project (andCharles Davis
our own Chris Lattner). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96431 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-17Remove trailing spaces.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96427 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-17Change clang_getCursorKindSpelling() to return a CXStringTed Kremenek
instead of a 'const char *'. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96425 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-17Change clang_getFileName() to return a 'CXString' instead of 'const char *'.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96424 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-17Move createCXString() functions out of CIndexer and into the clang::cxstring ↵Ted Kremenek
namespace. We can much more succinctly refer to these functions this way. Also change the default behavior of createCXString(StringRef&) to duplicate the string. This is almost always what we want. The other case is where we pass a constant c-string, which uses the other version of createCXString(). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96423 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-17Implement AST importing of Objective-C instance variables. Douglas Gregor
Check superclasses when merging two Objective-C @interfaces. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96420 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-16More rewriter test converted to compile with clang.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96406 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-16With addition of -Wno-address-of-temporary (thank you Doug) we can nowFariborz Jahanian
have rewriter test cases which pass the .cpp file through clang and also test c++ aspect of clang. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96405 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-16IRgen optimization: cache the value of 'this' and 'vtt' instead ofJohn McCall
repeatedly reloading from an alloca. We still need to create the alloca for debug info purposes (although we currently create it in all cases because of some abstraction boundaries that're hard to break down). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96403 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-16Distinguish two lexical blocks at the same level.Devang Patel
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96397 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-16Introduce a new kind of failed result for isLvalue/isModifiableLvalueDouglas Gregor
which describes temporary objects of class type in C++. Use this to provide a more-specific, remappable diagnostic when takin the address of such a temporary. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96396 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-16IRgen: Switch 'retval' to use CreateIRTemp.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96376 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-16Disable warn_unused_function for now, its breaking various project builds due toDaniel Dunbar
false positives. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96375 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-16IRgen: Add CreateIRTemp, which creates a temporary alloca but with type ↵Daniel Dunbar
converted "not-for-memory". Dunno a better name. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96374 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-16IRgen: Switch EmitCompoundLiteralLValue to use CreateMemTemp.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96373 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-16Do not try to instantiate invalid declarations. It's a recipe forDouglas Gregor
disaster. Fixes PR6161. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96371 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-16Improve parsing and instantiation of destructor names, so that we canDouglas Gregor
now cope with the destruction of types named as dependent templates, e.g., y->template Y<T>::~Y() Nominally, we implement C++0x [basic.lookup.qual]p6. However, we don't follow the letter of the standard here because that would fail to parse template<typename T, typename U> X0<T, U>::~X0() { } properly. The problem is captured in core issue 339, which gives some (but not enough!) guidance. I expect to revisit this code when the resolution of 339 is clear, and/or we start capturing better source information for DeclarationNames. Fixes PR6152. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96367 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-16when a diagnostic is an extension and has no other -W flag, Chris Lattner
indicate that it was enabled with -pedantic so people know why they're getting them: $ printf "int x;" | clang -xc - -pedantic <stdin>:1:7: warning: no newline at end of file [-pedantic] int x; ^ git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96365 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-16dllimport and dllexport are declspec attributes, too. They're alsoCharles Davis
Win32-specific. Also, fix a test to use FileCheck instead of grepping LLVM IR. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96364 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-16add two aliases for SSE functions we already have, fixing PR6316.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96363 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-16add freebsd/ppc[64] support, patch by Nathan Whitehorn, PR6318Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96362 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-16Minor rewriter cleanup and a test for a block rewriting bug.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96361 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-16Add test case showing that a recursive block that captures a block pointer thatTed Kremenek
isn't marked '__block' is bad. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96357 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-16Add an extreme vbase offsets test. I'm kinda amazed that this works myself ;)Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96356 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-16Handle layout of vtables for virtual bases.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96355 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-16Move some code around in preparation for virtual base vtables.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96354 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-16Fix rewriter bug when function call inside block with block parameter Fariborz Jahanian
causes C++ compile error (radar 7651312). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96352 91177308-0d34-0410-b5e6-96231b3b80d8