196573859SHaojian Wu // RUN: not %clang_cc1 -triple x86_64-unknown-unknown -Wno-unused-value -fcxx-exceptions -std=gnu++17 -ast-dump %s | FileCheck -strict-whitespace %s 296573859SHaojian Wu AA396573859SHaojian Wustruct A { A(int, int) {} }; 496573859SHaojian Wu class ForwardDecl; 596573859SHaojian Wu test()696573859SHaojian Wuvoid test() { 789d9912cSHaojian Wu // Verify the valid-bit of the VarDecl. 889d9912cSHaojian Wu 996573859SHaojian Wu // CHECK: `-VarDecl {{.*}} a1 'A' 1096573859SHaojian Wu A a1; 1196573859SHaojian Wu // CHECK: `-VarDecl {{.*}} a2 'const A' 1296573859SHaojian Wu const A a2; 1396573859SHaojian Wu // CHECK: `-VarDecl {{.*}} a3 'A' 1496573859SHaojian Wu A a3 = garbage(); 15*c673d67bSHaojian Wu // CHECK: `-VarDecl {{.*}} a4 'const A &' 16*c673d67bSHaojian Wu const A& a4; 1796573859SHaojian Wu 1896573859SHaojian Wu 1996573859SHaojian Wu // CHECK: `-VarDecl {{.*}} invalid b2 'ForwardDecl' 2096573859SHaojian Wu ForwardDecl b2; 2189d9912cSHaojian Wu // CHECK: `-VarDecl {{.*}} invalid b3 'auto' 2289d9912cSHaojian Wu auto b3 = garbage(); 2389d9912cSHaojian Wu // CHECK: `-VarDecl {{.*}} invalid b4 'auto' 2489d9912cSHaojian Wu auto b4 = A(1); 2589d9912cSHaojian Wu // CHECK: `-VarDecl {{.*}} invalid b5 'auto' 2689d9912cSHaojian Wu auto b5 = A{1}; 2796573859SHaojian Wu }