On 9/22/22 14:25, Patrick Palka wrote:

index 80467c19254..722b64793ed 100644
--- a/gcc/cp/decl.cc
+++ b/gcc/cp/decl.cc
@@ -18235,9 +18235,11 @@ maybe_register_incomplete_var (tree var)
        {
          /* When the outermost open class is complete we can resolve any
             pointers-to-members.  */
-         tree context = outermost_open_class ();
-         incomplete_var iv = {var, context};
-         vec_safe_push (incomplete_vars, iv);
+         if (tree context = outermost_open_class ())
+           {
+             incomplete_var iv = {var, context};
+             vec_safe_push (incomplete_vars, iv);
+           }

My immediate thought here is eek! during stream in, the outermost_open_class could be anything -- to do with the context that wanted to lookup of the thing being streamed in, right? So, the above change is I think just papering over a problem in this case.

not sure how to approach this.

nathan

--
Nathan Sidwell

Reply via email to