| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
Patch by Hal Finkel!
llvm-svn: 141772
|
|
|
|
|
|
| |
taking into account macro arguments.
llvm-svn: 141771
|
|
|
|
|
|
| |
C++98 mode. Only the first occurrence of each keyword will produce a warning.
llvm-svn: 141700
|
|
|
|
| |
llvm-svn: 141638
|
|
|
|
| |
llvm-svn: 141617
|
|
|
|
|
|
| |
alignment parameter "S<size>" that was introduced in r141599.
llvm-svn: 141601
|
|
|
|
| |
llvm-svn: 141390
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
because of invalid passed parameter.
rdar://10210140
llvm-svn: 141048
|
|
|
|
| |
llvm-svn: 141008
|
|
|
|
|
|
| |
is done, and add a note that the new setDiagnosticGroup{...} methods only operate on the current diagnostic state.
llvm-svn: 140771
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
"no-warning-as-error", "no-error-as-fatal", and "show-in-system-header", and update DiagnosticsEngine::setDiagnosticGroup{WarningAsError,ErrorAsFatal} and GetDefaultDiagMappingInfo to set them appropriately.
- No actual functionality change for now, we still also use the diag::Mapping::{MAP_WARNING_NO_ERROR,MAP_ERROR_NO_FATAL,MAP_WARNING_SHOW_IN_SYSTEM_HEADER} for a little while longer.
llvm-svn: 140768
|
|
|
|
|
|
|
| |
that in DiagnosticEngine instead of the convoluted calling into DiagnosticIDs
which then calls back into the DiagnosticsEngine.
llvm-svn: 140766
|
|
|
|
|
|
| |
- Also, spell const_iterator as const_iterator.
llvm-svn: 140765
|
|
|
|
|
|
| |
and eliminate setDiagnosticMappingInternal.
llvm-svn: 140763
|
|
|
|
|
|
|
| |
storing mappings with that instead of straying some magic constants about the
source.
llvm-svn: 140760
|
|
|
|
|
|
| |
worth methodizing.
llvm-svn: 140759
|
|
|
|
|
|
| |
killed the sole client.
llvm-svn: 140756
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
| |
DiagnosticsEngine::setDiagnosticGroup{ErrorAsFatal,WarningAsError} methods which
more accurately model the correct API -- no internal change to the diagnostics
engine yet though.
- Also, stop honoring -Werror=everything (etc.) as a valid (but oddly behaved) option.
llvm-svn: 140747
|
|
|
|
|
|
|
| |
"show-in-system-header" bits, which is part of teasing them apart from the
diagnostic mapping kind.
llvm-svn: 140742
|
|
|
|
| |
llvm-svn: 140708
|
|
|
|
| |
llvm-svn: 140693
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
predefines based on the output of GCC as well as the CPU predefines.
Invert tests for __AVX__, Clang's AVX feature is hard coded off still.
Switch Atom from 'SSE3' to 'SSSE3'. This matches GCC's behavior, Intel's
documentation, and ICC's documentation (such as I could dig up).
Switch Athlon and Geode to enable 3dnowa rather than just 3dnow and
nothing (resp.).
llvm-svn: 140692
|
|
|
|
|
|
| |
__tune_...__ define as well.
llvm-svn: 140690
|
|
|
|
|
|
| |
the target identifying macros at the top, including subtarget macros.
llvm-svn: 140689
|
|
|
|
|
|
| |
Add 64-bit preprocessor macro tests.
llvm-svn: 140688
|
|
|
|
|
|
|
|
|
| |
fallthrough now that we're working with a switch. Also remove a dubious
"feature" regarding k6 processors and 3dnow and leave a fixme... Not
that anyone is likely to care about correct tuning for k6 processors
with and w/o 3dnow...
llvm-svn: 140687
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
selected CPU model to the enumeration. This parses the string
representation once using a StringSwitch on SetCPU. It returns an error
for strings which are not recognized (yay!). Finally it replaces
ridiculous if-chains with switches that cover all enumerators.
The last change required adding several missing entries to the features
function. These were obvious on inspection. Yay for a pattern that gives
warnings when we miss one.
No new test cases yet, as I want to get the 64-bit errors working first.
I'll then start fleshing out the testing more. Currently I'm primarily
testing on Linux, but I'm hoping check whether there are interesting
differences on darwin before long...
llvm-svn: 140685
|
|
|
|
|
|
|
| |
tried to give these nice doxyments, but if I've gotten any of my history
wrong, please chime in.
llvm-svn: 140684
|
|
|
|
|
|
|
|
|
|
|
|
| |
it an error if a CPU is provided for a target that doesn't implement
logic handling CPU settings, to match the ABI settings. It also removes
the CPU parameter from the getDefaultFeatures method. This parameter was
always filled in with the same value as setCPU was called with, and at
this point every single target implementation that referenced the CPU
within this function has needed to store the CPU via setCPU anyways in
order to implement other interface points.
llvm-svn: 140683
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
is *very* much a WIP that I'll be refining over the next several
commits, but I need to get this checkpoint in place for sanity.
This also adds a much more comprehensive test for architecture macros,
which is roughly generated by inspecting the behavior of a trunk build
of GCC. It still requires some massaging, but eventually I'll even check
in the script that generates these so that others can use it to append
more tests for more architectures, etc.
Next up is a bunch of simplification of the Targets.cpp code, followed
by a lot more test cases once we can reject invalid architectures.
llvm-svn: 140673
|
|
|
|
|
|
| |
functionality change.
llvm-svn: 140610
|
|
|
|
|
|
|
| |
of a ContentCache, since multiple FileIDs can have the same ContentCache
but the expanded macro arguments locations will be different.
llvm-svn: 140521
|
|
|
|
| |
llvm-svn: 140493
|
|
|
|
| |
llvm-svn: 140479
|
|
|
|
| |
llvm-svn: 140478
|
|
|
|
| |
llvm-svn: 140368
|
|
|
|
| |
llvm-svn: 140367
|
|
|
|
| |
llvm-svn: 140320
|
|
|
|
|
|
| |
directly at the end of the source file.
llvm-svn: 140192
|
|
|
|
| |
llvm-svn: 140174
|
|
|
|
|
|
| |
of Mips32 big and little endian derive.
llvm-svn: 140170
|
|
|
|
|
|
|
|
|
| |
IntPtrType,
change __builtin_va_list to from a structure to int[4] (same alignment
and size, but with a simpler representation). Patch by David Meyer!
llvm-svn: 140144
|
|
|
|
|
|
|
| |
check whether the requested location points inside the precompiled preamble,
in which case the returned source location will be a "loaded" one.
llvm-svn: 140060
|
|
|
|
|
|
| |
source location of line:col of a specific FileID.
llvm-svn: 140059
|
|
|
|
|
|
| |
It already works (and is useful with) macro locs as well.
llvm-svn: 140057
|
|
|
|
|
|
|
| |
inside a macro argument should be regarded as coming before
the location of the expanded tokens.
llvm-svn: 140053
|