|  | // RUN: %clang_cc1 %s -triple %itanium_abi_triple -std=c++20 -emit-llvm -O2 -o - | FileCheck %s | 
|  |  | 
|  | // p0388 conversions to unbounded array | 
|  | // dcl.init.list/3 | 
|  |  | 
|  | namespace One { | 
|  | int ga[1]; | 
|  |  | 
|  | // CHECK-LABEL: @_ZN3One5frob1Ev | 
|  | // CHECK-NEXT: entry: | 
|  | // CHECK-NEXT: ret ptr @_ZN3One2gaE | 
|  | auto &frob1() { | 
|  | int(&r1)[] = ga; | 
|  |  | 
|  | return r1; | 
|  | } | 
|  |  | 
|  | // CHECK-LABEL: @_ZN3One5frob2ERA1_i | 
|  | // CHECK-NEXT: entry: | 
|  | // CHECK-NEXT: ret ptr %arp | 
|  | auto &frob2(int (&arp)[1]) { | 
|  | int(&r2)[] = arp; | 
|  |  | 
|  | return r2; | 
|  | } | 
|  |  | 
|  | // CHECK-LABEL: @_ZN3One3fooEi | 
|  | // CHECK-NEXT: entry: | 
|  | // CHECK-NEXT: ret void | 
|  | void foo(int a) { | 
|  | auto f = [](int(&&)[]) {}; | 
|  | f({a}); | 
|  | } | 
|  |  | 
|  | } // namespace One |