aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2010-01-14Fix a bug in rewrite whereby functions using blocks put extern "C" in wrong ↵Fariborz Jahanian
place. Fixes radar 7284618. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@93382 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-14Refactor the "is this declaration interesting" logic inDouglas Gregor
code-completion's ResultBuilder::MaybeAddResult for later reuse. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@93379 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-14Look through using declarations when determining whether one decl hides anotherDouglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@93378 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-13Perform format-expansion on %select results.John McCall
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@93377 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-13Banish the notion of a "rank" for code-completion results, since weDouglas Gregor
are no longer using it for anything. No intended functionality change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@93376 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-13Improve the sorting of code-completion results. We now always sort byDouglas Gregor
the "typed" text, first, then take into account nested-name-specifiers, name hiding, etc. This means that the resulting sort is actually alphabetical :) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@93370 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-13Don't report ambiguities in the user-defined conversion if we weren't supposedJohn McCall
to be considering user-defined conversions in the first place. Doug, please review; I'm not sure what we should be doing if we see a real ambiguity in selecting a copy constructor when otherwise suppressing user-defined conversions. Fixes PR6014. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@93365 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-13Don't a.k.a. through the primary typedef of an anonymous tag decl.John McCall
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@93362 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-13Code-completion for @public, @protected, @private, @package.Douglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@93361 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-13Reorganize CIndex.cpp into clearer sections of functions, and add a utility ↵Ted Kremenek
function 'MakeCXCursor' to centralize the logic for creating CXCursor objects. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@93359 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-13Fixes a rewrite bug rewriting a block call argument which has a trvialFariborz Jahanian
constructor. Fixes radar 7537770. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@93358 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-13Whenever completing ordinary names for an Objective-C source, alsoDouglas Gregor
provide completions for @ keywords. Previously, we only provided @-completions after an @ was actually typed, which is useful but probably not the common case. Also, make sure a few Objective-C 2.0 completions only show up when Objective-C 2.0 support is enabled (the default). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@93354 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-13Fix Release-Asserts.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@93353 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-13Fix for Release-Assert.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@93348 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-13Fix for Release-Asserts.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@93347 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-13Fix Release-Asserts.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@93346 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-13Add a BaseSubobject class to uniquely identify a base class subobject. Not ↵Anders Carlsson
yet used. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@93345 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-13Add type source information for both kinds of typeof types.John McCall
Patch by Enea Zaffanella. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@93344 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-13Add 'referringDecl' field to CXCursor to prepare the way to better model ↵Ted Kremenek
declaration references from other delcarations. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@93343 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-13Fix for Release-Asserts.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@93340 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-13Predefine __weak attribute when doing objective-cFariborz Jahanian
rewriting for any target. (refixes radar 7530235). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@93331 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-13Add extra null check in clang_disposeString().Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@93328 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-13Reimplement constructor declarator parsing to cope with template-idsDouglas Gregor
that name constructors, the endless joys of out-of-line constructor definitions, and various other corner cases that the previous hack never imagined. Fixes PR5688 and tightens up semantic analysis for constructor names. Additionally, fixed a problem where we wouldn't properly enter the declarator scope of a parenthesized declarator. We were entering the scope, then leaving it when we saw the ")"; now, we re-enter the declarator scope before parsing the parameter list. Note that we are forced to perform some tentative parsing within a class (call it C) to tell the difference between C(int); // constructor and C (f)(int); // member function which is rather unfortunate. And, although it isn't necessary for correctness, we use the same tentative-parsing mechanism for out-of-line constructors to improve diagnostics in icky cases like: C::C C::f(int); // error: C::C refers to the constructor name, but // we complain nicely and recover by treating it as // a type. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@93322 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-13Fix pasto in __has_feature(cxx_lambdas) docsDouglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@93320 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-13Record some basic information about bad conversion sequences. Use thatJohn McCall
information to feed diagnostics instead of regenerating it. Much room for improvement here, but fixes some unfortunate problems reporting on method calls. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@93316 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-13Implement semantic checking for C++ literal operators.Sean Hunt
This now rejects literal operators that don't meet the requirements. Templates are not yet checked for. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@93315 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-13Update test function names so as not to use potential keywords.Sean Hunt
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@93314 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-13Add a bunch more feature-checking macros for C++0x features. Some of these areSean Hunt
disabled with the intent that users can start with them now and not have to change a thing to have them work when we implement the features. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@93312 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-13Insert clang-flags into the clang command. Currently it needs to be a list;John McCall
future work should permit strings (by splitting them into a list o' strings). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@93299 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-13diagnose invalid values of -ftabstop, patch by Christian Adaker!Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@93288 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-13Add an unreachable code checker.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@93287 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-13cc1: Factor out CompilerInstance::ExecuteAction which has the majority of theDaniel Dunbar
clang -cc1 logic for running an action against a set of options. - This should make it easier to build tools that have a clang -cc1 like interface, but aren't actually part of clang -cc1. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@93282 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-13cc1: Lift creation of the FrontendAction higher.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@93281 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-13Improve the reporting of non-viable overload candidates by noting the reasonJohn McCall
why the candidate is non-viable. There's a lot we can do to improve this, but it's a good start. Further improvements should probably be integrated with the bad-initialization reporting routines. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@93277 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-13Move definitions for visitor methods in CDeclVisitor out-of-line.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@93276 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-13Make method definitions in TUVisitor out-of-line, making it easy to tell ↵Ted Kremenek
what visitor methods are defined. Generalize TUVisitor to take a general "root" and "iterator" callback; this is prep. work to merging TUVisitor and CDeclVisitor. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@93275 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-13Remove broken fix-it when a default function argument has beenDouglas Gregor
redefined. There's a FIXME with an apology about why we don't try to do better here. Fixes <rdar://problem/7513023>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@93274 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-12When in objective-c methods, do the built-in name lookup afterFariborz Jahanian
ivar name lookup. Fixes pr5986. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@93271 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-12Add USR printing modes to c-index-test.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@93269 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-12Make clang_getDeclUSR() visible.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@93268 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-12Rename clang_getUSR() -> clang_getDeclUSR(). For now we take a CXDecl ↵Ted Kremenek
instead of a CXEntity. Enhance USR generation a bit with support for records. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@93267 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-12Don't emit string-comparison or self-comparison warnings inDouglas Gregor
unevaluated contexts, because they only matter for code that will actually be evaluated at runtime. As part of this, I had to extend PartialDiagnostic to support fix-it hints. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@93266 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-12Remove unused code.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@93262 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-12testcase for -ftabstop, patch by Christian Adaker!Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@93260 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-12use DiagRuntimeBehavior to silence the div/rem by zero warning whenChris Lattner
not in an evaluated context. This removes some bogus warnings. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@93258 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-12Improve recovery for template-ids whose template-name doesn't actuallyDouglas Gregor
name a template, when they occur in a base-specifier. This is one of the (few) places where we know for sure that an identifier followed by a '<' must be a template name, so we can diagnose and recover well: test/SemaTemplate/dependent-base-classes.cpp:9:16: error: missing 'template' keyword prior to dependent template name 'T::apply' struct X1 : T::apply<U> { }; // expected-error{{missing 'template' ... ^ template test/SemaTemplate/dependent-base-classes.cpp:12:13: error: unknown template name 'vector' struct X2 : vector<T> { }; // expected-error{{unknown template name 'vector'}} ^ 2 diagnostics generated. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@93257 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-12implement PR6004, warning about divide and remainder by zero.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@93256 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-12implement PR6007, diagnosing invalid attribute((section))Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@93255 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-12Improve covariance tester to randomize the return value more.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@93254 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-12Fix the CodeGen half of PR5911 by changing reference initialization toChandler Carruth
correctly look through arrays to see cv-qualifiers. Also enhances the routine for doing this to preserve more type sugaring for diagnostics. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@93252 91177308-0d34-0410-b5e6-96231b3b80d8