aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2009-11-10CIndex: Only display diagnostics to llvm::errs() when the client has set the ↵Ted Kremenek
'displayDiagnostics' option to 1 in clang_createIndex(). This fixes <rdar://problem/7370691>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86700 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-10Only generate a VTT for classes that need a VTT.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86699 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-10Driver: Run 'clang' in C++ mode based on the name it was invoked by. We matchDaniel Dunbar
anything that ends with ++ or ++-FOO (e.g., c++, clang++, clang++-1.1) as being a "C++ compiler". This allows easy testing of the C++ compiler by 'ln -s clang clang++', or by 'cp clang clang++'. Based on patch by Roman Divacky. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86697 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-10Factor out parts of InitializeCompileOptions that depend on the LangOptions.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86696 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-10Localize -disable-llvm-optzns handling to BackendConsumer::CreatePasses.Daniel Dunbar
- This is conceptually better since the only thing we want this option to do is preserve the internal module as constructed by IRgen, before running any passes. - This also fixes bugs in -disable-llvm-optzns handling with regards to debug info. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86691 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-10clang-cc: Start sinking (CodeGen) options into namespaces to limit their scope.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86690 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-10Cleanup some clang-cc FIXMEsDaniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86686 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-10Add CompileOptions to CompilerInvocation.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86685 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-10Fix a similar problem with qualified lookup through using directives,John McCall
although in this case we probably just run a risk of duplicating work; I can't think of how this could cause a bug. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86680 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-10Make a somewhat more convincing test case for unqualified lookup throughJohn McCall
using directives, and fix a bug thereby exposed: since we're playing tricks with pointers, we need to make certain we're always using the same pointers for things. Also tweak an existing error message. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86679 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-10Ignore parentheses when check the type of the expr.Zhongxing Xu
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86677 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-10Simple test case for [basic.lookup.udir].John McCall
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86674 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-10SizeofPointerChecker: Many false positives have the form 'sizeof *p'. Zhongxing Xu
This is reasonable because people know what they are doing when they intentionally dereference the pointer. So now we only emit warning when a pointer variable is use literally. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86673 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-10Add vtable caching to prevent multiple vtables for the same class fromMike Stump
being generated. Add the most derived vtable pointer to the VTT. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86671 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-10Fix unqualified lookup through using directives.John McCall
This is a pretty minimal test case; I'll make a better one later. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86669 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-10When trying to assign a regular string literal to an Objective-C 'id' type ↵Anders Carlsson
or a pointer to an NSString, emit a code insertion hint that turns it into an Objective-C string. For example: @class NSString; @interface Test + (void)test:(NSString *)string; @end void g(NSString *a); void f() { NSString *a = "Foo"; g("Foo"); [Test test:"Foo"]; } will produce t.m:10:17: warning: incompatible pointer types initializing 'char [4]', expected 'NSString *' NSString *a = "Foo"; ^~~~~ @ t.m:11:5: warning: incompatible pointer types passing 'char [4]', expected 'NSString *' g("Foo"); ^~~~~ @ t.m:12:14: warning: incompatible pointer types sending 'char [4]', expected 'NSString *' [Test test:"Foo"]; ^~~~~ @ 3 diagnostics generated. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86665 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-10Don't try to emit null fixit hints.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86664 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-10Now we can safely use the argument expression's source range.Zhongxing Xu
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86663 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-10SizeofPointerChecker: If an explicit type specifier is used, do not issue ↵Zhongxing Xu
warnings. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86662 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-10Use PP.getLocForEndOfToken as suggested by John.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86661 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-10Use the source range of the whole sizeof expression, otherwise it crashes whenZhongxing Xu
the argument is not an expression. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86660 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-10If a function with a default argument is redefined and the new function also ↵Anders Carlsson
has a defualt argument then add a fixit hint that removes the default argument. Fixes PR5444. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86659 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-10Update xode project.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86658 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-10Add test case for PointerSubChecker.Zhongxing Xu
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86657 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-10Refine PointerSubChecker: compare the base region instead of the original Zhongxing Xu
region, so that arithmetic within a memory chunk is allowed. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86652 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-10Be sure to clear out VCall when we clear out VCalls.Mike Stump
Start implementing VTTs. WIP. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86650 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-10Rename: StripCasts describes what it does better. Zhongxing Xu
getBaseRegion will be used in another method. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86649 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-10Finish off mangling for the VTT.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86647 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-10Add mangling for the construction vtable.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86643 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-10Fix clang's use of DenseMap iterators after r86636 fixed their constness.Jeffrey Yasskin
Patch by Victor Zverovich! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86638 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-10Simplify, following MemoryBuffer::getSTDIN API fix.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86633 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-10Switch to getFileOrSTDIN().Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86632 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-10Remove some if-0'd code, we can resurrect this if we ever decide to supportDaniel Dunbar
continuing after invalid PCH loads. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86631 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-10Move all of the type-printing logic to its own C++ source fileDouglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86629 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-09Add PreprocessorOptions to CompilerInvocation.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86623 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-09Privatize InitHeaderSearch, this functionality is only exposed viaDaniel Dunbar
ApplyHeaderSearchOptions now. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86617 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-09Move LangOptions, HeaderSearchOptions, and the target feature map intoDaniel Dunbar
CompilerInvocation. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86612 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-09Switch Target* to Target&.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86611 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-09Add default initializer for Sysroot ivar.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86610 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-09Change clang-cc to expect that all inputs have the same language (so we can ↵Daniel Dunbar
only construct a single LangInfo). This matches how it is used in practice (since the compiler only it invokes it for one file at a time). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86609 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-09(llvm up) Convert clang-cc.cpp:GetLanguage to StringSwitch.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86608 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-09Enable the use of the new llvm objectsize intrinsic.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86607 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-09Further change in a comment.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86599 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-09Removed a FIXME on nested type specifier warning.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86598 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-09Changed error for nested type qualifier mismatch toFariborz Jahanian
warning, to match gcc. It used to be warning, so better keep it a warning (it broke a certain project). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86597 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-09Make sure that Type::getAs<ArrayType>() (or Type::getAs<subclass ofDouglas Gregor
ArrayType>()) does not instantiate. Update all callers that used this unsafe feature to use the appropriate ASTContext::getAs*ArrayType method. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86596 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-09Remove stale FIXME.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86595 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-09Make sure that we look into nested, transparent declaration contextsDouglas Gregor
when looking for a name within a given DeclContext. Now enumerators will show up in code-completion results. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86591 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-09For array pointee type, get its cvr qualifier fromFariborz Jahanian
its element type. Fixes pr5432. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86587 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-09Add CompilerInvocation object, to capture all the options one needs to invokeDaniel Dunbar
the compiler, and start flood filling it into clang-cc. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86586 91177308-0d34-0410-b5e6-96231b3b80d8