summaryrefslogtreecommitdiffstats
path: root/test/CodeGenCXX/mangle.cpp
diff options
context:
space:
mode:
authorDavid Majnemer <david.majnemer@gmail.com>2016-06-08 00:34:15 +0000
committerDavid Majnemer <david.majnemer@gmail.com>2016-06-08 00:34:15 +0000
commit4ecfbf35ef8823ddb6e3c42dd08ded29c225383a (patch)
treec62e61e5483a44eded9b0fddfc08336614afcae6 /test/CodeGenCXX/mangle.cpp
parent4acf6c38cba2a494ef038daace332281290f90be (diff)
[ItaniumMangle] Mangle dependent __underlying_type correctly
We attempted to use the UnaryTransformType's UnderlyingType instead of it's BaseType. This is not correct for dependent UnaryTransformType because the have no underlying type. This fixes PR28045. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@272079 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGenCXX/mangle.cpp')
-rw-r--r--test/CodeGenCXX/mangle.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/test/CodeGenCXX/mangle.cpp b/test/CodeGenCXX/mangle.cpp
index 5012c3b379..5d757102ed 100644
--- a/test/CodeGenCXX/mangle.cpp
+++ b/test/CodeGenCXX/mangle.cpp
@@ -1101,3 +1101,13 @@ struct c {
// CHECK-LABEL: @_ZN6test541cC2EPNS0_Ut0_E
};
}
+
+namespace test55 {
+enum E { R };
+
+template <typename T>
+void fn(T, __underlying_type(T)) {}
+
+template void fn<E>(E, __underlying_type(E));
+// CHECK-LABEL: @_ZN6test552fnINS_1EEEEvT_U3eutS2_
+}