#
f994cef8 |
| 05-Jul-2014 |
Alp Toker <alp@nuanti.com> |
Track IntrusiveRefCntPtr::get() changes from LLVM r212366
llvm-svn: 212369
|
#
f607234f |
| 01-Jul-2014 |
David Majnemer <david.majnemer@gmail.com> |
Driver: Handle /GR- in a compatible way with MSVC
There are slight differences between /GR- and -fno-rtti which made mapping one to the other inappropriate.
-fno-rtti disables dynamic_cast, typeid,
Driver: Handle /GR- in a compatible way with MSVC
There are slight differences between /GR- and -fno-rtti which made mapping one to the other inappropriate.
-fno-rtti disables dynamic_cast, typeid, and does not emit RTTI related information for the v-table.
/GR- does not generate complete object locators and thus will not reference them in vftables. However, constructs like dynamic_cast and typeid are permitted.
This should bring our implementation of RTTI up to semantic parity with MSVC modulo bugs.
llvm-svn: 212138
show more ...
|
#
913690c7 |
| 24-Jun-2014 |
Diego Novillo <dnovillo@google.com> |
Add new debug kind LocTrackingOnly.
Summary: This new debug emission kind supports emitting line location information in all instructions, but stops code generation from emitting debug info to the f
Add new debug kind LocTrackingOnly.
Summary: This new debug emission kind supports emitting line location information in all instructions, but stops code generation from emitting debug info to the final output.
This mode is useful when the backend wants to track source locations during code generation, but it does not want to produce debug info. This is currently used by optimization remarks (-Rpass, -Rpass-missed and -Rpass-analysis).
When one of the -Rpass flags is used, the front end will enable location tracking, only if no other debug option is enabled.
To prevent debug information from being generated, a new debug info kind LocTrackingOnly causes DIBuilder::createCompileUnit() to not emit the llvm.dbg.cu annotation. This blocks final code generation from generating debug info in the back end.
Depends on D4234.
Reviewers: echristo, dblaikie
Subscribers: cfe-commits
Differential Revision: http://reviews.llvm.org/D4235
llvm-svn: 211610
show more ...
|
#
f7062b23 |
| 23-Jun-2014 |
Saleem Abdulrasool <compnerd@compnerd.org> |
Driver: correct behaviour of -fmsc-version=MAJOR
Ensure that we properly handle the case where just the major version component is provided by the user.
Thanks to Alp Toker for pointing out that th
Driver: correct behaviour of -fmsc-version=MAJOR
Ensure that we properly handle the case where just the major version component is provided by the user.
Thanks to Alp Toker for pointing out that this was not handled correctly!
llvm-svn: 211506
show more ...
|
#
9d45e77d |
| 20-Jun-2014 |
Saleem Abdulrasool <compnerd@compnerd.org> |
Driver: enhance MSC version compatibility
The version information for Visual Studio is spread over multiple variables. The newer Windows SDK has started making use of some of the extended versioning
Driver: enhance MSC version compatibility
The version information for Visual Studio is spread over multiple variables. The newer Windows SDK has started making use of some of the extended versioning variables that were previously undefined. Enhance our compatibility definitions for these cases.
_MSC_VER is defined to be the Major * 100 + Minor. _MSC_FULL_VER is defined to be Major * 10000000 + Minor * 100000 + Build. And _MSC_BUILD is the build revision of the compiler.
Extend the -fmsc-version option in a compatible manner. If the value is the previous form of MMmm, then we assume that the build number is 0. Otherwise, a specific build number may be passed by using the form MMmmbbbbb. Due to bitwidth limitations of the option, it is currently not possible to define a revision value.
The version information can be passed as either the decimal encoded value (_MSC_FULL_VER or _MSC_VER) or as a dot-delimited value.
The change to the TextDiagnostic is to deal with the updated encoding of the version information.
llvm-svn: 211420
show more ...
|
#
46762030 |
| 20-Jun-2014 |
Richard Smith <richard-llvm@metafoo.co.uk> |
[C++1z] Implement N3981: Disable trigraphs by default in C++1z mode.
llvm-svn: 211392
|
#
86d1259c |
| 19-Jun-2014 |
Justin Bogner <mail@justinbogner.com> |
Frontend: Add a CC1 flag to dump module dependencies to a directory
This adds the -module-dependency-dir to clang -cc1, which specifies a directory to copy all of a module's dependencies into in a f
Frontend: Add a CC1 flag to dump module dependencies to a directory
This adds the -module-dependency-dir to clang -cc1, which specifies a directory to copy all of a module's dependencies into in a form suitable to be used as a VFS using -ivfsoverlay with the generated vfs.yaml.
This is useful for crashdumps that involve modules, so that the module dependencies will be intact when a crash report script is used to reproduce a problem on another machine.
We currently encode the absolute path to the dump directory, due to limitations in the VFS system. Until we can handle relative paths in the VFS, users of the VFS map may need to run a simple search and replace in the file.
llvm-svn: 211303
show more ...
|
#
18362bfd |
| 17-Jun-2014 |
Diego Novillo <dnovillo@google.com> |
Remove dead code.
The parsing for -Rpass= had been factored into the function GenerateOptimizationRemarkRegex, but at the time I forgot to remove the original code that just handled OPT_Rpass_EQ.
l
Remove dead code.
The parsing for -Rpass= had been factored into the function GenerateOptimizationRemarkRegex, but at the time I forgot to remove the original code that just handled OPT_Rpass_EQ.
llvm-svn: 211122
show more ...
|
#
dbd4d4c8 |
| 16-Jun-2014 |
Richard Smith <richard-llvm@metafoo.co.uk> |
Add -std=c++1z flag for C++17 features.
llvm-svn: 211030
|
#
8a8e554a |
| 12-Jun-2014 |
Rafael Espindola <rafael.espindola@gmail.com> |
Include system_error directly.
llvm-svn: 210802
|
#
3ae0620a |
| 31-May-2014 |
Rafael Espindola <rafael.espindola@gmail.com> |
There is no std::errc:success, remove the llvm one.
llvm-svn: 209959
|
#
d23ec943 |
| 29-May-2014 |
Diego Novillo <dnovillo@google.com> |
Add flags -Rpass-missed and -Rpass-analysis.
Summary: These two flags are in the same family as -Rpass, but are used in different situations.
-Rpass-missed is used by optimizers to inform the user
Add flags -Rpass-missed and -Rpass-analysis.
Summary: These two flags are in the same family as -Rpass, but are used in different situations.
-Rpass-missed is used by optimizers to inform the user when they tried to apply an optimization but couldn't (or wouldn't).
-Rpass-analysis is used by optimizers to report analysis results back to the user (e.g., why the transformation could not be applied).
Depends on D3682.
Reviewers: rsmith
Subscribers: cfe-commits
Differential Revision: http://reviews.llvm.org/D3683
llvm-svn: 209839
show more ...
|
#
a670c208 |
| 29-May-2014 |
Aaron Ballman <aaron@aaronballman.com> |
No longer allow the -std options to entirely override the -x language option. This allows -x cuda -std=c++11, for instance.
llvm-svn: 209824
|
#
49a2790f |
| 22-May-2014 |
Craig Topper <craig.topper@gmail.com> |
[C++11] Use 'nullptr'. Frontend edition.
llvm-svn: 209389
|
Revision tags: llvmorg-3.4.2, llvmorg-3.4.2-rc1 |
|
#
c7dc0621 |
| 11-May-2014 |
Alp Toker <alp@nuanti.com> |
Make DiagnosticsEngine non-copyable
Also provide an out-of-line dtor for CompilerInvocation.
Cleanup work that may help reduce header inclusion for IntrusiveRefCntPtr.
llvm-svn: 208512
|
#
279b97c1 |
| 08-May-2014 |
Ed Maste <emaste@freebsd.org> |
Enable standalone-debug by default on FreeBSD
It was set by default on Darwin in r198655. The same usability issues with DTrace and LLDB apply to FreeBSD, so set it by default there too.
rdar://pr
Enable standalone-debug by default on FreeBSD
It was set by default on Darwin in r198655. The same usability issues with DTrace and LLDB apply to FreeBSD, so set it by default there too.
rdar://problem/15758808 http://llvm.org/pr19676
Differential Revision: http://reviews.llvm.org/D3448
llvm-svn: 208310
show more ...
|
#
62849c67 |
| 08-May-2014 |
Saleem Abdulrasool <compnerd@compnerd.org> |
Driver: parse -mcmodel earlier
This addresses an existing FIXME item in the driver. The code model flag was parsed in the actual tool rather than in the driver. This was problematic since the valu
Driver: parse -mcmodel earlier
This addresses an existing FIXME item in the driver. The code model flag was parsed in the actual tool rather than in the driver. This was problematic since the value may be invalid. In that case, we would silently treat it as a default value in non-assert builds, and abort in assert builds. Add a check in the driver to validate that the value being passed is valid, and if not provide a proper error message.
llvm-svn: 208275
show more ...
|
#
3d23c420 |
| 07-May-2014 |
Richard Smith <richard-llvm@metafoo.co.uk> |
If an instantiation of a template is required to be a complete type, check whether the definition of the template is visible rather than checking whether the instantiated definition happens to be in
If an instantiation of a template is required to be a complete type, check whether the definition of the template is visible rather than checking whether the instantiated definition happens to be in an imported module.
llvm-svn: 208150
show more ...
|
#
d113788e |
| 04-May-2014 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Speculative fix to unbreak the buildbots that fail with compiler errors.
llvm-svn: 207933
|
#
1b1256a1 |
| 04-May-2014 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[Modules] Add the resource-dir to the module hash.
llvm-svn: 207931
|
#
b5b622a0 |
| 30-Apr-2014 |
Rafael Espindola <rafael.espindola@gmail.com> |
Drop non-cfi assembly support from clang.
After this patch clang will ignore -fdwarf2-cfi-asm and -ffno-dwarf2-cfi-asm and always print assembly that uses cfi directives.
In llvm, MC itself support
Drop non-cfi assembly support from clang.
After this patch clang will ignore -fdwarf2-cfi-asm and -ffno-dwarf2-cfi-asm and always print assembly that uses cfi directives.
In llvm, MC itself supports cfi since the end of 2010 (support started in r119972, is reported in the 2.9 release notes).
In binutils the support has been around for much longer. It looks like support started to be added in May 2003. It is available in 2.15 (31-Aug-2011, 2.14 is from 12-Jun-2003).
llvm-svn: 207602
show more ...
|
#
fe6b880d |
| 29-Apr-2014 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[PCH/Modules] Don't tie TargetOptions::LinkerVersion to a module/PCH, it's a driver only thing and doesn't affect any language/preprocessor/etc. semantics.
rdar://16714526
llvm-svn: 207570
|
Revision tags: llvmorg-3.4.1, llvmorg-3.4.1-rc2 |
|
#
2255f2ce |
| 23-Apr-2014 |
John Thompson <John.Thompson.JTSoftware@gmail.com> |
Initial implementation of -modules-earch-all option, for searching for symbols in non-imported modules.
llvm-svn: 206977
|
#
829b1700 |
| 16-Apr-2014 |
Diego Novillo <dnovillo@google.com> |
Add support for optimization reports.
Summary: This patch adds a new flag -Rpass=. The flag indicates the name of the optimization pass that should emit remarks stating when it made a transformation
Add support for optimization reports.
Summary: This patch adds a new flag -Rpass=. The flag indicates the name of the optimization pass that should emit remarks stating when it made a transformation to the code.
This implements the design I proposed in:
https://docs.google.com/document/d/1FYUatSjZZO-zmFBxjOiuOzAy9mhHA8hqdvklZv68WuQ/edit?usp=sharing
Other changes: - Add DiagnosticIDs::isRemark(). Use it in printDiagnosticOptions to print "-R" instead of "-W" in the diagnostic message.
- In BackendConsumer::OptimizationRemarkHandler, get a SourceLocation object out of the file name, line and column number. Use that location in the call to Diags.Report().
- When -Rpass is used without debug info a note is emitted alerting the user that they need to use -gline-tables-only -gcolumn-info to get this information.
CC: llvm-commits
Differential Revision: http://llvm-reviews.chandlerc.com/D3226
llvm-svn: 206401
show more ...
|
#
8832c066 |
| 15-Apr-2014 |
Ben Langmuir <blangmuir@apple.com> |
Honour -ivfsoverlay in ASTUnit to match clang
This allows code indexing, etc. to use the VFS in the same way as the compiler.
llvm-svn: 206309
|