#
3d9d929e |
| 22-Jun-2015 |
Alexander Kornienko <alexfh@google.com> |
Fixed/added namespace ending comments using clang-tidy. NFC
The patch is generated using this command:
$ tools/extra/clang-tidy/tool/run-clang-tidy.py -fix \ -checks=-*,llvm-namespace-comme
Fixed/added namespace ending comments using clang-tidy. NFC
The patch is generated using this command:
$ tools/extra/clang-tidy/tool/run-clang-tidy.py -fix \ -checks=-*,llvm-namespace-comment -header-filter='llvm/.*|clang/.*' \ work/llvm/tools/clang
To reduce churn, not touching namespaces spanning less than 10 lines.
llvm-svn: 240270
show more ...
|
Revision tags: llvmorg-3.6.1, llvmorg-3.6.1-rc1 |
|
#
34eb2072 |
| 11-Apr-2015 |
Alexander Kornienko <alexfh@google.com> |
Use 'override/final' instead of 'virtual' for overridden methods
Summary: The patch is generated using clang-tidy misc-use-override check.
This command was used:
tools/clang/tools/extra/clang-ti
Use 'override/final' instead of 'virtual' for overridden methods
Summary: The patch is generated using clang-tidy misc-use-override check.
This command was used:
tools/clang/tools/extra/clang-tidy/tool/run-clang-tidy.py \ -checks='-*,misc-use-override' -header-filter='llvm|clang' -j=32 -fix
Reviewers: dblaikie
Reviewed By: dblaikie
Subscribers: klimek, cfe-commits
Differential Revision: http://reviews.llvm.org/D8926
llvm-svn: 234678
show more ...
|
Revision tags: llvmorg-3.5.2, llvmorg-3.5.2-rc1, llvmorg-3.6.0, llvmorg-3.6.0-rc4, llvmorg-3.6.0-rc3, llvmorg-3.6.0-rc2 |
|
#
b6cb6951 |
| 17-Jan-2015 |
Nico Weber <nicolasweber@gmx.de> |
Wrap to 80 columns. No behavior change.
llvm-svn: 226364
|
#
8afb37e1 |
| 15-Jan-2015 |
Nico Weber <nicolasweber@gmx.de> |
Remove unused parameter, followup to r179639. No behavior change.
llvm-svn: 226128
|
#
b6a5d05a |
| 15-Jan-2015 |
Nico Weber <nicolasweber@gmx.de> |
Remove ASTConsumer::HandleVTable()'s bool parameter.
Sema calls HandleVTable() with a bool parameter which is then threaded through three layers. The only effect of this bool is an early return at
Remove ASTConsumer::HandleVTable()'s bool parameter.
Sema calls HandleVTable() with a bool parameter which is then threaded through three layers. The only effect of this bool is an early return at the last layer.
Instead, remove this parameter and call HandleVTable() only if the bool is true. No intended behavior change.
llvm-svn: 226096
show more ...
|
Revision tags: llvmorg-3.6.0-rc1 |
|
#
5fb94242 |
| 25-Dec-2014 |
Yaron Keren <yaron.keren@gmail.com> |
Initialize CodeGeneratorImpl::Ctx in constructor.
llvm-svn: 224835
|
#
0c0a8c86 |
| 19-Dec-2014 |
Hans Wennborg <hans@hanshq.net> |
Tweak the assert in ModuleBuilder from r224533 (PR21989)
Turns out there will be left-over deferred inline methods if there have been errors, because in that case HandleTopLevelDecl bails out early.
Tweak the assert in ModuleBuilder from r224533 (PR21989)
Turns out there will be left-over deferred inline methods if there have been errors, because in that case HandleTopLevelDecl bails out early.
llvm-svn: 224649
show more ...
|
#
2b0d0148 |
| 18-Dec-2014 |
Hans Wennborg <hans@hanshq.net> |
ModuleBuilder: assert that all deferred inline method defs get handled
While we're here, also move the declaration of DeferredInlineMethodDefinitions closer to the other member vars and make it a Sm
ModuleBuilder: assert that all deferred inline method defs get handled
While we're here, also move the declaration of DeferredInlineMethodDefinitions closer to the other member vars and make it a SmallVector. NFC.
llvm-svn: 224533
show more ...
|
Revision tags: llvmorg-3.5.1, llvmorg-3.5.1-rc2, llvmorg-3.5.1-rc1 |
|
#
94d384e4 |
| 18-Nov-2014 |
Justin Bogner <mail@justinbogner.com> |
InstrProf: Don't emit coverage for uninstantiated templates
We include unused functions and methods in -fcoverage-mapping so that we can differentiate between uninstrumented and unused. This can cau
InstrProf: Don't emit coverage for uninstantiated templates
We include unused functions and methods in -fcoverage-mapping so that we can differentiate between uninstrumented and unused. This can cause problems for uninstantiated templates though, since they may involve an incomplete type that can't be mangled. This shows up in things like libc++'s <unordered_map> and makes coverage unusable.
Avoid the issue by skipping uninstantiated methods of a templated class.
llvm-svn: 222204
show more ...
|
Revision tags: llvmorg-3.5.0, llvmorg-3.5.0-rc4, llvmorg-3.5.0-rc3 |
|
#
c9cbde7e |
| 13-Aug-2014 |
Richard Smith <richard-llvm@metafoo.co.uk> |
[modules] Fix a rejects-valid resulting from emitting an inline function recursively within the emission of another inline function. This ultimately led to us emitting the same inline function defini
[modules] Fix a rejects-valid resulting from emitting an inline function recursively within the emission of another inline function. This ultimately led to us emitting the same inline function definition twice, which we then rejected because we believed we had a mangled name conflict.
llvm-svn: 215579
show more ...
|
Revision tags: llvmorg-3.5.0-rc2 |
|
#
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 ...
|
#
7f5755cf |
| 01-Aug-2014 |
Richard Smith <richard-llvm@metafoo.co.uk> |
Notional simplification: defer emitting deferred inline methods until we finish emitting everything, rather than potentially doing this reentrantly.
llvm-svn: 214582
|
#
1ba0a07e |
| 01-Aug-2014 |
Richard Smith <richard-llvm@metafoo.co.uk> |
Re-commit r214547 with tests fixed. Hopefully all the bots will be happy now. Original message:
Fix iterator invalidation issues that are breaking my modules buildbot's bootstrap.
llvm-svn: 214555
|
#
455768e2 |
| 01-Aug-2014 |
Richard Smith <richard-llvm@metafoo.co.uk> |
Revert r214547 due to test breakage.
llvm-svn: 214549
|
#
cf08ff50 |
| 01-Aug-2014 |
Richard Smith <richard-llvm@metafoo.co.uk> |
Fix iterator invalidation issues that are breaking my modules buildbot's bootstrap.
llvm-svn: 214547
|
Revision tags: llvmorg-3.5.0-rc1 |
|
#
56fc62bf |
| 17-Jul-2014 |
Hans Wennborg <hans@hanshq.net> |
MS compatibility: always emit dllexported in-class initialized static data members (PR20140)
This makes us emit dllexported in-class initialized static data members (which are treated as definitions
MS compatibility: always emit dllexported in-class initialized static data members (PR20140)
This makes us emit dllexported in-class initialized static data members (which are treated as definitions in MSVC), even when they're not referenced.
It also makes their special linkage reflected in the GVA linkage instead of getting massaged in CodeGen.
Differential Revision: http://reviews.llvm.org/D4563
llvm-svn: 213304
show more ...
|
#
dfcb7d6a |
| 06-Jun-2014 |
Hans Wennborg <hans@hanshq.net> |
Defer codegen of inline method definitions to the end of current top level declaration
We would previously fail to emit a definition of bar() for the following code:
struct __declspec(dllexport)
Defer codegen of inline method definitions to the end of current top level declaration
We would previously fail to emit a definition of bar() for the following code:
struct __declspec(dllexport) S { void foo() { t->bar(); } struct T { void bar() {} }; T *t; };
Note that foo() is an exported method, but bar() is not. However, foo() refers to bar() so we need to emit its definition. We would previously fail to realise that bar() is used.
By deferring the method definitions until the end of the top level declaration, we can simply call EmitTopLevelDecl on them and rely on the usual mechanisms to decide whether the method should be emitted or not.
Differential Revision: http://reviews.llvm.org/D4038
llvm-svn: 210356
show more ...
|
#
fb8d02b1 |
| 05-Jun-2014 |
Alp Toker <alp@nuanti.com> |
Implement -Wframe-larger-than backend diagnostic
Add driver and frontend support for the GCC -Wframe-larger-than=bytes warning. This is the first GCC-compatible backend diagnostic built around LLVM'
Implement -Wframe-larger-than backend diagnostic
Add driver and frontend support for the GCC -Wframe-larger-than=bytes warning. This is the first GCC-compatible backend diagnostic built around LLVM's reporting feature.
This commit adds infrastructure to perform reverse lookup from mangled names emitted after LLVM IR generation. We use that to resolve precise locations and originating AST functions, lambdas or block declarations to produce seamless codegen-guided diagnostics.
An associated change, StringMap now maintains unique mangled name strings instead of allocating copies. This is a net memory saving in C++ and a small hit for C where we no longer reuse IdentifierInfo storage, pending further optimisation.
llvm-svn: 210293
show more ...
|
#
a926d84c |
| 23-May-2014 |
Hans Wennborg <hans@hanshq.net> |
Emit used/dllexport inline method definitions in nested classes (PR19743, PR11170)
The previous code that was supposed to handle this didn't work since parsing of inline method definitions is delaye
Emit used/dllexport inline method definitions in nested classes (PR19743, PR11170)
The previous code that was supposed to handle this didn't work since parsing of inline method definitions is delayed to the end of the outer class definition. Thus, when HandleTagDeclDefinition() got called for the inner class, the inline functions in that class had not been parsed yet.
Richard suggested that the way to do this is by handling inline method definitions through a new ASTConsumer callback.
I really wanted to call ASTContext::DeclMustBeEmitted() instead of checking for attributes, but doing that causes us to compute linkage, and then we fail with "error: unsupported: typedef changes linkage of anonymous type, but linkage was already computed" on tests like this: (from SemaCXX/undefined-internal.cpp) :-/
namespace test7 { typedef struct { void bar(); void foo() { bar(); } } A; }
Differential Revision: http://reviews.llvm.org/D3809
llvm-svn: 209549
show more ...
|
Revision tags: llvmorg-3.4.2, llvmorg-3.4.2-rc1, llvmorg-3.4.1, llvmorg-3.4.1-rc2, llvmorg-3.4.1-rc1 |
|
#
4f12f10d |
| 12-Mar-2014 |
Craig Topper <craig.topper@gmail.com> |
[C++11] Add 'override' keyword to virtual methods that override their base class.
llvm-svn: 203643
|
#
dfca6f97 |
| 09-Mar-2014 |
Ahmed Charles <ahmedcharles@gmail.com> |
[C++11] Replace OwningPtr include with <memory>.
llvm-svn: 203389
|
#
b8984329 |
| 07-Mar-2014 |
Ahmed Charles <ahmedcharles@gmail.com> |
Replace OwningPtr with std::unique_ptr.
This compiles cleanly with lldb/lld/clang-tools-extra/llvm.
llvm-svn: 203279
|
#
629afaef |
| 07-Mar-2014 |
Aaron Ballman <aaron@aaronballman.com> |
[C++11] Replacing DeclBase iterators decls_begin() and decls_end() with iterator_range decls(). The same is true for the noload versions of these APIs. Updating all of the usages of the iterators wit
[C++11] Replacing DeclBase iterators decls_begin() and decls_end() with iterator_range decls(). The same is true for the noload versions of these APIs. Updating all of the usages of the iterators with range-based for loops.
llvm-svn: 203278
show more ...
|
#
9a16beb8 |
| 07-Mar-2014 |
Ahmed Charles <ahmedcharles@gmail.com> |
Change OwningPtr::take() to OwningPtr::release().
This is a precursor to moving to std::unique_ptr.
llvm-svn: 203275
|
#
a798a9db |
| 02-Mar-2014 |
Craig Topper <craig.topper@gmail.com> |
Switch all uses of LLVM_OVERRIDE to just use 'override' directly.
llvm-svn: 202625
|