aboutsummaryrefslogtreecommitdiff
path: root/gcc/lra.c
diff options
context:
space:
mode:
authorJason Merrill <jason@redhat.com>2020-03-30 16:09:43 -0400
committerJason Merrill <jason@redhat.com>2020-03-30 17:04:09 -0400
commit5830f753559f25a5dabcc3507bffa611c6b575a6 (patch)
tree5ca1ab73bcd732cdb0aea5bb7213c150f67f2ee7 /gcc/lra.c
parent1cb1986cb596336e688c079b821205ec212a46a3 (diff)
downloadgcc-5830f753559f25a5dabcc3507bffa611c6b575a6.zip
gcc-5830f753559f25a5dabcc3507bffa611c6b575a6.tar.gz
gcc-5830f753559f25a5dabcc3507bffa611c6b575a6.tar.bz2
c++: Fix comparison of fn() and ns::fn() [PR90711]
The resolution of CWG issue 1321 clarified that when deciding whether two expressions involving template parameters are equivalent, two dependent function calls where the function is named with an unqualified-id are considered to be equivalent if the name is the same, even if unqualified lookup finds different sets of functions. We were wrongly treating qualified-ids the same way, so that EXISTS and test::EXISTS were considered to be equivalent even though they are looking up the name in different scopes. This also causes a mangling bug, but I don't think it's safe to fix that for GCC 10; this patch just fixes the comparison. gcc/cp/ChangeLog 2020-03-30 Jason Merrill <jason@redhat.com> PR c++/90711 * tree.c (cp_tree_equal) [CALL_EXPR]: Compare KOENIG_LOOKUP_P. (called_fns_equal): Check DECL_CONTEXT.
Diffstat (limited to 'gcc/lra.c')
0 files changed, 0 insertions, 0 deletions