- Feb 04, 2012
-
-
Benjamin Kramer authored
Move Storage and StorageAllocator out of the PartialDiagnostic class so we 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
-
- Feb 03, 2012
-
-
Argyrios Kyrtzidis authored
the limit on the number of fixits. llvm-svn: 149676
-
Chad Rosier authored
rdar://10736625 llvm-svn: 149662
-
- Feb 02, 2012
-
-
Douglas Gregor authored
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
-
- Feb 01, 2012
-
-
Bob Wilson authored
I removed support for "*-darwin*-iphoneos" triples, since we now have iOS listed as a separate OS in the triples. llvm-svn: 149455
-
- Jan 31, 2012
-
-
Nico Weber authored
Fixes PR11867. Patch from Jeremy Huddleston! llvm-svn: 149334
-
Nico Weber authored
llvm-svn: 149301
-
- Jan 30, 2012
-
-
Nico Weber authored
Fixes PR11867. Patch from Jeremy Huddleston! llvm-svn: 149285
-
Douglas Gregor authored
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
-
Douglas Gregor authored
target-specific module requirements. llvm-svn: 149224
-
- Jan 29, 2012
-
-
John McCall authored
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
-
- Jan 28, 2012
-
-
Bob Wilson authored
llvm-svn: 149181
-
Argyrios Kyrtzidis authored
caught by Chad. llvm-svn: 149173
-
- Jan 27, 2012
-
-
Douglas Gregor authored
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
-
Argyrios Kyrtzidis authored
-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
-
- Jan 26, 2012
-
-
rdar://10732455Bob Wilson authored
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
-
- Jan 20, 2012
-
-
Sebastian Pop authored
llvm-svn: 148582
-
- Jan 17, 2012
-
-
Anton Yartsev authored
changes i64 alignment from 64 to 32 for powerpc-darwin llvm-svn: 148345
-
David Blaikie authored
Remove unreachable code in Clang. (replace with llvm_unreachable where appropriate or when GCC requires it) llvm-svn: 148292
-
David Blaikie authored
This allows -Wswitch-enum to find switches that need updating when these enums are modified. llvm-svn: 148281
-
- Jan 13, 2012
-
-
Eli Friedman authored
llvm-svn: 148141
-
Sebastian Pop authored
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
-
Sebastian Pop authored
llvm-svn: 148138
-
- Jan 11, 2012
-
-
Evgeniy Stepanov authored
- 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
-
- Jan 10, 2012
-
-
Benjamin Kramer authored
llvm-svn: 147849
-
Benjamin Kramer authored
llvm-svn: 147848
-
Benjamin Kramer authored
llvm-svn: 147847
-
- Jan 09, 2012
-
-
Craig Topper authored
llvm-svn: 147771
-
- Jan 06, 2012
-
-
Joerg Sonnenberger authored
"double" rounding. llvm-svn: 147669
-
- Jan 05, 2012
-
-
Douglas Gregor authored
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
-
- Jan 04, 2012
-
-
Benjamin Kramer authored
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
-
- Jan 03, 2012
-
-
Douglas Gregor authored
llvm-svn: 147469
-
Douglas Gregor authored
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
-
Douglas Gregor authored
to make a macro public (the default for headers) or private, respectively. llvm-svn: 147455
-
- Dec 31, 2011
-
-
Douglas Gregor authored
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
-
- Dec 30, 2011
-
-
Craig Topper authored
Add FMA4 feature flag. Intrinsics coming soon. Also make sse4a feature flag imply sse3. Matches gcc behavior. llvm-svn: 147370
-
- Dec 29, 2011
-
-
Craig Topper authored
Add popcnt feature flag to match gcc. This flag is implied when sse42 is enabled, but can be disabled separately. Move popcnt intrinsics to popcntintrin.h to match gcc. llvm-svn: 147340
-
- Dec 28, 2011
-
-
Benjamin Kramer authored
x87 math evaluates everything with 80 bits precision, so we have to set FLT_EVAL_METHOD to "2". llvm-svn: 147311
-
- Dec 26, 2011
-
-
Eli Friedman authored
llvm-svn: 147282
-
- Dec 25, 2011
-
-
Craig Topper authored
llvm-svn: 147262
-