Revision tags: llvmorg-3.4.2, llvmorg-3.4.2-rc1, llvmorg-3.4.1, llvmorg-3.4.1-rc2 |
|
#
c2c6649d |
| 23-Apr-2014 |
NAKAMURA Takumi <geek4civic@gmail.com> |
cl::ParseCommandLineOptions(): Use StringRef to receive sys::path::filename() instead of std::string.
llvm-svn: 206990
|
#
e96dd897 |
| 21-Apr-2014 |
Chandler Carruth <chandlerc@gmail.com> |
[Modules] Make Support/Debug.h modular. This requires it to not change behavior based on other files defining DEBUG_TYPE, which means it cannot define DEBUG_TYPE at all. This is actually better IMO a
[Modules] Make Support/Debug.h modular. This requires it to not change behavior based on other files defining DEBUG_TYPE, which means it cannot define DEBUG_TYPE at all. This is actually better IMO as it forces folks to define relevant DEBUG_TYPEs for their files. However, it requires all files that currently use DEBUG(...) to define a DEBUG_TYPE if they don't already. I've updated all such files in LLVM and will do the same for other upstream projects.
This still leaves one important change in how LLVM uses the DEBUG_TYPE macro going forward: we need to only define the macro *after* header files have been #include-ed. Previously, this wasn't possible because Debug.h required the macro to be pre-defined. This commit removes that. By defining DEBUG_TYPE after the includes two things are fixed:
- Header files that need to provide a DEBUG_TYPE for some inline code can do so by defining the macro before their inline code and undef-ing it afterward so the macro does not escape.
- We no longer have rampant ODR violations due to including headers with different DEBUG_TYPE definitions. This may be mostly an academic violation today, but with modules these types of violations are easy to check for and potentially very relevant.
Where necessary to suppor headers with DEBUG_TYPE, I have moved the definitions below the includes in this commit. I plan to move the rest of the DEBUG_TYPE macros in LLVM in subsequent commits; this one is big enough.
The comments in Debug.h, which were hilariously out of date already, have been updated to reflect the recommended practice going forward.
llvm-svn: 206822
show more ...
|
#
2617dcce |
| 15-Apr-2014 |
Craig Topper <craig.topper@gmail.com> |
[C++11] More 'nullptr' conversion. In some cases just using a boolean check instead of comparing to nullptr.
llvm-svn: 206252
|
Revision tags: llvmorg-3.4.1-rc1 |
|
#
8d399f87 |
| 09-Apr-2014 |
Craig Topper <craig.topper@gmail.com> |
[C++11] Replace some comparisons with 'nullptr' with simple boolean checks to reduce verbosity.
llvm-svn: 205829
|
#
c10719f5 |
| 07-Apr-2014 |
Craig Topper <craig.topper@gmail.com> |
[C++11] Make use of 'nullptr' in the Support library.
llvm-svn: 205697
|
#
56440fd8 |
| 06-Mar-2014 |
Ahmed Charles <ahmedcharles@gmail.com> |
Replace OwningPtr<T> with std::unique_ptr<T>.
This compiles with no changes to clang/lld/lldb with MSVC and includes overloads to various functions which are used by those projects and llvm which ha
Replace OwningPtr<T> with std::unique_ptr<T>.
This compiles with no changes to clang/lld/lldb with MSVC and includes overloads to various functions which are used by those projects and llvm which have OwningPtr's as parameters. This should allow out of tree projects some time to move. There are also no changes to libs/Target, which should help out of tree targets have time to move, if necessary.
llvm-svn: 203083
show more ...
|
#
32ea826a |
| 04-Mar-2014 |
Craig Topper <craig.topper@gmail.com> |
[C+11] Add 'override' keyword to methods in the support library.
llvm-svn: 202791
|
#
73156025 |
| 02-Mar-2014 |
Craig Topper <craig.topper@gmail.com> |
Switch all uses of LLVM_OVERRIDE to just use 'override' directly.
llvm-svn: 202621
|
#
3a377bce |
| 01-Mar-2014 |
Benjamin Kramer <benny.kra@googlemail.com> |
Now that we have C++11, turn simple functors into lambdas and remove a ton of boilerplate.
No intended functionality change.
llvm-svn: 202588
|
#
02b95842 |
| 28-Feb-2014 |
Justin Bogner <mail@justinbogner.com> |
CommandLine: Exit successfully for -version and -help
Tools that use the CommandLine library currently exit with an error when invoked with -version or -help. This is unusual and non-standard, so we
CommandLine: Exit successfully for -version and -help
Tools that use the CommandLine library currently exit with an error when invoked with -version or -help. This is unusual and non-standard, so we'll fix them to exit successfully instead.
I don't expect that anyone relies on the current behaviour, so this should be a fairly safe change.
llvm-svn: 202530
show more ...
|
#
52a07b81 |
| 27-Feb-2014 |
Alexander Kornienko <alexfh@google.com> |
Re-apply r200853, which should not crash after Clang plugins were converted to loadable modules in r201256.
llvm-svn: 202404
|
#
d772d721 |
| 07-Feb-2014 |
Alexander Kornienko <alexfh@google.com> |
Fix an invalid check for duplicate option categories.
An intermediate solution until the problems with analyzer plugins linking with llvm/Support and causing assertions due to duplicate GeneralCateg
Fix an invalid check for duplicate option categories.
An intermediate solution until the problems with analyzer plugins linking with llvm/Support and causing assertions due to duplicate GeneralCategory are solved.
llvm-svn: 200981
show more ...
|
#
0bca63a3 |
| 05-Feb-2014 |
Rafael Espindola <rafael.espindola@gmail.com> |
Revert "Fix an invalid check for duplicate option categories."
This reverts commit r200853.
It was causing clang/Analysis/checker-plugins.c to crash.
llvm-svn: 200858
|
#
e88421b6 |
| 05-Feb-2014 |
Alexander Kornienko <alexfh@google.com> |
Fix an invalid check for duplicate option categories.
Summary: The check performed in the comparator is invalid, as some STL implementations enforce strict weak ordering by calling the comparator wi
Fix an invalid check for duplicate option categories.
Summary: The check performed in the comparator is invalid, as some STL implementations enforce strict weak ordering by calling the comparator with the same value. This check was also in a wrong place: the assertion would only fire when -help was used. The new check is performed each time the category is registered (we are not going to have thousands of them, so it's fine to do it in O(N^2)).
Reviewers: jordan_rose
Reviewed By: jordan_rose
CC: cfe-commits, alexmc
Differential Revision: http://llvm-reviews.chandlerc.com/D2699
llvm-svn: 200853
show more ...
|
#
c25b0c7e |
| 29-Jan-2014 |
Jordan Rose <jordan_rose@apple.com> |
[CommandLine] Aliases require an value if their target requires a value.
This can still be overridden by explicitly setting a value requirement on the alias option, but by default it should be the s
[CommandLine] Aliases require an value if their target requires a value.
This can still be overridden by explicitly setting a value requirement on the alias option, but by default it should be the same.
PR18649
llvm-svn: 200407
show more ...
|
#
cb402911 |
| 24-Jan-2014 |
Alp Toker <alp@nuanti.com> |
Fix known typos
Sweep the codebase for common typos. Includes some changes to visible function names that were misspelt.
llvm-svn: 200018
|
Revision tags: llvmorg-3.4.0, llvmorg-3.4.0-rc3 |
|
#
67ae9912 |
| 06-Dec-2013 |
Justin Bogner <mail@justinbogner.com> |
Support: Fix handling of args that begin with @ but aren't files
Command line arguments that begin with @ but aren't a path to an existing file currently cause later @file arguments to be ignored.
Support: Fix handling of args that begin with @ but aren't files
Command line arguments that begin with @ but aren't a path to an existing file currently cause later @file arguments to be ignored.
Correctly skip over these arguments instead of trying to read a non-existent file 20 times and giving up.
Since the problem manifests in the clang driver, the test is in that repository.
Fixes rdar://problem/15590906
llvm-svn: 196620
show more ...
|
#
7c5fdaf1 |
| 03-Dec-2013 |
Reid Kleckner <reid@kleckner.net> |
Return true on success in cl::ExpandResponseFiles
This fixes a logic bug pointed out by Juraj Ivancic.
No behavior change because none of the in-tree clients of cl::ExpandResponseFiles check the re
Return true on success in cl::ExpandResponseFiles
This fixes a logic bug pointed out by Juraj Ivancic.
No behavior change because none of the in-tree clients of cl::ExpandResponseFiles check the return value. In this case, the @prefixed arguments are left in the command line. Downstream command line processing has the opportunity to emit errors about it, so this isn't that bad.
llvm-svn: 196306
show more ...
|
Revision tags: llvmorg-3.4.0-rc2, llvmorg-3.4.0-rc1 |
|
#
d12ccbd3 |
| 19-Nov-2013 |
Juergen Ributzka <juergen@apple.com> |
[weak vtables] Remove a bunch of weak vtables
This patch removes most of the trivial cases of weak vtables by pinning them to a single object file. The memory leaks in this version have been fixed.
[weak vtables] Remove a bunch of weak vtables
This patch removes most of the trivial cases of weak vtables by pinning them to a single object file. The memory leaks in this version have been fixed. Thanks Alexey for pointing them out.
Differential Revision: http://llvm-reviews.chandlerc.com/D2068
Reviewed by Andy
llvm-svn: 195064
show more ...
|
#
49109a27 |
| 18-Nov-2013 |
Alexey Samsonov <samsonov@google.com> |
Revert r194865 and r194874.
This change is incorrect. If you delete virtual destructor of both a base class and a subclass, then the following code: Base *foo = new Child(); delete foo; will not
Revert r194865 and r194874.
This change is incorrect. If you delete virtual destructor of both a base class and a subclass, then the following code: Base *foo = new Child(); delete foo; will not cause the destructor for members of Child class. As a result, I observe plently of memory leaks. Notable examples I investigated are: ObjectBuffer and ObjectBufferStream, AttributeImpl and StringSAttributeImpl.
llvm-svn: 194997
show more ...
|
#
dbedae89 |
| 15-Nov-2013 |
Juergen Ributzka <juergen@apple.com> |
[weak vtables] Remove a bunch of weak vtables
This patch removes most of the trivial cases of weak vtables by pinning them to a single object file.
Differential Revision: http://llvm-reviews.chandl
[weak vtables] Remove a bunch of weak vtables
This patch removes most of the trivial cases of weak vtables by pinning them to a single object file.
Differential Revision: http://llvm-reviews.chandlerc.com/D2068
Reviewed by Andy
llvm-svn: 194865
show more ...
|
#
a2222b57 |
| 30-Jul-2013 |
Rui Ueyama <ruiu@google.com> |
Implement TokenizeWindowsCommandLine.
This is a follow up patch for r187390 to implement the parser for the Windows-style command line. This should follow the rule as described at http://msdn.micros
Implement TokenizeWindowsCommandLine.
This is a follow up patch for r187390 to implement the parser for the Windows-style command line. This should follow the rule as described at http://msdn.microsoft.com/en-us/library/windows/desktop/17w5ykft(v=vs.85).aspx
Differential Revision: http://llvm-reviews.chandlerc.com/D1235
llvm-svn: 187430
show more ...
|
#
a8e7c26e |
| 24-Jul-2013 |
Rafael Espindola <rafael.espindola@gmail.com> |
Don't leak when expanding response files.
Before this patch we would strdup each argument. If one was a response file, we would replace it with the response file contents, leaking the original strdu
Don't leak when expanding response files.
Before this patch we would strdup each argument. If one was a response file, we would replace it with the response file contents, leaking the original strdup result.
We now don't strdup the originals and let StringSaver free any memory it allocated. This also saves a bit of malloc traffic when response files are not used.
Leak found by the valgrind build bot.
llvm-svn: 187042
show more ...
|
#
a73c7781 |
| 18-Jul-2013 |
Reid Kleckner <reid@kleckner.net> |
[Support] Beef up and expose the response file parsing in llvm::cl
The plan is to use it for clang and lld.
Major behavior changes: - We can now parse UTF-16 files that have a byte order mark. - PR
[Support] Beef up and expose the response file parsing in llvm::cl
The plan is to use it for clang and lld.
Major behavior changes: - We can now parse UTF-16 files that have a byte order mark. - PR16209: Don't drop backslashes on the floor if they don't escape anything.
The actual parsing loop was based on code from Clang's driver.cpp, although it's been rewritten to track its state with control flow rather than state variables.
Reviewers: hans
Differential Revision: http://llvm-reviews.chandlerc.com/D1170
llvm-svn: 186587
show more ...
|
Revision tags: llvmorg-3.3.1-rc1 |
|
#
385c06ff |
| 12-Jun-2013 |
Rafael Espindola <rafael.espindola@gmail.com> |
Don't use PathV1 in CommandLine.cpp.
No functionality change.
llvm-svn: 183842
|