aboutsummaryrefslogtreecommitdiff
path: root/lib/AsmParser/llvmAsmParser.cpp.cvs
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2008-04-23 05:37:08 +0000
committerChris Lattner <sabre@nondot.org>2008-04-23 05:37:08 +0000
commita925a14698fd58b495083542df16e6096aee6f37 (patch)
treef22eecba39a643a829fa9684890e285216844c58 /lib/AsmParser/llvmAsmParser.cpp.cvs
parentf7dedf2d85bdbf354fa3b336fc2637d55b7e37ae (diff)
regenerate
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50139 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/AsmParser/llvmAsmParser.cpp.cvs')
-rw-r--r--lib/AsmParser/llvmAsmParser.cpp.cvs389
1 files changed, 199 insertions, 190 deletions
diff --git a/lib/AsmParser/llvmAsmParser.cpp.cvs b/lib/AsmParser/llvmAsmParser.cpp.cvs
index a17e8ee52c..0af24fcffa 100644
--- a/lib/AsmParser/llvmAsmParser.cpp.cvs
+++ b/lib/AsmParser/llvmAsmParser.cpp.cvs
@@ -1843,24 +1843,24 @@ static const yytype_uint16 yyrline[] =
1248, 1249, 1250, 1253, 1254, 1259, 1260, 1267, 1268, 1274,
1275, 1284, 1292, 1293, 1298, 1299, 1300, 1305, 1318, 1318,
1318, 1318, 1318, 1318, 1318, 1321, 1325, 1329, 1336, 1341,
- 1349, 1380, 1405, 1410, 1420, 1430, 1434, 1444, 1451, 1460,
- 1467, 1472, 1477, 1484, 1485, 1492, 1499, 1507, 1513, 1525,
- 1553, 1569, 1596, 1624, 1650, 1670, 1696, 1716, 1728, 1735,
- 1801, 1811, 1821, 1827, 1837, 1843, 1853, 1858, 1863, 1876,
- 1888, 1910, 1918, 1924, 1935, 1940, 1945, 1951, 1957, 1966,
- 1970, 1978, 1978, 1981, 1981, 1984, 1996, 2017, 2022, 2030,
- 2031, 2035, 2035, 2039, 2039, 2042, 2045, 2069, 2081, 2080,
- 2092, 2091, 2101, 2100, 2111, 2151, 2154, 2160, 2170, 2174,
- 2179, 2181, 2186, 2191, 2200, 2210, 2221, 2225, 2234, 2243,
- 2248, 2374, 2374, 2376, 2385, 2385, 2387, 2392, 2404, 2408,
- 2413, 2417, 2421, 2425, 2429, 2433, 2437, 2441, 2445, 2470,
- 2474, 2484, 2488, 2492, 2497, 2504, 2504, 2510, 2519, 2524,
- 2529, 2533, 2542, 2551, 2560, 2564, 2568, 2573, 2580, 2587,
- 2591, 2596, 2606, 2625, 2634, 2715, 2719, 2726, 2737, 2750,
- 2760, 2771, 2781, 2792, 2800, 2810, 2817, 2820, 2821, 2828,
- 2832, 2837, 2853, 2870, 2884, 2898, 2910, 2918, 2925, 2931,
- 2937, 2943, 2958, 3044, 3049, 3053, 3060, 3067, 3075, 3082,
- 3090, 3098, 3112, 3129, 3137
+ 1349, 1378, 1403, 1408, 1418, 1428, 1432, 1442, 1449, 1458,
+ 1465, 1470, 1475, 1482, 1483, 1490, 1497, 1505, 1511, 1523,
+ 1551, 1567, 1594, 1622, 1648, 1668, 1694, 1714, 1726, 1733,
+ 1799, 1809, 1819, 1825, 1835, 1841, 1851, 1856, 1861, 1874,
+ 1886, 1908, 1916, 1922, 1933, 1938, 1943, 1949, 1955, 1964,
+ 1968, 1976, 1976, 1979, 1979, 1982, 1994, 2015, 2020, 2028,
+ 2029, 2033, 2033, 2037, 2037, 2040, 2043, 2067, 2079, 2078,
+ 2090, 2089, 2099, 2098, 2109, 2149, 2152, 2158, 2168, 2172,
+ 2177, 2179, 2184, 2189, 2198, 2208, 2219, 2223, 2232, 2241,
+ 2246, 2375, 2375, 2377, 2386, 2386, 2388, 2393, 2405, 2409,
+ 2414, 2418, 2422, 2426, 2430, 2434, 2438, 2442, 2446, 2471,
+ 2475, 2485, 2489, 2493, 2498, 2505, 2505, 2511, 2520, 2525,
+ 2530, 2534, 2543, 2552, 2561, 2565, 2569, 2574, 2581, 2588,
+ 2592, 2597, 2607, 2626, 2635, 2720, 2724, 2731, 2742, 2755,
+ 2765, 2776, 2786, 2797, 2805, 2815, 2822, 2825, 2826, 2833,
+ 2837, 2842, 2858, 2875, 2889, 2903, 2915, 2923, 2930, 2936,
+ 2942, 2948, 2963, 3053, 3058, 3062, 3069, 3076, 3084, 3091,
+ 3099, 3107, 3121, 3138, 3146
};
#endif
@@ -4067,12 +4067,10 @@ yyreduce:
{
// Allow but ignore attributes on function types; this permits auto-upgrade.
// FIXME: remove in LLVM 3.0.
- const Type* RetTy = *(yyvsp[(1) - (5)].TypeVal);
- if (!(RetTy->isFirstClassType() || RetTy == Type::VoidTy ||
- isa<StructType>(RetTy) ||
- isa<OpaqueType>(RetTy)))
- GEN_ERROR("LLVM Functions cannot return aggregates");
-
+ const Type *RetTy = *(yyvsp[(1) - (5)].TypeVal);
+ if (!FunctionType::isValidReturnType(RetTy))
+ GEN_ERROR("Invalid result type for LLVM function");
+
std::vector<const Type*> Params;
TypeWithAttrsList::iterator I = (yyvsp[(3) - (5)].TypeWithAttrsList)->begin(), E = (yyvsp[(3) - (5)].TypeWithAttrsList)->end();
for (; I != E; ++I ) {
@@ -4098,7 +4096,7 @@ yyreduce:
break;
case 151:
-#line 1380 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1378 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
{
// Allow but ignore attributes on function types; this permits auto-upgrade.
// FIXME: remove in LLVM 3.0.
@@ -4126,7 +4124,7 @@ yyreduce:
break;
case 152:
-#line 1405 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1403 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
{ // Sized array type?
(yyval.TypeVal) = new PATypeHolder(HandleUpRefs(ArrayType::get(*(yyvsp[(4) - (5)].TypeVal), (unsigned)(yyvsp[(2) - (5)].UInt64Val))));
delete (yyvsp[(4) - (5)].TypeVal);
@@ -4135,7 +4133,7 @@ yyreduce:
break;
case 153:
-#line 1410 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1408 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
{ // Vector type?
const llvm::Type* ElemTy = (yyvsp[(4) - (5)].TypeVal)->get();
if ((unsigned)(yyvsp[(2) - (5)].UInt64Val) != (yyvsp[(2) - (5)].UInt64Val))
@@ -4149,7 +4147,7 @@ yyreduce:
break;
case 154:
-#line 1420 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1418 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
{ // Structure type?
std::vector<const Type*> Elements;
for (std::list<llvm::PATypeHolder>::iterator I = (yyvsp[(2) - (3)].TypeList)->begin(),
@@ -4163,7 +4161,7 @@ yyreduce:
break;
case 155:
-#line 1430 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1428 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
{ // Empty structure type?
(yyval.TypeVal) = new PATypeHolder(StructType::get(std::vector<const Type*>()));
CHECK_FOR_ERROR
@@ -4171,7 +4169,7 @@ yyreduce:
break;
case 156:
-#line 1434 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1432 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
{
std::vector<const Type*> Elements;
for (std::list<llvm::PATypeHolder>::iterator I = (yyvsp[(3) - (5)].TypeList)->begin(),
@@ -4185,7 +4183,7 @@ yyreduce:
break;
case 157:
-#line 1444 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1442 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
{ // Empty structure type?
(yyval.TypeVal) = new PATypeHolder(StructType::get(std::vector<const Type*>(), true));
CHECK_FOR_ERROR
@@ -4193,7 +4191,7 @@ yyreduce:
break;
case 158:
-#line 1451 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1449 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
{
// Allow but ignore attributes on function types; this permits auto-upgrade.
// FIXME: remove in LLVM 3.0.
@@ -4203,7 +4201,7 @@ yyreduce:
break;
case 159:
-#line 1460 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1458 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (1)].TypeVal))->getDescription());
@@ -4214,14 +4212,14 @@ yyreduce:
break;
case 160:
-#line 1467 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1465 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.TypeVal) = new PATypeHolder(Type::VoidTy);
;}
break;
case 161:
-#line 1472 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1470 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.TypeWithAttrsList) = new TypeWithAttrsList();
(yyval.TypeWithAttrsList)->push_back((yyvsp[(1) - (1)].TypeWithAttrs));
@@ -4230,7 +4228,7 @@ yyreduce:
break;
case 162:
-#line 1477 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1475 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
{
((yyval.TypeWithAttrsList)=(yyvsp[(1) - (3)].TypeWithAttrsList))->push_back((yyvsp[(3) - (3)].TypeWithAttrs));
CHECK_FOR_ERROR
@@ -4238,7 +4236,7 @@ yyreduce:
break;
case 164:
-#line 1485 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1483 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.TypeWithAttrsList)=(yyvsp[(1) - (3)].TypeWithAttrsList);
TypeWithAttrs TWA; TWA.Attrs = ParamAttr::None;
@@ -4249,7 +4247,7 @@ yyreduce:
break;
case 165:
-#line 1492 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1490 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.TypeWithAttrsList) = new TypeWithAttrsList;
TypeWithAttrs TWA; TWA.Attrs = ParamAttr::None;
@@ -4260,7 +4258,7 @@ yyreduce:
break;
case 166:
-#line 1499 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1497 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.TypeWithAttrsList) = new TypeWithAttrsList();
CHECK_FOR_ERROR
@@ -4268,7 +4266,7 @@ yyreduce:
break;
case 167:
-#line 1507 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1505 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.TypeList) = new std::list<PATypeHolder>();
(yyval.TypeList)->push_back(*(yyvsp[(1) - (1)].TypeVal));
@@ -4278,7 +4276,7 @@ yyreduce:
break;
case 168:
-#line 1513 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1511 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
{
((yyval.TypeList)=(yyvsp[(1) - (3)].TypeList))->push_back(*(yyvsp[(3) - (3)].TypeVal));
delete (yyvsp[(3) - (3)].TypeVal);
@@ -4287,7 +4285,7 @@ yyreduce:
break;
case 169:
-#line 1525 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1523 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
{ // Nonempty unsized arr
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (4)].TypeVal))->getDescription());
@@ -4319,7 +4317,7 @@ yyreduce:
break;
case 170:
-#line 1553 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1551 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (3)].TypeVal))->getDescription());
@@ -4339,7 +4337,7 @@ yyreduce:
break;
case 171:
-#line 1569 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1567 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (3)].TypeVal))->getDescription());
@@ -4370,7 +4368,7 @@ yyreduce:
break;
case 172:
-#line 1596 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1594 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
{ // Nonempty unsized arr
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (4)].TypeVal))->getDescription());
@@ -4402,7 +4400,7 @@ yyreduce:
break;
case 173:
-#line 1624 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1622 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
{
const StructType *STy = dyn_cast<StructType>((yyvsp[(1) - (4)].TypeVal)->get());
if (STy == 0)
@@ -4432,7 +4430,7 @@ yyreduce:
break;
case 174:
-#line 1650 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1648 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (3)].TypeVal))->getDescription());
@@ -4456,7 +4454,7 @@ yyreduce:
break;
case 175:
-#line 1670 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1668 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
{
const StructType *STy = dyn_cast<StructType>((yyvsp[(1) - (6)].TypeVal)->get());
if (STy == 0)
@@ -4486,7 +4484,7 @@ yyreduce:
break;
case 176:
-#line 1696 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1694 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (5)].TypeVal))->getDescription());
@@ -4510,7 +4508,7 @@ yyreduce:
break;
case 177:
-#line 1716 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1714 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (2)].TypeVal))->getDescription());
@@ -4526,7 +4524,7 @@ yyreduce:
break;
case 178:
-#line 1728 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1726 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (2)].TypeVal))->getDescription());
@@ -4537,7 +4535,7 @@ yyreduce:
break;
case 179:
-#line 1735 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1733 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (2)].TypeVal))->getDescription());
@@ -4607,7 +4605,7 @@ yyreduce:
break;
case 180:
-#line 1801 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1799 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (2)].TypeVal))->getDescription());
@@ -4621,7 +4619,7 @@ yyreduce:
break;
case 181:
-#line 1811 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1809 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (2)].TypeVal))->getDescription());
@@ -4635,7 +4633,7 @@ yyreduce:
break;
case 182:
-#line 1821 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1819 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
{ // integral constants
if (!ConstantInt::isValueValidForType((yyvsp[(1) - (2)].PrimType), (yyvsp[(2) - (2)].SInt64Val)))
GEN_ERROR("Constant value doesn't fit in type");
@@ -4645,7 +4643,7 @@ yyreduce:
break;
case 183:
-#line 1827 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1825 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
{ // arbitrary precision integer constants
uint32_t BitWidth = cast<IntegerType>((yyvsp[(1) - (2)].PrimType))->getBitWidth();
if ((yyvsp[(2) - (2)].APIntVal)->getBitWidth() > BitWidth) {
@@ -4659,7 +4657,7 @@ yyreduce:
break;
case 184:
-#line 1837 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1835 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
{ // integral constants
if (!ConstantInt::isValueValidForType((yyvsp[(1) - (2)].PrimType), (yyvsp[(2) - (2)].UInt64Val)))
GEN_ERROR("Constant value doesn't fit in type");
@@ -4669,7 +4667,7 @@ yyreduce:
break;
case 185:
-#line 1843 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1841 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
{ // arbitrary precision integer constants
uint32_t BitWidth = cast<IntegerType>((yyvsp[(1) - (2)].PrimType))->getBitWidth();
if ((yyvsp[(2) - (2)].APIntVal)->getBitWidth() > BitWidth) {
@@ -4683,7 +4681,7 @@ yyreduce:
break;
case 186:
-#line 1853 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1851 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
{ // Boolean constants
assert(cast<IntegerType>((yyvsp[(1) - (2)].PrimType))->getBitWidth() == 1 && "Not Bool?");
(yyval.ConstVal) = ConstantInt::getTrue();
@@ -4692,7 +4690,7 @@ yyreduce:
break;
case 187:
-#line 1858 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1856 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
{ // Boolean constants
assert(cast<IntegerType>((yyvsp[(1) - (2)].PrimType))->getBitWidth() == 1 && "Not Bool?");
(yyval.ConstVal) = ConstantInt::getFalse();
@@ -4701,7 +4699,7 @@ yyreduce:
break;
case 188:
-#line 1863 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1861 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
{ // Floating point constants
if (!ConstantFP::isValueValidForType((yyvsp[(1) - (2)].PrimType), *(yyvsp[(2) - (2)].FPVal)))
GEN_ERROR("Floating point constant invalid for type");
@@ -4716,7 +4714,7 @@ yyreduce:
break;
case 189:
-#line 1876 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1874 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(5) - (6)].TypeVal))->getDescription());
@@ -4732,7 +4730,7 @@ yyreduce:
break;
case 190:
-#line 1888 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1886 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!isa<PointerType>((yyvsp[(3) - (5)].ConstVal)->getType()))
GEN_ERROR("GetElementPtr requires a pointer operand");
@@ -4758,7 +4756,7 @@ yyreduce:
break;
case 191:
-#line 1910 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1908 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
{
if ((yyvsp[(3) - (8)].ConstVal)->getType() != Type::Int1Ty)
GEN_ERROR("Select condition must be of boolean type");
@@ -4770,7 +4768,7 @@ yyreduce:
break;
case 192:
-#line 1918 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1916 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
{
if ((yyvsp[(3) - (6)].ConstVal)->getType() != (yyvsp[(5) - (6)].ConstVal)->getType())
GEN_ERROR("Binary operator types must match");
@@ -4780,7 +4778,7 @@ yyreduce:
break;
case 193:
-#line 1924 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1922 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
{
if ((yyvsp[(3) - (6)].ConstVal)->getType() != (yyvsp[(5) - (6)].ConstVal)->getType())
GEN_ERROR("Logical operator types must match");
@@ -4795,7 +4793,7 @@ yyreduce:
break;
case 194:
-#line 1935 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1933 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
{
if ((yyvsp[(4) - (7)].ConstVal)->getType() != (yyvsp[(6) - (7)].ConstVal)->getType())
GEN_ERROR("icmp operand types must match");
@@ -4804,7 +4802,7 @@ yyreduce:
break;
case 195:
-#line 1940 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1938 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
{
if ((yyvsp[(4) - (7)].ConstVal)->getType() != (yyvsp[(6) - (7)].ConstVal)->getType())
GEN_ERROR("fcmp operand types must match");
@@ -4813,7 +4811,7 @@ yyreduce:
break;
case 196:
-#line 1945 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1943 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!ExtractElementInst::isValidOperands((yyvsp[(3) - (6)].ConstVal), (yyvsp[(5) - (6)].ConstVal)))
GEN_ERROR("Invalid extractelement operands");
@@ -4823,7 +4821,7 @@ yyreduce:
break;
case 197:
-#line 1951 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1949 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!InsertElementInst::isValidOperands((yyvsp[(3) - (8)].ConstVal), (yyvsp[(5) - (8)].ConstVal), (yyvsp[(7) - (8)].ConstVal)))
GEN_ERROR("Invalid insertelement operands");
@@ -4833,7 +4831,7 @@ yyreduce:
break;
case 198:
-#line 1957 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1955 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!ShuffleVectorInst::isValidOperands((yyvsp[(3) - (8)].ConstVal), (yyvsp[(5) - (8)].ConstVal), (yyvsp[(7) - (8)].ConstVal)))
GEN_ERROR("Invalid shufflevector operands");
@@ -4843,7 +4841,7 @@ yyreduce:
break;
case 199:
-#line 1966 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1964 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
{
((yyval.ConstVector) = (yyvsp[(1) - (3)].ConstVector))->push_back((yyvsp[(3) - (3)].ConstVal));
CHECK_FOR_ERROR
@@ -4851,7 +4849,7 @@ yyreduce:
break;
case 200:
-#line 1970 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1968 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.ConstVector) = new std::vector<Constant*>();
(yyval.ConstVector)->push_back((yyvsp[(1) - (1)].ConstVal));
@@ -4860,27 +4858,27 @@ yyreduce:
break;
case 201:
-#line 1978 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1976 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.BoolVal) = false; ;}
break;
case 202:
-#line 1978 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1976 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.BoolVal) = true; ;}
break;
case 203:
-#line 1981 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1979 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.BoolVal) = true; ;}
break;
case 204:
-#line 1981 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1979 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
{ (yyval.BoolVal) = false; ;}
break;
case 205:
-#line 1984 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1982 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
{
const Type* VTy = (yyvsp[(1) - (2)].TypeVal)->get();
Value *V = getVal(VTy, (yyvsp[(2) - (2)].ValIDVal));
@@ -4896,7 +4894,7 @@ yyreduce:
break;
case 206:
-#line 1996 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1994 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
{
Constant *Val = (yyvsp[(3) - (6)].ConstVal);
const Type *DestTy = (yyvsp[(5) - (6)].TypeVal)->get();
@@ -4912,7 +4910,7 @@ yyreduce:
break;
case 207:
-#line 2017 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2015 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.ModuleVal) = ParserResult = CurModule.CurrentModule;
CurModule.ModuleDone();
@@ -4921,7 +4919,7 @@ yyreduce:
break;
case 208:
-#line 2022 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2020 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.ModuleVal) = ParserResult = CurModule.CurrentModule;
CurModule.ModuleDone();
@@ -4930,12 +4928,12 @@ yyreduce:
break;
case 211:
-#line 2035 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2033 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
{ CurFun.isDeclare = false; ;}
break;
case 212:
-#line 2035 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2033 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
{
CurFun.FunctionDone();
CHECK_FOR_ERROR
@@ -4943,26 +4941,26 @@ yyreduce:
break;
case 213:
-#line 2039 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2037 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
{ CurFun.isDeclare = true; ;}
break;
case 214:
-#line 2039 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2037 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
{
CHECK_FOR_ERROR
;}
break;
case 215:
-#line 2042 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2040 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
{
CHECK_FOR_ERROR
;}
break;
case 216:
-#line 2045 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2043 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(3) - (3)].TypeVal))->getDescription());
@@ -4990,7 +4988,7 @@ yyreduce:
break;
case 217:
-#line 2069 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2067 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
{
ResolveTypeTo((yyvsp[(1) - (3)].StrVal), (yyvsp[(3) - (3)].PrimType));
@@ -5005,7 +5003,7 @@ yyreduce:
break;
case 218:
-#line 2081 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2079 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
{
/* "Externally Visible" Linkage */
if ((yyvsp[(5) - (6)].ConstVal) == 0)
@@ -5017,14 +5015,14 @@ yyreduce:
break;
case 219:
-#line 2088 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2086 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
{
CurGV = 0;
;}
break;
case 220:
-#line 2092 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2090 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
{
if ((yyvsp[(6) - (7)].ConstVal) == 0)
GEN_ERROR("Global value initializer is not a constant");
@@ -5034,14 +5032,14 @@ yyreduce:
break;
case 221:
-#line 2097 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2095 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
{
CurGV = 0;
;}
break;
case 222:
-#line 2101 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2099 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(6) - (7)].TypeVal))->getDescription());
@@ -5052,7 +5050,7 @@ yyreduce:
break;
case 223:
-#line 2107 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2105 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
{
CurGV = 0;
CHECK_FOR_ERROR
@@ -5060,7 +5058,7 @@ yyreduce:
break;
case 224:
-#line 2111 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2109 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
{
std::string Name;
if ((yyvsp[(1) - (5)].StrVal)) {
@@ -5104,21 +5102,21 @@ yyreduce:
break;
case 225:
-#line 2151 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2149 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
{
CHECK_FOR_ERROR
;}
break;
case 226:
-#line 2154 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2152 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
{
CHECK_FOR_ERROR
;}
break;
case 227:
-#line 2160 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2158 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
{
const std::string &AsmSoFar = CurModule.CurrentModule->getModuleInlineAsm();
if (AsmSoFar.empty())
@@ -5131,7 +5129,7 @@ yyreduce:
break;
case 228:
-#line 2170 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2168 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
{
CurModule.CurrentModule->setTargetTriple(*(yyvsp[(3) - (3)].StrVal));
delete (yyvsp[(3) - (3)].StrVal);
@@ -5139,7 +5137,7 @@ yyreduce:
break;
case 229:
-#line 2174 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2172 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
{
CurModule.CurrentModule->setDataLayout(*(yyvsp[(3) - (3)].StrVal));
delete (yyvsp[(3) - (3)].StrVal);
@@ -5147,7 +5145,7 @@ yyreduce:
break;
case 231:
-#line 2181 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2179 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
{
CurModule.CurrentModule->addLibrary(*(yyvsp[(3) - (3)].StrVal));
delete (yyvsp[(3) - (3)].StrVal);
@@ -5156,7 +5154,7 @@ yyreduce:
break;
case 232:
-#line 2186 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2184 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
{
CurModule.CurrentModule->addLibrary(*(yyvsp[(1) - (1)].StrVal));
delete (yyvsp[(1) - (1)].StrVal);
@@ -5165,14 +5163,14 @@ yyreduce:
break;
case 233:
-#line 2191 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2189 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
{
CHECK_FOR_ERROR
;}
break;
case 234:
-#line 2200 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2198 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(3) - (5)].TypeVal))->getDescription());
@@ -5186,7 +5184,7 @@ yyreduce:
break;
case 235:
-#line 2210 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2208 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[(1) - (3)].TypeVal))->getDescription());
@@ -5200,7 +5198,7 @@ yyreduce:
break;
case 236:
-#line 2221 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2219 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.ArgList) = (yyvsp[(1) - (1)].ArgList);
CHECK_FOR_ERROR
@@ -5208,7 +5206,7 @@ yyreduce:
break;
case 237:
-#line 2225 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2223 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.ArgList) = (yyvsp[(1) - (3)].ArgList);
struct ArgListEntry E;
@@ -5221,7 +5219,7 @@ yyreduce:
break;
case 238:
-#line 2234 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2232 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.ArgList) = new ArgListType;
struct ArgListEntry E;
@@ -5234,7 +5232,7 @@ yyreduce:
break;
case 239:
-#line 2243 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2241 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.ArgList) = 0;
CHECK_FOR_ERROR
@@ -5242,7 +5240,7 @@ yyreduce:
break;
case 240:
-#line 2249 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2247 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
{
std::string FunctionName(*(yyvsp[(3) - (10)].StrVal));
delete (yyvsp[(3) - (10)].StrVal); // Free strdup'd memory!
@@ -5252,6 +5250,9 @@ yyreduce:
if (!CurFun.isDeclare && CurModule.TypeIsUnresolved((yyvsp[(2) - (10)].TypeVal)))
GEN_ERROR("Reference to abstract result: "+ (yyvsp[(2) - (10)].TypeVal)->get()->getDescription());
+ if (!FunctionType::isValidReturnType(*(yyvsp[(2) - (10)].TypeVal)))
+ GEN_ERROR("Invalid result type for LLVM function");
+
std::vector<const Type*> ParamTypeList;
SmallVector<ParamAttrsWithIndex, 8> Attrs;
if ((yyvsp[(7) - (10)].ParamAttrs) != ParamAttr::None)
@@ -5370,7 +5371,7 @@ yyreduce:
break;
case 243:
-#line 2376 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2377 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.FunctionVal) = CurFun.CurrentFunction;
@@ -5382,7 +5383,7 @@ yyreduce:
break;
case 246:
-#line 2387 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2388 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.FunctionVal) = (yyvsp[(1) - (2)].FunctionVal);
CHECK_FOR_ERROR
@@ -5390,7 +5391,7 @@ yyreduce:
break;
case 247:
-#line 2392 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2393 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
{
CurFun.CurrentFunction->setLinkage((yyvsp[(1) - (3)].Linkage));
CurFun.CurrentFunction->setVisibility((yyvsp[(2) - (3)].Visibility));
@@ -5401,7 +5402,7 @@ yyreduce:
break;
case 248:
-#line 2404 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2405 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.BoolVal) = false;
CHECK_FOR_ERROR
@@ -5409,7 +5410,7 @@ yyreduce:
break;
case 249:
-#line 2408 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2409 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.BoolVal) = true;
CHECK_FOR_ERROR
@@ -5417,7 +5418,7 @@ yyreduce:
break;
case 250:
-#line 2413 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2414 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
{ // A reference to a direct constant
(yyval.ValIDVal) = ValID::create((yyvsp[(1) - (1)].SInt64Val));
CHECK_FOR_ERROR
@@ -5425,7 +5426,7 @@ yyreduce:
break;
case 251:
-#line 2417 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2418 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.ValIDVal) = ValID::create((yyvsp[(1) - (1)].UInt64Val));
CHECK_FOR_ERROR
@@ -5433,7 +5434,7 @@ yyreduce:
break;
case 252:
-#line 2421 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2422 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
{ // Perhaps it's an FP constant?
(yyval.ValIDVal) = ValID::create((yyvsp[(1) - (1)].FPVal));
CHECK_FOR_ERROR
@@ -5441,7 +5442,7 @@ yyreduce:
break;
case 253:
-#line 2425 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2426 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.ValIDVal) = ValID::create(ConstantInt::getTrue());
CHECK_FOR_ERROR
@@ -5449,7 +5450,7 @@ yyreduce:
break;
case 254:
-#line 2429 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2430 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.ValIDVal) = ValID::create(ConstantInt::getFalse());
CHECK_FOR_ERROR
@@ -5457,7 +5458,7 @@ yyreduce:
break;
case 255:
-#line 2433 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2434 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.ValIDVal) = ValID::createNull();
CHECK_FOR_ERROR
@@ -5465,7 +5466,7 @@ yyreduce:
break;
case 256:
-#line 2437 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2438 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.ValIDVal) = ValID::createUndef();
CHECK_FOR_ERROR
@@ -5473,7 +5474,7 @@ yyreduce:
break;
case 257:
-#line 2441 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2442 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
{ // A vector zero constant.
(yyval.ValIDVal) = ValID::createZeroInit();
CHECK_FOR_ERROR
@@ -5481,7 +5482,7 @@ yyreduce:
break;
case 258:
-#line 2445 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2446 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
{ // Nonempty unsized packed vector
const Type *ETy = (*(yyvsp[(2) - (3)].ConstVector))[0]->getType();
int NumElements = (yyvsp[(2) - (3)].ConstVector)->size();
@@ -5510,7 +5511,7 @@ yyreduce:
break;
case 259:
-#line 2470 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2471 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.ValIDVal) = ValID::create((yyvsp[(1) - (1)].ConstVal));
CHECK_FOR_ERROR
@@ -5518,7 +5519,7 @@ yyreduce:
break;
case 260:
-#line 2474 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2475 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.ValIDVal) = ValID::createInlineAsm(*(yyvsp[(3) - (5)].StrVal), *(yyvsp[(5) - (5)].StrVal), (yyvsp[(2) - (5)].BoolVal));
delete (yyvsp[(3) - (5)].StrVal);
@@ -5528,7 +5529,7 @@ yyreduce:
break;
case 261:
-#line 2484 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2485 "/Users/sabre/llvm/lib/AsmParser/llvmAsmParser.y"
{ // Is it an integer reference...?
(yyval.ValIDVal) = ValID::createLocalID((yyvsp[(1) - (1)].UIntVal));
CHECK_FOR_ERROR
@@ -5536,7 +5537,7 @@ yyreduce:
break;