aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree.c
diff options
context:
space:
mode:
authorHans-Peter Nilsson <hp@axis.com>2020-07-05 20:50:52 +0200
committerHans-Peter Nilsson <hp@axis.com>2020-07-13 08:08:39 +0200
commita4aca1edaf37d43b2b7e9111825837a7a317b1b0 (patch)
treecc00c01e5050a71797365b84d0b943b1baec2f40 /gcc/tree.c
parent56d78c58c233a358c780571ad6fecbabdcff2407 (diff)
downloadgcc-a4aca1edaf37d43b2b7e9111825837a7a317b1b0.zip
gcc-a4aca1edaf37d43b2b7e9111825837a7a317b1b0.tar.gz
gcc-a4aca1edaf37d43b2b7e9111825837a7a317b1b0.tar.bz2
PR94600: fix volatile access to the whole of a compound object.
The store to the whole of each volatile object was picked apart like there had been an individual assignment to each of the fields. Reads were added as part of that; see PR for details. The reads from volatile memory were a clear bug; individual stores questionable. A separate patch clarifies the docs. gcc: 2020-07-09 Richard Biener <rguenther@suse.de> PR middle-end/94600 * expr.c (expand_constructor): Make a temporary also if we're storing to volatile memory. gcc/testsuite: 2020-07-09 Hans-Peter Nilsson <hp@axis.com> PR middle-end/94600 * gcc.dg/pr94600-1.c, gcc.dg/pr94600-2.c, gcc.dg/pr94600-3.c, gcc.dg/pr94600-4.c, gcc.dg/pr94600-5.c, gcc.dg/pr94600-6.c, gcc.dg/pr94600-7.c, gcc.dg/pr94600-8.c: New tests.
Diffstat (limited to 'gcc/tree.c')
0 files changed, 0 insertions, 0 deletions