History log of /llvm-project/lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp (Results 126 – 150 of 154)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
Revision tags: llvmorg-4.0.0-rc1
# f5bb1d6c 19-Dec-2016 Luke Drummond <luke.drummond@codeplay.com>

Expression evaluation for overloaded C functions (redux)

This is a redux of [Ewan's patch](https://reviews.llvm.org/D17957) , refactored
to properly substitute primitive types using a hook in the i

Expression evaluation for overloaded C functions (redux)

This is a redux of [Ewan's patch](https://reviews.llvm.org/D17957) , refactored
to properly substitute primitive types using a hook in the itanium demangler,
and updated after the previous patch went stale

The new `SubsPrimitiveParmItanium` function takes a symbol name and replacement
primitive type parameter as before but parses it using the FastDemangler, which
has been modified to be able to notify clients of parse events (primitive types
at this point).

Additionally, we now use a `set` of `ConstStrings` instead of a `vector` so
that we don't try and resolve the same invalid candidate multiple times.

Differential Revision: https://reviews.llvm.org/D27223
Subscribers: lldb-commits

llvm-svn: 290117

show more ...


Revision tags: llvmorg-3.9.1, llvmorg-3.9.1-rc3, llvmorg-3.9.1-rc2, llvmorg-3.9.1-rc1
# 63db2395 01-Nov-2016 Enrico Granata <egranata@apple.com>

Implement a general type scavenger that can dig types from debug info + a filtering mechanism to accept/reject results thusly obtained

Implement the C++ type lookup support in terms of this general

Implement a general type scavenger that can dig types from debug info + a filtering mechanism to accept/reject results thusly obtained

Implement the C++ type lookup support in terms of this general scavenger

The idea is that we may want other languages to do debug info based search (exclusively, or as an add-on to runtime/module based searching) and it makes sense to avoid duplicating this functionality

llvm-svn: 285727

show more ...


# c046497b 27-Oct-2016 Enrico Granata <egranata@apple.com>

Add support for "type lookup" to find C and C++ types

This is an important first step in closing the functionality gap between "type lookup" and "images lookup -t"

rdar://28971388

llvm-svn: 285332


# d161b214 21-Oct-2016 Tamas Berghammer <tberghammer@google.com>

Add data formatter for libstdc++ unique_ptr

Differential revision: https://reviews.llvm.org/D25734

llvm-svn: 284830


# 7f15dba1 21-Oct-2016 Tamas Berghammer <tberghammer@google.com>

Add data formatter for libstdc++ tuple

Differential revision: https://reviews.llvm.org/D25733

llvm-svn: 284829


# 4fa098a5 06-Oct-2016 Zachary Turner <zturner@google.com>

Convert UniqueCStringMap to use StringRef.

llvm-svn: 283494


# 95eae423 21-Sep-2016 Zachary Turner <zturner@google.com>

Make lldb::Regex use StringRef.

This updates getters and setters to use StringRef instead of
const char *. I tested the build on Linux, Windows, and OSX
and saw no build or test failures. I cannot

Make lldb::Regex use StringRef.

This updates getters and setters to use StringRef instead of
const char *. I tested the build on Linux, Windows, and OSX
and saw no build or test failures. I cannot test any BSD
or Android variants, however I expect the required changes
to be minimal or non-existant.

llvm-svn: 282079

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 ...


# 1b54baef 31-Aug-2016 Enrico Granata <egranata@apple.com>

Add a data formatter for std::function in libcxx

llvm-svn: 280295


Revision tags: llvmorg-3.9.0, llvmorg-3.9.0-rc3, llvmorg-3.9.0-rc2
# 9361c439 18-Aug-2016 Pavel Labath <labath@google.com>

Fix parsing of complicated C++ names

Summary:
CPlusPlusLanguage::MethodName was not correctly parsing templated functions whose demangled name
included the return type -- the space before the functi

Fix parsing of complicated C++ names

Summary:
CPlusPlusLanguage::MethodName was not correctly parsing templated functions whose demangled name
included the return type -- the space before the function name was included in the "context" and
the context itself was not terminated correctly due to a misuse of the substr function (second
argument is length, not the end position). Fix that and add a regression test.

Reviewers: clayborg

Subscribers: lldb-commits

Differential Revision: https://reviews.llvm.org/D23608

llvm-svn: 279038

show more ...


Revision tags: llvmorg-3.9.0-rc1
# 14cb4f96 06-Jul-2016 Enrico Granata <egranata@apple.com>

Fix the installation of the vector<bool> data formatters in order to restore functionality

llvm-svn: 274697


# 9c6c8e99 06-Jul-2016 Tamas Berghammer <tberghammer@google.com>

Add data formatter for libstdc++ shared_ptr and weak_ptr

Differential revision: http://reviews.llvm.org/D21984

llvm-svn: 274617


# 4721a55e 04-Jul-2016 Tamas Berghammer <tberghammer@google.com>

Fix the libc++ pretty printers for the android NDK

The libc++ shipped with the android NDK is shipped using a different
internal namespace then the upstream libc++ (__ndk1 vs. __1) to avoid
an ODR v

Fix the libc++ pretty printers for the android NDK

The libc++ shipped with the android NDK is shipped using a different
internal namespace then the upstream libc++ (__ndk1 vs. __1) to avoid
an ODR violation between the platform and the user application. This
change fixes our pretty printers to be able to work with the types
from the android NDK libc++.

Differential revision: http://reviews.llvm.org/D21680

llvm-svn: 274489

show more ...


Revision tags: llvmorg-3.8.1, llvmorg-3.8.1-rc1
# c530ba98 02-May-2016 Sean Callanan <scallanan@apple.com>

Import block pointers from DWARF as Clang block pointers, not as structs.

Also added a data formatter that presents them as structs if you use frame
variable to look at their contents. Now the bloc

Import block pointers from DWARF as Clang block pointers, not as structs.

Also added a data formatter that presents them as structs if you use frame
variable to look at their contents. Now the blocks testcase works.

<rdar://problem/15984431>

llvm-svn: 268307

show more ...


# 08f5674b 12-Apr-2016 Greg Clayton <gclayton@apple.com>

Fixed being able to set breakpoints on destructors when we don't fully specify the demangled name. So all of the following now work:

(lldb) b ~Foo
(lldb) b Foo::~Foo
(lldb) b Bar::Foo::~Foo

Improve

Fixed being able to set breakpoints on destructors when we don't fully specify the demangled name. So all of the following now work:

(lldb) b ~Foo
(lldb) b Foo::~Foo
(lldb) b Bar::Foo::~Foo

Improved out C++ breakpoint locations tests as well to cover this issue.

<rdar://problem/25577252>

llvm-svn: 266139

show more ...


Revision tags: llvmorg-3.8.0
# bbd16815 29-Feb-2016 Eugene Zelenko <eugene.zelenko@gmail.com>

Fix Clang-tidy modernize-use-nullptr warnings in source/Plugins/Language; other minor fixes.

llvm-svn: 262246


Revision tags: llvmorg-3.8.0-rc3
# 75995b5e 12-Feb-2016 Enrico Granata <egranata@apple.com>

Data formatter support for libc++ std::atomic<T>

On libc++ std::atomic is a fairly simple data type (layout wise, at least), wrapping actual contents in a member variable named "__a_"

All the forma

Data formatter support for libc++ std::atomic<T>

On libc++ std::atomic is a fairly simple data type (layout wise, at least), wrapping actual contents in a member variable named "__a_"

All the formatters are doing is "peel away" this intermediate layer and exposing user data as direct children or values of the std::atomic root variable

Fixes rdar://24329405

llvm-svn: 260752

show more ...


Revision tags: llvmorg-3.8.0-rc2, llvmorg-3.8.0-rc1
# 9293fc41 07-Jan-2016 Siva Chandra <sivachandra@google.com>

Better scheme to lookup alternate mangled name when looking up function address.

Summary:
This change is relevant for inferiors compiled with GCC. GCC does not
emit complete debug info for std::basi

Better scheme to lookup alternate mangled name when looking up function address.

Summary:
This change is relevant for inferiors compiled with GCC. GCC does not
emit complete debug info for std::basic_string<...>, and consequently, Clang
(the LLDB compiler) does not generate correct mangled names for certain
functions.

This change removes the hard-coded alternate names in
ItaniumABILanguageRuntime.cpp.

Before the hard-coded names were put in ItaniumABILanguageRuntime.cpp, one could
not evaluate std::string methods (ex. std::string::length). After putting in
the hard-coded names, one could evaluate them. However, it did not still
enable one to call methods on, say for example, std::vector<string>.
This change makes that possible.

There is some amount of incompleteness in this change. Consider the
following example:

std::string hello("hello"), world("world");
std::map<std::string, std::string> m;
m[hello] = world;

One can still not evaluate the expression "m[hello]" in LLDB. Will
address this issue in another pass.

Reviewers: jingham, vharron, evgeny777, spyffe, dawn

Subscribers: clayborg, dawn, lldb-commits

Differential Revision: http://reviews.llvm.org/D12809

llvm-svn: 257113

show more ...


Revision tags: llvmorg-3.7.1, llvmorg-3.7.1-rc2, llvmorg-3.7.1-rc1
# e5839f3e 29-Oct-2015 Enrico Granata <egranata@apple.com>

Remove two #if0ed regions of code that we were using for an experiment but don't really want

llvm-svn: 251670


# 458d3d6a 27-Oct-2015 Tamas Berghammer <tberghammer@google.com>

Fix MSVC build after r251402

llvm-svn: 251403


# 9fa11470 27-Oct-2015 Tamas Berghammer <tberghammer@google.com>

Some minor improvements on the symtab parsing code

* Remove an unneccessary re-computaion on arch spec from the ELF file
* Use a local cache to optimize name based section lookups in symtab
parsin

Some minor improvements on the symtab parsing code

* Remove an unneccessary re-computaion on arch spec from the ELF file
* Use a local cache to optimize name based section lookups in symtab
parsing
* Optimize C++ method basename validation with replacing a regex with
hand written code

These modifications reduce the time required to parse the symtab from
large applications by ~25% (tested with LLDB as inferior)

Differential revision: http://reviews.llvm.org/D14088

llvm-svn: 251402

show more ...


# 82ffb8e9 22-Oct-2015 Todd Fiala <todd.fiala@gmail.com>

Fix libstdc++ data formatters on Ubuntu 15.10 x86_64

See http://reviews.llvm.org/D13964 for details.

llvm-svn: 250965


# 045c8292 25-Sep-2015 Dawn Perchik <dawn@burble.org>

Fix evaluation of unicode character arrays (char16_t[] and char32_t[])

Suppose we have the UTF-16 string:
char16_t[] s = u"hello";
Before this patch, evaluating the string in lldb would get:

Fix evaluation of unicode character arrays (char16_t[] and char32_t[])

Suppose we have the UTF-16 string:
char16_t[] s = u"hello";
Before this patch, evaluating the string in lldb would get:
(char16_t [6]) $0 = ([0] = U+0068 u'h', [1] = U+0065 u'e', [2] = U+006c u'l', [3] = U+006c u'l', [4] = U+006f u'o', [5] = U+0000 u'\0')
After applying the patch, we now get:
(char16_t [6]) $0 = u"hello"

Patch from evgeny.leviant@gmail.com
Reviewed by: granata.enrico
Subscribers: lldb-commits
Differential Revision: http://reviews.llvm.org/D13053

llvm-svn: 248555

show more ...


# 7cb59e1a 16-Sep-2015 Enrico Granata <egranata@apple.com>

Move hardcoded formatters from the FormatManager to the Language plugins

llvm-svn: 247831


# c6bbb8b6 04-Sep-2015 Enrico Granata <egranata@apple.com>

Never mind, I see what the problem is on the Windows build. Attempt a fix

llvm-svn: 246876


1234567