]> granicus.if.org Git - clang/commit
Add a warning for missing '#pragma pack (pop)' and suspicious uses
authorAlex Lorenz <arphaman@gmail.com>
Tue, 18 Jul 2017 17:23:51 +0000 (17:23 +0000)
committerAlex Lorenz <arphaman@gmail.com>
Tue, 18 Jul 2017 17:23:51 +0000 (17:23 +0000)
commit95c5cdeb80aaf0819eba8ddd4421d04be5e271ff
tree394db054f724617b57bbbde190b36206150aa688
parent149c4361fbaff25f1aaea466d5350665ab7fa5d3
Add a warning for missing '#pragma pack (pop)' and suspicious uses
of '#pragma pack' in included files

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/trunk@308327 91177308-0d34-0410-b5e6-96231b3b80d8
21 files changed:
include/clang/Basic/DiagnosticGroups.td
include/clang/Basic/DiagnosticSemaKinds.td
include/clang/Sema/Sema.h
include/clang/Serialization/ASTReader.h
lib/Parse/ParsePragma.cpp
lib/Sema/Sema.cpp
lib/Sema/SemaAttr.cpp
lib/Serialization/ASTReader.cpp
lib/Serialization/ASTWriter.cpp
test/OpenMP/declare_simd_messages.cpp
test/PCH/pragma-pack.c
test/PCH/suspicious-pragma-pack.c [new file with mode: 0644]
test/Parser/pragma-options.c
test/Parser/pragma-options.cpp
test/Parser/pragma-pack.c
test/Sema/Inputs/pragma-pack1.h [new file with mode: 0644]
test/Sema/Inputs/pragma-pack2.h [new file with mode: 0644]
test/Sema/pragma-pack.c
test/Sema/suspicious-pragma-pack.c [new file with mode: 0644]
test/SemaObjC/Inputs/empty.h [new file with mode: 0644]
test/SemaObjC/suspicious-pragma-pack.m [new file with mode: 0644]