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