#
1a3605cd |
| 25-Oct-2013 |
Rafael Espindola <rafael.espindola@gmail.com> |
I am about to change llvm::MemoryBuffer::getFile take take a Twine. Change clang first so that the build still works.
llvm-svn: 193428
|
#
f5d9d348 |
| 11-Oct-2013 |
Manman Ren <manman.ren@gmail.com> |
Turn struct-path aware TBAA on by default.
Use -no-struct-path-tbaa to turn it off. This is the same as r191695, which was reverted because it depends on a commit that has issues.
llvm-svn: 192497
|
#
3a410fe0 |
| 11-Oct-2013 |
Nick Lewycky <nicholas@mxc.ca> |
Add -fno-function-sections and -fno-data-sections. Since -f{function,data}-sections had no tests at all, add some, and verify that the -fno variants work as well.
llvm-svn: 192413
|
#
20a1124c |
| 09-Oct-2013 |
Fariborz Jahanian <fjahanian@apple.com> |
ObjectiveC migrator. Introduce a new objcmt-atomic-property option and use it to infer all properties as 'atomic'. // rdar://14988132
llvm-svn: 192317
|
#
fee2c8d8 |
| 07-Oct-2013 |
Richard Smith <richard-llvm@metafoo.co.uk> |
Remove -ast-dump-xml.
llvm-svn: 192131
|
#
2bfa2b91 |
| 02-Oct-2013 |
Fariborz Jahanian <fjahanian@apple.com> |
ObjectiveC migrator: Add more options one for each kind of migration. // rdar://15003157
llvm-svn: 191858
|
#
c1213861 |
| 02-Oct-2013 |
Fariborz Jahanian <fjahanian@apple.com> |
ObjectiveC migrator. Starting distiguising different migrations under their own option. wip and // rdar://15003157
llvm-svn: 191855
|
#
e4aaac50 |
| 01-Oct-2013 |
Richard Smith <richard-llvm@metafoo.co.uk> |
Revert r191586 and r191695. They cause crashes when building with -relaxed-aliasing.
llvm-svn: 191725
|
#
e5c2d919 |
| 30-Sep-2013 |
Manman Ren <manman.ren@gmail.com> |
Turn struct-path aware TBAA on by default.
Use -no-struct-path-tbaa to turn it off.
llvm-svn: 191695
|
#
1cdec019 |
| 29-Sep-2013 |
Richard Smith <richard-llvm@metafoo.co.uk> |
Implement C++1y sized deallocation (n3778). This is not enabled by -std=c++1y; instead, it's enabled by the -cc1 flag -fsized-deallocation, until we sort out the backward-compatibility issues.
llvm-
Implement C++1y sized deallocation (n3778). This is not enabled by -std=c++1y; instead, it's enabled by the -cc1 flag -fsized-deallocation, until we sort out the backward-compatibility issues.
llvm-svn: 191629
show more ...
|
#
ea1ba0ad |
| 27-Sep-2013 |
Rafael Espindola <rafael.espindola@gmail.com> |
Replace -fobjc-default-synthesize-properties with disable-objc-default-synthesize-properties.
We want the modern behavior most of the time, so inverting the option simplifies the driver and the test
Replace -fobjc-default-synthesize-properties with disable-objc-default-synthesize-properties.
We want the modern behavior most of the time, so inverting the option simplifies the driver and the tests.
llvm-svn: 191551
show more ...
|
#
ca9f7381 |
| 24-Sep-2013 |
Daniel Jasper <djasper@google.com> |
Add -fmodule-map-file option.
With this option, arbitrarily named module map files can be specified to be loaded as required for headers in the respective (sub)directories.
This, together with the
Add -fmodule-map-file option.
With this option, arbitrarily named module map files can be specified to be loaded as required for headers in the respective (sub)directories.
This, together with the extern module declaration allows for specifying module maps in a modular fashion without the need for files called "module.map".
Among other things, this allows a directory to contain two modules that are completely independent of one another.
Review: http://llvm-reviews.chandlerc.com/D1697. llvm-svn: 191284
show more ...
|
#
ba7f2f71 |
| 24-Sep-2013 |
Daniel Jasper <djasper@google.com> |
Module use declarations (II)
Review: http://llvm-reviews.chandlerc.com/D1546.
I have picked up this patch form Lawrence (http://llvm-reviews.chandlerc.com/D1063) and did a few changes.
From the or
Module use declarations (II)
Review: http://llvm-reviews.chandlerc.com/D1546.
I have picked up this patch form Lawrence (http://llvm-reviews.chandlerc.com/D1063) and did a few changes.
From the original change description (updated as appropriate): This patch adds a check that ensures that modules only use modules they have so declared. To this end, it adds a statement on intended module use to the module.map grammar:
use module-id
A module can then only use headers from other modules if it 'uses' them. This enforcement is off by default, but may be turned on with the new option -fmodules-decluse.
When enforcing the module semantics, we also need to consider a source file part of a module. This is achieved with a compiler option
-fmodule-name=<module-id>.
The compiler at present only applies restrictions to the module directly being built.
llvm-svn: 191283
show more ...
|
#
f4aee180 |
| 24-Sep-2013 |
Hans Wennborg <hans@hanshq.net> |
clang-cl: print diagnostics as "error(clang): foo" in /fallback mode
This solves two problems:
1) MSBuild will not flag the build as unsuccessful just because we print an error in the output, si
clang-cl: print diagnostics as "error(clang): foo" in /fallback mode
This solves two problems:
1) MSBuild will not flag the build as unsuccessful just because we print an error in the output, since "error(clang):" doesn't seem to match the regex it's using.
2) It becomes more clear that the diagnostic is coming from clang as supposed to cl.exe.
Differential Revision: http://llvm-reviews.chandlerc.com/D1735
llvm-svn: 191250
show more ...
|
#
31d09b0c |
| 13-Sep-2013 |
David Tweed <david.tweed@arm.com> |
Certain multi-platform languages, such as OpenCL, have the concept of address spaces which is both (1) a "semantic" concept and (2) possibly a hardware level restriction. It is desirable to be able t
Certain multi-platform languages, such as OpenCL, have the concept of address spaces which is both (1) a "semantic" concept and (2) possibly a hardware level restriction. It is desirable to be able to discard/merge the LLVM-level address spaces on arguments for which there is no difference to the current backend while keeping track of the semantic address spaces in a funciton prototype. To do this enable addition of the address space into the name-mangling process. Add some tests to document this behaviour against inadvertent changes.
Patch by Michele Scandale!
llvm-svn: 190684
show more ...
|
#
7857d46c |
| 11-Sep-2013 |
Nico Rieck <nico.rieck@gmail.com> |
Add -fansi-escape-codes option
Some build systems use pipes for stdin/stderr. On nix-ish platforms colored output can be forced by -fcolor-diagnostics. On Windows this option has no effect in these
Add -fansi-escape-codes option
Some build systems use pipes for stdin/stderr. On nix-ish platforms colored output can be forced by -fcolor-diagnostics. On Windows this option has no effect in these cases because LLVM uses the console API (which only operates on the console buffer) even if a console wrapper capable of interpreting ANSI escape codes is used.
The -fansi-escape-codes option allows switching from the console API to ANSI escape codes. It has no effect on other platforms.
llvm-svn: 190464
show more ...
|
#
2da64389 |
| 09-Sep-2013 |
David Tweed <david.tweed@arm.com> |
The OpenCL standard specifies the sizes and alignments of various types than other C-family languages, as well as specifying errno is not set by the math functions. Make the clang front-end set those
The OpenCL standard specifies the sizes and alignments of various types than other C-family languages, as well as specifying errno is not set by the math functions. Make the clang front-end set those appropriately when the OpenCL language option is set.
Patch by Erik Schnetter!
llvm-svn: 190296
show more ...
|
#
08198168 |
| 03-Sep-2013 |
Eric Christopher <echristo@gmail.com> |
Attempt to migrate default dwarf version to 4 for linux.
llvm-svn: 189823
|
#
55d6e6c9 |
| 28-Aug-2013 |
Fariborz Jahanian <fjahanian@apple.com> |
ObjectiveC migrator. This patch infers readonly properties for no-parameter instance methods returning non-void. This will be quite noisy. So, it is placed under a new migrator flag -objcmt-migrate
ObjectiveC migrator. This patch infers readonly properties for no-parameter instance methods returning non-void. This will be quite noisy. So, it is placed under a new migrator flag -objcmt-migrate-readonly-property.
llvm-svn: 189537
show more ...
|
#
eb265471 |
| 21-Aug-2013 |
Rafael Espindola <rafael.espindola@gmail.com> |
Move -mfpmath handling to -cc1 and implement it for x86.
The original idea was to implement it all on the driver, but to do that the driver needs to know the sse level and to do that it has to know
Move -mfpmath handling to -cc1 and implement it for x86.
The original idea was to implement it all on the driver, but to do that the driver needs to know the sse level and to do that it has to know the default features of a cpu.
Benjamin Kramer pointed out that if one day we decide to implement support for ' __attribute__ ((__target__ ("arch=core2")))', then the frontend needs to keep its knowledge of default features of a cpu.
To avoid duplicating which part of clang handles default cpu features, it is probably better to handle -mfpmath in the frontend.
For ARM this patch is just a small improvement. Instead of a cpu list, we check if neon is enabled, which allows us to reject things like
-mcpu=cortex-a9 -mfpu=vfp -mfpmath=neon
For X86, since LLVM doesn't support an independent ssefp feature, we just make sure the selected -mfpmath matches the sse level.
llvm-svn: 188939
show more ...
|
#
367843a0 |
| 16-Aug-2013 |
Jordan Rose <jordan_rose@apple.com> |
[analyzer] Merge TextPathDiagnostics and ClangDiagPathDiagConsumer.
This once again restores notes to following their associated warnings in -analyzer-output=text mode. (This is still only intended
[analyzer] Merge TextPathDiagnostics and ClangDiagPathDiagConsumer.
This once again restores notes to following their associated warnings in -analyzer-output=text mode. (This is still only intended for use as a debugging aid.)
One twist is that the warning locations in "regular" analysis output modes (plist, multi-file-plist, html, and plist-html) are reported at a different location on the command line than in the output file, since the command line has no path context. This commit makes -analyzer-output=text behave like a normal output format, which means that the *command line output will be different* in -analyzer-text mode. Again, since -analyzer-text is a debugging aid and lo-fi stand-in for a regular output mode, this change makes sense.
Along the way, remove a few pieces of stale code related to the path diagnostic consumers.
llvm-svn: 188514
show more ...
|
#
0fd6207d |
| 09-Aug-2013 |
Hans Wennborg <hans@hanshq.net> |
clang-cl: Support /showIncludes
This option prints information about #included files to stderr. Clang could already do it, this patch just teaches the existing code about the /showIncludes style and
clang-cl: Support /showIncludes
This option prints information about #included files to stderr. Clang could already do it, this patch just teaches the existing code about the /showIncludes style and adds the flag.
Differential Revision: http://llvm-reviews.chandlerc.com/D1333
llvm-svn: 188037
show more ...
|
#
54c29106 |
| 08-Aug-2013 |
Chandler Carruth <chandlerc@gmail.com> |
The only useful loop unrolling flag to give realistically is '-fno-unroll-loops'. The option to the backend is even called 'DisableUnrollLoops'. This is precisely the form that Clang *didn't* support
The only useful loop unrolling flag to give realistically is '-fno-unroll-loops'. The option to the backend is even called 'DisableUnrollLoops'. This is precisely the form that Clang *didn't* support. We didn't recognize the flag, we didn't pass it to the CC1 layer, and even if we did we wouldn't use it. Clang only inspected the positive form of the flag, and only did so to enable loop unrolling when the optimization level wasn't high enough. This only occurs for an optimization level that even has a chance of running the loop unroller when optimizing for size.
This commit wires up the 'no' variant, and switches the code to actually follow the standard flag pattern of using the last flag and allowing a flag in either direction to override the default.
I think this is still wrong. I don't know why we disable the loop unroller entirely *from Clang* when optimizing for size, as the loop unrolling pass *already has special logic* for the case where the function is attributed as optimized for size! We should really be trusting that. Maybe in a follow-up patch, I don't really want to change behavior here.
llvm-svn: 187969
show more ...
|
#
75958c41 |
| 08-Aug-2013 |
Hans Wennborg <hans@hanshq.net> |
clang-cl: Support the run-time selection options (/MD, /MT et al.)
These flags set some preprocessor macros and injects a dependency on the runtime library into the object file, which later is picke
clang-cl: Support the run-time selection options (/MD, /MT et al.)
These flags set some preprocessor macros and injects a dependency on the runtime library into the object file, which later is picked up by the linker.
This also adds a new CC1 flag for adding a dependent library.
Differential Revision: http://llvm-reviews.chandlerc.com/D1315
llvm-svn: 187945
show more ...
|
#
07e6c407 |
| 05-Aug-2013 |
Daniel Jasper <djasper@google.com> |
Add option to disable module loading.
This patch was created by Lawrence Crowl and reviewed in: http://llvm-reviews.chandlerc.com/D963
llvm-svn: 187738
|