Run DCE after a LoopFlatten test to reduce spurious output [nfc]
[llvm-project.git] / clang / test / CXX / dcl.decl / dcl.init / dcl.init.ref / p4-ast.cpp
blob32c4ddd921bba13245f0234714a377506b1aafc6
1 // RUN: %clang_cc1 -std=c++17 -ast-dump %s | FileCheck %s
3 void f() noexcept;
5 // CHECK: VarDecl {{.*}} ref 'void (&)()' cinit
6 // CHECK-NEXT: ImplicitCastExpr {{.*}} 'void ()' lvalue <NoOp>
7 // CHECK-NEXT: DeclRefExpr {{.*}} 'void () noexcept' lvalue Function {{.*}} 'f' 'void () noexcept'
8 void (&ref)() = f;
10 struct X {
11 typedef void (&ref)() noexcept;
12 operator ref();
13 } x;
15 // CHECK: VarDecl {{.*}} xp 'void (&)()' cinit
16 // CHECK-NEXT: ImplicitCastExpr {{.*}} 'void ()' lvalue <NoOp>
17 // CHECK-NEXT: ImplicitCastExpr {{.*}} 'void () noexcept' lvalue <UserDefinedConversion>
18 void (&xp)() = x;