llvm-capstone/clang/test/Modules/minimal-identifier-tables.cpp
Richard Smith d79514e24b [modules] Separately track whether an identifier's preprocessor information and
name lookup information have changed since deserialization. For a C++ modules
build, we do not need to re-emit the identifier into the serialized identifier
table if only the name lookup information has changed (and in all cases, we
don't need to re-emit the macro information if only the name lookup information
has changed).

llvm-svn: 259901
2016-02-05 19:03:40 +00:00

11 lines
499 B
C++

// RUN: rm -rf %t
// RUN: mkdir %t
// RUN: echo 'extern int some_long_variable_name;' > %t/x.h
// RUN: echo 'extern int some_long_variable_name;' > %t/y.h
// RUN: echo 'module X { header "x.h" } module Y { header "y.h" }' > %t/map
// RUN: %clang_cc1 -fmodules -x c++ -fmodule-name=X %t/map -emit-module -o %t/x.pcm
// RUN: %clang_cc1 -fmodules -x c++ -fmodule-name=Y %t/map -fmodule-file=%t/x.pcm -emit-module -o %t/y.pcm
// RUN: cat %t/y.pcm | FileCheck %s
//
// CHECK-NOT: some_long_variable_name