aboutsummaryrefslogtreecommitdiff
path: root/lib
AgeCommit message (Collapse)Author
2012-05-29Use fewer temporaries mangling APSInt objects. The performance differenceCharles Davis
is negligible, but it makes the code clearer. Based on a suggestion by Jordy Rose. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157601 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-29OpenCL: Fix vector conditional operator CodeGen for the case wherePeter Collingbourne
the operands are vectors of doubles. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157596 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-28Address minor FIXME in RedeclLink to contain a PointerIntPair instead of ↵David Blaikie
derive from it. Use actual factory functions rather than derived classes acting as named constructors/factories. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157588 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-28Fix mangling of integral template arguments between 1 and 10. Add a test caseCharles Davis
for this. Reported by Timur Iskhodzhanov. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157583 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-28Fix Lang's fix. This should fix the tests for +Asserts builds.Charles Davis
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157561 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-28adjust to mainline llvm API change.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157557 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-28Fix PR12960 by not attempting to correct cases when we're not actually ↵David Blaikie
instantiatiating a template. This comes up in the begin/end calls of a range-for (see the included test case). Other suggestions are welcome, though this seems to do the trick without regressing anything. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157553 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-27PR12962: Fix a rare use after free when collecting virtual overrides.Benjamin Kramer
The DenseMap reallocates after 64 insertions so this only happened in large test cases under very specific circumstances. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157549 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-27Fix call to APSInt constructor - it doesn't take an initial value, just aLang Hames
bitwidth and signedness. Also rename the variable to reflect its purpose. No test case - discovered during random code exploration. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157547 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-27-Wdeprecated warning to include reference (as a note)Fariborz Jahanian
to the declaration in this patch. // rdar://10893232 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157537 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-27Use the SelectorSet typedef more widely throughout Sema.Benjamin Kramer
While there make it a SmallPtrSet. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157532 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-27Replace some custom hash combines with the standard stuff from DenseMapInfo.Benjamin Kramer
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157531 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-27clang/lib/Rewrite/Rewriter.cpp: Don't try to rename opened files on Win32. ↵NAKAMURA Takumi
Win32 doesn't allow rename/removing opened files. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157528 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-26Mangle template instantiations properly (as of VC 7.x) when compiling forCharles Davis
the Microsoft Visual C++ ABI. Currently limited to type and integral non-type arguments. Based on a patch by Timur Iskhodzhanov! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157524 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-26Only emit one set of braces for __VERSION__, getClangFullRepositoryVersion ↵Benjamin Kramer
already adds some. No test as the output is highly dependend on the local configuration. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157520 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-26Change warning to error when property setter names conflict.Fariborz Jahanian
// rdar://11528439 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157517 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-26In response to some discussions on IRC, tweak the wording of the newRichard Smith
-Wsometimes-uninitialized diagnostics to make it clearer that the cause of the issue may be a condition which must always evaluate to true or false, rather than an uninitialized variable. To emphasize this, add a new note with a fixit which removes the impossible condition or replaces it with a constant. Also, downgrade the diagnostic from -Wsometimes-uninitialized to -Wconditional-uninitialized when it applies to a range-based for loop, since the condition is not written explicitly in the code in that case. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157511 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-26Fix indentation.David Blaikie
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157510 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-26Don't offer '[[clang::fallthrough]];' fix-it when a fall-through occurs to aAlexander Kornienko
switch label immediately followed by a 'break;'. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157508 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-25fix codegen support for alloc_size attribute for static C++ methodsNuno Lopes
add test case for C++ codegen git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157500 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-25Don't ignore linkage when ignoring visibility in the instantiation of aRafael Espindola
method template. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157486 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-25add CodeGen support for the alloc_size attributeNuno Lopes
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157483 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-25Don't ignore linkage when ignoring visibility in the instantiation of aRafael Espindola
function template. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157480 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-25[analyzer] Don't crash on LValBitCastAnna Zaks
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157478 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-25Consider the linkage for member class templates even when we have to ignoreRafael Espindola
the visibility. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157475 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-25When ignoring visibility in an instantiation, still consider the linkage.Rafael Espindola
Similar fixes for function and member template to follow as I write the testcases. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157470 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-25Whitespace fixes.Rafael Espindola
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157469 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-25Split a chunk of -Wconditional-uninitialized warnings out into a separate flag,Richard Smith
-Wsometimes-uninitialized. This detects cases where an explicitly-written branch inevitably leads to an uninitialized variable use (so either the branch is dead code or there is an uninitialized use bug). This chunk of warnings tentatively lives within -Wuninitialized, in order to give it more visibility to existing Clang users. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157458 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-25ensure value passed to is space is representable as unsigned charSeth Cantrell
if the value isn't an unsigned char or EOF behavior is undefined (and on Windows there's an assertion) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157445 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-24Some cleanups around the uninitialized variables warning, and a FIXME. No ↵Richard Smith
functional change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157440 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-24cleanup some code.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157436 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-24objective-c: warn on use of property settersFariborz Jahanian
backing two propeties because proprty names match except for first letter being of different case. // rdar://11528439, [PR12936]. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157435 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-24Get rid of some non-ASCII en-dashes that crept in.Eli Friedman
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157434 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-24Implement the C++11 discarded value expression rules for volatile lvalues. ↵Eli Friedman
<rdar://problem/10790820>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157420 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-24A minor tweak to the new volatile lvalue warning: don't warn on "(void)x", ↵Eli Friedman
where "x" refers to a local variable. This should silence a useless warning in compiler-rt and other places. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157414 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-24objective-c: Fixes a corner case and interesting bug.Fariborz Jahanian
Where diagnostic about unfound property is not issued in the context where a setter is looked up in situation in which name and property name differ in their first letter case. // rdar://11363363 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157407 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-24Replace PTX back-end with NVPTX back-end in all places where Clang caresJustin Holewinski
NV_CONTRIB git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157403 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-24[analyzer] Minor cleanup to checkers' help text.Anna Zaks
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157402 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-24[analyzer] Treat cast of array to reference in the same way as array toAnna Zaks
pointer. Fixes one of the crashes reported in PR12874. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157401 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-24[objcmt] Warn when modern objc migrator does not convert a NSNumber message ↵Argyrios Kyrtzidis
because it requires a cast. rdar://11525138 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157395 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-24fix Bug 12924Seth Cantrell
http://llvm.org/bugs/show_bug.cgi?id=12924 This issue was that the source location was pointing to a non-printable character and so CaretEnd was pointing one _column_ past the caret but not one _character_ past the caret. So the conversion between column and byte locations wasn't working (because the conversion is only valid from the first column or byte of a character). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157372 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-24DR1152 / PR12931 / PR6177: A candidate function which requires binding a constRichard Smith
volatile reference to a temporary is not viable. My interpretation is that DR1152 was a bugfix, not a rule change for C++11, so this is not conditional on the language mode. This matches g++'s behavior. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157370 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-24Add a warning to diagnose statements in C++ like "*(volatile int*)x;". ↵Eli Friedman
Conceptually, this is part of -Wunused-value, but I added a separate flag -Wunused-volatile-lvalue so it doesn't get turned off by accident with -Wno-unused-value. I also made a few minor improvements to existing unused value warnings in the process. <rdar://problem/11516811>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157362 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-24implement Sema support for the alloc_size attributeNuno Lopes
Portions of this patch by Xi Wang. Reviewed by Jordy Rose. Thank you both. Codegen support will follow soon. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157360 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-23modern objc translation: Add translation of @autoreleasepoolFariborz Jahanian
statement. // rdar://11474836. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157359 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-23Tooling: Canonicalize Key in IndexByFile[]. llvm::sys::path::native() may be ↵NAKAMURA Takumi
used here. It fixes test/Tooling on Win32 hosts. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157350 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-23[arcmt] Remove an unused -autorelease, without failing with error, for thisArgyrios Kyrtzidis
idiom that is used commonly in setters: [backingValue autorelease]; backingValue = [newValue retain]; // in general a +1 assign rdar://9914061 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157347 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-23[driver] Have the crash diagnostics print the clang version information.Chad Rosier
rdar://11518308 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157346 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-23Adds the Refactoring library, which is a layer on top of the Tooling libraryManuel Klimek
that allows easy refactoring across translation units. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157331 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-23Correct the starting location for instantiations of field declarations whichRichard Smith
start with a cv-qualifier. DeclaratorDecl::getTypeSpecStartLoc() does not produce the location of the first type-specifier (the cv-qualifier) in this case, because we don't track source locations for cv-qualifiers. No test here: I've not found a way to test this with a lit-style test, and introducing a gtest test for this seems unwarranted. Suggestions welcome! Patch by Daniel Jasper! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157311 91177308-0d34-0410-b5e6-96231b3b80d8