aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2010-08-31Add range of return value expression in ReturnUndefChecker. Patch by Jim ↵Ted Kremenek
Goodnow II! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112569 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-31Enable inline namespaces in C++03 as an extension.Sebastian Redl
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112566 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-31Add a forgotten place where the enclosing namespace set matters, plus a big ↵Sebastian Redl
testcase for inline namespace fun. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112565 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-31Enable inline namespaces in the AST.Sebastian Redl
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112564 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-31Rename DeclContext::getLookupContext to getRedeclContext and change its ↵Sebastian Redl
semantics slightly. No functionality change in the absence of inline namespaces. Also, change a few places where inline namespaces actually make a difference to be prepared for them. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112563 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-31Decl::getEnclosingNamespaceContext has no reason to explicitly skip ↵Sebastian Redl
transparent contexts, and would be wrong to do so with inline namespaces. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112562 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-31When instantiating a function type, instantiate the return type beforeDouglas Gregor
instantiating the parameters. In a perfect world, this wouldn't matter, and compilers are free to instantiate in any order they want. However, every other compiler seems to instantiate the return type first, and some code (in this case, Boost.Polygon) depends on this and SFINAE to avoid instantiating something that shouldn't be instantiated. We could fight this battle, and insist that Clang is allowed to do what it does, but it's not beneficial: it's more predictable to instantiate this way, in source order. When we implement late-specified return types, we'll need to instantiate the return type last when it was late-specified, hence the FIXME. We now compile Boost.Polygon properly. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112561 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-30Add a missing return. Bug noticed by Dawn Perchik!Douglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112552 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-30When template substitution into a template parameter reduces the levelDouglas Gregor
of that parameter, reduce the level by the number of active template argument lists rather than by 1. The number of active template argument lists is only > 1 when we have a class template partial specialization of a member template of a class template that itself is a member template of another class template. ... and Boost.MSM does this. Fixes PR7669. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112551 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-30silence a warningChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112549 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-30zap tabsGabor Greif
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112541 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-30Fix PR8029, a x86-32 ABI regression in introduced in r112211Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112537 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-30add two more use-cases (explicit instantiation) that should pass nowGabor Greif
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112533 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-30fix dual aspect of PR8007,Gabor Greif
namely when the friend function prototype is already used at the point of the template definition that is supposed to inject the friend function. Testcase verifies four scenarios. I would like receive some code review for this. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112524 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-30Perform the function-to-pointer adjustment during template argumentDouglas Gregor
deduction where the parameter is a function reference, function pointer, or member function pointer and the argument is an overloaded function. Fixes <rdar://problem/8360106>, a template argument deduction issue found by Boost.Filesystem. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112523 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-30Translate NEON vmovn builtin to a vector truncation instead of using an llvmBob Wilson
intrinsic. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112504 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-30Adjusted the semantics of assign checking in IdempotentOperationCheckerTom Care
- Fixed a regression where assigning '0' would be reported - Changed the way self assignments are filtered to allow constant testing - Added a test case for assign ops - Fixed one test case where a function pointer was not considered constant - Fixed test cases relating to 0 assignment git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112501 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-30Revert my user-defined literal commits - r1124{58,60,67} pendingSean Hunt
some issues being sorted out. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112493 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-30add a fixme.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112491 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-30use 'features' instead of 'PP->getLangOptions'.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112490 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-30Heap-allocate the attribute vectors inDouglas Gregor
ASTContext::DeclAttrs. Otherwise, iterators will go stale when the DenseMap reallocates, which can cause crashes when, e.g., looping over the attributes in a template to instantiate them and add the results to the instantiation of that template. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112488 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-30Fix an corner-case assertion introduced by the refactoring in r112258;Douglas Gregor
when we're taking the address of a unresolvable value, it might be an implicit member access. Fixes some Boost.Spirit regressions. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112487 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-30Now that GCC will have #pragma push/pop (in GCC 4.6), allow theDouglas Gregor
#pragma without requiring it to be in the "clang" namespace, from Louis Gerbarg! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112484 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-30Emulate (some of) Microsoft's looser semantic checking of exceptionDouglas Gregor
specifications, from Martin Vejnar! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112482 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-30In Microsoft compatibility mode, don't parse the exponent as part ofDouglas Gregor
the pp-number in a hexadecimal floating point literal, from Francois Pichet! Fixes PR7968. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112481 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-30Predeclare class type_info in Microsoft mode, from Francois Pichet!Douglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112478 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-30Add test case from PR6952, which now works (thanks to Gabor).Douglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112477 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-30Add redeclaration checking for static data members and fix a cornerDouglas Gregor
case with redeclaration checking for fields, from Faisal Vali! Fixes PR7970. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112476 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-30Fix CMake dependenciesDouglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112475 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-30Straighten out target triples provided on the command lineDuncan Sands
before using them. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112468 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-30Two minor fixes to user-defined literals:Sean Hunt
- Zero-initialize UDLData so that crashes stop - Stop complaining that we can't emit them (we most certainly can) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112467 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-30Add some braces for sanity and GCC silence. These became unbalanced in r112122,Chandler Carruth
so please review echristo and let me know if the logic is wrong now. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112466 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-29Fix some test-breaking that snuck into my previous commitSean Hunt
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112460 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-29Implement C++0x user-defined string literals.Sean Hunt
The extra data stored on user-defined literal Tokens is stored in extra allocated memory, which is managed by the PreprocessorLexer because there isn't a better place to put it that makes sure it gets deallocated, but only after it's used up. My testing has shown no significant slowdown as a result, but independent testing would be appreciated. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112458 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-29When providing a code completion for an Objective-C message send, dropDouglas Gregor
the parameter names from the completions, e.g., provide withString:(NSString *) instead of withString:(NSString *)string since the parameter name is, by convention, redundant with the selector piece that precedes it and the completions can get unnecessarily long. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112456 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-29Improve code completion for initializer lists in constructors. InsteadDouglas Gregor
of prioritizing just by initialization order, we bump the priority of just the *next* initializer in the list, and leave everything else at the normal priority. That way, if one intentionally skips the initialization of a base or member (to get default initialization), we'll still get ordered completion for the rest. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112454 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-29Add missing test case for constructor-initializer code completionsDouglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112453 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-29ObjClang++: Allow declaration of block variable in a collectionFariborz Jahanian
statement header (fixes radar 8295106). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112443 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-29Add comments.Zhongxing Xu
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112414 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-29Translate NEON vaddl, vaddw, vsubl, and vsubw builtins to llvm add/subBob Wilson
with zext/sext operations, instead of to llvm intrinsics. (We can also get rid of the clang builtins and handle these entirely in the arm_neon.h header if there is a way to express vector sext/zext in C.) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112413 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-29Complain if a __pragma isn't terminated.John McCall
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112392 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-28Add support for Microsoft's __pragma in the preprocessor.John McCall
Patch by Francois Pichet! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112391 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-28When perform exact-qualifier-match template argument deduction,John McCall
properly account for the possibility that certain opaque types might be more qualified than they appear. Fixes PR7708. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112390 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-28If filtering a lookup result leaves it ambiguous, keep the ambiguity John McCall
kind. Fixes PR7252. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112383 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-28Delete the relaxedLiveness object in the dtor of AnalysisContext.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112380 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-28improve comment, patch by Vladimir Kirillov!Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112374 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-28simplify by relying on cascading operator->Gabor Greif
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112373 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-28simplifyGabor Greif
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112372 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-28Fix copy+paste error in comment.Nick Lewycky
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112370 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-28add another test for PR8007Gabor Greif
this is still failing, need to come up with a fix (but we are in good company as the first gcc version pass this test will be v4.6) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112369 91177308-0d34-0410-b5e6-96231b3b80d8