#
edf99a92 |
| 07-Nov-2014 |
Alexey Samsonov <vonosmas@gmail.com> |
Introduce a SanitizerKind enum to LangOptions.
Use the bitmask to store the set of enabled sanitizers instead of a bitfield. On the negative side, it makes syntax for querying the set of enabled san
Introduce a SanitizerKind enum to LangOptions.
Use the bitmask to store the set of enabled sanitizers instead of a bitfield. On the negative side, it makes syntax for querying the set of enabled sanitizers a bit more clunky. On the positive side, we will be able to use SanitizerKind to eventually implement the new semantics for -fsanitize-recover= flag, that would allow us to make some sanitizers recoverable, and some non-recoverable.
No functionality change.
llvm-svn: 221558
show more ...
|
#
a6556f72 |
| 31-Oct-2014 |
Fariborz Jahanian <fjahanian@apple.com> |
Objective-C SDK modernization tool. Use its own option ,-objcmt-migrate-property-dot-syntax, when migarting to use property-dot syntax in place of messaging expression. rdar://18839124
llvm-svn: 221
Objective-C SDK modernization tool. Use its own option ,-objcmt-migrate-property-dot-syntax, when migarting to use property-dot syntax in place of messaging expression. rdar://18839124
llvm-svn: 221001
show more ...
|
#
f04f237e |
| 24-Oct-2014 |
Nick Lewycky <nicholas@mxc.ca> |
Add a new -fmerge-functions -cc1 flag that enables function merging.
llvm-svn: 220543
|
#
5a6a2fcd |
| 23-Oct-2014 |
Justin Bogner <mail@justinbogner.com> |
Driver: Include driver diagnostics when we --serialize-diagnostics
Currently, when --serialize-diagnostics is passed this only includes the diagnostics from clang -cc1, and driver diagnostics are dr
Driver: Include driver diagnostics when we --serialize-diagnostics
Currently, when --serialize-diagnostics is passed this only includes the diagnostics from clang -cc1, and driver diagnostics are dropped. This causes issues for tools that use the serialized diagnostics, since stderr is lost and these diagnostics aren't seen at all.
We handle this by merging the diagnostics from the CC1 process and the driver diagnostics into a single file when the driver invokes CC1.
Fixes rdar://problem/10585062
llvm-svn: 220525
show more ...
|
#
795f53ba |
| 22-Oct-2014 |
Diego Novillo <dnovillo@google.com> |
Support using sample profiles with partial debug info (driver)
Summary: When using a profile, we used to require the use -gmlt so that we could get access to the line locations. This is used to matc
Support using sample profiles with partial debug info (driver)
Summary: When using a profile, we used to require the use -gmlt so that we could get access to the line locations. This is used to match line numbers in the input profile to the line numbers in the function's IR.
But this is actually not necessary. The driver can provide source location tracking without the emission of debug information. In these cases, the annotation 'llvm.dbg.cu' is missing from the IR, but the actual line location annotations are still present.
This patch tells the driver to only emit source location tracking when -fprofile-sample-use is present in the command line.
Reviewers: echristo, dblaikie
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D5888
llvm-svn: 220383
show more ...
|
#
e842a474 |
| 22-Oct-2014 |
Richard Smith <richard-llvm@metafoo.co.uk> |
[modules] Initial support for explicitly loading .pcm files.
Implicit module builds are not well-suited to a lot of build systems. In particular, they fare badly in distributed build systems, and th
[modules] Initial support for explicitly loading .pcm files.
Implicit module builds are not well-suited to a lot of build systems. In particular, they fare badly in distributed build systems, and they lead to build artifacts that are not tracked as part of the usual dependency management process. This change allows explicitly-built module files (which are already supported through the -emit-module flag) to be explicitly loaded into a build, allowing build systems to opt to manage module builds and dependencies themselves.
This is only the first step in supporting such configurations, and it should be considered experimental and subject to change or removal for now.
llvm-svn: 220359
show more ...
|
#
ab506adf |
| 20-Oct-2014 |
Richard Smith <richard-llvm@metafoo.co.uk> |
Switch C compilations to C11 by default.
This is long-since overdue, and matches GCC 5.0. This should also be backwards-compatible, because we already supported all of C11 as an extension in C99 mod
Switch C compilations to C11 by default.
This is long-since overdue, and matches GCC 5.0. This should also be backwards-compatible, because we already supported all of C11 as an extension in C99 mode.
llvm-svn: 220244
show more ...
|
#
ae5804f3 |
| 15-Oct-2014 |
Alexey Samsonov <vonosmas@gmail.com> |
Move -fsanitize-blacklist to LangOpts from CodeGenOpts. NFC.
After http://reviews.llvm.org/D5687 is submitted, we will need SanitizerBlacklist before the CodeGen phase, so make it a LangOpt (as it w
Move -fsanitize-blacklist to LangOpts from CodeGenOpts. NFC.
After http://reviews.llvm.org/D5687 is submitted, we will need SanitizerBlacklist before the CodeGen phase, so make it a LangOpt (as it will actually affect ABI / class layout).
llvm-svn: 219842
show more ...
|
#
aed71a89 |
| 09-Oct-2014 |
Kostya Serebryany <kcc@google.com> |
Add experimental clang/driver flag -fsanitize-address-field-padding=N
Summary: This change adds an experimental flag -fsanitize-address-field-padding=N (0, 1, 2) to clang and driver. With this flag
Add experimental clang/driver flag -fsanitize-address-field-padding=N
Summary: This change adds an experimental flag -fsanitize-address-field-padding=N (0, 1, 2) to clang and driver. With this flag ASAN will be able to detect some cases of intra-object-overflow bugs, see https://code.google.com/p/address-sanitizer/wiki/IntraObjectOverflow
There is no actual functionality here yet, just the flag parsing. The functionality is being reviewed at http://reviews.llvm.org/D5687
Test Plan: Build and run SPEC, LLVM Bootstrap, Chrome with this flag.
Reviewers: samsonov
Reviewed By: samsonov
Subscribers: cfe-commits
Differential Revision: http://reviews.llvm.org/D5676
llvm-svn: 219417
show more ...
|
#
b140a100 |
| 03-Oct-2014 |
Jonathan Roelofs <jonathan@codesourcery.com> |
CFE Knob for: Add a thread-model knob for lowering atomics on baremetal & single threaded systems
http://reviews.llvm.org/D4985
llvm-svn: 219027
|
#
8f45c9cc |
| 15-Sep-2014 |
Reid Kleckner <reid@kleckner.net> |
Add -fseh-exceptions for MinGW-w64
This adds a flag called -fseh-exceptions that uses the native Windows .pdata and .xdata unwind mechanism to throw exceptions. The other EH possibilities are DWARF
Add -fseh-exceptions for MinGW-w64
This adds a flag called -fseh-exceptions that uses the native Windows .pdata and .xdata unwind mechanism to throw exceptions. The other EH possibilities are DWARF and SJLJ exceptions.
Patch by Martell Malone!
Reviewed By: asl, rnk
Differential Revision: http://reviews.llvm.org/D3419
llvm-svn: 217790
show more ...
|
Revision tags: llvmorg-3.5.0 |
|
#
9676a2bc |
| 01-Sep-2014 |
David Majnemer <david.majnemer@gmail.com> |
Frontend: Reindent Opts.CoverageFile
No functional change intended.
llvm-svn: 216888
|
#
d5478fdd |
| 29-Aug-2014 |
Anna Zaks <ganna@apple.com> |
Add an option to silence all analyzer warnings.
People have been incorrectly using "-analyzer-disable-checker" to silence analyzer warnings on a file, when analyzing a project. Add the "-analyzer-di
Add an option to silence all analyzer warnings.
People have been incorrectly using "-analyzer-disable-checker" to silence analyzer warnings on a file, when analyzing a project. Add the "-analyzer-disable-all-checks" option, which would allow the suppression and suggest it as part of the error message for "-analyzer-disable-checker". The idea here is to compose this with "--analyze" so that users can selectively opt out specific files from static analysis.
llvm-svn: 216763
show more ...
|
Revision tags: llvmorg-3.5.0-rc4 |
|
#
ed8ecc84 |
| 27-Aug-2014 |
Oliver Stannard <oliver.stannard@arm.com> |
Allow __fp16 as a function arg or return type for AArch64
ACLE 2.0 allows __fp16 to be used as a function argument or return type. This enables this for AArch64.
This also fixes an existing bug tha
Allow __fp16 as a function arg or return type for AArch64
ACLE 2.0 allows __fp16 to be used as a function argument or return type. This enables this for AArch64.
This also fixes an existing bug that causes clang to not allow homogeneous floating-point aggregates with a base type of __fp16. This is valid for AAPCS64, but not for AAPCS-VFP.
llvm-svn: 216558
show more ...
|
#
a43604ad |
| 26-Aug-2014 |
Joerg Sonnenberger <joerg@bec.de> |
Convert MC command line flag for fatal assembler warnings into a proper flag.
llvm-svn: 216472
|
Revision tags: llvmorg-3.5.0-rc3 |
|
#
dd69ef38 |
| 19-Aug-2014 |
Aaron Ballman <aaron@aaronballman.com> |
C++1y is now C++14!
Changes diagnostic options, language standard options, diagnostic identifiers, diagnostic wording to use c++14 instead of c++1y. It also modifies related test cases to use the up
C++1y is now C++14!
Changes diagnostic options, language standard options, diagnostic identifiers, diagnostic wording to use c++14 instead of c++1y. It also modifies related test cases to use the updated diagnostic wording.
llvm-svn: 215982
show more ...
|
#
04ab21d7 |
| 17-Aug-2014 |
Rafael Espindola <rafael.espindola@gmail.com> |
Convert a few ownership comments with std::unique_ptr.
llvm-svn: 215853
|
#
35f986d3 |
| 11-Aug-2014 |
Richard Smith <richard-llvm@metafoo.co.uk> |
Modify behavior of -ast-dump-lookups: if -ast-dump is not also provided, dump anyway. If -ast-dump *is* also provided, then dump the AST declarations as well as the lookup results. This is invaluable
Modify behavior of -ast-dump-lookups: if -ast-dump is not also provided, dump anyway. If -ast-dump *is* also provided, then dump the AST declarations as well as the lookup results. This is invaluable for cross-correlating the lookup information with the declarations actually found.
llvm-svn: 215393
show more ...
|
#
f2cf38e0 |
| 08-Aug-2014 |
Alex Lorenz <arphaman@gmail.com> |
Add a cc1 "dump-coverage-mapping" for testing coverage mapping.
Differential Revision: http://reviews.llvm.org/D4799
llvm-svn: 215258
|
Revision tags: llvmorg-3.5.0-rc2 |
|
#
3be1cb29 |
| 07-Aug-2014 |
Richard Smith <richard-llvm@metafoo.co.uk> |
Use -Rblah, not -Wblah, to control remark diagnostics. This was always the intent when we added remark support, but was never implemented in the general case, because the first -R flags didn't need i
Use -Rblah, not -Wblah, to control remark diagnostics. This was always the intent when we added remark support, but was never implemented in the general case, because the first -R flags didn't need it. (-Rpass= had special handling to accomodate its argument.)
-Rno-foo, -Reverything, and -Rno-everything can be used to turn off a remark, or to turn on or off all remarks. Per discussion on cfe-commits, -Weverything does not affect remarks, and -Reverything does not affect warnings or errors.
The only "real" -R flag we have right now is -Rmodule-build; that flag is effectively renamed from -Wmodule-build to -Rmodule-build by this change.
-Wpass and -Wno-pass (and their friends) are also renamed to -Rpass and -Rno-pass by this change; it's not completely clear whether we intended to have a -Rpass (with no =pattern), but that is unchanged by this commit, other than the flag name. The default pattern is effectively one which matches no passes. In future, we may want to make the default pattern be .*, so that -Reverything works for -Rpass properly.
llvm-svn: 215046
show more ...
|
#
bcd82afa |
| 05-Aug-2014 |
Fariborz Jahanian <fjahanian@apple.com> |
Introduce f[no-]max-unknown-pointer-align=[number] option to instruct the code generator to not enforce a higher alignment than the given number (of bytes) when accessing memory via an opaque point
Introduce f[no-]max-unknown-pointer-align=[number] option to instruct the code generator to not enforce a higher alignment than the given number (of bytes) when accessing memory via an opaque pointer or reference. Patch reviewed by John McCall (with post-commit review pending). rdar://16254558
llvm-svn: 214911
show more ...
|
#
ee02499a |
| 04-Aug-2014 |
Alex Lorenz <arphaman@gmail.com> |
Add coverage mapping generation.
This patch adds the '-fcoverage-mapping' option which allows clang to generate the coverage mapping information that can be used to provide code coverage analysis us
Add coverage mapping generation.
This patch adds the '-fcoverage-mapping' option which allows clang to generate the coverage mapping information that can be used to provide code coverage analysis using the execution counts obtained from the instrumentation based profiling (-fprofile-instr-generate).
llvm-svn: 214752
show more ...
|
#
b537a3a6 |
| 23-Jul-2014 |
Ben Langmuir <blangmuir@apple.com> |
Add stopgap option -fmodule-implementation-of <name>
This flag specifies that we are building an implementation file of the module <name>, preventing importing <name> as a module. This does not cons
Add stopgap option -fmodule-implementation-of <name>
This flag specifies that we are building an implementation file of the module <name>, preventing importing <name> as a module. This does not consider this to be the 'current module' for the purposes of doing modular checks like decluse or non-modular-include warnings, unlike -fmodule-name.
This is needed as a stopgap until: 1) we can resolve relative includes to a VFS-mapped module (or can safely import a header textually and as part of a module)
and ideally 2) we can safely do incremental rebuilding when implementation files import submodules.
llvm-svn: 213767
show more ...
|
Revision tags: llvmorg-3.5.0-rc1 |
|
#
c68237bc |
| 16-Jul-2014 |
Saleem Abdulrasool <compnerd@compnerd.org> |
Driver: bifurcate extended and basic MSC versioning
This restores the original behaviour of -fmsc-version. The older option remains as a mechanism for specifying the basic version information. A sec
Driver: bifurcate extended and basic MSC versioning
This restores the original behaviour of -fmsc-version. The older option remains as a mechanism for specifying the basic version information. A secondary option, -fms-compatibility-version permits the user to specify an extended version to the driver.
The new version takes the value as a dot-separated value rather than the major * 100 + minor format that -fmsc-version format. This makes it easier to specify the value as well as a more flexible manner for specifying the value.
Specifying both values is considered an error.
The older parameter is left solely as a driver option, which is normalised into the newer parameter. This allows us to retain a single code path in the compiler itself whilst preserving the semantics of the old parameter as well as avoid having to determine which of two formats are being used by the invocation.
The test changes are due to the fact that the compiler no longer supports the old option, and is a direct conversion to the new option.
llvm-svn: 213119
show more ...
|
#
2d2b420a |
| 06-Jul-2014 |
Rafael Espindola <rafael.espindola@gmail.com> |
Update for llvm api change.
llvm-svn: 212408
|