diff options
author | Jason Merrill <jason@redhat.com> | 2021-04-15 15:13:18 -0400 |
---|---|---|
committer | Jason Merrill <jason@redhat.com> | 2021-04-15 16:32:00 -0400 |
commit | 3682052e4ccf0a29d1f61df1c8e31f8190eafafe (patch) | |
tree | c1e7ea4ee939342e91e67c24b355a168a8dc2d4e /gcc/tree-vect-loop.c | |
parent | 2dbbbe893f75f587c48111ab4c97cf5e74fb91bb (diff) | |
download | gcc-3682052e4ccf0a29d1f61df1c8e31f8190eafafe.zip gcc-3682052e4ccf0a29d1f61df1c8e31f8190eafafe.tar.gz gcc-3682052e4ccf0a29d1f61df1c8e31f8190eafafe.tar.bz2 |
c++: constexpr and volatile member function [PR80456]
When calling a static member function we still need to evaluate an explicit
object argument. But we don't want to force a load of the entire object
if the argument is volatile, so we take its address. If as a result it no
longer has any side-effects, we don't need to evaluate it after all.
gcc/cp/ChangeLog:
PR c++/80456
* call.c (build_new_method_call_1): Check again for side-effects
with a volatile object.
gcc/testsuite/ChangeLog:
PR c++/80456
* g++.dg/cpp0x/constexpr-volatile3.C: New test.
Diffstat (limited to 'gcc/tree-vect-loop.c')
0 files changed, 0 insertions, 0 deletions