aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2011-09-23Don't propagate the 'availability' attribute through declarationDouglas Gregor
merging for overrides. One might want to make a method's availability in a superclass different from that of its subclass. Fixes <rdar://problem/10166223>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140406 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-23Add a new warning to -Wliteral-conversion to catch cases where a string literalRichard Trieu
is cast to a boolean. An exception has been made for string literals in logical expressions to allow the common case of use in assert statements. bool x; x = "hi"; // Warn here void foo(bool x); foo("hi"); // Warn here assert(0 && "error"); assert("error); // Warn here git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140405 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-23Clean up parsing the category names in interfaces slightly, usingDouglas Gregor
MatchRHSPunctuation appropriately and giving a useful source location for the complaint about attributes being added to a category. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140404 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-23Move immutable map canonization out of the removeDeadBindings loop (via ↵Anna Zaks
using ImmutableMapRef). Gives ~2% speedup. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140403 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-23When checking for weak vtables, check whether the actual definition ofDouglas Gregor
the key function is inline, rather than the original declaration. Perhaps FunctionDecl::isInlined() is poorly named. Fixes <rdar://problem/9979458>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140400 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-23objc-gc: Fix a corner case where clang fails to generate GC Fariborz Jahanian
write barrier with captured pointer to object. // rdar://10150823 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140399 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-23Fix up comment now that 'new' is no longer a virt-specifier, from Aaron BallmanDouglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140389 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-23Eliminate an MSVC comparison warning, from Aaron BallmanDouglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140388 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-23Fix wrong comment about reentering template scope for ↵Francois Pichet
-fdelayed-template-parsing. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140382 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-23More missing header inclusions from llvm_unreachable migration.David Blaikie
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140369 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-23Fix missing includes for llvm_unreachableDavid Blaikie
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140368 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-23Switch assert(0/false) llvm_unreachable.David Blaikie
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140367 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-23Reenable -cxx-isystem for Objective C++, until I come up with a better solutionBenjamin Kramer
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140365 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-23unittests/Basic/FileManagerTest.cpp: Suppress warnings on gcc.NAKAMURA Takumi
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140364 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-23CMake: Define ${LLVM_TABLEGEN_EXE} with explicit ${CMAKE_EXECUTABLE_SUFFIX} ↵NAKAMURA Takumi
on standalone build. Or build might fail with NMake. Thanks to Nicolas Le Gland! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140360 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-22Don't finalize checking of base and member initializers for aDouglas Gregor
constructor template. Fixes PR10457. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140350 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-22[microsoft] Fix a bug in -fdelayed-template-parsing mode where we were not ↵Francois Pichet
reentering the delayed function context correctly. The problem was that all template params were reintroduced inside the same scope. So if we had a situation where we had 2 template params with the same name at different scope then clang would generate an error about ambiguous name. The solution is to create a new ParseScope(Scope::TemplateParamScope) for each template scope that we want to reenter. (from the outmost to the innermost scope) This fixes some errors when parsing MFC code with clang. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140344 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-22Don't test unix path seperators, that will fail on windows.Benjamin Kramer
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140343 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-22See if going through env pacifies the windows buildbots.Benjamin Kramer
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140342 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-22Add support for CPATH and friends.Benjamin Kramer
This moves the existing code for CPATH into the driver and adds the environment lookup and path splitting there. The paths are then passed down to cc1 with -I options (CPATH), added after the normal user-specified include dirs. Language specific paths are passed via -LANG-isystem and the actual filtering is performed in the frontend. I tried to match GCC's behavior as close as possible Fixes PR8971. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140341 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-22Do manual binary search for preprocessing entities because their end locationsArgyrios Kyrtzidis
may be unordered and MSVC's debug-mode doesn't like it. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140337 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-22Don't remove filters.Bill Wendling
It's not valid to remove filters from landingpad instructions, even if we catch the type. The metadata won't be set up correctly. Testcase is projects/llvm-test/SingleSource/UnitTests/EH/filter-2.cpp. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140335 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-22Only trigger the initialize-an-array-via-elementwise-copy/move codeDouglas Gregor
generation when we're dealing with an implicitly-defined copy or move constructor. And, actually set the implicitly-defined bit for implicitly-defined constructors and destructors. Should fix self-host. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140334 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-22Don't use TemplateArgumentListInfo inside AST nodes because it may leak.Argyrios Kyrtzidis
Use ASTTemplateArgumentListInfo instead. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140331 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-22Rename ExplicitTemplateArgumentList -> ASTTemplateArgumentListInfo, no ↵Argyrios Kyrtzidis
functionality change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140330 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-22Place diagnostic warn_ivar_use_hidden under the flag -Wshadow-ivar.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140329 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-22ST->scanReachableSymbols() is creating a SubRegionMap (SRM) on every call ↵Anna Zaks
since one SRM is created in each ScanReachableSymbols instance. Creating the object just once and calling only scan inside the loop gives ~ 14% speed up of the StaticAnalyzer run (Release+Asserts). Pull out the declaration of the ScanReachableSymbols so that it can be used directly. Document ProgramState::scanReachableSymbols() methods. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140323 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-22PTX: Clean up target options codeJustin Holewinski
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140320 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-22Fix the ASTImporter's lookup for anonymous structs/unions that get aDouglas Gregor
linkage name via typedef. Patch from/fixes PR10958. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140317 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-22Don't allow template argument deduction to deduce a placeholder type,Douglas Gregor
ever. Fixes PR10939. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140304 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-22Explicitly-defaulted copy/move constructors are not "implicit", butDouglas Gregor
they still need the logic to cope with array member initialization. Fixes PR10720. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140302 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-22In OpenCL, conversions between different vector types are disallowedTobias Grosser
OpenCL 6.2.1 says: "Implicit conversions between built-in vector data types are disallowed." OpenCL 6.2.2 says: "Explicit casts between vector types are not legal." For example: uint4 u = (uint4)(1); int4 i = u; // invalid implicit conversion int4 e = (int4)u; // invalid explicit conversion Fixes PR10967. Submitted by: Anton Lokhmotov <Anton.lokhmotov@gmail.com> git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140300 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-22ArrayRef-ifying the fields passed to Sema::ActOnFieldsDavid Blaikie
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140293 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-22ArrayRef-ifying the UnexpandedParameterPacks passed to ↵David Blaikie
Sema::CheckParameterPacksForExpansion git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140290 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-22ArrayRef-ifying MacroArgs::create's arguments argument.David Blaikie
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140288 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-22Simplify the last character check.David Blaikie
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140287 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-21In the OpenCL mode, the AltiVec mode must be off and checks must be strictTobias Grosser
OpenCL is different from AltiVec in the way it supports vector literals. OpenCL is strict with regards to semantic checks. For example, implicit conversions and explicit casts between vectors of different types are disallowed. Fixes PR10975. Submitted by: Anton Lokhmotov <Anton.lokhmotov@gmail.com> git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140270 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-21ArrayRef-ifying Function/BlockDecl's setParamsDavid Blaikie
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140268 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-21More MSVC9 unbreaking.Benjamin Kramer
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140256 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-21Diagnose attempts to write a templated data member, from StepanDouglas Gregor
Dyatkovskiy! Fixes PR10896. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140250 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-21Enforce access control for conversion operators used in contextualJohn McCall
conversions (rather than just call-arguments). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140244 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-21I had meant to locally revert this test.John McCall
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140243 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-21ANSI C requires that a call to an unprototyped function type succeedJohn McCall
if the definition has a non-variadic prototype with compatible parameters. Therefore, the default rule for such calls must be to use a non-variadic convention. Achieve this by casting the callee to the function type with which it is required to be compatible, unless the target specifically opts out and insists that unprototyped calls should use the variadic rules. The only case of that I'm aware of is the x86-64 convention, which passes arguments the same way in both cases but also sets a small amount of extra information; here we seek to maintain compatibility with GCC, which does set this when calling an unprototyped function. Addresses PR10810 and PR10713. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140241 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-21[microsoft] Move missing typename warning from -fms-extensions to ↵Francois Pichet
-fms-compatibility. Also allow the missing typename warning at function scope. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140240 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-21Fix MSVC9 build by providing a full comparator object to lower_bound.Benjamin Kramer
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140238 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-21Change:Richard Trieu
assert(!"error message"); To: assert(0 && "error message"); which is more consistant across the code base. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140232 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-21Change "ivar" to true for a boolean function argument. Since string ↵Richard Trieu
literals are cast to true, this should no effect on behavior. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140231 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-21Add case labels for Mips64 architectures.Akira Hatanaka
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140226 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-21[analyzer] Fix a bug where PathDiagnosticLocation did not generate a valid ↵Anna Zaks
range and add asserts to check validity of locations early on. Ignore invalid ranges in PathDiagnosticPiece (they could be added by checker writers). Addresses radar://10124836 and radar://radar10102244. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140218 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-20[ARC] Allow forming 'id*' in an unevaluated context. Fixes rdar://10148540.Argyrios Kyrtzidis
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140212 91177308-0d34-0410-b5e6-96231b3b80d8