diff --git a/data/c++.m4 b/data/c++.m4 index 396d8613..be1becb2 100644 --- a/data/c++.m4 +++ b/data/c++.m4 @@ -426,6 +426,7 @@ m4_define([b4_public_types_define], return static_cast (yytoken_number_[type]); } ]])[]dnl + b4_symbol_constructor_define]) diff --git a/data/variant.hh b/data/variant.hh index 8d0f06f6..a4db750a 100644 --- a/data/variant.hh +++ b/data/variant.hh @@ -289,7 +289,7 @@ m4_define([b4_symbol_value_template], # these SYMBOL-NUMBERS. Use at class-level. m4_define([b4_symbol_constructor_declare_], [b4_symbol_if([$1], [is_token], [b4_symbol_if([$1], [has_id], -[ static inline +[ static symbol_type make_[]b4_symbol_([$1], [id]) (dnl b4_join(b4_symbol_if([$1], [has_type], @@ -314,7 +314,8 @@ b4_symbol_foreach([b4_symbol_constructor_declare_])]) # Define symbol constructor for this SYMBOL-NUMBER. m4_define([b4_symbol_constructor_define_], [b4_symbol_if([$1], [is_token], [b4_symbol_if([$1], [has_id], -[ b4_parser_class_name::symbol_type +[ inline + b4_parser_class_name::symbol_type b4_parser_class_name::make_[]b4_symbol_([$1], [id]) (dnl b4_join(b4_symbol_if([$1], [has_type], [const b4_symbol([$1], [type])& v]),