diff options
author | David Majnemer <david.majnemer@gmail.com> | 2016-06-08 00:34:15 +0000 |
---|---|---|
committer | David Majnemer <david.majnemer@gmail.com> | 2016-06-08 00:34:15 +0000 |
commit | 4ecfbf35ef8823ddb6e3c42dd08ded29c225383a (patch) | |
tree | c62e61e5483a44eded9b0fddfc08336614afcae6 /test/CodeGenCXX/mangle.cpp | |
parent | 4acf6c38cba2a494ef038daace332281290f90be (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.cpp | 10 |
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_ +} |