Clang Project

clang_source_code/test/Modules/pragma-pack.cpp
1// RUN: rm -rf %t.cache %tlocal.cache
2// RUN: %clang_cc1 -triple x86_64-apple-darwin10 -fmodules \
3// RUN:   -fimplicit-module-maps -x c++ -emit-module \
4// RUN:   -fmodules-cache-path=%t.cache \
5// RUN:   -fmodule-name=pragma_pack %S/Inputs/module.map
6// RUN: %clang_cc1 -triple x86_64-apple-darwin10 -fmodules \
7// RUN:   -fimplicit-module-maps -x c++ -verify \
8// RUN:   -fmodules-cache-path=%t.cache \
9// RUN:   -I%S/Inputs %s
10// RUN: %clang_cc1 -triple x86_64-apple-darwin10 -fmodules \
11// RUN:   -fmodules-local-submodule-visibility \
12// RUN:   -fimplicit-module-maps -x c++ -emit-module \
13// RUN:   -fmodules-cache-path=%tlocal.cache \
14// RUN:   -fmodule-name=pragma_pack %S/Inputs/module.map
15// RUN: %clang_cc1 -triple x86_64-apple-darwin10 -fmodules \
16// RUN:   -fmodules-local-submodule-visibility \
17// RUN:   -fimplicit-module-maps -x c++ -verify \
18// RUN:   -fmodules-cache-path=%tlocal.cache \
19// RUN:   -I%S/Inputs %s
20
21// Check that we don't serialize pragma pack state until/unless including an
22// empty file from the same module (but different submodule) has no effect.
23#pragma pack (show) // expected-warning {{value of #pragma pack(show) == 8}}
24#include "empty.h"
25#pragma pack (show) // expected-warning {{value of #pragma pack(show) == 8}}
26