diff options
author | Chris Mihelich <cmihelic@google.com> | 2024-06-05 07:21:37 -0700 |
---|---|---|
committer | Copybara-Service <copybara-worker@google.com> | 2024-06-05 07:22:24 -0700 |
commit | cba68bb93b102416843d364348bc29ca665da1ce (patch) | |
tree | a7a36832d8cadc81c99cbaf59b8337b0be3e3fca /absl/debugging/internal/demangle_test.cc | |
parent | 29bd16cb925bd762ac7ca90e26ad044200ae0711 (diff) | |
download | abseil-cba68bb93b102416843d364348bc29ca665da1ce.tar.gz abseil-cba68bb93b102416843d364348bc29ca665da1ce.tar.bz2 abseil-cba68bb93b102416843d364348bc29ca665da1ce.zip |
Demangle modern _ZGR..._ symbols.
PiperOrigin-RevId: 640517212
Change-Id: Ideaaf45d2104a3c82cc9b6807894554335e5b904
Diffstat (limited to 'absl/debugging/internal/demangle_test.cc')
-rw-r--r-- | absl/debugging/internal/demangle_test.cc | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/absl/debugging/internal/demangle_test.cc b/absl/debugging/internal/demangle_test.cc index 052c66bb..c70cf660 100644 --- a/absl/debugging/internal/demangle_test.cc +++ b/absl/debugging/internal/demangle_test.cc @@ -612,6 +612,26 @@ TEST(Demangle, StringLiterals) { EXPECT_STREQ("f<>()", tmp); } +TEST(Demangle, GlobalInitializers) { + char tmp[80]; + + // old form without suffix + EXPECT_TRUE(Demangle("_ZGR1v", tmp, sizeof(tmp))); + EXPECT_STREQ("reference temporary for v", tmp); + + // modern form for the whole initializer + EXPECT_TRUE(Demangle("_ZGR1v_", tmp, sizeof(tmp))); + EXPECT_STREQ("reference temporary for v", tmp); + + // next subobject in depth-first preorder traversal + EXPECT_TRUE(Demangle("_ZGR1v0_", tmp, sizeof(tmp))); + EXPECT_STREQ("reference temporary for v", tmp); + + // subobject with a larger seq-id + EXPECT_TRUE(Demangle("_ZGR1v1Z_", tmp, sizeof(tmp))); + EXPECT_STREQ("reference temporary for v", tmp); +} + // Test the GNU abi_tag extension. TEST(Demangle, AbiTags) { char tmp[80]; |