PR c++/92859 - ADL and bit-field.

We also need unlowered_expr_type when considering associated types for ADL.

	* name-lookup.c: Use unlowered_expr_type.

From-SVN: r279229
This commit is contained in:
Jason Merrill 2019-12-11 11:48:44 -05:00 committed by Jason Merrill
parent 3e7a892cc5
commit 7c0a61870e
3 changed files with 22 additions and 1 deletions

View File

@ -1,5 +1,8 @@
2019-12-11 Jason Merrill <jason@redhat.com>
PR c++/92859 - ADL and bit-field.
* name-lookup.c: Use unlowered_expr_type.
PR c++/92446 - deduction of class NTTP.
* pt.c (deducible_expression): Look through VIEW_CONVERT_EXPR.

View File

@ -908,7 +908,7 @@ name_lookup::adl_expr (tree expr)
if (TREE_TYPE (expr) != unknown_type_node)
{
adl_type (TREE_TYPE (expr));
adl_type (unlowered_expr_type (expr));
return;
}

View File

@ -0,0 +1,18 @@
// PR c++/92859
// { dg-do compile { target c++11 } }
void f(int) = delete;
struct ES {
enum E { v };
friend void f(E) { }
};
struct S {
ES::E e : 1;
};
int main() {
S s{};
f (s.e);
}