Clang Project

clang_source_code/test/Modules/module-file-modified.c
1// RUN: rm -rf %t
2// RUN: mkdir %t
3// RUN: echo 'int foo = 0;' > %t/a.h
4// RUN: echo 'module A { header "a.h" }' > %t/m.modulemap
5// RUN: %clang_cc1 -fmodules -emit-module -fmodule-name=A -x c %t/m.modulemap -o %t/m.pcm
6// RUN: echo 'int bar;' > %t/a.h
7// RUN: not %clang_cc1 -fmodules -fmodule-file=%t/m.pcm -fmodule-map-file=%t/m.modulemap -x c %s -I%t -fsyntax-only 2>&1 | FileCheck %s
8#include "a.h"
9int foo = 0; // redefinition of 'foo'
10// CHECK: fatal error: file {{.*}} has been modified since the module file {{.*}} was built
11// REQUIRES: shell
12