| // Test that we won't write additional information from std namespace by default |
| // into the Reduced BMI if the module purview is empty. |
| // |
| // RUN: rm -rf %t |
| // RUN: mkdir -p %t |
| // RUN: split-file %s %t |
| // |
| // RUN: %clang_cc1 -std=c++20 %t/A.cppm -emit-reduced-module-interface -o %t/A.pcm |
| // RUN: llvm-bcanalyzer --dump --disable-histogram --show-binary-blobs %t/A.pcm > %t/A.dump |
| // RUN: cat %t/A.dump | FileCheck %t/A.cppm |
| |
| //--- std.h |
| namespace std { |
| typedef decltype(sizeof(0)) size_t; |
| enum class align_val_t : std::size_t {}; |
| |
| class bad_alloc { }; |
| } |
| |
| //--- A.cppm |
| module; |
| #include "std.h" |
| export module A; |
| |
| // CHECK-NOT: <DECL_NAMESPACE |
| // CHECK-NOT: <DECL_CONTEXT_LEXICAL |
| // CHECK-NOT: <DELAYED_NAMESPACE_LEXICAL_VISIBLE_RECORD |