1// Test that we won't write additional information from std namespace by default 2// into the Reduced BMI if the module purview is empty. 3// 4// RUN: rm -rf %t 5// RUN: mkdir -p %t 6// RUN: split-file %s %t 7// 8// RUN: %clang_cc1 -std=c++20 %t/A.cppm -emit-reduced-module-interface -o %t/A.pcm 9// RUN: llvm-bcanalyzer --dump --disable-histogram --show-binary-blobs %t/A.pcm > %t/A.dump 10// RUN: cat %t/A.dump | FileCheck %t/A.cppm 11 12//--- std.h 13namespace std { 14 typedef decltype(sizeof(0)) size_t; 15 enum class align_val_t : std::size_t {}; 16 17 class bad_alloc { }; 18} 19 20//--- A.cppm 21module; 22#include "std.h" 23export module A; 24 25// CHECK-NOT: <DECL_NAMESPACE 26// CHECK-NOT: <DECL_CONTEXT_LEXICAL 27// CHECK-NOT: <DELAYED_NAMESPACE_LEXICAL_VISIBLE_RECORD 28