aboutsummaryrefslogtreecommitdiff
path: root/absl/debugging/internal/demangle_test.cc
diff options
context:
space:
mode:
authorChris Mihelich <cmihelic@google.com>2024-05-28 11:04:04 -0700
committerCopybara-Service <copybara-worker@google.com>2024-05-28 11:04:54 -0700
commit4a861bb14ba1baf203912f11360d4d8a6379faf7 (patch)
tree9b13bb36b4b9b4a5c087b1aa6a2d663c6b7c02df /absl/debugging/internal/demangle_test.cc
parent90d49cbad8c503418a10056e2d50c93caa0d142b (diff)
downloadabseil-4a861bb14ba1baf203912f11360d4d8a6379faf7.tar.gz
abseil-4a861bb14ba1baf203912f11360d4d8a6379faf7.tar.bz2
abseil-4a861bb14ba1baf203912f11360d4d8a6379faf7.zip
Demangle valueless literals LDnE (nullptr) and LA<number>_<type>E ("foo").
PiperOrigin-RevId: 637958502 Change-Id: If81eba9729c16b5d5ac7187cf74738d8aaace367
Diffstat (limited to 'absl/debugging/internal/demangle_test.cc')
-rw-r--r--absl/debugging/internal/demangle_test.cc20
1 files changed, 20 insertions, 0 deletions
diff --git a/absl/debugging/internal/demangle_test.cc b/absl/debugging/internal/demangle_test.cc
index 96074237..2cfd1f95 100644
--- a/absl/debugging/internal/demangle_test.cc
+++ b/absl/debugging/internal/demangle_test.cc
@@ -375,6 +375,26 @@ TEST(Demangle, LiteralOfGlobalNamespaceEnumType) {
EXPECT_STREQ("f<>()", tmp);
}
+TEST(Demangle, NullptrLiterals) {
+ char tmp[80];
+
+ // void f<nullptr>()
+ EXPECT_TRUE(Demangle("_Z1fILDnEEvv", tmp, sizeof(tmp)));
+ EXPECT_STREQ("f<>()", tmp);
+
+ // also void f<nullptr>()
+ EXPECT_TRUE(Demangle("_Z1fILDn0EEvv", tmp, sizeof(tmp)));
+ EXPECT_STREQ("f<>()", tmp);
+}
+
+TEST(Demangle, StringLiterals) {
+ char tmp[80];
+
+ // void f<"<char const [42]>">()
+ EXPECT_TRUE(Demangle("_Z1fILA42_KcEEvv", tmp, sizeof(tmp)));
+ EXPECT_STREQ("f<>()", tmp);
+}
+
// Test the GNU abi_tag extension.
TEST(Demangle, AbiTags) {
char tmp[80];