91 lines
3.5 KiB
C
91 lines
3.5 KiB
C
|
// Test this without pch.
|
||
|
// RUN: %clang_cc1 -triple x86_64-apple-darwin10 %s -include %s -verify -fsyntax-only -Wno-pragma-pack -DSET
|
||
|
// RUN: %clang_cc1 -triple x86_64-apple-darwin10 %s -include %s -verify -fsyntax-only -Wno-pragma-pack -DRESET
|
||
|
// RUN: %clang_cc1 -triple x86_64-apple-darwin10 %s -include %s -verify -fsyntax-only -Wno-pragma-pack -DPUSH
|
||
|
// RUN: %clang_cc1 -triple x86_64-apple-darwin10 %s -include %s -verify -fsyntax-only -Wno-pragma-pack -DPUSH_POP
|
||
|
// RUN: %clang_cc1 -triple x86_64-apple-darwin10 %s -include %s -verify -fsyntax-only -Wno-pragma-pack -DPUSH_POP_LABEL
|
||
|
|
||
|
// Test with pch.
|
||
|
// RUN: %clang_cc1 -triple x86_64-apple-darwin10 %s -Wno-pragma-pack -DSET -emit-pch -o %t
|
||
|
// RUN: %clang_cc1 -triple x86_64-apple-darwin10 %s -Wno-pragma-pack -DSET -verify -include-pch %t
|
||
|
// RUN: %clang_cc1 -triple x86_64-apple-darwin10 %s -Wno-pragma-pack -DRESET -emit-pch -o %t
|
||
|
// RUN: %clang_cc1 -triple x86_64-apple-darwin10 %s -Wno-pragma-pack -DRESET -verify -include-pch %t
|
||
|
// RUN: %clang_cc1 -triple x86_64-apple-darwin10 %s -Wno-pragma-pack -DPUSH -emit-pch -o %t
|
||
|
// RUN: %clang_cc1 -triple x86_64-apple-darwin10 %s -Wno-pragma-pack -DPUSH -verify -include-pch %t
|
||
|
// RUN: %clang_cc1 -triple x86_64-apple-darwin10 %s -Wno-pragma-pack -DPUSH_POP -emit-pch -o %t
|
||
|
// RUN: %clang_cc1 -triple x86_64-apple-darwin10 %s -Wno-pragma-pack -DPUSH_POP -verify -include-pch %t
|
||
|
// RUN: %clang_cc1 -triple x86_64-apple-darwin10 %s -Wno-pragma-pack -DPUSH_POP_LABEL -emit-pch -o %t
|
||
|
// RUN: %clang_cc1 -triple x86_64-apple-darwin10 %s -Wno-pragma-pack -DPUSH_POP_LABEL -verify -include-pch %t
|
||
|
|
||
|
#ifndef HEADER
|
||
|
#define HEADER
|
||
|
|
||
|
#ifdef SET
|
||
|
#pragma pack(1)
|
||
|
#endif
|
||
|
|
||
|
#ifdef RESET
|
||
|
#pragma pack(2)
|
||
|
#pragma pack ()
|
||
|
#endif
|
||
|
|
||
|
#ifdef PUSH
|
||
|
#pragma pack(1)
|
||
|
#pragma pack (push, 2)
|
||
|
#endif
|
||
|
|
||
|
#ifdef PUSH_POP
|
||
|
#pragma pack (push, 4)
|
||
|
#pragma pack (push, 2)
|
||
|
#pragma pack (pop)
|
||
|
#endif
|
||
|
|
||
|
#ifdef PUSH_POP_LABEL
|
||
|
#pragma pack (push, a, 4)
|
||
|
#pragma pack (push, b, 1)
|
||
|
#pragma pack (push, c, 2)
|
||
|
#pragma pack (pop, b)
|
||
|
#endif
|
||
|
|
||
|
#else
|
||
|
|
||
|
#ifdef SET
|
||
|
#pragma pack(show) // expected-warning {{value of #pragma pack(show) == 1}}
|
||
|
#pragma pack(pop) // expected-warning {{#pragma pack(pop, ...) failed: stack empty}}
|
||
|
#endif
|
||
|
|
||
|
#ifdef RESET
|
||
|
#pragma pack(show) // expected-warning {{value of #pragma pack(show) == 8}}
|
||
|
#pragma ()
|
||
|
#pragma pack(show) // expected-warning {{value of #pragma pack(show) == 8}}
|
||
|
#endif
|
||
|
|
||
|
#ifdef PUSH
|
||
|
#pragma pack(show) // expected-warning {{value of #pragma pack(show) == 2}}
|
||
|
#pragma pack(pop)
|
||
|
#pragma pack(show) // expected-warning {{value of #pragma pack(show) == 1}}
|
||
|
#pragma pack ()
|
||
|
#pragma pack (show) // expected-warning {{value of #pragma pack(show) == 8}}
|
||
|
#pragma pack(pop) // expected-warning {{#pragma pack(pop, ...) failed: stack empty}}
|
||
|
#endif
|
||
|
|
||
|
#ifdef PUSH_POP
|
||
|
#pragma pack(show) // expected-warning {{value of #pragma pack(show) == 4}}
|
||
|
#pragma pack(pop)
|
||
|
#pragma pack(show) // expected-warning {{value of #pragma pack(show) == 8}}
|
||
|
#pragma pack(pop) // expected-warning {{#pragma pack(pop, ...) failed: stack empty}}
|
||
|
#endif
|
||
|
|
||
|
#ifdef PUSH_POP_LABEL
|
||
|
#pragma pack(show) // expected-warning {{value of #pragma pack(show) == 4}}
|
||
|
#pragma pack(pop, c)
|
||
|
#pragma pack(show) // expected-warning {{value of #pragma pack(show) == 4}}
|
||
|
#pragma pack(pop, a)
|
||
|
#pragma pack(show) // expected-warning {{value of #pragma pack(show) == 8}}
|
||
|
#pragma pack(pop) // expected-warning {{#pragma pack(pop, ...) failed: stack empty}}
|
||
|
#pragma pack(pop, b) // expected-warning {{#pragma pack(pop, ...) failed: stack empty}}
|
||
|
#pragma pack(show) // expected-warning {{value of #pragma pack(show) == 8}}
|
||
|
#endif
|
||
|
|
||
|
#endif
|