Message ID | CADzB+2=burDs5Oou6VWMpBecOYQkG3oDmQDHD4CS-KeZheRF3Q@mail.gmail.com |
---|---|
State | New |
Headers | show |
diff --git a/gcc/cp/typeck.c b/gcc/cp/typeck.c index 2ccd2da..3704b88 100644 --- a/gcc/cp/typeck.c +++ b/gcc/cp/typeck.c @@ -2797,6 +2797,8 @@ finish_class_member_access_expr (cp_expr object, tree name, bool template_p, return error_mark_node; if (!access_path) { + if (any_dependent_bases_p (object_type)) + goto dependent; if (complain & tf_error) error ("%qT is not a base of %qT", scope, object_type); return error_mark_node; diff --git a/gcc/testsuite/g++.dg/template/dependent-base1.C b/gcc/testsuite/g++.dg/template/dependent-base1.C new file mode 100644 index 0000000..392305b --- /dev/null +++ b/gcc/testsuite/g++.dg/template/dependent-base1.C @@ -0,0 +1,10 @@ +// PR c++/71209 + +struct A { + int table_clear; +}; + +template <typename T> +struct B : T { + B() { this->A::table_clear; } +};