On 12/5/18 4:29 PM, David Malcolm wrote:
diff --git a/gcc/cp/parser.h b/gcc/cp/parser.h
index 8bfa3f3..8f389e4 100644
--- a/gcc/cp/parser.h
+++ b/gcc/cp/parser.h
@@ -405,6 +405,15 @@ struct GTY(()) cp_parser {
specification, if any, or UNKNOWN_LOCATION otherwise. */
location_t innermost_linkage_specification_location;
+ /* A stack of all variables for which we're currently parsing an initializer.
+ This allows us to prevent offering the decls as suggestions for
+ unrecognized identifiers - following such suggestions would lead to
+ -Wuninitialized warnings. */
+ vec<tree, va_gc> *decls_being_initialized;
+
+ /* Are we within a mem-initializer-list? This allows us to prevent
+ offering fields as suggestions for unrecognized identifiers. */
+ int within_mem_initializer_list;
I don't think cp_parser is the right place for these; they should go in
saved_scope instead so that when we push into a template instantiation
they are cleared, and then restored when we pop back.
Jason