| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
| |
include.
Fix all the transitive include users.
llvm-svn: 149783
|
|
|
|
|
|
|
|
|
| |
can forward declare them.
Let ASTContext allocate the storage in its BumpPtrAllocator.
This will help us remove ASTContext's depedency on PartialDiagnostic.h soon.
llvm-svn: 149780
|
|
|
|
|
|
| |
the limit on the number of fixits.
llvm-svn: 149676
|
|
|
|
|
|
| |
rdar://10736625
llvm-svn: 149662
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
into using non-absolute system includes (<foo>)...
... and introduce another hack that is simultaneously more heineous
and more effective. We whitelist Clang-supplied headers that augment
or override system headers (such as float.h, stdarg.h, and
tgmath.h). For these headers, Clang does not provide a module
mapping. Instead, a system-supplied module map can refer to these
headers in a system module, and Clang will look both in its own
include directory and wherever the system-supplied module map
suggests, then adds either or both headers. The end result is that
Clang-supplied headers get merged into the system-supplied module for
the C standard library.
As a drive-by, fix up a few dependencies in the _Builtin_instrinsics
module.
llvm-svn: 149611
|
|
|
|
|
|
|
| |
I removed support for "*-darwin*-iphoneos" triples, since we now have
iOS listed as a separate OS in the triples.
llvm-svn: 149455
|
|
|
|
|
|
| |
Fixes PR11867. Patch from Jeremy Huddleston!
llvm-svn: 149334
|
|
|
|
| |
llvm-svn: 149301
|
|
|
|
|
|
| |
Fixes PR11867. Patch from Jeremy Huddleston!
llvm-svn: 149285
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
each of the targets. Use this for module requirements, so that we can
pin the availability of certain modules to certain target features,
e.g., provide a module for xmmintrin.h only when SSE support is
available.
Use these feature names to provide a nearly-complete module map for
Clang's built-in headers. Only mm_alloc.h and unwind.h are missing,
and those two are fairly specialized at the moment. Finishes
<rdar://problem/10710060>.
llvm-svn: 149227
|
|
|
|
|
|
| |
target-specific module requirements.
llvm-svn: 149224
|
|
|
|
|
|
|
|
| |
like Darwin that don't support it. We should also complain about
invalid -fvisibility=protected, but that information doesn't seem
to exist at the most appropriate time, so I've left a FIXME behind.
llvm-svn: 149186
|
|
|
|
| |
llvm-svn: 149181
|
|
|
|
|
|
| |
caught by Chad.
llvm-svn: 149173
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
single attribute ("system") that allows us to mark a module as being a
"system" module. Each of the headers that makes up a system module is
considered to be a system header, so that we (for example) suppress
warnings there.
If a module is being inferred for a framework, and that framework
directory is within a system frameworks directory, infer it as a
system framework.
llvm-svn: 149143
|
|
|
|
|
|
|
|
|
| |
-Wno-everything remap all warnings to ignored.
We can now use "-Wno-everything -W<warning>" to ignore all warnings except
specific ones.
llvm-svn: 149121
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
ARM supports clz and ctz directly and both operations have well-defined
results for zero. There is no disadvantage in performance to using the
defined-at-zero versions of llvm.ctlz/cttz intrinsics. We're running into
ARM-specific code written with the assumption that __builtin_clz(0) == 32,
even though that value is technically undefined. The code is failing now
because of llvm optimizations that are taking advantage of the undef
behavior (specifically svn r147255). There's nothing wrong with that
optimization on x86 where any incorrect assumptions about __builtin_clz(0)
will quickly be exposed. For ARM, though, optimizations based on that undef
behavior are likely to cause subtle bugs. Other targets with defined-at-zero
clz/ctz support may want to override the default behavior as well.
llvm-svn: 149086
|
|
|
|
| |
llvm-svn: 148582
|
|
|
|
|
|
| |
changes i64 alignment from 64 to 32 for powerpc-darwin
llvm-svn: 148345
|
|
|
|
|
|
| |
appropriate or when GCC requires it)
llvm-svn: 148292
|
|
|
|
|
|
| |
This allows -Wswitch-enum to find switches that need updating when these enums are modified.
llvm-svn: 148281
|
|
|
|
| |
llvm-svn: 148141
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Patch from Jyotsna Verma:
I have made the changes to remove assertions in the Hexagon backend
specific clang driver. Instead of asserting on invalid arch name, it has
been modified to use the default value.
I have changed the implementation of the CPU flag validation for the
Hexagon backend. Earlier, the clang driver performed the check and
asserted on invalid inputs. In the new implementation, the driver passes
the last CPU flag (or sets to "v4" if not specified) to the compiler (and
also to the assembler and linker which perform their own check) instead of
asserting on incorrect values. This patch changes the setCPU function for
the Hexagon backend in clang/lib/Basic/Targets.cpp which causes the
compiler to error out on incorrect CPU flag values.
llvm-svn: 148139
|
|
|
|
| |
llvm-svn: 148138
|
|
|
|
|
|
|
|
|
| |
- Support gcc-compatible vfpv3 name in addition to vfp3.
- Support vfpv3-d16.
- Disable neon feature for -mfpu=vfp* (yes, we were emitting Neon instructions
for those!).
llvm-svn: 147943
|
|
|
|
| |
llvm-svn: 147849
|
|
|
|
| |
llvm-svn: 147848
|
|
|
|
| |
llvm-svn: 147847
|
|
|
|
| |
llvm-svn: 147771
|
|
|
|
|
|
| |
"double" rounding.
llvm-svn: 147669
|
|
|
|
|
|
|
|
| |
in the module map. This provides a bit more predictability for the
user, as well as eliminating the need to sort the submodules when
serializing them.
llvm-svn: 147564
|
|
|
|
|
|
|
| |
While the code took care of disabling the sse42 flag it didn't know
about popcnt. This broke -march=native on penryn.
llvm-svn: 147531
|
|
|
|
| |
llvm-svn: 147469
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
modules. This leaves us without an explicit syntax for importing
modules in C/C++, because such a syntax needs to be discussed
first. In Objective-C/Objective-C++, the @import syntax is used to
import modules.
Note that, under -fmodules, C/C++ programs can import modules via the
#include mechanism when a module map is in place for that header. This
allows us to work with modules in C/C++ without committing to a syntax.
llvm-svn: 147467
|
|
|
|
|
|
|
| |
to make a macro public (the default for headers) or private,
respectively.
llvm-svn: 147455
|
|
|
|
|
|
|
|
|
| |
features needed for a particular module to be available. This allows
mixed-language modules, where certain headers only work under some
language variants (e.g., in C++, std.tuple might only be available in
C++11 mode).
llvm-svn: 147387
|
|
|
|
|
|
| |
imply sse3. Matches gcc behavior.
llvm-svn: 147370
|
|
|
|
|
|
| |
enabled, but can be disabled separately. Move popcnt intrinsics to popcntintrin.h to match gcc.
llvm-svn: 147340
|
|
|
|
|
|
|
|
|
| |
with sse disabled.
x87 math evaluates everything with 80 bits precision, so we have to set FLT_EVAL_METHOD
to "2".
llvm-svn: 147311
|
|
|
|
|
|
| |
config.h.
llvm-svn: 147282
|
|
|
|
| |
llvm-svn: 147262
|
|
|
|
|
|
|
|
| |
so this patch is surprisingly small.
Also drop -Wc1x-extensions in favor of -Wc11-extensions. I don't think we need to keep this around for compatibility.
llvm-svn: 147221
|
|
|
|
| |
llvm-svn: 147195
|
|
|
|
| |
llvm-svn: 147137
|
|
|
|
| |
llvm-svn: 147057
|
|
|
|
|
|
|
|
|
|
| |
expanded
token locations as coming before the closing ')' of a function macro expansion.
Include a unit test for SourceManager.
llvm-svn: 147056
|
|
|
|
|
|
| |
actually know about the other OSes on X86-32 besides Linux...
llvm-svn: 147034
|
|
|
|
|
|
| |
http://llvm.org/docs/CodingStandards.html#ll_virtual_anch
llvm-svn: 146959
|
|
|
|
|
|
| |
But, warn too. // rdar://10597832
llvm-svn: 146904
|
|
|
|
|
|
|
| |
Forming an out of bounds pointer to check if it's out
of bounds was undefined behavior.
llvm-svn: 146861
|