]>
granicus.if.org Git - clang/log
Benjamin Kramer [Sun, 27 May 2012 22:41:08 +0000 (22:41 +0000)]
PR12962: Fix a rare use after free when collecting virtual overrides.
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
Lang Hames [Sun, 27 May 2012 21:39:49 +0000 (21:39 +0000)]
Fix call to APSInt constructor - it doesn't take an initial value, just a
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
Fariborz Jahanian [Sun, 27 May 2012 16:59:48 +0000 (16:59 +0000)]
-Wdeprecated warning to include reference (as a note)
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
Benjamin Kramer [Sun, 27 May 2012 15:32:10 +0000 (15:32 +0000)]
Pass ProgramStateRef by reference.
Retain + Release on a ref counted pointer is cheap, but not free (it adds a function call in this case).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157534
91177308 -0d34-0410-b5e6-
96231b3b80d8
Dmitri Gribenko [Sun, 27 May 2012 14:08:44 +0000 (14:08 +0000)]
Close HTML tag properly.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157533
91177308 -0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Sun, 27 May 2012 13:28:52 +0000 (13:28 +0000)]
Use the SelectorSet typedef more widely throughout Sema.
While there make it a SmallPtrSet.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157532
91177308 -0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Sun, 27 May 2012 13:28:44 +0000 (13:28 +0000)]
Replace some custom hash combines with the standard stuff from DenseMapInfo.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157531
91177308 -0d34-0410-b5e6-
96231b3b80d8
NAKAMURA Takumi [Sun, 27 May 2012 13:10:14 +0000 (13:10 +0000)]
clang/unittests/Tooling/RewriterTestContext.h: Don't try to remove TemporaryDirectory.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157530
91177308 -0d34-0410-b5e6-
96231b3b80d8
NAKAMURA Takumi [Sun, 27 May 2012 12:59:58 +0000 (12:59 +0000)]
clang/lib/Rewrite/Rewriter.cpp: Don't try to rename opened files on Win32. 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
Charles Davis [Sat, 26 May 2012 23:12:19 +0000 (23:12 +0000)]
Mangle template instantiations properly (as of VC 7.x) when compiling for
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
Benjamin Kramer [Sat, 26 May 2012 19:39:52 +0000 (19:39 +0000)]
Only emit one set of braces for __VERSION__, getClangFullRepositoryVersion 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
Fariborz Jahanian [Sat, 26 May 2012 16:10:06 +0000 (16:10 +0000)]
Change warning to error when property setter names conflict.
// rdar://
11528439
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157517
91177308 -0d34-0410-b5e6-
96231b3b80d8
Richard Smith [Sat, 26 May 2012 06:20:46 +0000 (06:20 +0000)]
In response to some discussions on IRC, tweak the wording of the new
-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
David Blaikie [Sat, 26 May 2012 05:35:39 +0000 (05:35 +0000)]
Fix indentation.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157510
91177308 -0d34-0410-b5e6-
96231b3b80d8
Alexander Kornienko [Sat, 26 May 2012 00:49:15 +0000 (00:49 +0000)]
Don't offer '[[clang::fallthrough]];' fix-it when a fall-through occurs to a
switch label immediately followed by a 'break;'.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157508
91177308 -0d34-0410-b5e6-
96231b3b80d8
Nuno Lopes [Fri, 25 May 2012 21:45:08 +0000 (21:45 +0000)]
fix codegen support for alloc_size attribute for static C++ methods
add test case for C++ codegen
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157500
91177308 -0d34-0410-b5e6-
96231b3b80d8
Argyrios Kyrtzidis [Fri, 25 May 2012 20:05:57 +0000 (20:05 +0000)]
[libclang] Add a test I forgot to commit for r156890.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157491
91177308 -0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Fri, 25 May 2012 17:22:33 +0000 (17:22 +0000)]
Don't ignore linkage when ignoring visibility in the instantiation of a
method template.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157486
91177308 -0d34-0410-b5e6-
96231b3b80d8
Nuno Lopes [Fri, 25 May 2012 17:04:42 +0000 (17:04 +0000)]
add CodeGen support for the alloc_size attribute
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157483
91177308 -0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Fri, 25 May 2012 16:41:35 +0000 (16:41 +0000)]
Don't ignore linkage when ignoring visibility in the instantiation of a
function template.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157480
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anna Zaks [Fri, 25 May 2012 16:02:16 +0000 (16:02 +0000)]
[analyzer] Don't crash on LValBitCast
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157478
91177308 -0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Fri, 25 May 2012 15:51:26 +0000 (15:51 +0000)]
Consider the linkage for member class templates even when we have to ignore
the visibility.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157475
91177308 -0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Fri, 25 May 2012 14:47:05 +0000 (14:47 +0000)]
When ignoring visibility in an instantiation, still consider the linkage.
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
Rafael Espindola [Fri, 25 May 2012 14:17:45 +0000 (14:17 +0000)]
Whitespace fixes.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157469
91177308 -0d34-0410-b5e6-
96231b3b80d8
Manuel Klimek [Fri, 25 May 2012 08:39:21 +0000 (08:39 +0000)]
Links the entry point to the tooling documentation into clang's menu bar.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157462
91177308 -0d34-0410-b5e6-
96231b3b80d8
Richard Smith [Fri, 25 May 2012 02:35:34 +0000 (02:35 +0000)]
Release notes update for -Wsometimes-uninitialized.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157459
91177308 -0d34-0410-b5e6-
96231b3b80d8
Richard Smith [Fri, 25 May 2012 02:17:09 +0000 (02:17 +0000)]
Split a chunk of -Wconditional-uninitialized warnings out into a separate flag,
-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
Anna Zaks [Fri, 25 May 2012 01:13:50 +0000 (01:13 +0000)]
[analyzer] Loading external plugins with scan-build
Load custom plugins when running scan-build. This is useful when
additional static analysis Checkers must be provided via clang's plugin
interface.
Loading additional plugins can now be done via the scan-build call:
scan-build -load-plugin <plugin.so>
A patch by Thomas Hauth.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157452
91177308 -0d34-0410-b5e6-
96231b3b80d8
Seth Cantrell [Fri, 25 May 2012 00:03:29 +0000 (00:03 +0000)]
ensure value passed to is space is representable as unsigned char
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
Richard Smith [Thu, 24 May 2012 23:45:35 +0000 (23:45 +0000)]
Some cleanups around the uninitialized variables warning, and a FIXME. No functional change.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157440
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Thu, 24 May 2012 22:59:56 +0000 (22:59 +0000)]
cleanup some code.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157436
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Thu, 24 May 2012 22:48:38 +0000 (22:48 +0000)]
objective-c: warn on use of property setters
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
Eli Friedman [Thu, 24 May 2012 22:36:31 +0000 (22:36 +0000)]
Get rid of some non-ASCII en-dashes that crept in.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157434
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Thu, 24 May 2012 22:04:19 +0000 (22:04 +0000)]
Implement the C++11 discarded value expression rules for volatile lvalues. <rdar://problem/
10790820 >.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157420
91177308 -0d34-0410-b5e6-
96231b3b80d8
Justin Holewinski [Thu, 24 May 2012 21:39:33 +0000 (21:39 +0000)]
Un-XFAIL CodeGen/builtins-nvptx.c now that the proper changes have
landed in LLVM core
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157418
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Thu, 24 May 2012 21:05:41 +0000 (21:05 +0000)]
A minor tweak to the new volatile lvalue warning: don't warn on "(void)x", 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
John McCall [Thu, 24 May 2012 20:58:21 +0000 (20:58 +0000)]
XFAIL this test, which does not pass on trunk since the grand
renaming in r157403.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157413
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 24 May 2012 20:16:00 +0000 (20:16 +0000)]
Set svn:keywords property to Id
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157412
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 24 May 2012 20:13:47 +0000 (20:13 +0000)]
New & improved man page attached, now with standard license added.
Plus, a patch for scan-build.
* mdoc corrections
* slightly more compact output
* same license as scan-build
* DESCRIPTION describes
* Default checkers corrected & explained
* Authors credited
The patch adds support for --help-checkers. It just lists the default
checkers by recursively invoking "scan-build -h" and looking for the
magic '+' signs.
Patch by James Lowden!
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157411
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Thu, 24 May 2012 18:29:41 +0000 (18:29 +0000)]
objective-c: Fixes a corner case and interesting bug.
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
Argyrios Kyrtzidis [Thu, 24 May 2012 17:49:22 +0000 (17:49 +0000)]
[objcmt] Add test case for r157395.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157404
91177308 -0d34-0410-b5e6-
96231b3b80d8
Justin Holewinski [Thu, 24 May 2012 17:43:12 +0000 (17:43 +0000)]
Replace PTX back-end with NVPTX back-end in all places where Clang cares
NV_CONTRIB
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157403
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anna Zaks [Thu, 24 May 2012 17:31:59 +0000 (17:31 +0000)]
[analyzer] Minor cleanup to checkers' help text.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157402
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anna Zaks [Thu, 24 May 2012 17:31:57 +0000 (17:31 +0000)]
[analyzer] Treat cast of array to reference in the same way as array to
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
Anna Zaks [Thu, 24 May 2012 17:31:54 +0000 (17:31 +0000)]
[analyzer] Fix typo. Thanks Jordy.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157400
91177308 -0d34-0410-b5e6-
96231b3b80d8
Manuel Klimek [Thu, 24 May 2012 17:16:23 +0000 (17:16 +0000)]
Adds menu sidebar to the docs.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157399
91177308 -0d34-0410-b5e6-
96231b3b80d8
Manuel Klimek [Thu, 24 May 2012 17:09:10 +0000 (17:09 +0000)]
Updates the tooling docs with the links to the tutorials and
adds the menu include.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157397
91177308 -0d34-0410-b5e6-
96231b3b80d8
Manuel Klimek [Thu, 24 May 2012 17:07:18 +0000 (17:07 +0000)]
Adds a tutorial for how to write clang plugins.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157396
91177308 -0d34-0410-b5e6-
96231b3b80d8
Argyrios Kyrtzidis [Thu, 24 May 2012 16:48:23 +0000 (16:48 +0000)]
[objcmt] Warn when modern objc migrator does not convert a NSNumber message because it requires a cast.
rdar://
11525138
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157395
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Thu, 24 May 2012 16:19:51 +0000 (16:19 +0000)]
objc: change option to be -Wobjc-interface-ivars
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157394
91177308 -0d34-0410-b5e6-
96231b3b80d8
Manuel Klimek [Thu, 24 May 2012 12:46:43 +0000 (12:46 +0000)]
Apply review comment from Jordan Rose.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157387
91177308 -0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Thu, 24 May 2012 06:42:56 +0000 (06:42 +0000)]
Remove 3.1 release notes to get ready for current development cycle.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157379
91177308 -0d34-0410-b5e6-
96231b3b80d8
Seth Cantrell [Thu, 24 May 2012 05:14:44 +0000 (05:14 +0000)]
fix Bug 12924
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
Richard Smith [Thu, 24 May 2012 04:29:20 +0000 (04:29 +0000)]
DR1152 / PR12931 / PR6177: A candidate function which requires binding a const
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
Eli Friedman [Thu, 24 May 2012 00:47:05 +0000 (00:47 +0000)]
Add a warning to diagnose statements in C++ like "*(volatile int*)x;". 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
Nuno Lopes [Thu, 24 May 2012 00:22:00 +0000 (00:22 +0000)]
implement Sema support for the alloc_size attribute
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
Fariborz Jahanian [Wed, 23 May 2012 23:47:20 +0000 (23:47 +0000)]
modern objc translation: Add translation of @autoreleasepool
statement. // rdar://
11474836 .
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157359
91177308 -0d34-0410-b5e6-
96231b3b80d8
Argyrios Kyrtzidis [Wed, 23 May 2012 23:30:16 +0000 (23:30 +0000)]
[libclang] Report CXType_ObjCId for 'const id', not CXType_Typedef.
rdar://
11357807
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157356
91177308 -0d34-0410-b5e6-
96231b3b80d8
NAKAMURA Takumi [Wed, 23 May 2012 22:24:33 +0000 (22:24 +0000)]
clang/test/Tooling: Update comments in left 2 tests on XFAIL. They are incompatible to -fms-compatibility.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157352
91177308 -0d34-0410-b5e6-
96231b3b80d8
NAKAMURA Takumi [Wed, 23 May 2012 22:24:27 +0000 (22:24 +0000)]
clang/test/Tooling: Tweak 4 tests to escape the path separator s/\\/\\\\/g in JSON.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157351
91177308 -0d34-0410-b5e6-
96231b3b80d8
NAKAMURA Takumi [Wed, 23 May 2012 22:24:20 +0000 (22:24 +0000)]
Tooling: Canonicalize Key in IndexByFile[]. llvm::sys::path::native() may be 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
Argyrios Kyrtzidis [Wed, 23 May 2012 21:50:04 +0000 (21:50 +0000)]
[arcmt] Remove an unused -autorelease, without failing with error, for this
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
Chad Rosier [Wed, 23 May 2012 21:38:47 +0000 (21:38 +0000)]
[driver] Have the crash diagnostics print the clang version information.
rdar://
11518308
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157346
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 23 May 2012 19:57:38 +0000 (19:57 +0000)]
Update checker build.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157339
91177308 -0d34-0410-b5e6-
96231b3b80d8
Manuel Klimek [Wed, 23 May 2012 16:29:20 +0000 (16:29 +0000)]
Adds the Refactoring library, which is a layer on top of the Tooling library
that allows easy refactoring across translation units.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157331
91177308 -0d34-0410-b5e6-
96231b3b80d8
Richard Smith [Wed, 23 May 2012 04:22:22 +0000 (04:22 +0000)]
Correct the starting location for instantiations of field declarations which
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
Richard Smith [Wed, 23 May 2012 04:13:20 +0000 (04:13 +0000)]
If the first argument of __builtin_object_size can be folded to a constant
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
Richard Smith [Wed, 23 May 2012 01:38:11 +0000 (01:38 +0000)]
Clang 3.1 is out: turn the relevant C++11 status boxes green.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157308
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Wed, 23 May 2012 00:18:46 +0000 (00:18 +0000)]
Move file to be more representative.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157306
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Wed, 23 May 2012 00:18:43 +0000 (00:18 +0000)]
Check that we have an unknown upper bound range for our flexible array members.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157305
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Wed, 23 May 2012 00:09:47 +0000 (00:09 +0000)]
Emit C++11 enum class information if it exists.
Part of rdar://
11496790
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157304
91177308 -0d34-0410-b5e6-
96231b3b80d8
John McCall [Tue, 22 May 2012 21:28:12 +0000 (21:28 +0000)]
Recognize the MS inheritance attributes and turn them into attributes
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
John McCall [Tue, 22 May 2012 21:28:07 +0000 (21:28 +0000)]
Fix line endings.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157287
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Tue, 22 May 2012 18:04:48 +0000 (18:04 +0000)]
Test that we emit a subrange type for vlas.
Part of rdar://
11457152
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157269
91177308 -0d34-0410-b5e6-
96231b3b80d8
Manuel Klimek [Tue, 22 May 2012 17:45:33 +0000 (17:45 +0000)]
Fixes the autoconf build.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157266
91177308 -0d34-0410-b5e6-
96231b3b80d8
Nuno Lopes [Tue, 22 May 2012 17:19:45 +0000 (17:19 +0000)]
wire -fbounds-checking to the new LLVM bounds checking pass
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157262
91177308 -0d34-0410-b5e6-
96231b3b80d8
Manuel Klimek [Tue, 22 May 2012 17:01:35 +0000 (17:01 +0000)]
Adds a method overwriteChangedFiles to the Rewriter. This is implemented by
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
Nuno Lopes [Tue, 22 May 2012 15:26:48 +0000 (15:26 +0000)]
revert the usage of the objectsize intrinsic with 3 parameters (to match LLVM r157255)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157256
91177308 -0d34-0410-b5e6-
96231b3b80d8
Simon Atanasyan [Tue, 22 May 2012 11:03:10 +0000 (11:03 +0000)]
Replace inline asm constraint "=a" by the more general constraint "=r".
That extend a range of platforms support this test case.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157247
91177308 -0d34-0410-b5e6-
96231b3b80d8
Richard Smith [Tue, 22 May 2012 01:41:27 +0000 (01:41 +0000)]
Truthify a comment.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157232
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Tue, 22 May 2012 00:54:40 +0000 (00:54 +0000)]
Fix typo.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157229
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Tue, 22 May 2012 00:52:49 +0000 (00:52 +0000)]
Use Perl prototypes instead of shift.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157228
91177308 -0d34-0410-b5e6-
96231b3b80d8
Argyrios Kyrtzidis [Tue, 22 May 2012 00:47:53 +0000 (00:47 +0000)]
[objcmt] Don't add redundant parentheses when migrating subscripting of an ivar.
rdar://
11501256
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157227
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Mon, 21 May 2012 23:29:01 +0000 (23:29 +0000)]
Add basic delta-debugging script used for reducing analyzer crasher test cases.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157219
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Mon, 21 May 2012 22:43:44 +0000 (22:43 +0000)]
objective-c: provide a useful 'fixit' suggestion when
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
Eric Christopher [Mon, 21 May 2012 22:13:23 +0000 (22:13 +0000)]
Revert r115805. An array type is required to have a range type,
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
Anna Zaks [Mon, 21 May 2012 22:07:00 +0000 (22:07 +0000)]
[analyzer] Bind UnknownVal to InitListExpr for unsupported types
(ex: float).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157211
91177308 -0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Mon, 21 May 2012 20:31:27 +0000 (20:31 +0000)]
Function template version of the previous patch.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157207
91177308 -0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Mon, 21 May 2012 20:15:56 +0000 (20:15 +0000)]
Produce a hidden symbol for zed in
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
Argyrios Kyrtzidis [Mon, 21 May 2012 20:11:54 +0000 (20:11 +0000)]
[driver] When creating the compiler invocation out of command-line
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
Benjamin Kramer [Mon, 21 May 2012 19:40:38 +0000 (19:40 +0000)]
Analyzer: Fix PR12905, a crash when encountering a call to a function named "C".
While there clean up indentation.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157204
91177308 -0d34-0410-b5e6-
96231b3b80d8
Argyrios Kyrtzidis [Mon, 21 May 2012 17:48:31 +0000 (17:48 +0000)]
[arcmt] Revert r156999 "Remove the "it is not safe to remove an unused '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
Fariborz Jahanian [Mon, 21 May 2012 17:10:28 +0000 (17:10 +0000)]
Remove unused argument in my last patch.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157194
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Mon, 21 May 2012 17:02:43 +0000 (17:02 +0000)]
objective-c: When default synthesizing readonly IBOutlet properties
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
Rafael Espindola [Mon, 21 May 2012 14:22:37 +0000 (14:22 +0000)]
Test and document a difference from gcc in the handling of visibility
attributes.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157186
91177308 -0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Mon, 21 May 2012 10:42:01 +0000 (10:42 +0000)]
Unpack enums in CodeCompletetionResult.
In theory they should be wide enough even when the enum type is signed, but it
looks like MSVC9 still has problems with it.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157182
91177308 -0d34-0410-b5e6-
96231b3b80d8
Peter Collingbourne [Sun, 20 May 2012 23:28:41 +0000 (23:28 +0000)]
Teach Clang about the NVPTX backend.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157173
91177308 -0d34-0410-b5e6-
96231b3b80d8
Peter Collingbourne [Sun, 20 May 2012 23:28:36 +0000 (23:28 +0000)]
Tell the driver that CUDA is a C++-like language, so that we get C++
header searches with CUDA.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157172
91177308 -0d34-0410-b5e6-
96231b3b80d8
Peter Collingbourne [Sun, 20 May 2012 23:28:32 +0000 (23:28 +0000)]
CUDA: the device and host attributes must be inheritable, in order
to deal with NVIDIA's headers. We'll need to think of another way
to handle multiple host/device definitions within the same TU.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157171
91177308 -0d34-0410-b5e6-
96231b3b80d8
NAKAMURA Takumi [Sun, 20 May 2012 22:28:03 +0000 (22:28 +0000)]
test/Tooling/clang-check-pwd.cpp: Mark as XFAIL:mingw for now. Fixing is work-in-progress.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157170
91177308 -0d34-0410-b5e6-
96231b3b80d8