167c608a9SSaar Raz // RUN: %clang_cc1 -verify -Wno-return-type -Wno-main -std=c++2a -emit-llvm -triple %itanium_abi_triple -o - %s | FileCheck %s
2f567b008SSaar Raz // expected-no-diagnostics
3f567b008SSaar Raz 
4f567b008SSaar Raz namespace test1 {
5f567b008SSaar Raz template <bool> struct S {};
6f567b008SSaar Raz template <typename> concept C = true;
f0()7f567b008SSaar Raz template <typename T = int> S<C<T>> f0() { return S<C<T>>{}; }
8f567b008SSaar Raz template S<C<int>> f0<>();
9*8ca33605SJames Y Knight // CHECK: @_ZN5test12f0IiEENS_1SIL_ZNS_1CIT_EEEEEv(
10f567b008SSaar Raz }
11f567b008SSaar Raz 
12f567b008SSaar Raz template <bool> struct S {};
13f567b008SSaar Raz template <typename> concept C = true;
f0()14f567b008SSaar Raz template <typename T = int> S<C<T>> f0() { return S<C<T>>{}; }
15f567b008SSaar Raz template S<C<int>> f0<>();
16*8ca33605SJames Y Knight // CHECK: @_Z2f0IiE1SIL_Z1CIT_EEEv(
17