Clang Project

clang_source_code/test/CodeGenCXX/cxx1z-class-deduction.cpp
1// RUN: %clang_cc1 -std=c++1z %s -triple %itanium_abi_triple -emit-llvm -o - | FileCheck %s
2
3template<typename T> struct A {
4  A(T = 0);
5  A(void*);
6};
7
8template<typename T> A(T*) -> A<long>;
9A() -> A<int>;
10
11// CHECK-LABEL: @_Z1fPi(
12void 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