| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
|
|
|
|
|
| |
v2:
- Add a test case
v3:
- Use the -### clang option in the tests
llvm-svn: 178499
|
| |
|
|
|
|
|
| |
gcc provides -mfprnd and -mno-fprnd for controlling the fprnd target
feature; support these options as well.
llvm-svn: 178414
|
| |
|
|
|
|
|
| |
This is about the GNU Binutils' assembler and linker, so reflect that in the
name.
llvm-svn: 178272
|
| |
|
|
|
|
|
| |
gcc provides -mpopcntd and -mno-popcntd for controlling the popcntd target
feature; support these options as well.
llvm-svn: 178235
|
| |
|
|
|
|
|
|
| |
gcc provides -mmfcrf and -mno-mfcrf for controlling what we call
the mfocrf target feature. Also, PPC is now making use of the
static function AddTargetFeature used by the Mips Driver code.
llvm-svn: 178227
|
| |
|
|
|
|
|
|
|
|
|
| |
information about a particular module file.
This option can be useful for end users who want to know why they
ended up with a ton of different variants of the "std" module in their
module cache. This problem should go away over time, as we reduce the
need for module variants, but it will never go away entirely.
llvm-svn: 178148
|
| |
|
|
|
|
| |
does not grow forever.
llvm-svn: 177918
|
| |
|
|
|
|
| |
double free, and use-after-free problems of memory managed by new/delete.
llvm-svn: 177849
|
| |
|
|
|
|
|
|
| |
linker via --dynamic-list instead of using --export-dynamic. This reduces the
size of the dynamic symbol table, and thus of the binary (in some cases by up
to ~30%).
llvm-svn: 177783
|
| |
|
|
|
|
|
|
|
|
| |
structure, so it's easier to find.
We now put the Clang module cache in
<system-temp-directory>/org.llvm.clang/ModuleCache. Perhaps some day
there will be other caches under <system-temp-directory>/org.llvm.clang>.
llvm-svn: 177671
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* libclang_rt-san-* is sanitizer_common, and is linked in only if no other
sanitizer runtime is present.
* libclang_rt-ubsan-* is the piece of the runtime which doesn't depend on
a C++ ABI library, and is always linked in.
* libclang_rt-ubsan_cxx-* is the piece of the runtime which depends on a
C++ ABI library, and is only linked in when linking a C++ binary.
This change also switches us to using -whole-archive for the ubsan runtime
(which is made possible by the above split), and switches us to only linking
the sanitizer runtime into the main binary and not into DSOs (which is made
possible by using -whole-archive).
The motivation for this is to only link a single copy of sanitizer_common
into any binary. This is becoming important now because we want to share
more state between multiple sanitizers in the same process (for instance,
we want a single shared output mutex).
The Darwin ubsan runtime is unchanged; because we use a DSO there, we don't
need this complexity.
llvm-svn: 177605
|
| |
|
|
|
|
|
|
|
|
| |
We were checking "Arch == llvm::Triple::x86_64 || Arch
== llvm::Triple::x86_64", but the rhs should actually check for
powerpc64.
Found while experimenting with a potential new Clang warning.
llvm-svn: 177496
|
| |
|
|
| |
llvm-svn: 177391
|
| |
|
|
|
|
|
|
| |
into the pre-preprocessed file to be passed to
modern translator when compiling in no debug mode.
// rdar://13138170
llvm-svn: 177311
|
| |
|
|
|
|
| |
argument.
llvm-svn: 177301
|
| |
|
|
|
|
| |
useIntegratedAs.
llvm-svn: 177300
|
| |
|
|
| |
llvm-svn: 177299
|
| |
|
|
|
|
| |
Patch by Andrew Turner!
llvm-svn: 177252
|
| |
|
|
|
|
| |
not explicitly disabled).
llvm-svn: 177061
|
| |
|
|
|
|
|
|
| |
assembler.
Fixes <rdar://problem/13289240>
llvm-svn: 176897
|
| |
|
|
|
|
|
| |
Per comment from Benjamin Kramer, this isn't portable (yet). I'll come up
with a better fix.
llvm-svn: 176876
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Modules enables features such as auto-linking, and we simply do not want to
support a matrix of subtly enabled/disabled features depending on whether or
not a user is using the integrated assembler.
It isn't clear if this is the best place to do this check. For one thing,
these kind of errors are not caught by the serialized diagnostics.
Fixes <rdar://problem/13289240>
llvm-svn: 176826
|
| |
|
|
|
|
|
|
|
| |
string to be emitted, and two properties about the files themselves.
Use $PWD to absolut-ify the path to the coverage file. Yes, this is what GCC
does. Reverts my own r175706.
llvm-svn: 176617
|
| |
|
|
|
|
| |
<rdar://problem/11314476>
llvm-svn: 176458
|
| |
|
|
|
|
| |
Also fix a missing entry for cortex-r5 in one copy of getLLVMArchSuffixForARM.
llvm-svn: 176457
|
| |
|
|
|
|
|
|
|
|
|
| |
with both -static-libgcc and -static on the commandline.
Fix a warning in the latter case due to a backwards short circuiting ||
operator in the driver. No real functionality changed here, just allows
the driver to properly consume -static-libgcc when -static is also
specified.
llvm-svn: 176429
|
| |
|
|
|
|
|
| |
(means n64 abi) to improve compatibility with GNU tools.
Patch by Jia Liu <proljc@gmail.com>.
llvm-svn: 176187
|
| |
|
|
|
|
| |
-fsanitize=memory. TSan/MSan also provide their versions of new/delete and should use the same strategy as ASan. Share the code that sets linker flags for all sanitizers.
llvm-svn: 176178
|
| |
|
|
|
|
|
|
|
| |
and through to the debug info in the module. In order to make the
testcase a bit more efficient allow the filename to go through
compilation for compile and not assemble jobs and turn off the
extract for cases where we don't create an object.
llvm-svn: 175935
|
| |
|
|
|
|
|
| |
The assembler historically didn't make use of any target features, but this has
changed when support for old CPUs that don't support long nops was added.
llvm-svn: 175919
|
| |
|
|
|
|
|
|
|
| |
to want to propagate some information through the module into
the back end and so need to pass it through to codegen.
Also make the methods file static so we can use them in other places.
llvm-svn: 175916
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
commands
Add an ability to specify custom documentation block comment commands via a new
class CommentOptions. The intention is that this class will hold future
customizations for comment parsing, including defining documentation comments
with specific numbers of parameters, etc.
CommentOptions instance is a member of LangOptions.
CommentOptions is controlled by a new command-line parameter
-fcomment-block-commands=Foo,Bar,Baz.
llvm-svn: 175892
|
| |
|
|
|
|
|
|
|
|
|
| |
to control the check for the C 5.2.4.1 / C++ [implimits] restriction on nesting
levels for parentheses, brackets and braces.
Some code with heavy macro use exceeds the default limit of 256, but we don't
want to increase it generally to avoid stack overflow on stack-constrained
systems.
llvm-svn: 175855
|
| |
|
|
|
|
| |
if we're compiling.
llvm-svn: 175851
|
| |
|
|
| |
llvm-svn: 175839
|
| |
|
|
|
|
| |
now.
llvm-svn: 175814
|
| |
|
|
|
|
|
| |
in the compilation setup. Note that this doesn't currently
work for -no-integrated-as.
llvm-svn: 175813
|
| |
|
|
|
|
| |
files.
llvm-svn: 175706
|
| |
|
|
|
|
| |
make Clang look for the default sanitizer-specific blacklist in the resource directory.
llvm-svn: 175505
|
| |
|
|
| |
llvm-svn: 175492
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We treat this as an alternative to -fvisibility=<?>
which changes the default value visibility to "hidden"
and the default type visibility to "default".
Expose a -cc1 option for changing the default type
visibility, repurposing -fvisibility as the default
value visibility option (also setting type visibility
from it in the absence of a specific option).
rdar://13079314
llvm-svn: 175480
|
| |
|
|
| |
llvm-svn: 175414
|
| |
|
|
| |
llvm-svn: 175412
|
| |
|
|
| |
llvm-svn: 175411
|
| |
|
|
| |
llvm-svn: 175410
|
| |
|
|
|
|
|
|
|
|
|
| |
Apple's kernel engineers have been expecting this behavior even though
we've never implemented it before, as far as I can tell. In recent months,
clang has gotten better at using vector instructions to optimize memcpy-like
operations, and that has exposed problems when vector/floating-point
instructions are used in kexts that don't support that. This behavior also
matches what Apple's GCC did for PowerPC targets.
llvm-svn: 174838
|
| |
|
|
|
|
|
|
|
| |
For x86 targets, we've been using the -msoft-float option to control passing
the no-implicit-float option to cc1. Since the -mno-implicit-float option is
now accepted by the driver, this just makes it work for x86 the same as it
does for ARM targets.
llvm-svn: 174836
|
| |
|
|
| |
llvm-svn: 174674
|
| |
|
|
|
|
| |
consistency.
llvm-svn: 174645
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
modules.
The use of this flag enables a modules optimization where a given set
of macros can be labeled as "ignored" by the modules
system. Definitions of those macros will be completely ignored when
building the module hash and will be stripped when actually building
modules. The overall effect is that this flag can be used to
drastically reduce the number of
Eventually, we'll want modules to tell us what set of macros they
respond to (the "configuration macros"), and anything not in that set
will be excluded. However, that requires a lot of per-module
information that must be accurate, whereas this option can be used
more readily.
Fixes the rest of <rdar://problem/13165109>.
llvm-svn: 174560
|