David Blaikie
d5321247c4
Add a -rewrite-includes option, which is similar to -rewrite-macros, but only expands #include directives.
...
Patch contributed by Lubos Lunak (l.lunax@suse.cz ).
Review by Matt Beaumont-Gay (matthewbg@google.com ).
llvm-svn: 158093
2012-06-06 18:52:13 +00:00
David Blaikie
987bcf9462
Escape \n and \r in doxycomment.
...
llvm-svn: 158091
2012-06-06 18:43:20 +00:00
Manuel Klimek
a98032e4cf
Documents linking requirements for libtooling.
...
llvm-svn: 158088
2012-06-06 17:51:31 +00:00
Benjamin Kramer
d1d76b2da7
Remove unused private member variables found by clang's new -Wunused-private-field.
...
llvm-svn: 158086
2012-06-06 17:32:50 +00:00
Jordan Rose
ccf43ca05c
Add pedantic warning -Wempty-translation-unit (C11 6.9p1).
...
In standard C since C89, a 'translation-unit' is syntactically defined to have
at least one "external-declaration", which is either a decl or a function
definition. In Clang the latter gives us a declaration as well.
The tricky bit about this warning is that our predefines can contain external
declarations (__builtin_va_list and the 128-bit integer types). Therefore our
AST parser now makes sure we have at least one declaration that doesn't come
from the predefines buffer.
Also, remove bogus warning about empty source files. This doesn't catch source
files that only contain comments, and never fired anyway because of our
predefines.
PR12665 and <rdar://problem/9165548>
llvm-svn: 158085
2012-06-06 17:25:21 +00:00
Francois Pichet
b27ea02784
Zap the /Za compiler switch from MSVC projects, the option is considered harmful even by Microsoft people and clang won't build using the MSVC 2012 RC if not removed.
...
Only 1 minor code change was necessary: can't use cdecl as variable name anymore.
llvm-svn: 158063
2012-06-06 12:00:10 +00:00
Daniel Jasper
0baec549a3
Introduce -Wunused-private-field. If enabled, this warning detects
...
unused private fields of classes that are fully defined in the current
translation unit.
llvm-svn: 158054
2012-06-06 08:32:04 +00:00
Ted Kremenek
f470a4c2ca
Disable path pruning for UndefResultChecker. It turns out we usually want to see more of the path
...
to discover how a value was used uninitialized.
llvm-svn: 158048
2012-06-06 06:25:37 +00:00
Douglas Gregor
c65e1598ad
A non-explicit constructor template with a second parameter that is a
...
parameter pack is a converting constructor. Fixes PR13003.
llvm-svn: 158040
2012-06-05 23:44:51 +00:00
Ted Kremenek
54baf2e57d
PlistDiagnostics: force the ranges for control-flow edges to be single locations, forcing
...
adjacent edges to have compatible ranges. This simplifies the layout logic for some clients.
llvm-svn: 158028
2012-06-05 22:00:52 +00:00
Fariborz Jahanian
3da28f80e3
objective-c: merge deprecated/unavailable attributes to
...
the overriding deprecated/unavailable method.
// rdar://11475360
llvm-svn: 158022
2012-06-05 21:14:46 +00:00
Manuel Klimek
ee56b541d8
Fixes the refactoring library test in VS2010.
...
llvm-svn: 158019
2012-06-05 20:16:30 +00:00
Eli Friedman
7919beaaf2
Fix a bug with va_arg and vectors on Darwin x86-32. <rdar://problem/11592208>.
...
llvm-svn: 158017
2012-06-05 19:40:46 +00:00
Eric Christopher
beafa44be8
Reapply "Only emit debug information for methods that are user defined, there's"
...
As the failing testcase has been fixed.
This reverts commit 0637f407e6ee7fdccde17fbf9a5fcc4853187b3e.
llvm-svn: 158009
2012-06-05 18:16:22 +00:00
Richard Smith
b34dc87826
RecursiveASTVisitor: add ability to visit implicit declarations. Patch by
...
James Dennett!
llvm-svn: 158002
2012-06-05 16:18:26 +00:00
Simon Atanasyan
d3d173ddca
Mips: Define __mips_hard_float macro additional to __mips_single_float
...
when single float ABI is selected.
llvm-svn: 157996
2012-06-05 13:06:56 +00:00
John McCall
65485d7694
Revert "Only emit debug information for methods that are user defined, there's"
...
This reverts r157970, which was not passing on
clang-x86_64-darwin10-nobootstrap-RA
llvm-svn: 157983
2012-06-05 06:10:39 +00:00
Eric Christopher
f5dad49a65
Only emit debug information for methods that are user defined, there's
...
not much reason to emit for constructors and destructors that aren't
user defined.
rdar://11593099
llvm-svn: 157970
2012-06-05 00:15:06 +00:00
Jordan Rose
97c6f2b9e5
Teach format string checking about compile-time CFString constants.
...
Within the guts of CheckFormatHandler, the IsObjCLiteral flag was being used in
two ways: to see if null bytes were allowed, and to see if the '%@' specifier
is allowed.* The former usage has been changed to an explicit test and the
latter pushed down to CheckPrintfHandler and renamed ObjCContext, since it
applies to CFStrings as well.
* This also changes how wide chars are interpreted; in OS X Foundation, the
wide character type is 'unichar', a typedef for short, rather than wchar_t.
llvm-svn: 157968
2012-06-04 23:52:23 +00:00
Jordan Rose
614e72bec7
Make suggestions for mismatched enum arguments to printf/scanf.
...
llvm-svn: 157962
2012-06-04 22:49:02 +00:00
Jordan Rose
98709985a6
Teach printf/scanf about enums with fixed underlying types.
...
llvm-svn: 157961
2012-06-04 22:48:57 +00:00
Richard Smith
50fba8f0a9
PR13022: cope with parenthesized function types in MS name mangling.
...
llvm-svn: 157959
2012-06-04 22:46:59 +00:00
Richard Smith
eb3cad53e7
Add a warning for when an array-to-pointer decay is performed on an array
...
temporary or an array subobject of a class temporary, and the resulting value
is used to initialize a pointer which outlives the temporary. Such a pointer
is always left dangling after the initialization completes and the array's
lifetime ends.
In order to detect this situation, this change also adds an
LValueClassification of LV_ArrayTemporary for temporaries of array type which
aren't subobjects of class temporaries. These occur in C++11 T{...} and GNU C++
(T){...} expressions, when T is an array type. Previously we treated the former
as a generic prvalue and the latter as a class temporary.
llvm-svn: 157955
2012-06-04 22:27:30 +00:00
Anna Zaks
06caff46c0
[analyzer] Fixup for r157950. Unbreak the bots.
...
llvm-svn: 157954
2012-06-04 21:59:02 +00:00
Nico Weber
4d2d33f3ba
Document how fixits on errors and warnings must behave.
...
Review and wording tweaks by Richard.
llvm-svn: 157953
2012-06-04 21:56:14 +00:00
Eric Christopher
3f7c44a131
Add a testcase for C++11 union support.
...
llvm-svn: 157952
2012-06-04 21:32:12 +00:00
Argyrios Kyrtzidis
6310fdd982
[objcmt] Don't migrate to subscripting syntax if the required methods have not
...
been declared on NSArray/NSDictionary.
rdar://11581975
llvm-svn: 157951
2012-06-04 21:23:26 +00:00
Anna Zaks
4ff9097fcc
[analyzer] Fix a diagnostics bug which lead to a crash on the buildbot.
...
This bug was triggered by r157851. It only happens in the case where we
don't perform optimal diagnostic pruning.
llvm-svn: 157950
2012-06-04 21:03:31 +00:00
Aaron Ballman
8d4688718b
Fixes some test cases that should have come along with r157943.
...
llvm-svn: 157947
2012-06-04 20:07:46 +00:00
Fariborz Jahanian
22535def43
objective-c: Handle more warning cases for when
...
message receiver is 'weak' property.
// rdar://10225276
llvm-svn: 157946
2012-06-04 19:16:34 +00:00
Alexander Kornienko
8388d24701
Fixed a problem related to resolution of built-in headers in case a path of tool's binary contains sym-links.
...
llvm-svn: 157944
2012-06-04 19:02:59 +00:00
Aaron Ballman
f0b67b6f5c
Removing the lambda extension warning concerning single return statements, as it no longer applies.
...
llvm-svn: 157943
2012-06-04 18:57:41 +00:00
Jordan Rose
4214f605f7
[diagtool] Properly order libraries in Makefile for buildbot.
...
llvm-svn: 157934
2012-06-04 17:21:14 +00:00
Jordan Rose
88bf06584b
Remove AST and Parse from Driver's dependencies.
...
llvm-svn: 157933
2012-06-04 16:57:53 +00:00
Jordan Rose
2fe20dca2a
[diagtool] Re-add show-enabled, minimizing the code pulled in from Frontend.
...
Now correctly builds with both GNU make and CMake.
llvm-svn: 157932
2012-06-04 16:57:50 +00:00
Evgeniy Stepanov
ea155f0153
Require -pie when linking with ASan on Android.
...
llvm-svn: 157923
2012-06-04 11:15:05 +00:00
Hans Wennborg
96fe81069b
Test the '__thread' before 'static' warning.
...
Also fix the '__thread' before 'extern' case.
llvm-svn: 157921
2012-06-04 10:19:34 +00:00
Craig Topper
2b1eda344a
Add fma3 intrinsic header file.
...
llvm-svn: 157913
2012-06-04 03:42:47 +00:00
Douglas Gregor
5bee25884b
When adding built-in operator candidates for overload resolution
...
involving 'restrict', place restrict on the pointer type rather than
on the pointee type. Also make sure that we gather restrict from the
pointer type. Fixes PR12854 and the major part of PR11093.
llvm-svn: 157910
2012-06-04 00:15:09 +00:00
Craig Topper
12c9df3a9d
Make disabling SSE levels also disable AVX and FMA.
...
llvm-svn: 157907
2012-06-03 22:23:42 +00:00
Craig Topper
1e9e01fabf
Make AES and PCLMUL features imply SSE2 as that's needed to get the right types defined.
...
llvm-svn: 157906
2012-06-03 21:56:22 +00:00
Craig Topper
b644c97fb4
Add __POPCNT__ to test cases for corei7 and corei7-avx
...
llvm-svn: 157905
2012-06-03 21:49:41 +00:00
Craig Topper
bba778bfd5
Add fma feature flag for Intel FMA instructions.
...
llvm-svn: 157904
2012-06-03 21:46:30 +00:00
Benjamin Kramer
4efdcced7a
Upgrade test for the fma4->fma intrinsic change.
...
llvm-svn: 157900
2012-06-03 10:12:04 +00:00
Nico Weber
cdfb1ae7f7
Improve fixit for comparison operator on lhs of bitwise operator.
...
Before:
test.cc:2:18: note: place parentheses around the == expression to silence this warning
if (0 == flags & 0xdd)
^
( )
Now:
test.cc:2:18: note: place parentheses around the == expression to silence this warning
if (0 == flags & 0xdd)
^
( )
llvm-svn: 157897
2012-06-03 07:07:00 +00:00
Argyrios Kyrtzidis
ea173ffe42
Follow-up on the test of r157892
...
llvm-svn: 157893
2012-06-02 18:20:16 +00:00
Argyrios Kyrtzidis
3c9aaf1ab8
Initialize the non-target-dependent fields of the Preprocessor in its constructor
...
so we can destroy it even if it was constructed with "DelayInitialization = true",
and we didn't end up calling Preprocessor::Initialize.
Fixes crashes in rdar://11558355
llvm-svn: 157892
2012-06-02 18:08:09 +00:00
NAKAMURA Takumi
5c76f83106
Revert r157819, "#ifdef out a broken test on win32"
...
FYI, LLVM_ON_WIN32 is useless.
llvm-svn: 157890
2012-06-02 15:34:26 +00:00
NAKAMURA Takumi
4de31654bb
ToolInvocation::mapVirtualFile(): Tweak for Win32. Handle the key as native path.
...
llvm-svn: 157889
2012-06-02 15:34:21 +00:00
Simon Atanasyan
590ad8f515
MIPS: Factor out code selects the float ABI as determined by -msoft-float,
...
-mhard-float, and -mfloat-abi= to the new function getMipsFloatABI. That
simplifies reuse of this code.
llvm-svn: 157888
2012-06-02 15:06:29 +00:00