| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
| |
will be represented in the IR as a plain "i32" type. This causes the
tests to spuriously fail on platforms where int is not a 32-bit type,
or where the ABI requires attributes like "signext" or "zeroext" to
be used.
This patch adds -triple or -target parameters to force those tests
to use the i386-unknown-unknown target.
llvm-svn: 166551
|
|
|
|
|
|
|
|
|
|
| |
"expected-*" directive. As a result, for test-cases that are not expected to generate any diagnostics, an additional directive "expected-no-diagnostics" has been implemented which can then be included in such test-cases. This new directive may not be used in conjunction with any other "expected-*" directive.
This change was initially proposed as a solution to the problem highlighted by check-in r164677, i.e. that -verify will not cause a test-case failure where the compile command does not actually reference the file.
Patch reviewed by David Blaikie.
llvm-svn: 166281
|
|
|
|
|
|
| |
VerifyDiagnosticConsumer, make the necessary adjustment to 580 test-cases which will henceforth require this new directive.
llvm-svn: 166280
|
|
|
|
|
|
|
|
| |
"expected" is at the start of the word and will no longer accept typos such as "junkexpected-*" as a valid "expected-*" directive. A very few test-cases had to be amended to adhere to the new rule.
Patch reviewed by David Blaikie.
llvm-svn: 166279
|
|
|
|
| |
llvm-svn: 164607
|
|
|
|
|
|
| |
expression expanded from a macro. This is of dubious utility in general, but is specifically a major issue for the linux kernel. This resolves PR13747.
llvm-svn: 163034
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The old behavior was to re-scan any files (like modules) where we may have
directives but won't actually be parsing during the -verify invocation.
Now, we keep the old behavior in Debug builds as a sanity check (though
modules are a known entity), and expect all legitimate directives to come
from comments seen by the preprocessor.
This also affects the ARC migration tool, which captures diagnostics in
order to filter some out. This change adds an explicit cleanup to
CaptureDiagnosticsConsumer in order to let its sub-consumer handle the
real end of diagnostics.
This was originally split into four patches, but the tests do not run
cleanly without all four, so I've combined them into one commit.
Patches by Andy Gibbs, with slight modifications from me.
llvm-svn: 161650
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is accomplished by making VerifyDiagnosticsConsumer a CommentHandler,
which then only reads the -verify directives that are actually in live
blocks of code. It also makes it simpler to handle -verify directives that
appear in header files, though we still have to manually reparse some files
depending on how they are generated.
This requires some test changes. In particular, all PCH tests now have their
-verify directives outside the "header" portion of the file, using the @line
syntax added in r159978. Other tests have been modified mostly to make it
clear what is being tested, and to prevent polluting the expected output with
the directives themselves.
Patch by Andy Gibbs! (with slight modifications)
The new Frontend/verify-* tests exercise the functionality of this commit,
as well as r159978, r159979, and r160053 (Andy's other -verify enhancements).
llvm-svn: 160068
|
|
|
|
|
|
| |
Review feedback/bot failure from r158459 by Simon Atanasyan and Benjamin Kramer (on IRC).
llvm-svn: 158464
|
|
|
|
| |
llvm-svn: 158459
|
|
|
|
| |
llvm-svn: 158458
|
|
|
|
|
|
|
|
|
|
| |
override whether headers are system headers by checking for prefixes of the
header name specified in the #include directive.
This allows warnings to be disabled for third-party code which is found in
specific subdirectories of include paths.
llvm-svn: 158418
|
|
|
|
| |
llvm-svn: 158149
|
|
|
|
|
|
|
|
|
| |
only expands #include directives.
Patch contributed by Lubos Lunak (l.lunax@suse.cz).
Review by Matt Beaumont-Gay (matthewbg@google.com).
llvm-svn: 158093
|
|
|
|
|
|
|
| |
% is a common character in IR so we'd crash on almost any malformed IR. The
diagnostic formatter expects a formatting directive when it sees an unescaped %.
llvm-svn: 152956
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This option was added in r129614 and doesn't have any use case that I'm aware
of. It's possible that external tools are using these names - and if that's
the case we can certainly reassess the functionality, but for now it lets us
shave out a few unneeded bits from clang.
Move the "StaticDiagNameIndex" table into the only remaining consumer, diagtool.
This removes the actual diagnostic name strings from clang entirely.
Reviewed by Chris Lattner & Ted Kremenek.
llvm-svn: 150612
|
|
|
|
| |
llvm-svn: 149566
|
|
|
|
| |
llvm-svn: 149123
|
|
|
|
| |
llvm-svn: 148582
|
|
|
|
| |
llvm-svn: 148141
|
|
|
|
| |
llvm-svn: 148138
|
|
|
|
| |
llvm-svn: 144887
|
|
|
|
| |
llvm-svn: 142418
|
|
|
|
|
|
|
|
| |
the command line options (at least according to GCC's documentation). GCC 4.2
didn't appear to actually do this, but it seems like that has been fixed in
later release, so we will follow the docs.
llvm-svn: 141119
|
|
|
|
|
|
|
|
| |
be straighter line code, use the new DiagnosticMappingInfo flags, and eliminate the odd MAP_WARNING_NO_WERROR and friend mappings.
- This fixes a host of obscure bugs with regards to how warning mapping options composed with one another, and I believe makes the code substantially easier to read and reason about.
llvm-svn: 140770
|
|
|
|
| |
llvm-svn: 140764
|
|
|
|
|
|
|
|
| |
TextDiagnosticPrinter to use that instead of extracting the current mapping via getDiagnosticLevel, which fixes one class of corner cases w.r.t. printing the "-Werror" diagnostic option marker.
- The TextDiagnosticPrinter code is still fragile as it is just "reverse engineering" what the diagnostic engine is doing. Not my current priority to fix though.
llvm-svn: 140752
|
|
|
|
|
|
|
|
| |
PR10331. to appease mingw-target (and non-mingw-host) builds.
PR10331 is still alive I suppose.
llvm-svn: 134931
|
|
|
|
| |
llvm-svn: 134898
|
|
|
|
|
|
|
|
| |
including fixing a nasty recent regression that could make us print "/foo.h" with a command-line including "-I ./".
rdar://problem/9734352
llvm-svn: 134728
|
|
|
|
|
|
|
| |
-undef flag is passed in. Also __ASSEMBLER__ with -x assembler-with-cpp. (Don't
ask.)
llvm-svn: 132708
|
|
|
|
| |
llvm-svn: 132623
|
|
|
|
| |
llvm-svn: 131396
|
|
|
|
|
|
| |
Monrocq
llvm-svn: 129614
|
|
|
|
|
|
| |
and output file is not writable. // rdar://9286457.
llvm-svn: 129587
|
|
|
|
|
|
|
|
| |
with shell.
The feature "shell" is implemented in llvm/test.
llvm-svn: 126646
|
|
|
|
|
|
| |
characters get dropped into the regular expression from %t.
llvm-svn: 126361
|
|
|
|
|
|
|
|
|
|
|
|
| |
to create it. Lit doesn't apparently clean up test directories
effectively, and so this broke randomly on subsequent runs.
Also XFAIL the test on windows, as there's not much hope for these
commands doing the right thing there.
Paired with Nick Lewycky.
llvm-svn: 126344
|
|
|
|
| |
llvm-svn: 126334
|
|
|
|
|
|
|
| |
- I didn't implement the GCC "multiple include guard" detection parts, because
it doesn't seem useful or obvious.
llvm-svn: 111983
|
|
|
|
| |
llvm-svn: 110544
|
|
|
|
|
|
| |
Fixes PR4897.
llvm-svn: 110440
|
|
|
|
|
|
| |
assume we are targetting OS X unless an explicit option is given.
llvm-svn: 108426
|
|
|
|
| |
llvm-svn: 106144
|
|
|
|
| |
llvm-svn: 106026
|
|
|
|
| |
llvm-svn: 105830
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- This magically enables using 'clang -cc1' as a replacement for most of 'llvm-as', 'llvm-dis', 'llc' and 'opt' functionality.
For example, 'llvm-as' is:
$ clang -cc1 -emit-llvm-bc FOO.ll -o FOO.bc
and 'llvm-dis' is:
$ clang -cc1 -emit-llvm FOO.bc -o -
and 'opt' is, e.g.:
$ clang -cc1 -emit-llvm -O3 -o FOO.opt.ll FOO.ll
and 'llc' is, e.g.:
$ clang -cc1 -S -o - FOO.ll
The nice thing about using the backend tools this way is that they are guaranteed to exactly match how the compiler generates code (for example, setting the same backend options).
llvm-svn: 105583
|
|
|
|
| |
llvm-svn: 93088
|
|
|
|
|
|
|
| |
clang ' or ' clang -cc1 ' or ' clang-cc ' in test lines (by substituting them to
garbage).
llvm-svn: 91460
|
|
|
|
|
|
|
|
|
| |
- This is designed to make it obvious that %clang_cc1 is a "test variable"
which is substituted. It is '%clang_cc1' instead of '%clang -cc1' because it
can be useful to redefine what gets run as 'clang -cc1' (for example, to set
a default target).
llvm-svn: 91446
|