Peter Collingbourne
adcf7c9203
TCE target: conversion of OpenCL reqd_work_group_size attr to metadata
...
Patch by Pekka Jääskeläinen!
llvm-svn: 141865
2011-10-13 16:24:41 +00:00
Erik Verbruggen
ca98f2a63f
Allow for annotate attributes after access specifiers. When such
...
attributes are found, propagate them to subsequent declarations.
llvm-svn: 141861
2011-10-13 09:41:32 +00:00
David Blaikie
eba32c2229
Fix crash-on-invalid, improve error recovery, and test coverage for missing colon after access specifiers in C++
...
llvm-svn: 141852
2011-10-13 06:08:43 +00:00
Rafael Espindola
697280fd89
Fix MSVC build.
...
llvm-svn: 141837
2011-10-12 23:56:54 +00:00
Douglas Gregor
ebcfbb5d22
When we determine that a function template specialization produced as
...
part of template argument deduction is ill-formed, we mark it as
invalid and treat it as a deduction failure. If we happen to find that
specialization again, treat it as a deduction failure rather than
silently building a call to the declaration.
Fixes PR11117, a marvelous bug where deduction failed after creating
an invalid specialization, causing overload resolution to pick a
different candidate. Then we performed a similar overload resolution
later, and happily picked the invalid specialization to
call... resulting in a silent link failure.
llvm-svn: 141809
2011-10-12 20:35:48 +00:00
Ted Kremenek
c85a47724d
Add test case for __has_warning.
...
llvm-svn: 141806
2011-10-12 20:06:09 +00:00
Bob Wilson
73a4deb33d
Change __extension__ to disable only diagnostics controlled by -pedantic.
...
This changes clang to match GCC's behavior for __extension__, which temporarily
disables the -pedantic flag. Warnings that are enabled without -pedantic
are not affected. Besides the general goodness of matching GCC's precedent,
my motivation for this is that macros in the arm_neon.h header need to use
__extension__ to avoid pedantic complaints about their use of statement
expressions, yet we still want to warn about incompatible pointer arguments
for those macros.
llvm-svn: 141804
2011-10-12 19:55:31 +00:00
Rafael Espindola
2d21ab024e
Add returns_twice to functions that are known to return twice. This implements
...
the same behavior of gcc by keeping the attribute out of the function type.
llvm-svn: 141803
2011-10-12 19:51:18 +00:00
Ted Kremenek
a35d67dfd9
Implement built-in macro '__has_warning', which allows one to query if a warning flag is valid. Fixes <rdar://problem/10263428>.
...
llvm-svn: 141802
2011-10-12 19:46:30 +00:00
Douglas Gregor
205d044552
Switch diagnostic text from "C++0x" over to "C++11".
...
We'd also like for "C++11" or "c++11" to be used for the warning
groups, but without removing the old warning flags. Patches welcome;
I've run out of time to work on this today.
llvm-svn: 141801
2011-10-12 19:26:40 +00:00
Douglas Gregor
227c352bae
We do parse hexfloats in C++11; make it actually work.
...
llvm-svn: 141798
2011-10-12 18:51:02 +00:00
Eric Christopher
93663b3c62
Revert file/scope handling patches. gdb testing revealed a couple of bugs.
...
llvm-svn: 141796
2011-10-12 18:39:35 +00:00
Douglas Gregor
3d68aa838b
The Objective-C rewriter uses the fragile ABI, always.
...
llvm-svn: 141795
2011-10-12 18:28:53 +00:00
Ted Kremenek
6effcb5082
Fix typo in name of diagnostic.
...
llvm-svn: 141793
2011-10-12 18:03:37 +00:00
Argyrios Kyrtzidis
f37d0a61c0
Handle the case where preprocessor entities are not received in order,
...
fixes http://llvm.org/PR11120
llvm-svn: 141788
2011-10-12 17:36:33 +00:00
Douglas Gregor
a5542112d7
Add -std=c++11 and -std=gnu++11 language flags, from Ahmed Charles
...
llvm-svn: 141785
2011-10-12 17:32:39 +00:00
Douglas Gregor
e7a8e3b612
Introduce BalancedDelimiterTracker, to better track open/close
...
delimiter pairs and detect when we exceed the implementation limit for
nesting depth, from Aaron Ballman!
llvm-svn: 141782
2011-10-12 16:37:45 +00:00
Douglas Gregor
6a0e23ff8b
Teach __has_nothrow_assign not to complain about access (GCC and EDG
...
ignore access entirely for it) and not to crash on assignment operator
templates. Fixes PR11110.
llvm-svn: 141777
2011-10-12 15:40:49 +00:00
Jim Goodnow II
5a793d3762
Removed extra line in comment.
...
llvm-svn: 141773
2011-10-12 09:55:01 +00:00
Anton Korobeynikov
804dd056b3
Add target info for Linux on PPC & Sparc.
...
Patch by Hal Finkel!
llvm-svn: 141772
2011-10-12 09:30:58 +00:00
Argyrios Kyrtzidis
7f6b029c4e
Introduce SourceManager::getFileLoc which returns a file location
...
taking into account macro arguments.
llvm-svn: 141771
2011-10-12 07:07:40 +00:00
Argyrios Kyrtzidis
e454986617
[libclang] Allow using getDeclCursorUSR function with a Decl* and not a cursor.
...
llvm-svn: 141770
2011-10-12 07:07:36 +00:00
Argyrios Kyrtzidis
769c7bcd9a
[libclang] Make MakeCXTranslationUnit usable outside CIndex.cpp.
...
llvm-svn: 141769
2011-10-12 07:07:33 +00:00
Richard Smith
fd53aaf7e7
constexpr: don't consider class types with mutable members to be literal types.
...
The standard doesn't allow this, but mutable constexpr variables break the
semantics so badly that we can't reasonably accept them.
llvm-svn: 141768
2011-10-12 05:08:15 +00:00
Eric Christopher
663b7f353e
Remember to set the location in EmitGlobalVariable to the current decl
...
if we're going to delete the setLocation as we did in 141732.
llvm-svn: 141762
2011-10-12 01:11:30 +00:00
Richard Smith
a9e33d44a6
Handle Perforce-style conflict markers like normal conflict markers. Perforce
...
swaps over the <<<< and >>>> markers, and uses shorter markers than traditional
tools.
llvm-svn: 141751
2011-10-12 00:37:51 +00:00
Fariborz Jahanian
fa643c8f3b
objc: note location of the previously declared
...
property in the diagnostic.
llvm-svn: 141745
2011-10-12 00:00:57 +00:00
John McCall
50a2c2c19d
Catch placeholder types in DefaultLvalueConversion
...
and DefaultFunctionArrayLvalueConversion. To prevent
significant regression for should-this-be-a-call fixits,
and to repair some such regression from the introduction of
bound member placeholders, make those placeholder checks
try to build calls appropriately. Harden the build-a-call
logic while we're at it.
llvm-svn: 141738
2011-10-11 23:14:30 +00:00
Fariborz Jahanian
ff4d5e4c20
objc rewriter: Restore objc_msgSend_stret/objc_msgSendSuper_stret declaration
...
to their fragile-abi representation.
llvm-svn: 141735
2011-10-11 23:02:37 +00:00
Eric Christopher
498b7fd7fe
Start handling debug line and scope information better:
...
Migrate most of the location setting within the larger API in CGDebugInfo and
update a lot of callers.
Remove the existing file/scope change machinery in UpdateLineDirectiveRegion
and replace it with DILexicalBlockFile usage.
Finishes off the rest of rdar://10246360
llvm-svn: 141732
2011-10-11 23:00:55 +00:00
Eric Christopher
fefafacf68
80-column and tab cleanup.
...
llvm-svn: 141731
2011-10-11 23:00:51 +00:00
Eric Christopher
fb4cd4082c
Reorder this to make it easier to add more changes for a location set.
...
llvm-svn: 141730
2011-10-11 23:00:45 +00:00
Eli Friedman
94ab9308d7
PR11062: Make C99 inlining work properly for names with associated builtin libcalls.
...
llvm-svn: 141723
2011-10-11 22:09:24 +00:00
Richard Smith
7ab47734a2
Fix test: don't use __thread without a target triple.
...
llvm-svn: 141719
2011-10-11 21:51:31 +00:00
Richard Smith
4ce706afc4
Constant expression evaluation: refactor value initialization and scalar list initialization into base class.
...
llvm-svn: 141717
2011-10-11 21:43:33 +00:00
Eli Friedman
c2025567f5
Silence some -Wuninitialized false positives with gcc.
...
llvm-svn: 141701
2011-10-11 20:00:47 +00:00
Richard Smith
4dd85d6fa1
Add a -Wc++0x-compat warning for C++11 keywords used as identifiers when in
...
C++98 mode. Only the first occurrence of each keyword will produce a warning.
llvm-svn: 141700
2011-10-11 19:57:52 +00:00
Douglas Gregor
9d7c1a2a18
Add support for viewing the module graph via Graphviz, for debugging
...
purposes.
llvm-svn: 141697
2011-10-11 19:27:55 +00:00
Daniel Dunbar
0f41eee2a0
Driver: Add support for a new -nostdlibinc option.
...
- This disables the system include directories, but not the compiler builtin
directories. Useful for projects that want to use things like the intrinsic
headers, but are otherwise freestanding.
- I'm willing to reconsider the option naming, I also considered providing an
explicit -builtinc (which would match -nobuiltininc), but this is more
consistent with existing options.
llvm-svn: 141692
2011-10-11 18:20:16 +00:00
Daniel Dunbar
b25bfde52d
Frontend: Replace -nostdinc by -nostdsysteminc (which is just system include
...
paths). The -nostdinc behavior is now -nostdsysteminc + -nobuiltininc.
llvm-svn: 141691
2011-10-11 18:20:10 +00:00
Anna Zaks
fc2b79029c
[analyzer] Remove an unused member variable.
...
llvm-svn: 141690
2011-10-11 18:19:20 +00:00
John McCall
3cec19f925
Rename SemaCXXCast.cpp to SemaCast.cpp.
...
llvm-svn: 141686
2011-10-11 17:38:55 +00:00
Richard Smith
8128549684
Add more testing for -Wc++0x-compat warnings.
...
llvm-svn: 141685
2011-10-11 17:38:48 +00:00
Anna Zaks
8c57c4ba27
[analyzer] CheckerContext updates checkDst in it's destructor, so make sure the object is destructed before checkDst is used.
...
llvm-svn: 141683
2011-10-11 17:29:59 +00:00
Argyrios Kyrtzidis
7a70d2f11b
For the FileChanged Preprocessor callback, when exiting a file, pass its FileID.
...
llvm-svn: 141681
2011-10-11 17:29:44 +00:00
Kaelyn Uhrain
ad018f10bc
Add an explanatory comment to test/SemaCXX/typo-correction.cpp
...
llvm-svn: 141680
2011-10-11 17:17:40 +00:00
Anna Zaks
cc92521066
[analyzer] Fix a typo.
...
llvm-svn: 141678
2011-10-11 16:49:54 +00:00
Alexis Hunt
77c1f9f888
Get rid of ShouldDeleteMoveConstructor.
...
llvm-svn: 141650
2011-10-11 06:43:29 +00:00
Alexis Hunt
1bc6f71ebc
Consolidate copy constructor deletion into ShouldDeleteSpecialMember.
...
llvm-svn: 141645
2011-10-11 04:55:36 +00:00
Anna Zaks
fedf5dfc71
[analyzer] Warn about the use of insecure, deprecated vfork() function PR11053 ( http://llvm.org/bugs/show_bug.cgi?id=11053 ).
...
A patch by Graham Lee!
llvm-svn: 141643
2011-10-11 04:34:54 +00:00