diff options
author | Hans Wennborg <hans@hanshq.net> | 2017-07-19 13:02:51 +0000 |
---|---|---|
committer | Hans Wennborg <hans@hanshq.net> | 2017-07-19 13:02:51 +0000 |
commit | d916f2627f2d2936405d973bf354a5b3cbd4afb8 (patch) | |
tree | 07ac2951b71839f8d90f19ce8fc52597e22c08c5 /test | |
parent | cee8fa8282d9c3715bd90910977a7a4767817aa7 (diff) |
Merging r308455:
------------------------------------------------------------------------
r308455 | hans | 2017-07-19 05:31:01 -0700 (Wed, 19 Jul 2017) | 16 lines
Revert r308441 "Recommit r308327: Add a warning for missing '#pragma pack (pop)' and suspicious uses of '#pragma pack' in included files"
This seems to have broken the sanitizer-x86_64-linux buildbot. Reverting until
it's fixed, especially since this landed just before the 5.0 branch.
> This commit adds a new -Wpragma-pack warning. It warns in the following cases:
>
> - When a translation unit is missing terminating #pragma pack (pop) directives.
> - When entering an included file if the current alignment value as determined
> by '#pragma pack' directives is different from the default alignment value.
> - When leaving an included file that changed the state of the current alignment
> value.
>
> rdar://10184173
>
> Differential Revision: https://reviews.llvm.org/D35484
------------------------------------------------------------------------
git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_50@308457 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test')
-rw-r--r-- | test/OpenMP/declare_simd_messages.cpp | 2 | ||||
-rw-r--r-- | test/PCH/pragma-pack.c | 30 | ||||
-rw-r--r-- | test/PCH/suspicious-pragma-pack.c | 8 | ||||
-rw-r--r-- | test/Parser/pragma-options.c | 2 | ||||
-rw-r--r-- | test/Parser/pragma-options.cpp | 2 | ||||
-rw-r--r-- | test/Parser/pragma-pack.c | 2 | ||||
-rw-r--r-- | test/Sema/Inputs/pragma-pack1.h | 23 | ||||
-rw-r--r-- | test/Sema/Inputs/pragma-pack2.h | 6 | ||||
-rw-r--r-- | test/Sema/pragma-pack.c | 5 | ||||
-rw-r--r-- | test/Sema/suspicious-pragma-pack.c | 44 | ||||
-rw-r--r-- | test/SemaObjC/Inputs/empty.h | 1 | ||||
-rw-r--r-- | test/SemaObjC/suspicious-pragma-pack.m | 6 |
12 files changed, 19 insertions, 112 deletions
diff --git a/test/OpenMP/declare_simd_messages.cpp b/test/OpenMP/declare_simd_messages.cpp index af46283f9a..15971eb14d 100644 --- a/test/OpenMP/declare_simd_messages.cpp +++ b/test/OpenMP/declare_simd_messages.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -triple=x86_64-pc-win32 -verify -fopenmp -x c++ -std=c++11 -fms-extensions -Wno-pragma-pack %s +// RUN: %clang_cc1 -triple=x86_64-pc-win32 -verify -fopenmp -x c++ -std=c++11 -fms-extensions %s // expected-error@+1 {{expected an OpenMP directive}} #pragma omp declare diff --git a/test/PCH/pragma-pack.c b/test/PCH/pragma-pack.c index 7b45e045b3..47a5570023 100644 --- a/test/PCH/pragma-pack.c +++ b/test/PCH/pragma-pack.c @@ -1,21 +1,21 @@ // 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 +// RUN: %clang_cc1 -triple x86_64-apple-darwin10 %s -include %s -verify -fsyntax-only -DSET +// RUN: %clang_cc1 -triple x86_64-apple-darwin10 %s -include %s -verify -fsyntax-only -DRESET +// RUN: %clang_cc1 -triple x86_64-apple-darwin10 %s -include %s -verify -fsyntax-only -DPUSH +// RUN: %clang_cc1 -triple x86_64-apple-darwin10 %s -include %s -verify -fsyntax-only -DPUSH_POP +// RUN: %clang_cc1 -triple x86_64-apple-darwin10 %s -include %s -verify -fsyntax-only -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 +// RUN: %clang_cc1 -triple x86_64-apple-darwin10 %s -DSET -emit-pch -o %t +// RUN: %clang_cc1 -triple x86_64-apple-darwin10 %s -DSET -verify -include-pch %t +// RUN: %clang_cc1 -triple x86_64-apple-darwin10 %s -DRESET -emit-pch -o %t +// RUN: %clang_cc1 -triple x86_64-apple-darwin10 %s -DRESET -verify -include-pch %t +// RUN: %clang_cc1 -triple x86_64-apple-darwin10 %s -DPUSH -emit-pch -o %t +// RUN: %clang_cc1 -triple x86_64-apple-darwin10 %s -DPUSH -verify -include-pch %t +// RUN: %clang_cc1 -triple x86_64-apple-darwin10 %s -DPUSH_POP -emit-pch -o %t +// RUN: %clang_cc1 -triple x86_64-apple-darwin10 %s -DPUSH_POP -verify -include-pch %t +// RUN: %clang_cc1 -triple x86_64-apple-darwin10 %s -DPUSH_POP_LABEL -emit-pch -o %t +// RUN: %clang_cc1 -triple x86_64-apple-darwin10 %s -DPUSH_POP_LABEL -verify -include-pch %t #ifndef HEADER #define HEADER diff --git a/test/PCH/suspicious-pragma-pack.c b/test/PCH/suspicious-pragma-pack.c deleted file mode 100644 index 01a66af34b..0000000000 --- a/test/PCH/suspicious-pragma-pack.c +++ /dev/null @@ -1,8 +0,0 @@ -// RUN: %clang_cc1 -triple x86_64-apple-darwin10 %s -verify -emit-pch -o %t -// RUN: %clang_cc1 -triple x86_64-apple-darwin10 %s -verify -include-pch %t - -#ifndef HEADER -#define HEADER -#pragma pack (push, 1) -#endif -// expected-warning@-2 {{unterminated '#pragma pack (push, ...)' at end of file}} diff --git a/test/Parser/pragma-options.c b/test/Parser/pragma-options.c index a35f0b087e..d168a2751a 100644 --- a/test/Parser/pragma-options.c +++ b/test/Parser/pragma-options.c @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -triple i386-apple-darwin9 -Wno-pragma-pack -fsyntax-only -verify %s +// RUN: %clang_cc1 -triple i386-apple-darwin9 -fsyntax-only -verify %s /* expected-warning {{expected 'align' following '#pragma options'}} */ #pragma options /* expected-warning {{expected '=' following '#pragma options align'}} */ #pragma options align diff --git a/test/Parser/pragma-options.cpp b/test/Parser/pragma-options.cpp index 8f5a2152c7..84cd38dfb3 100644 --- a/test/Parser/pragma-options.cpp +++ b/test/Parser/pragma-options.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -triple i386-apple-darwin9 -Wno-pragma-pack -fsyntax-only -verify %s +// RUN: %clang_cc1 -triple i386-apple-darwin9 -fsyntax-only -verify %s // expected-no-diagnostics class C { diff --git a/test/Parser/pragma-pack.c b/test/Parser/pragma-pack.c index d2aefaa888..0859f4157c 100644 --- a/test/Parser/pragma-pack.c +++ b/test/Parser/pragma-pack.c @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -fsyntax-only -Wno-pragma-pack -verify %s +// RUN: %clang_cc1 -fsyntax-only -verify %s // Note that this puts the expected lines before the directives to work around // limitations in the -verify mode. diff --git a/test/Sema/Inputs/pragma-pack1.h b/test/Sema/Inputs/pragma-pack1.h deleted file mode 100644 index 40e7ad18b2..0000000000 --- a/test/Sema/Inputs/pragma-pack1.h +++ /dev/null @@ -1,23 +0,0 @@ - -#ifdef SET_FIRST_HEADER -#pragma pack (16) -#ifndef SET_SECOND_HEADER -// expected-note@-2 2 {{previous '#pragma pack' directive that modifies alignment is here}} -#else -// expected-note@-4 1 {{previous '#pragma pack' directive that modifies alignment is here}} -#endif -// expected-warning@+3 {{non-default #pragma pack value might change the alignment of struct or union members in the included file}} -#endif - -#include "pragma-pack2.h" - -#ifdef SET_SECOND_HEADER -// expected-warning@-3 {{the current #pragma pack aligment value is modified in the included file}} -#endif - -#ifdef PUSH_POP_FIRST_HEADER -// This is fine, we don't change the current value. -#pragma pack (push, 4) - -#pragma pack (pop) -#endif diff --git a/test/Sema/Inputs/pragma-pack2.h b/test/Sema/Inputs/pragma-pack2.h deleted file mode 100644 index 11036133a1..0000000000 --- a/test/Sema/Inputs/pragma-pack2.h +++ /dev/null @@ -1,6 +0,0 @@ - -#ifdef SET_SECOND_HEADER -#pragma pack (8) // expected-note 2 {{previous '#pragma pack' directive that modifies alignment is here}} -#endif - -struct S { int x; }; diff --git a/test/Sema/pragma-pack.c b/test/Sema/pragma-pack.c index 84a946368f..e93ce42148 100644 --- a/test/Sema/pragma-pack.c +++ b/test/Sema/pragma-pack.c @@ -25,8 +25,3 @@ #pragma pack(pop, 16) /* expected-warning {{value of #pragma pack(show) == 16}} */ #pragma pack(show) - -// Warn about unbalanced pushes. -#pragma pack (push,4) // expected-warning {{unterminated '#pragma pack (push, ...)' at end of file}} -#pragma pack (push) // expected-warning {{unterminated '#pragma pack (push, ...)' at end of file}} -#pragma pack () diff --git a/test/Sema/suspicious-pragma-pack.c b/test/Sema/suspicious-pragma-pack.c deleted file mode 100644 index 10c4167102..0000000000 --- a/test/Sema/suspicious-pragma-pack.c +++ /dev/null @@ -1,44 +0,0 @@ -// RUN: %clang_cc1 -triple i686-apple-darwin9 -fsyntax-only -I %S/Inputs -DSAFE -verify %s -// RUN: %clang_cc1 -triple i686-apple-darwin9 -fsyntax-only -I %S/Inputs -DPUSH_HERE -DSAFE -verify %s -// RUN: %clang_cc1 -triple i686-apple-darwin9 -fsyntax-only -I %S/Inputs -DPUSH_HERE -DPUSH_SET_HERE -verify %s -// RUN: %clang_cc1 -triple i686-apple-darwin9 -fsyntax-only -I %S/Inputs -DPUSH_HERE -DRESET_HERE -DSAFE -verify %s -// RUN: %clang_cc1 -triple i686-apple-darwin9 -fsyntax-only -I %S/Inputs -DPUSH_HERE -DSET_FIRST_HEADER -DWARN_MODIFIED_HEADER -verify %s -// RUN: %clang_cc1 -triple i686-apple-darwin9 -fsyntax-only -I %S/Inputs -DPUSH_HERE -DRESET_HERE -DSET_FIRST_HEADER -DWARN_MODIFIED_HEADER -verify %s -// RUN: %clang_cc1 -triple i686-apple-darwin9 -fsyntax-only -I %S/Inputs -DPUSH_HERE -DPUSH_SET_HERE -DSET_FIRST_HEADER -DWARN_MODIFIED_HEADER -verify %s -// RUN: %clang_cc1 -triple i686-apple-darwin9 -fsyntax-only -I %S/Inputs -DPUSH_HERE -DPUSH_SET_HERE -DSET_SECOND_HEADER -DWARN_MODIFIED_HEADER -verify %s -// RUN: %clang_cc1 -triple i686-apple-darwin9 -fsyntax-only -I %S/Inputs -DPUSH_HERE -DPUSH_SET_HERE -DSET_FIRST_HEADER -DSET_SECOND_HEADER -DWARN_MODIFIED_HEADER -verify %s - -// RUN: %clang_cc1 -triple i686-apple-darwin9 -fsyntax-only -I %S/Inputs -DPUSH_POP_FIRST_HEADER -DSAFE -verify %s - - -#ifdef SAFE -// expected-no-diagnostics -#endif - -#ifdef PUSH_HERE -#pragma pack (push) -#endif - -#ifdef PUSH_SET_HERE -#pragma pack (push, 4) // expected-note {{previous '#pragma pack' directive that modifies alignment is here}} -// expected-warning@+8 {{non-default #pragma pack value might change the alignment of struct or union members in the included file}} -#endif - -#ifdef RESET_HERE -#pragma pack (4) -#pragma pack () // no warning after reset as the value is default. -#endif - -#include "pragma-pack1.h" - -#ifdef WARN_MODIFIED_HEADER -// expected-warning@-3 {{the current #pragma pack aligment value is modified in the included file}} -#endif - -#ifdef PUSH_SET_HERE -#pragma pack (pop) -#endif - -#ifdef PUSH_HERE -#pragma pack (pop) -#endif diff --git a/test/SemaObjC/Inputs/empty.h b/test/SemaObjC/Inputs/empty.h deleted file mode 100644 index 8b1a393741..0000000000 --- a/test/SemaObjC/Inputs/empty.h +++ /dev/null @@ -1 +0,0 @@ -// empty diff --git a/test/SemaObjC/suspicious-pragma-pack.m b/test/SemaObjC/suspicious-pragma-pack.m deleted file mode 100644 index 125ce1d4cc..0000000000 --- a/test/SemaObjC/suspicious-pragma-pack.m +++ /dev/null @@ -1,6 +0,0 @@ -// RUN: %clang_cc1 -triple i686-apple-darwin9 -fsyntax-only -I%S/Inputs -verify %s - -#pragma pack (push, 1) // expected-note {{previous '#pragma pack' directive that modifies alignment is here}} -#import "empty.h" // expected-warning {{non-default #pragma pack value might change the alignment of struct or union members in the included file}} - -#pragma pack (pop) |