Revision tags: llvmorg-4.0.0-rc2 |
|
#
90505a0a |
| 03-Feb-2017 |
Pavel Labath <labath@google.com> |
Add a missing break statement
llvm-svn: 294036
|
#
bf9a7730 |
| 02-Feb-2017 |
Zachary Turner <zturner@google.com> |
Move classes from Core -> Utility.
This moves the following classes from Core -> Utility.
ConstString Error RegularExpression Stream StreamString
The goal here is to get lldbUtility into a state w
Move classes from Core -> Utility.
This moves the following classes from Core -> Utility.
ConstString Error RegularExpression Stream StreamString
The goal here is to get lldbUtility into a state where it has no dependendencies except on itself and LLVM, so it can be the starting point at which to start untangling LLDB's dependencies. These are all low level and very widely used classes, and previously lldbUtility had dependencies up to lldbCore in order to use these classes. So moving then down to lldbUtility makes sense from both the short term and long term perspective in solving this problem.
Differential Revision: https://reviews.llvm.org/D29427
llvm-svn: 293941
show more ...
|
Revision tags: llvmorg-4.0.0-rc1 |
|
#
107d9bbd |
| 18-Jan-2017 |
Pavel Labath <labath@google.com> |
Add a more succinct logging syntax
This adds the LLDB_LOG macro, which enables one to write more succinct log statements. if (log) log->Printf("log something: %d", var); becomes LLDB_LOG(log, "log
Add a more succinct logging syntax
This adds the LLDB_LOG macro, which enables one to write more succinct log statements. if (log) log->Printf("log something: %d", var); becomes LLDB_LOG(log, "log something: {0}, var);
The macro still internally does the "if(log)" dance, so the arguments are only evaluated if logging is enabled, meaning it has the same overhead as the previous syntax.
Additionally, the log statements will be automatically prefixed with the file and function generating the log (if the corresponding new argument to the "log enable" command is enabled), so one does not need to manually specify this in the log statement.
It also uses the new llvm formatv syntax, which means we don't have to worry about PRIx64 macros and similar, and we can log complex object (llvm::StringRef, lldb_private::Error, ...) more easily.
Differential Revision: https://reviews.llvm.org/D27459
llvm-svn: 292360
show more ...
|
#
14f6b2c0 |
| 09-Dec-2016 |
Zachary Turner <zturner@google.com> |
Modernize the Args access pattern in a few more commands.
llvm-svn: 289164
|
Revision tags: llvmorg-3.9.1, llvmorg-3.9.1-rc3, llvmorg-3.9.1-rc2, llvmorg-3.9.1-rc1 |
|
#
fe11483b |
| 12-Nov-2016 |
Zachary Turner <zturner@google.com> |
Make Options::SetOptionValue take a StringRef.
llvm-svn: 286723
|
#
11eb9c64 |
| 05-Oct-2016 |
Zachary Turner <zturner@google.com> |
Convert various CommandInterpreter functions to StringRef.
llvm-svn: 283370
|
#
70602439 |
| 22-Sep-2016 |
Zachary Turner <zturner@google.com> |
Try to fix build errors on Android.
It doesn't like the implicit conversion from T[] to ArrayRef<T> so I'm using `llvm::makeArrayRef()`. Hopefully I got everything.
llvm-svn: 282195
|
#
1f0f5b5b |
| 22-Sep-2016 |
Zachary Turner <zturner@google.com> |
Convert option tables to ArrayRefs.
This change is very mechanical. All it does is change the signature of `Options::GetDefinitions()` and `OptionGroup:: GetDefinitions()` to return an `ArrayRef<Op
Convert option tables to ArrayRefs.
This change is very mechanical. All it does is change the signature of `Options::GetDefinitions()` and `OptionGroup:: GetDefinitions()` to return an `ArrayRef<OptionDefinition>` instead of a `const OptionDefinition *`. In the case of the former, it deletes the sentinel entry from every table, and in the case of the latter, it removes the `GetNumDefinitions()` method from the interface. These are no longer necessary as `ArrayRef` carries its own length.
In the former case, iteration was done by using a sentinel entry, so there was no knowledge of length. Because of this the individual option tables were allowed to be defined below the corresponding class (after all, only a pointer was needed). Now, however, the length must be known at compile time to construct the `ArrayRef`, and as a result it is necessary to move every option table before its corresponding class. This results in this CL looking very big, but in terms of substance there is not much here.
Differential revision: https://reviews.llvm.org/D24834
llvm-svn: 282188
show more ...
|
#
ecbb0bb1 |
| 19-Sep-2016 |
Zachary Turner <zturner@google.com> |
Fix more functions in Args to use StringRef.
This patch also marks the const char* versions as =delete to prevent their use. This has the potential to cause build breakages on some platforms which
Fix more functions in Args to use StringRef.
This patch also marks the const char* versions as =delete to prevent their use. This has the potential to cause build breakages on some platforms which I can't compile. I have tested on Windows, Linux, and OSX. Best practices for fixing broken callsites are outlined in Args.h in a comment above the deleted function declarations.
Eventually we can remove these =delete declarations, but for now they are important to make sure that all implicit conversions from const char * are manually audited to make sure that they do not invoke a conversion from nullptr.
llvm-svn: 281919
show more ...
|
#
b9c1b51e |
| 06-Sep-2016 |
Kate Stone <katherine.stone@apple.com> |
*** This commit represents a complete reformatting of the LLDB source code *** to conform to clang-format’s LLVM style. This kind of mass change has *** two obvious implications:
Firstly, merging t
*** This commit represents a complete reformatting of the LLDB source code *** to conform to clang-format’s LLVM style. This kind of mass change has *** two obvious implications:
Firstly, merging this particular commit into a downstream fork may be a huge effort. Alternatively, it may be worth merging all changes up to this commit, performing the same reformatting operation locally, and then discarding the merge for this particular commit. The commands used to accomplish this reformatting were as follows (with current working directory as the root of the repository):
find . \( -iname "*.c" -or -iname "*.cpp" -or -iname "*.h" -or -iname "*.mm" \) -exec clang-format -i {} + find . -iname "*.py" -exec autopep8 --in-place --aggressive --aggressive {} + ;
The version of clang-format used was 3.9.0, and autopep8 was 1.2.4.
Secondly, “blame” style tools will generally point to this commit instead of a meaningful prior commit. There are alternatives available that will attempt to look through this change and find the appropriate prior commit. YMMV.
llvm-svn: 280751
show more ...
|
#
ac9c3a62 |
| 26-Aug-2016 |
Kate Stone <katherine.stone@apple.com> |
Tables of command options in LLDB benefit from hand-formatting to make it easier to scan a set of options with a relatively large number of positional arguments. This commit standardizes their format
Tables of command options in LLDB benefit from hand-formatting to make it easier to scan a set of options with a relatively large number of positional arguments. This commit standardizes their formatting throughout LLDB and applies surrounding directives to exempt them from being formatted by clang-format.
These kinds of exemptions should be rare cases that benefit significantly from alternative formatting. They also imply a long-term obligation to maintain their format since the automated tools will not do so.
llvm-svn: 279882
show more ...
|
Revision tags: llvmorg-3.9.0, llvmorg-3.9.0-rc3, llvmorg-3.9.0-rc2 |
|
#
e1cfbc79 |
| 11-Aug-2016 |
Todd Fiala <todd.fiala@gmail.com> |
Decoupled Options from CommandInterpreter.
Options used to store a reference to the CommandInterpreter instance in the base Options class. This made it impossible to parse options independent of a
Decoupled Options from CommandInterpreter.
Options used to store a reference to the CommandInterpreter instance in the base Options class. This made it impossible to parse options independent of a CommandInterpreter.
This change removes the reference from the base class. Instead, it modifies the options-parsing-related methods to take an ExecutionContext pointer, which the options may inspect if they need to do so.
Closes https://reviews.llvm.org/D23416 Reviewers: clayborg, jingham
llvm-svn: 278440
show more ...
|
Revision tags: llvmorg-3.9.0-rc1 |
|
#
7428a18c |
| 14-Jul-2016 |
Kate Stone <katherine.stone@apple.com> |
LLDB help content has accumulated over time without a recent attempt to review it for consistency, accuracy, and clarity. These changes attempt to address all of the above while keeping the text rela
LLDB help content has accumulated over time without a recent attempt to review it for consistency, accuracy, and clarity. These changes attempt to address all of the above while keeping the text relatively terse.
<rdar://problem/24868841>
llvm-svn: 275485
show more ...
|
Revision tags: llvmorg-3.8.1, llvmorg-3.8.1-rc1, llvmorg-3.8.0, llvmorg-3.8.0-rc3 |
|
#
26cac3af |
| 20-Feb-2016 |
Eugene Zelenko <eugene.zelenko@gmail.com> |
Fix Clang-tidy modernize-use-nullptr and modernize-use-default warnings in some files in source/Commands; other minor fixes.
llvm-svn: 261389
|
Revision tags: llvmorg-3.8.0-rc2, llvmorg-3.8.0-rc1, llvmorg-3.7.1, llvmorg-3.7.1-rc2, llvmorg-3.7.1-rc1 |
|
#
13d21e9a |
| 07-Oct-2015 |
Bruce Mitchener <bruce.mitchener@gmail.com> |
commands: Use override instead of virtual.
Summary: This removes all uses of virtual on functions where override could be used, including on destructors.
It also adds override where virtual was pre
commands: Use override instead of virtual.
Summary: This removes all uses of virtual on functions where override could be used, including on destructors.
It also adds override where virtual was previously missing.
Reviewers: clayborg, labath
Subscribers: lldb-commits
Differential Revision: http://reviews.llvm.org/D13503
llvm-svn: 249564
show more ...
|
Revision tags: llvmorg-3.7.0, llvmorg-3.7.0-rc4, llvmorg-3.7.0-rc3, studio-1.4, llvmorg-3.7.0-rc2, llvmorg-3.7.0-rc1, llvmorg-3.6.2, llvmorg-3.6.2-rc1 |
|
#
1124045a |
| 29-May-2015 |
Zachary Turner <zturner@google.com> |
Don't #include "lldb-python.h" from anywhere.
Since interaction with the python interpreter is moving towards being more isolated, we won't be able to include this header from normal files anymore,
Don't #include "lldb-python.h" from anywhere.
Since interaction with the python interpreter is moving towards being more isolated, we won't be able to include this header from normal files anymore, all includes of it should be localized to the python library which will live under source/bindings/API/Python after a future patch.
None of the files that were including this header actually depended on it anyway, so it was just a dead include in every single instance.
llvm-svn: 238581
show more ...
|
Revision tags: llvmorg-3.6.1, llvmorg-3.6.1-rc1 |
|
#
8ac06996 |
| 20-Mar-2015 |
Pavel Labath <labath@google.com> |
Support for truncate/append on log files
Summary: Presently, if a log file already exists, lldb simply starts overwriting bits of it, without truncating or anything. This patch makes it use eFileOpt
Support for truncate/append on log files
Summary: Presently, if a log file already exists, lldb simply starts overwriting bits of it, without truncating or anything. This patch makes it use eFileOptionFileTruncate by default. It also adds an --append option, which will append to the file without truncating. A test is included.
Reviewers: clayborg
Subscribers: lldb-commits
Differential Revision: http://reviews.llvm.org/D8450
llvm-svn: 232801
show more ...
|
#
3294de27 |
| 18-Mar-2015 |
Zachary Turner <zturner@google.com> |
Move lldb-log.cpp to core/Logging.cpp
So that we don't have to update every single #include in the entire codebase to #include this new header (which used to get included by lldb-private-log.h, we a
Move lldb-log.cpp to core/Logging.cpp
So that we don't have to update every single #include in the entire codebase to #include this new header (which used to get included by lldb-private-log.h, we automatically #include "Logging.h" from within "Log.h".
llvm-svn: 232653
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 |
|
#
5275aaa0 |
| 15-Jan-2015 |
Vince Harron <vharron@google.com> |
Moved Args::StringToXIntYZ to StringConvert::ToXIntYZ
The refactor was motivated by some comments that Greg made http://reviews.llvm.org/D6918
and also to break a dependency cascade that caused fun
Moved Args::StringToXIntYZ to StringConvert::ToXIntYZ
The refactor was motivated by some comments that Greg made http://reviews.llvm.org/D6918
and also to break a dependency cascade that caused functions linking in string->int conversion functions to pull in most of lldb
llvm-svn: 226199
show more ...
|
Revision tags: llvmorg-3.6.0-rc1, llvmorg-3.5.1, llvmorg-3.5.1-rc2, llvmorg-3.5.1-rc1, llvmorg-3.5.0, llvmorg-3.5.0-rc4, llvmorg-3.5.0-rc3, llvmorg-3.5.0-rc2, llvmorg-3.5.0-rc1 |
|
#
d37221dc |
| 09-Jul-2014 |
Zachary Turner <zturner@google.com> |
Revert "Fix broken tests due to new error output."
This reverts commit ec7c94f8e6860968d384b578e5564a9c55c80b4a and re-enables OptionValidators.
llvm-svn: 212627
|
#
9734280f |
| 08-Jul-2014 |
Todd Fiala <todd.fiala@gmail.com> |
Fix broken tests due to new error output.
This reverses out the options validators changes. We'll get these back in once the changes to the output can be resolved.
Restores broken tests on FreeBSD
Fix broken tests due to new error output.
This reverses out the options validators changes. We'll get these back in once the changes to the output can be resolved.
Restores broken tests on FreeBSD, Linux, MacOSX.
Changes reverted: r212500, r212317, r212290.
llvm-svn: 212543
show more ...
|
#
de963e9a |
| 03-Jul-2014 |
Zachary Turner <zturner@google.com> |
Adds the notion of an OptionValidator.
The purpose of the OptionValidator is to determine, based on some arbitrary set of conditions, whether or not a command option is valid for a given debugger st
Adds the notion of an OptionValidator.
The purpose of the OptionValidator is to determine, based on some arbitrary set of conditions, whether or not a command option is valid for a given debugger state. An example of this might be to selectively disable or enable certain command options that don't apply to a particular platform.
This patch contains no functional change, and does not actually make use of an OptionValidator for any purpose yet. A follow-up patch will begin to add the logic and users of OptionValidator.
Reviewed by: Greg Clayton, Jim Ingham
Differential Revision: http://reviews.llvm.org/D4369
llvm-svn: 212290
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, llvmorg-3.4.0, llvmorg-3.4.0-rc3, llvmorg-3.4.0-rc2, llvmorg-3.4.0-rc1 |
|
#
e2607b50 |
| 05-Sep-2013 |
Virgile Bello <virgile.bello@gmail.com> |
Add OptionParser.h
llvm-svn: 190063
|
Revision tags: llvmorg-3.3.1-rc1, llvmorg-3.3.0, llvmorg-3.3.0-rc3, llvmorg-3.3.0-rc2 |
|
#
57abc5d6 |
| 10-May-2013 |
Greg Clayton <gclayton@apple.com> |
<rdar://problem/13854277> <rdar://problem/13594769>
Main changes in this patch include: - cleanup plug-in interface and use ConstStrings for plug-in names - Modfiied the BSD Archive plug-in to be ab
<rdar://problem/13854277> <rdar://problem/13594769>
Main changes in this patch include: - cleanup plug-in interface and use ConstStrings for plug-in names - Modfiied the BSD Archive plug-in to be able to pick out the correct .o file when .a files contain multiple .o files with the same name by using the timestamp - Modified SymbolFileDWARFDebugMap to properly verify the timestamp on .o files it loads to ensure we don't load updated .o files and cause problems when debugging
The plug-in interface changes:
Modified the lldb_private::PluginInterface class that all plug-ins inherit from:
Changed:
virtual const char * GetPluginName() = 0;
To:
virtual ConstString GetPluginName() = 0;
Removed:
virtual const char * GetShortPluginName() = 0;
- Fixed up all plug-in to adhere to the new interface and to return lldb_private::ConstString values for the plug-in names. - Fixed all plug-ins to return simple names with no prefixes. Some plug-ins had prefixes and most ones didn't, so now they all don't have prefixed names, just simple names like "linux", "gdb-remote", etc.
llvm-svn: 181631
show more ...
|
Revision tags: llvmorg-3.3.0-rc1, llvmorg-3.2.0 |
|
#
889037d7 |
| 07-Dec-2012 |
Greg Clayton <gclayton@apple.com> |
<rdar://problem/10903854>
log enable now resolves the "--file" option in case it contains ~.
llvm-svn: 169623
|