brintos

brintos / llvm-project-archived public Read only

0
0
Text · 931 B · 7fb5227 Raw
45 lines · plain
1// RUN: rm -rf %t2// RUN: mkdir %t3// RUN: split-file %s %t4//5// Testing the behavior of `-fskip-odr-check-in-gmf`6// RUN: %clang_cc1 -std=c++20 -DDIFFERENT -fskip-odr-check-in-gmf %t/A.cppm -emit-module-interface -o %t/A.pcm7// RUN: %clang_cc1 -std=c++20 -fskip-odr-check-in-gmf -x c++-header %t/foo.h -emit-pch -o %t/foo.pch8// RUN: %clang_cc1 -std=c++20 -fskip-odr-check-in-gmf -include-pch %t/foo.pch %t/B.cppm -emit-module-interface -o %t/B.pcm9// RUN: %clang_cc1 -std=c++20 -fskip-odr-check-in-gmf -fprebuilt-module-path=%t  \10// RUN:    %t/C.cpp -verify -fsyntax-only11 12//--- foo.h13#ifndef FOO_H14#define FOO_H15class A {16public:17#ifndef DIFFERENT18  void func() {19 20  }21#endif22};23#endif24 25//--- A.cppm26module;27#include "foo.h"28export module A;29export using ::A;30 31//--- B.cppm32module;33#include "foo.h"34export module B;35export using ::A;36 37//--- C.cpp38import A;39import B;40// expected-no-diagnostics41void C() {42  A a;43  a.func();44}45