Richard Smith
f89e2e2583
PR14049: Don't say "expanded from macro 'foo'" when 'foo' just happens to be
...
the LHS of a token paste. Use "expanded from here" instead when we're not sure
it's actually a macro.
llvm-svn: 169373
2012-12-05 11:04:55 +00:00
Eli Friedman
fe9d110f3a
Try to make the source location information for token pastes a bit more consistent.
...
Fixes a crash printing diagnostics on the gcc testsuite, and also makes
diagnostic range printing print nicer results for token pastes.
llvm-svn: 169068
2012-12-01 01:15:54 +00:00
Eli Friedman
dea98de3fb
Fix the computation of highlight ranges so we produce something sane when
...
the beginning and end of the range are in different macro arguments.
PR14399.
llvm-svn: 168984
2012-11-30 06:19:40 +00:00
Daniel Dunbar
db0745ab86
Frontend: Create a virtual file for named pipe inputs.
...
- This ensures we see the right buffer size for the file.
llvm-svn: 168636
2012-11-27 00:04:16 +00:00
Benjamin Kramer
3d3ddcec70
SemaCXX: an enumeral type can be of character or boolean type in a C++11 enum class. Make sure we create a literal of the right type.
...
Fixes PR14386.
llvm-svn: 168441
2012-11-21 17:42:47 +00:00
Daniel Dunbar
c61fae4205
tests: Mark the /dev/fd test as requiring Darwin until I can test on other OSes.
...
llvm-svn: 168095
2012-11-15 21:31:13 +00:00
Daniel Dunbar
d9cb0ba660
tests: Check that we can output to /dev/fd filesystem.
...
- An LLVM unique_file() bug could cause us to infinite loop on the later test
case.
llvm-svn: 168082
2012-11-15 20:24:58 +00:00
Daniel Dunbar
523855929b
tests: Add a test for reading from named pipes.
...
- Realized I could use the /dev/fd filesystem to make a simple portable test.
llvm-svn: 168079
2012-11-15 20:06:10 +00:00
Eli Friedman
c2c982c78b
Make template diffing handle integral expressions of various widths correctly.
...
PR14342.
llvm-svn: 168005
2012-11-14 23:57:08 +00:00
Richard Smith
0b50cb79ad
Add -cc1 option -fno-diagnostics-use-presumed-location, a handy mode for
...
working with preprocessed testcases. This causes source locations in
diagnostics to point at the spelling location instead of the presumed location,
while still keeping the semantic effects of the line directives (entering and
leaving system-header mode, primarily).
llvm-svn: 168004
2012-11-14 23:55:25 +00:00
Benjamin Kramer
7d574e269d
LiteralSupport: Don't overflow the temporary buffer when decoding invalid string parts.
...
Instead just use a dummy buffer, we're not going to use the decoded string anyways.
Fixes PR14292.
llvm-svn: 167594
2012-11-08 19:22:31 +00:00
Ted Kremenek
514fc6fa0f
Add -Wmismatched-return-types flag for existing warning on conflicting return types.
...
llvm-svn: 167518
2012-11-07 01:43:44 +00:00
Ted Kremenek
c6d8efd041
Add -Wmismatched-parameter-types flag for existing warning on conflicting parameter types.
...
llvm-svn: 167515
2012-11-07 01:25:56 +00:00
Manuel Klimek
874030e684
Create helper functions in StmtDumper for outputting the indentation, newlines, and brackets.
...
This is preparation for adding Decl dumping.
Patch by Philip Craig.
llvm-svn: 167509
2012-11-07 00:33:12 +00:00
Seth Cantrell
40f87b1d53
only truncate source lines in text diagnostics when
...
the ellipsis is shorter than the text it replaces
llvm-svn: 167364
2012-11-03 23:56:43 +00:00
Seth Cantrell
d38c708dc1
fix bug in SourceColumnMap::startOfPreviousColumn
...
llvm-svn: 167360
2012-11-03 21:21:14 +00:00
Eli Friedman
34ff0ea522
Add a proper algorithm to compute accurate source ranges for diagnostics with
...
caret locations and source ranges in macros. Makes ranges more accurate
in some cases, and fixes an assertion failure.
Fixes <rdar://problem/12472249>.
llvm-svn: 167353
2012-11-03 03:36:51 +00:00
Eli Friedman
960755bafd
Add missing diagnostic group to format string warning.
...
llvm-svn: 167279
2012-11-02 02:14:44 +00:00
Eli Friedman
8f88f06dd2
Tweak wording and add diagnostic groups to misc diagnostics.
...
llvm-svn: 167274
2012-11-02 01:40:23 +00:00
Richard Trieu
6df8945f04
Fix the template type diffing to handle integral template arguments.
...
llvm-svn: 167252
2012-11-01 21:29:28 +00:00
Seth Cantrell
d7beb4a10a
add test for r167063
...
llvm-svn: 167089
2012-10-31 01:03:35 +00:00
Rafael Espindola
74c5fd93b9
Remove ccc-no-clang-cpp, which is also dead now.
...
llvm-svn: 167062
2012-10-30 23:49:11 +00:00
David Blaikie
a0613170b4
Handle string encoding diagnostics when there are too many invalid ranges.
...
llvm-svn: 167059
2012-10-30 23:22:22 +00:00
Rafael Espindola
84619411eb
In the past "production" clang builds would not be used for c++, and
...
we had the -ccc-clang-cxx and -ccc-no-clang-cxx options to force them
on or off for testing.
Clang c++ support is now production quality and these options are dead.
llvm-svn: 166986
2012-10-30 00:13:16 +00:00
Seth Cantrell
4cfc817a9a
improve highlighting of invalid string encodings
...
limit highlight to exactly the bad encoding, and highlight every
bad encoding in a string.
llvm-svn: 166900
2012-10-28 18:24:46 +00:00
Daniel Dunbar
197157613c
tests: Tweak unprintable.c to try another character which is hopefully even more
...
unprintable.
llvm-svn: 166798
2012-10-26 19:15:56 +00:00
Douglas Gregor
79ae600e8f
Update warning-flag test
...
llvm-svn: 166656
2012-10-25 00:34:38 +00:00
Bill Wendling
d75987dde9
Revert r166647 to rethink the patch...
...
llvm-svn: 166655
2012-10-25 00:32:44 +00:00
Bill Wendling
753c8782df
Add some support for diagnosing possibly mismatched constraint, type size and
...
modifiers. (From an idea by Eric...)
<rdar://problem/12284092>
llvm-svn: 166647
2012-10-25 00:05:55 +00:00
Andy Gibbs
c6e68daac0
Prior to adding the new "expected-no-diagnostics" directive to VerifyDiagnosticConsumer, make the necessary adjustment to 580 test-cases which will henceforth require this new directive.
...
llvm-svn: 166280
2012-10-19 12:44:48 +00:00
Fariborz Jahanian
3ce7e04a53
Adds couple of missing warning flags so warnings can be turned
...
off. // rdar://12501960
llvm-svn: 166150
2012-10-17 23:19:22 +00:00
David Blaikie
5fa05fc438
Make -Wshift-op-parentheses a subgroup of -Wparentheses
...
llvm-svn: 165653
2012-10-10 20:30:36 +00:00
Rafael Espindola
fc3fc0c936
The clang driver has a fairly fancy support for executing gcc instead of
...
clang itself. This dates back to clang's early days and while it looks like
some of it is still used (for kext for example), other parts are probably dead.
Remove the -ccc-clang-archs option and associated code. I don't think there
is any remaining setup where clang doesn't support an architecture but it can
expect an working gcc cross compiler to be available.
A nice side effect is that tests no longer need to differentiate architectures
that are included in production builds of clang and those that are not.
llvm-svn: 165545
2012-10-09 20:46:28 +00:00
Ted Kremenek
40a69600af
Add regression test to check if -Wenum-conversion is a subgroup of -Wconversion.
...
llvm-svn: 165459
2012-10-08 23:45:09 +00:00
Eli Friedman
68be1649ee
Permanently end the whole "pragma got handled by the parser too early"
...
mess by handling all pragmas which the parser touches uniformly.
<rdar://problem/12248901>, etc.
llvm-svn: 165195
2012-10-04 02:36:51 +00:00
Richard Trieu
b7243855d9
Update template type diffing to handle qualifiers. Differing qualifiers will
...
now be printed with highlighting.
llvm-svn: 164843
2012-09-28 20:32:51 +00:00
Richard Smith
6e0605d654
Teach Type::getAs<TemplateSpecializationType> that a TemplateSpecializationType
...
for a type alias template can appear as sugar at any level of desugaring, just
like a TypedefType.
llvm-svn: 164655
2012-09-26 02:18:13 +00:00
Richard Smith
b6d516e7bd
PR13881: Add -Wzero-length-array for zero length array extension, and move it into -Wgnu.
...
llvm-svn: 164272
2012-09-20 01:02:05 +00:00
Douglas Gregor
43bc036e8a
Promote the warning about extra qualification on a declaration from a
...
warning to an error. C++ bans it, and both GCC and EDG diagnose it as
an error. Microsoft allows it, so we still warn in Microsoft
mode. Fixes <rdar://problem/11135644>.
llvm-svn: 163831
2012-09-13 20:16:20 +00:00
Richard Smith
659d38bcd5
Use a "better" unicode character, to avoid buildbot breakage on bots which can print some unicode characters.
...
llvm-svn: 163825
2012-09-13 19:10:51 +00:00
Richard Smith
fab4b1a40c
Make TextDiagnostic more robust against SourceLocations which point into the
...
middle of UTF-8 characters, and avoid walking to such positions when adjusting
column ranges for display. Fixes a couple of hangs when rendering diagnostics.
llvm-svn: 163820
2012-09-13 18:37:50 +00:00
Richard Smith
639b8d05dd
When a bad UTF-8 encoding or bogus escape sequence is encountered in a
...
string literal, produce a diagnostic pointing at the erroneous character
range, not at the start of the literal.
llvm-svn: 163459
2012-09-08 07:16:20 +00:00
Aaron Ballman
3731b33009
Splitting the duplicated decl spec extension warning into two: one is an ExtWarn and the other a vanilla warning. This addresses PR13705, where const char const * wouldn't warn unless -pedantic was specified under the right conditions.
...
llvm-svn: 162793
2012-08-28 20:55:40 +00:00
Ted Kremenek
5d858cb916
Fix horrible regression in control of warnings caused by introduction of -Wpedantic.
...
While -Wpedantic was reasonable, -Wno-pedantic would turn off a bunch of warnings that
are on by default. This counters the intention of this warning flag.
To fix this, -Wpedantic now includes extentions that are not on by default. The
remaining warnings will manifest anyway, and won't accidentally get turned off
by -Wno-pedantic.
Fixes <rdar://problem/12076105>
llvm-svn: 161695
2012-08-10 20:50:00 +00:00
Richard Smith
403f76ee02
PR13529: Don't crash if the driver sees an unused input file when running as
...
'clang-cpp'.
For now, the test uses "REQUIRES: shell" to determine if the host system
supports "ln -s", which it uses to create a 'clang-cpp' symlink. This is a bit
hacky and should likely be directly supported by lit.cfg.
llvm-svn: 161317
2012-08-06 04:09:06 +00:00
Ted Kremenek
2b619662ee
Promote warn_unknown_analyzer_checker to an error. Addresses <rdar://problem/10987863>.
...
llvm-svn: 160706
2012-07-25 07:12:13 +00:00
Richard Smith
87f5dc53b2
Add diagnostics for comma at end of enum and for extra semicolon at namespace
...
scope to -Wc++11-extensions. Move extra semicolon after member function
definition diagnostic out of -pedantic, since C++ allows a single semicolon
there. Keep it in -Wextra-semi, though, since it's still questionable.
llvm-svn: 160618
2012-07-23 05:45:25 +00:00
Tanya Lattner
72db6d04e1
Move a bunch of the attribute warnings under the IgnoreAttributes group. Cleaned up test case.
...
llvm-svn: 160190
2012-07-13 20:45:35 +00:00
NAKAMURA Takumi
b59973e6cd
clang/test/Misc/diag-template-diffing-color.cpp: Introduce the feature 'ansi-escape-sequences'.
...
llvm-svn: 160043
2012-07-11 11:44:00 +00:00
Tanya Lattner
724eaea271
TEMPORARY. I will fix this properly shortly.
...
Silence buildbot so I can figure out the right flag to put this warning under.
llvm-svn: 159967
2012-07-09 23:01:07 +00:00