PR47682: Merge the DeclContext of a merged FunctionDecl before we inherit
authorRichard Smith <richard@metafoo.co.uk>
Fri, 22 Jan 2021 23:43:47 +0000 (15:43 -0800)
committerRichard Smith <richard@metafoo.co.uk>
Fri, 22 Jan 2021 23:46:41 +0000 (15:46 -0800)
commite92be7cd9f03ab3eb8c4a21e686743c2575a169a
treed20ee70b40e5f05dba640aaf096e19e4a8882bcf
parentd18c3c7b18e9e78145d701c4687682848071ab98
PR47682: Merge the DeclContext of a merged FunctionDecl before we inherit
default arguments.

When a function is declared with a qualified name, its eventual semantic
DeclContext may differ from the scope specified by the qualifier if it
redeclares a function in an inline namespace. In this case, we need to
update the DeclContext to be that of the previous declaration, and we
need to do so before we decide whether to inherit default arguments from
that previous declaration, because we only inherit default arguments
from declarations in the same scope.
clang/lib/Sema/SemaDecl.cpp
clang/test/SemaCXX/default1.cpp