This is the mail archive of the
mailing list for the GCC project.
Re: RFC: [PATCH] Add warn_if_not_aligned attribute
On 06/06/2017 10:07 AM, Martin Sebor wrote:
On 06/05/2017 11:45 AM, H.J. Lu wrote:
On Mon, Jun 5, 2017 at 8:11 AM, Joseph Myers <firstname.lastname@example.org>
The new attribute needs documentation. Should the test be in
This feature does support C++. But C++ compiler issues a slightly
different warning at a different location.
or does this feature not support C++?
Here is the updated patch with documentation and a C++ test. This
patch caused a few testsuite failures:
FAIL: gcc.dg/compat/struct-align-1 c_compat_x_tst.o compile
warning: alignment 1 of 'struct B2_m_inner_p_outer' is less than 16
FAIL: g++.dg/torture/pr80334.C -O0 (test for excess errors)
warning: alignment 1 of 'B' is less than 16
Users often want the ability to control a warning, even when it
certainly indicates a bug. I would suggest to add an option to
make it possible for this warning as well.
Btw., a bug related to some of those this warning is meant to
detect is assigning the address of an underaligned object to
a pointer of a natively aligned type. Clang has an option
to detect this problem: -Waddress-of-packed-member. It might
make a nice follow-on enhancement to add support for the same
thing. I mention this because I think it would make sense to
consider this when choosing the name of the GCC option (i.e.,
rather than having two distinct but closely related warnings,
have one that detects both of these alignment type of bugs.
A bug that has some additional context on this is pr 51628.
A possible name for the new option suggested there is -Wpacked.