On Wed, Jul 26, 2017 at 5:20 AM, Alex Lorenz via cfe-commits <cfe-commits@lists.llvm.org> wrote: > Author: arphaman > Date: Wed Jul 26 05:20:57 2017 > New Revision: 309106 > > URL: http://llvm.org/viewvc/llvm-project?rev=309106&view=rev > Log: > Recommit r308327 2nd time: Add a warning for missing > '#pragma pack (pop)' and suspicious uses of '#pragma pack' in included files > > The first recommit (r308441) caused a "non-default #pragma pack value might > change the alignment of struct or union members in the included file" warning > in LLVM itself. This recommit tweaks the added warning to avoid warnings for > #includes that don't have any records that are affected by the non-default > alignment. This tweak avoids the previously emitted warning in LLVM. > > Original message: > > 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
We have code in Chromium that does exactly this: gles2_cmd_format.h does #pragma pack(push, 4) and then #includes a file with some generated structs, with the intention that the pragma applies to them. What's the best way to pacify the warning in this case? (We're tracking this in https://bugs.chromium.org/p/chromium/issues/detail?id=749197) Thanks, Hans _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits