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/c-family/c-common.h | |
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/c-family/c-common.h')
-rw-r--r-- | gcc/c-family/c-common.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/c-family/c-common.h b/gcc/c-family/c-common.h index 9fe90f3..69cb76c 100644 --- a/gcc/c-family/c-common.h +++ b/gcc/c-family/c-common.h @@ -1293,7 +1293,7 @@ extern void c_do_switch_warnings (splay_tree, location_t, tree, tree, bool, bool); extern void warn_for_omitted_condop (location_t, tree); extern bool warn_for_restrict (unsigned, tree *, unsigned); -extern void warn_for_address_or_pointer_of_packed_member (bool, tree, tree); +extern void warn_for_address_or_pointer_of_packed_member (tree, tree); /* Places where an lvalue, or modifiable lvalue, may be required. Used to select diagnostic messages in lvalue_error and |