diff --git a/glslang/MachineIndependent/glslang.y b/glslang/MachineIndependent/glslang.y index d6e50911..90be7a79 100755 --- a/glslang/MachineIndependent/glslang.y +++ b/glslang/MachineIndependent/glslang.y @@ -473,8 +473,8 @@ function_identifier if ($$.function == 0) { // error recover - TString empty(""); - $$.function = new TFunction(&empty, TType(EbtVoid), EOpNull); + TString* empty = NewPoolTString(""); + $$.function = new TFunction(empty, TType(EbtVoid), EOpNull); } } | non_uniform_qualifier { diff --git a/glslang/MachineIndependent/glslang_tab.cpp b/glslang/MachineIndependent/glslang_tab.cpp index 1348c8bb..6a2eb402 100644 --- a/glslang/MachineIndependent/glslang_tab.cpp +++ b/glslang/MachineIndependent/glslang_tab.cpp @@ -4447,8 +4447,8 @@ yyreduce: if ((yyval.interm).function == 0) { // error recover - TString empty(""); - (yyval.interm).function = new TFunction(&empty, TType(EbtVoid), EOpNull); + TString* empty = NewPoolTString(""); + (yyval.interm).function = new TFunction(empty, TType(EbtVoid), EOpNull); } } #line 4455 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */