12f1555fbSChuanqi Xu// Checks for reachability for C++11 enum class properly 22f1555fbSChuanqi Xu// 32f1555fbSChuanqi Xu// RUN: rm -rf %t 42f1555fbSChuanqi Xu// RUN: mkdir -p %t 52f1555fbSChuanqi Xu// RUN: split-file %s %t 62f1555fbSChuanqi Xu// 72f1555fbSChuanqi Xu// RUN: %clang_cc1 -std=c++20 %t/A.cppm -emit-module-interface -o %t/A.pcm 82f1555fbSChuanqi Xu// RUN: %clang_cc1 -std=c++20 -fprebuilt-module-path=%t %t/Use.cpp -verify -fsyntax-only 9*da00c60dSChuanqi Xu// 10*da00c60dSChuanqi Xu// RUN: %clang_cc1 -std=c++20 %t/A.cppm -emit-reduced-module-interface -o %t/A.pcm 11*da00c60dSChuanqi Xu// RUN: %clang_cc1 -std=c++20 -fprebuilt-module-path=%t %t/Use.cpp -verify -fsyntax-only 122f1555fbSChuanqi Xu 132f1555fbSChuanqi Xu//--- foo.h 142f1555fbSChuanqi Xuenum class foo { 152f1555fbSChuanqi Xu a, b, c 162f1555fbSChuanqi Xu}; 172f1555fbSChuanqi Xu 182f1555fbSChuanqi Xu//--- A.cppm 192f1555fbSChuanqi Xumodule; 202f1555fbSChuanqi Xu#include "foo.h" 212f1555fbSChuanqi Xuexport module A; 222f1555fbSChuanqi Xuexport foo func(); 232f1555fbSChuanqi Xu 242f1555fbSChuanqi Xu//--- Use.cpp 252f1555fbSChuanqi Xu// expected-no-diagnostics 262f1555fbSChuanqi Xuimport A; 272f1555fbSChuanqi Xuvoid bar() { 282f1555fbSChuanqi Xu auto f = func(); 292f1555fbSChuanqi Xu} 30