1 | // RUN: %clang_cc1 -std=c++1z %s -triple %itanium_abi_triple -emit-llvm -o - | FileCheck %s |
---|---|
2 | |
3 | template<typename T> struct A { |
4 | A(T = 0); |
5 | A(void*); |
6 | }; |
7 | |
8 | template<typename T> A(T*) -> A<long>; |
9 | A() -> A<int>; |
10 | |
11 | // CHECK-LABEL: @_Z1fPi( |
12 | void f(int *p) { |
13 | // CHECK: @_ZN1AIiEC |
14 | A a{}; |
15 | |
16 | // CHECK: @_ZN1AIlEC |
17 | A b = p; |
18 | |
19 | // CHECK: @_ZN1AIxEC |
20 | A c = 123LL; |
21 | } |
22 |