aboutsummaryrefslogtreecommitdiff
path: root/libgcc
diff options
context:
space:
mode:
authorMartin Sebor <msebor@redhat.com>2022-01-04 13:44:23 -0700
committerMartin Sebor <msebor@redhat.com>2022-01-04 13:44:23 -0700
commit5a431b60d1f221992e5e9f7a5c032df3b5fa35a5 (patch)
tree319fb92e6b01d318b29a1db210bf8b649cd65951 /libgcc
parent708b87dcb6e48cb48d170a4b3625088995377a5c (diff)
downloadgcc-5a431b60d1f221992e5e9f7a5c032df3b5fa35a5.zip
gcc-5a431b60d1f221992e5e9f7a5c032df3b5fa35a5.tar.gz
gcc-5a431b60d1f221992e5e9f7a5c032df3b5fa35a5.tar.bz2
Eenable -Winvalid-memory-order for C++ [PR99612].
Resolves: PR middle-end/99612 - Remove "#pragma GCC system_header" from atomic file to warn on incorrect memory order gcc/ChangeLog: PR middle-end/99612 * builtins.c (get_memmodel): Move warning code to gimple-ssa-warn-access.cc. (expand_builtin_atomic_compare_exchange): Same. (expand_ifn_atomic_compare_exchange): Same. (expand_builtin_atomic_load): Same. (expand_builtin_atomic_store): Same. (expand_builtin_atomic_clear): Same. * doc/extend.texi (__atomic_exchange_n): Update valid memory models. * gimple-ssa-warn-access.cc (memmodel_to_uhwi): New function. (struct memmodel_pair): New struct. (memmodel_name): New function. (pass_waccess::maybe_warn_memmodel): New function. (pass_waccess::check_atomic_memmodel): New function. (pass_waccess::check_atomic_builtin): Handle memory model. * input.c (expansion_point_location_if_in_system_header): Return original location if expansion location is in a system header. gcc/testsuite/ChangeLog: PR middle-end/99612 * c-c++-common/pr83059.c: Adjust text of expected diagnostics. * gcc.dg/atomic-invalid-2.c: Same. * gcc.dg/atomic-invalid.c: Same. * c-c++-common/Winvalid-memory-model.c: New test. * g++.dg/warn/Winvalid-memory-model-2.C: New test. * g++.dg/warn/Winvalid-memory-model.C: New test.
Diffstat (limited to 'libgcc')
0 files changed, 0 insertions, 0 deletions