Web: Turn off bracket-style attributes, reflection, and IO mapping.

This commit is contained in:
John Kessenich
2019-08-06 02:20:45 -06:00
parent 7015bd658e
commit b6d3ee5aca
12 changed files with 176 additions and 110 deletions

View File

@@ -995,12 +995,12 @@ static const yytype_uint16 yyrline[] =
3510, 3515, 3526, 3529, 3535, 3544, 3547, 3553, 3557, 3558,
3564, 3565, 3566, 3567, 3568, 3569, 3570, 3571, 3575, 3583,
3584, 3588, 3584, 3600, 3601, 3605, 3605, 3612, 3612, 3626,
3629, 3637, 3645, 3656, 3657, 3661, 3664, 3670, 3677, 3681,
3689, 3693, 3706, 3709, 3715, 3715, 3735, 3738, 3744, 3756,
3768, 3771, 3777, 3777, 3792, 3792, 3808, 3808, 3829, 3832,
3838, 3841, 3847, 3851, 3858, 3863, 3868, 3875, 3878, 3887,
3891, 3900, 3903, 3906, 3914, 3914, 3936, 3942, 3945, 3950,
3953
3629, 3637, 3645, 3656, 3657, 3661, 3664, 3672, 3679, 3683,
3691, 3695, 3708, 3711, 3719, 3719, 3739, 3742, 3748, 3760,
3772, 3775, 3783, 3783, 3798, 3798, 3814, 3814, 3835, 3838,
3844, 3847, 3853, 3857, 3864, 3869, 3874, 3881, 3884, 3893,
3897, 3906, 3909, 3912, 3920, 3920, 3942, 3948, 3951, 3958,
3963
};
#endif
@@ -9956,50 +9956,52 @@ yyreduce:
case 536:
#line 3664 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
#ifndef GLSLANG_WEB
parseContext.handleSelectionAttributes(*(yyvsp[-1].interm.attributes), (yyvsp[0].interm.intermNode));
#endif
(yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
}
#line 9963 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
#line 9965 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 537:
#line 3670 "MachineIndependent/glslang.y" /* yacc.c:1646 */
#line 3672 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
parseContext.boolCheck((yyvsp[-4].lex).loc, (yyvsp[-2].interm.intermTypedNode));
(yyval.interm.intermNode) = parseContext.intermediate.addSelection((yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.nodePair), (yyvsp[-4].lex).loc);
}
#line 9972 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
#line 9974 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 538:
#line 3677 "MachineIndependent/glslang.y" /* yacc.c:1646 */
#line 3679 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.nodePair).node1 = (yyvsp[-2].interm.intermNode);
(yyval.interm.nodePair).node2 = (yyvsp[0].interm.intermNode);
}
#line 9981 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
#line 9983 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 539:
#line 3681 "MachineIndependent/glslang.y" /* yacc.c:1646 */
#line 3683 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.nodePair).node1 = (yyvsp[0].interm.intermNode);
(yyval.interm.nodePair).node2 = 0;
}
#line 9990 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
#line 9992 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 540:
#line 3689 "MachineIndependent/glslang.y" /* yacc.c:1646 */
#line 3691 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode);
parseContext.boolCheck((yyvsp[0].interm.intermTypedNode)->getLoc(), (yyvsp[0].interm.intermTypedNode));
}
#line 9999 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
#line 10001 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 541:
#line 3693 "MachineIndependent/glslang.y" /* yacc.c:1646 */
#line 3695 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
parseContext.boolCheck((yyvsp[-2].lex).loc, (yyvsp[-3].interm.type));
@@ -10010,28 +10012,30 @@ yyreduce:
else
(yyval.interm.intermTypedNode) = 0;
}
#line 10014 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
#line 10016 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 542:
#line 3706 "MachineIndependent/glslang.y" /* yacc.c:1646 */
#line 3708 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
}
#line 10022 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
#line 10024 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 543:
#line 3709 "MachineIndependent/glslang.y" /* yacc.c:1646 */
#line 3711 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
#ifndef GLSLANG_WEB
parseContext.handleSwitchAttributes(*(yyvsp[-1].interm.attributes), (yyvsp[0].interm.intermNode));
#endif
(yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
}
#line 10031 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
#line 10035 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 544:
#line 3715 "MachineIndependent/glslang.y" /* yacc.c:1646 */
#line 3719 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
// start new switch sequence on the switch stack
++parseContext.controlFlowNestingLevel;
@@ -10040,11 +10044,11 @@ yyreduce:
parseContext.switchLevel.push_back(parseContext.statementNestingLevel);
parseContext.symbolTable.push();
}
#line 10044 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
#line 10048 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 545:
#line 3723 "MachineIndependent/glslang.y" /* yacc.c:1646 */
#line 3727 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.intermNode) = parseContext.addSwitch((yyvsp[-7].lex).loc, (yyvsp[-5].interm.intermTypedNode), (yyvsp[-1].interm.intermNode) ? (yyvsp[-1].interm.intermNode)->getAsAggregate() : 0);
delete parseContext.switchSequenceStack.back();
@@ -10054,27 +10058,27 @@ yyreduce:
--parseContext.statementNestingLevel;
--parseContext.controlFlowNestingLevel;
}
#line 10058 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
#line 10062 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 546:
#line 3735 "MachineIndependent/glslang.y" /* yacc.c:1646 */
#line 3739 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.intermNode) = 0;
}
#line 10066 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
#line 10070 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 547:
#line 3738 "MachineIndependent/glslang.y" /* yacc.c:1646 */
#line 3742 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
}
#line 10074 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
#line 10078 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 548:
#line 3744 "MachineIndependent/glslang.y" /* yacc.c:1646 */
#line 3748 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.intermNode) = 0;
if (parseContext.switchLevel.size() == 0)
@@ -10087,11 +10091,11 @@ yyreduce:
(yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpCase, (yyvsp[-1].interm.intermTypedNode), (yyvsp[-2].lex).loc);
}
}
#line 10091 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
#line 10095 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 549:
#line 3756 "MachineIndependent/glslang.y" /* yacc.c:1646 */
#line 3760 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.intermNode) = 0;
if (parseContext.switchLevel.size() == 0)
@@ -10101,28 +10105,30 @@ yyreduce:
else
(yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpDefault, (yyvsp[-1].lex).loc);
}
#line 10105 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
#line 10109 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 550:
#line 3768 "MachineIndependent/glslang.y" /* yacc.c:1646 */
#line 3772 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
}
#line 10113 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
#line 10117 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 551:
#line 3771 "MachineIndependent/glslang.y" /* yacc.c:1646 */
#line 3775 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
#ifndef GLSLANG_WEB
parseContext.handleLoopAttributes(*(yyvsp[-1].interm.attributes), (yyvsp[0].interm.intermNode));
#endif
(yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
}
#line 10122 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
#line 10128 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 552:
#line 3777 "MachineIndependent/glslang.y" /* yacc.c:1646 */
#line 3783 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
if (! parseContext.limits.whileLoops)
parseContext.error((yyvsp[-1].lex).loc, "while loops not available", "limitation", "");
@@ -10131,11 +10137,11 @@ yyreduce:
++parseContext.statementNestingLevel;
++parseContext.controlFlowNestingLevel;
}
#line 10135 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
#line 10141 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 553:
#line 3785 "MachineIndependent/glslang.y" /* yacc.c:1646 */
#line 3791 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
parseContext.symbolTable.pop(&parseContext.defaultPrecision[0]);
(yyval.interm.intermNode) = parseContext.intermediate.addLoop((yyvsp[0].interm.intermNode), (yyvsp[-2].interm.intermTypedNode), 0, true, (yyvsp[-5].lex).loc);
@@ -10143,21 +10149,21 @@ yyreduce:
--parseContext.statementNestingLevel;
--parseContext.controlFlowNestingLevel;
}
#line 10147 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
#line 10153 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 554:
#line 3792 "MachineIndependent/glslang.y" /* yacc.c:1646 */
#line 3798 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
++parseContext.loopNestingLevel;
++parseContext.statementNestingLevel;
++parseContext.controlFlowNestingLevel;
}
#line 10157 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
#line 10163 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 555:
#line 3797 "MachineIndependent/glslang.y" /* yacc.c:1646 */
#line 3803 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
if (! parseContext.limits.whileLoops)
parseContext.error((yyvsp[-7].lex).loc, "do-while loops not available", "limitation", "");
@@ -10169,22 +10175,22 @@ yyreduce:
--parseContext.statementNestingLevel;
--parseContext.controlFlowNestingLevel;
}
#line 10173 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
#line 10179 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 556:
#line 3808 "MachineIndependent/glslang.y" /* yacc.c:1646 */
#line 3814 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
parseContext.symbolTable.push();
++parseContext.loopNestingLevel;
++parseContext.statementNestingLevel;
++parseContext.controlFlowNestingLevel;
}
#line 10184 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
#line 10190 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 557:
#line 3814 "MachineIndependent/glslang.y" /* yacc.c:1646 */
#line 3820 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
parseContext.symbolTable.pop(&parseContext.defaultPrecision[0]);
(yyval.interm.intermNode) = parseContext.intermediate.makeAggregate((yyvsp[-3].interm.intermNode), (yyvsp[-5].lex).loc);
@@ -10197,81 +10203,81 @@ yyreduce:
--parseContext.statementNestingLevel;
--parseContext.controlFlowNestingLevel;
}
#line 10201 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
#line 10207 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 558:
#line 3829 "MachineIndependent/glslang.y" /* yacc.c:1646 */
#line 3835 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
}
#line 10209 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
#line 10215 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 559:
#line 3832 "MachineIndependent/glslang.y" /* yacc.c:1646 */
#line 3838 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
}
#line 10217 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
#line 10223 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 560:
#line 3838 "MachineIndependent/glslang.y" /* yacc.c:1646 */
#line 3844 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode);
}
#line 10225 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
#line 10231 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 561:
#line 3841 "MachineIndependent/glslang.y" /* yacc.c:1646 */
#line 3847 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.intermTypedNode) = 0;
}
#line 10233 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
#line 10239 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 562:
#line 3847 "MachineIndependent/glslang.y" /* yacc.c:1646 */
#line 3853 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.nodePair).node1 = (yyvsp[-1].interm.intermTypedNode);
(yyval.interm.nodePair).node2 = 0;
}
#line 10242 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
#line 10248 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 563:
#line 3851 "MachineIndependent/glslang.y" /* yacc.c:1646 */
#line 3857 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.nodePair).node1 = (yyvsp[-2].interm.intermTypedNode);
(yyval.interm.nodePair).node2 = (yyvsp[0].interm.intermTypedNode);
}
#line 10251 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
#line 10257 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 564:
#line 3858 "MachineIndependent/glslang.y" /* yacc.c:1646 */
#line 3864 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
if (parseContext.loopNestingLevel <= 0)
parseContext.error((yyvsp[-1].lex).loc, "continue statement only allowed in loops", "", "");
(yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpContinue, (yyvsp[-1].lex).loc);
}
#line 10261 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
#line 10267 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 565:
#line 3863 "MachineIndependent/glslang.y" /* yacc.c:1646 */
#line 3869 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
if (parseContext.loopNestingLevel + parseContext.switchSequenceStack.size() <= 0)
parseContext.error((yyvsp[-1].lex).loc, "break statement only allowed in switch and loops", "", "");
(yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpBreak, (yyvsp[-1].lex).loc);
}
#line 10271 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
#line 10277 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 566:
#line 3868 "MachineIndependent/glslang.y" /* yacc.c:1646 */
#line 3874 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpReturn, (yyvsp[-1].lex).loc);
if (parseContext.currentFunctionType->getBasicType() != EbtVoid)
@@ -10279,83 +10285,83 @@ yyreduce:
if (parseContext.inMain)
parseContext.postEntryPointReturn = true;
}
#line 10283 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
#line 10289 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 567:
#line 3875 "MachineIndependent/glslang.y" /* yacc.c:1646 */
#line 3881 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.intermNode) = parseContext.handleReturnValue((yyvsp[-2].lex).loc, (yyvsp[-1].interm.intermTypedNode));
}
#line 10291 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
#line 10297 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 568:
#line 3878 "MachineIndependent/glslang.y" /* yacc.c:1646 */
#line 3884 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
parseContext.requireStage((yyvsp[-1].lex).loc, EShLangFragment, "discard");
(yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpKill, (yyvsp[-1].lex).loc);
}
#line 10300 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
#line 10306 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 569:
#line 3887 "MachineIndependent/glslang.y" /* yacc.c:1646 */
#line 3893 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
parseContext.intermediate.setTreeRoot((yyval.interm.intermNode));
}
#line 10309 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
#line 10315 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 570:
#line 3891 "MachineIndependent/glslang.y" /* yacc.c:1646 */
#line 3897 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
if ((yyvsp[0].interm.intermNode) != nullptr) {
(yyval.interm.intermNode) = parseContext.intermediate.growAggregate((yyvsp[-1].interm.intermNode), (yyvsp[0].interm.intermNode));
parseContext.intermediate.setTreeRoot((yyval.interm.intermNode));
}
}
#line 10320 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
#line 10326 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 571:
#line 3900 "MachineIndependent/glslang.y" /* yacc.c:1646 */
#line 3906 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
}
#line 10328 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
#line 10334 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 572:
#line 3903 "MachineIndependent/glslang.y" /* yacc.c:1646 */
#line 3909 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
}
#line 10336 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
#line 10342 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 573:
#line 3906 "MachineIndependent/glslang.y" /* yacc.c:1646 */
#line 3912 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
parseContext.requireProfile((yyvsp[0].lex).loc, ~EEsProfile, "extraneous semicolon");
parseContext.profileRequires((yyvsp[0].lex).loc, ~EEsProfile, 460, nullptr, "extraneous semicolon");
(yyval.interm.intermNode) = nullptr;
}
#line 10346 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
#line 10352 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 574:
#line 3914 "MachineIndependent/glslang.y" /* yacc.c:1646 */
#line 3920 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyvsp[0].interm).function = parseContext.handleFunctionDeclarator((yyvsp[0].interm).loc, *(yyvsp[0].interm).function, false /* not prototype */);
(yyvsp[0].interm).intermNode = parseContext.handleFunctionDefinition((yyvsp[0].interm).loc, *(yyvsp[0].interm).function);
}
#line 10355 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
#line 10361 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 575:
#line 3918 "MachineIndependent/glslang.y" /* yacc.c:1646 */
#line 3924 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
// May be best done as post process phase on intermediate code
if (parseContext.currentFunctionType->getBasicType() != EbtVoid && ! parseContext.functionReturnsValue)
@@ -10371,52 +10377,58 @@ yyreduce:
(yyval.interm.intermNode)->getAsAggregate()->setDebug(parseContext.contextPragma.debug);
(yyval.interm.intermNode)->getAsAggregate()->setPragmaTable(parseContext.contextPragma.pragmaTable);
}
#line 10375 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
#line 10381 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 576:
#line 3936 "MachineIndependent/glslang.y" /* yacc.c:1646 */
#line 3942 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.attributes) = (yyvsp[-2].interm.attributes);
parseContext.requireExtensions((yyvsp[-4].lex).loc, 1, &E_GL_EXT_control_flow_attributes, "attribute");
}
#line 10384 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
#line 10390 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 577:
#line 3942 "MachineIndependent/glslang.y" /* yacc.c:1646 */
#line 3948 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.attributes) = (yyvsp[0].interm.attributes);
}
#line 10392 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
#line 10398 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 578:
#line 3945 "MachineIndependent/glslang.y" /* yacc.c:1646 */
#line 3951 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
#ifndef GLSLANG_WEB
(yyval.interm.attributes) = parseContext.mergeAttributes((yyvsp[-2].interm.attributes), (yyvsp[0].interm.attributes));
}
#line 10400 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 579:
#line 3950 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.attributes) = parseContext.makeAttributes(*(yyvsp[0].lex).string);
#endif
}
#line 10408 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 580:
#line 3953 "MachineIndependent/glslang.y" /* yacc.c:1646 */
case 579:
#line 3958 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
(yyval.interm.attributes) = parseContext.makeAttributes(*(yyvsp[-3].lex).string, (yyvsp[-1].interm.intermTypedNode));
#ifndef GLSLANG_WEB
(yyval.interm.attributes) = parseContext.makeAttributes(*(yyvsp[0].lex).string);
#endif
}
#line 10416 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
#line 10418 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
case 580:
#line 3963 "MachineIndependent/glslang.y" /* yacc.c:1646 */
{
#ifndef GLSLANG_WEB
(yyval.interm.attributes) = parseContext.makeAttributes(*(yyvsp[-3].lex).string, (yyvsp[-1].interm.intermTypedNode));
#endif
}
#line 10428 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
break;
#line 10420 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
#line 10432 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646 */
default: break;
}
/* User semantic actions sometimes alter yychar, and that requires
@@ -10644,5 +10656,5 @@ yyreturn:
#endif
return yyresult;
}
#line 3957 "MachineIndependent/glslang.y" /* yacc.c:1906 */
#line 3969 "MachineIndependent/glslang.y" /* yacc.c:1906 */