aboutsummaryrefslogtreecommitdiff
path: root/lib
AgeCommit message (Collapse)Author
2012-05-23If the first argument of __builtin_object_size can be folded to a constantRichard Smith
pointer, but such folding encounters side-effects, ignore the side-effects rather than performing them at runtime: CodeGen generates wrong code for __builtin_object_size in that case. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157310 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-23Emit C++11 enum class information if it exists.Eric Christopher
Part of rdar://11496790 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157304 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-22Recognize the MS inheritance attributes and turn them into attributesJohn McCall
on the RecordDecl. Persist the MS portability type attributes and ignore them in Sema rather than the parser. Patch by João Matos! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157288 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-22wire -fbounds-checking to the new LLVM bounds checking passNuno Lopes
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157262 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-22Adds a method overwriteChangedFiles to the Rewriter. This is implemented byManuel Klimek
first writing the changed files to a temporary location and then overwriting the original files atomically. Also adds a RewriterTestContext to aid unit testing rewrting logic in general. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157260 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-22revert the usage of the objectsize intrinsic with 3 parameters (to match ↵Nuno Lopes
LLVM r157255) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157256 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-22[objcmt] Don't add redundant parentheses when migrating subscripting of an ivar.Argyrios Kyrtzidis
rdar://11501256 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157227 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-21objective-c: provide a useful 'fixit' suggestion whenFariborz Jahanian
errornously using commas to separate ObjC message arguments. // rdar://11376372 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157216 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-21Revert r115805. An array type is required to have a range type,Eric Christopher
however, the range can be unknown for the upper bound. Testcase to follow. Part of rdar://11457152 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157212 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-21[analyzer] Bind UnknownVal to InitListExpr for unsupported typesAnna Zaks
(ex: float). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157211 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-21Function template version of the previous patch.Rafael Espindola
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157207 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-21Produce a hidden symbol for zed inRafael Espindola
struct HIDDEN foo { }; template <class P> struct bar { }; template <> struct HIDDEN bar<foo> { DEFAULT static void zed(); }; void bar<foo>::zed() { } Before we would produce a hidden symbol in struct HIDDEN foo { }; template <class P> struct bar { }; template <> struct bar<foo> { DEFAULT static void zed(); }; void bar<foo>::zed() { } But adding HIDDEN to the specialization would cause us to produce a default symbol. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157206 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-21[driver] When creating the compiler invocation out of command-lineArgyrios Kyrtzidis
arguments, force use of clang frontend for the driver. Fixes rdar://11356765. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157205 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-21Analyzer: Fix PR12905, a crash when encountering a call to a function named "C".Benjamin Kramer
While there clean up indentation. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157204 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-21[arcmt] Revert r156999 "Remove the "it is not safe to remove an unused ↵Argyrios Kyrtzidis
'autorelease' message" ARC migration error". Per feedback from John this is useful to have in general. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157198 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-21Remove unused argument in my last patch.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157194 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-21objective-c: When default synthesizing readonly IBOutlet propertiesFariborz Jahanian
provide a 'fixit' to change 'readonly' to 'readwrite'. // rdar://11448209 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157193 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-20Teach Clang about the NVPTX backend.Peter Collingbourne
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157173 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-20Tell the driver that CUDA is a C++-like language, so that we get C++Peter Collingbourne
header searches with CUDA. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157172 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-20CUDA: add CodeGen support for global variable address spaces.Peter Collingbourne
Because in CUDA types do not have associated address spaces, globals are declared in their "native" address space, and accessed by bitcasting the pointer to address space 0. This relies on address space 0 being a unified address space. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157167 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-20Bitpack CodeCompletionResults.Benjamin Kramer
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157158 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-20Error when using typeid() with -fno-rtti. PR 12888.Nico Weber
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157139 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-20Zap a bogus assert for delegating constructors. PR12890, part 2.Eli Friedman
I'm pretty sure we are in fact doing the right thing here, but someone who knows the standard better should double-check that we are in fact supposed to zero out the member in the given testcase. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157138 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-19Make delegating initializers use a similar codepath to base initializers in ↵Eli Friedman
dependent contexts. PR12890. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157136 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-19objective-c: Warn if default synthesizing readonly IBOutlet propertiesFariborz Jahanian
and provide a 'fixit' to change 'readonly' to 'readwrite'. 'fixit' part needs little more work. // rdar://11448209 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157121 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-19Use RecordDecl::field_iterator because D1, D2 are RecordDecls. No ↵Dmitri Gribenko
functional change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157119 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-19Apparently empty names are allowed here.Benjamin Kramer
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157117 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-19Simplify some users of DeclarationName::getNameKind. Fold ↵Benjamin Kramer
getFETokenInfoAsVoid into its only caller. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157116 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-19Inline a trivial clear() method.Benjamin Kramer
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157114 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-19Update API usage for llvm DIBuilder changes for rvalue referenceEric Christopher
types and ensure we are actually creating the type. rdar://11479676 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157095 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-19[analyzer] For locations, use isGLValue() instead of isLValue().Anna Zaks
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157088 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-18Suggest adding 'typename' when it would make the compilerKaelyn Uhrain
accept the template argument expression as a type. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157085 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-18[analyzer] Fix a c++11 crash: xvalues can be locations (VisitMemberExpr)Anna Zaks
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157082 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-18[analyzer] Malloc checker: remove unnecessary comparisons.Anna Zaks
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157081 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-18Lexer::ReadToEndOfLine: Only build the string if it's actually used and do ↵Benjamin Kramer
so in a less malloc-intensive way. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157064 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-18Centralize the handling of the "attribute declaration must precede definition"Rafael Espindola
warning. This also makes us warn on tags, which, ironically, is the only case gcc warns on. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157039 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-18[analyzer]Malloc: refactor and report use after free by memoryAnna Zaks
allocating functions. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157037 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-17A selector match between two Objective-C methods does *not* guaranteeDouglas Gregor
that the methods have the same number of parameters, although we certainly assumed this in many places. Objective-C can be insane sometimes. Fixes <rdar://problem/11460990>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157025 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-17In the override search for Objective-C methods, protect against ASTs that ↵Douglas Gregor
have NULL interfaces behind a category, which can happen in invalid code. Fixes <rdar://problem/11478173>, a recent regression git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157021 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-17[arcmt] Remove the "it is not safe to remove an unused 'autorelease' ↵Argyrios Kyrtzidis
message" ARC migration error. This is more trouble that it is worth; autoreleasing a value without holding on it is a valid use-case, we should not "punish" correct code for the minority of broken/fragile programs that depend on the behavior of -autorelease. rdar://9914061 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@156999 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-17Added two missing const qualifiers.Abramo Bagnara
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@156988 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-17CXXThisScopeRAII objects aren't free, don't compute one if it's unused.Benjamin Kramer
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@156987 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-17Use the argument location instead of the format string location when warningMatt Beaumont-Gay
about argument type mismatch. This gives a nicer diagnostic in cases like printf(fmt, i); where previously the snippet just pointed at 'fmt' (with a note at the definition of fmt). It's a wash for cases like printf("%f", i); where previously we snippeted the offending portion of the format string, but didn't indicate which argument was at fault. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@156968 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-16[libclang/AST] When declaring a local class, don't neglect to set the end ↵Argyrios Kyrtzidis
location of the DeclStmt node, otherwise libclang will not work for anything inside that class. rdar://10837710 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@156966 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-16[driver] Remove obsolete support for -A link option. The standard -A option isChad Rosier
used by the preprocessor. Apple's GCC also supported a -A option for linking. The ld man page has the following: -A basefile - Obsolete incremental load format. This option is obsolete. Nick Kledzik confirms this option is no longer needed/supported. rdar://11455614 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@156965 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-16Recover better from a missing 'typename' in a function template definition.Richard Smith
Disambiguate past such a potential problem, and use the absence of 'typename' to break ties in favor of a parenthesized thingy being an initializer, if nothing else in the declaration disambiguates it as declaring a function. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@156963 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-16Remove unnecessary temporary.Eric Christopher
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@156953 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-16Rename the driver option to -mno-implicit-float, per Eli's suggestion.Chad Rosier
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@156950 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-16Pulls diagnostics for temp file handling into the common diagnostic kinds.Manuel Klimek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@156947 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-16[driver] Allow the driver to directly accept the -no-implicit-float option, ↵Chad Rosier
so that the generation of implicit floating point instructions can be disable for ARM. rdar://11409142 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@156942 91177308-0d34-0410-b5e6-96231b3b80d8