diff options
author | H.J. Lu <hongjiu.lu@intel.com> | 2019-01-18 13:05:18 +0000 |
---|---|---|
committer | H.J. Lu <hjl@gcc.gnu.org> | 2019-01-18 05:05:18 -0800 |
commit | 420183d996f320dddb3d1094ae340c53719e0de3 (patch) | |
tree | 3606267c6b36098a85b4a09a3a0d4db540ce8c7b /gcc/cp/call.c | |
parent | cab81ec045acaaf6f4a562e212c6b8b95d98a3ea (diff) | |
download | gcc-420183d996f320dddb3d1094ae340c53719e0de3.zip gcc-420183d996f320dddb3d1094ae340c53719e0de3.tar.gz gcc-420183d996f320dddb3d1094ae340c53719e0de3.tar.bz2 |
c-family: Update unaligned adress of packed member check
Check unaligned pointer conversion and strip NOPS.
gcc/c-family/
PR c/51628
PR c/88664
* c-common.h (warn_for_address_or_pointer_of_packed_member):
Remove the boolean argument.
* c-warn.c (check_address_of_packed_member): Renamed to ...
(check_address_or_pointer_of_packed_member): This. Also
warn pointer conversion.
(check_and_warn_address_of_packed_member): Renamed to ...
(check_and_warn_address_or_pointer_of_packed_member): This.
Also warn pointer conversion.
(warn_for_address_or_pointer_of_packed_member): Remove the
boolean argument. Don't check pointer conversion here.
gcc/c
PR c/51628
PR c/88664
* c-typeck.c (convert_for_assignment): Upate the
warn_for_address_or_pointer_of_packed_member call.
gcc/cp
PR c/51628
PR c/88664
* call.c (convert_for_arg_passing): Upate the
warn_for_address_or_pointer_of_packed_member call.
* typeck.c (convert_for_assignment): Likewise.
gcc/testsuite/
PR c/51628
PR c/88664
* c-c++-common/pr51628-33.c: New test.
* c-c++-common/pr51628-35.c: New test.
* c-c++-common/pr88664-1.c: Likewise.
* c-c++-common/pr88664-2.c: Likewise.
* gcc.dg/pr51628-34.c: Likewise.
From-SVN: r268075
Diffstat (limited to 'gcc/cp/call.c')
-rw-r--r-- | gcc/cp/call.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/cp/call.c b/gcc/cp/call.c index c639f5f..499894b 100644 --- a/gcc/cp/call.c +++ b/gcc/cp/call.c @@ -7644,7 +7644,7 @@ convert_for_arg_passing (tree type, tree val, tsubst_flags_t complain) } if (complain & tf_warning) - warn_for_address_or_pointer_of_packed_member (false, type, val); + warn_for_address_or_pointer_of_packed_member (type, val); return val; } |