Skip to content
Snippets Groups Projects
LLParser.cpp.patch 1.38 KiB
--- ../../../lib/AsmParser/LLParser.cpp	2019-12-29 18:23:35.463918719 -0600
+++ lib/AsmParser/LLParser.cpp	2019-12-29 18:44:13.295269292 -0600
@@ -1138,6 +1138,11 @@
     case lltok::kw_sret:
     case lltok::kw_swifterror:
     case lltok::kw_swiftself:
+    // VISC Parameter only attributes
+    case lltok::kw_in:
+    case lltok::kw_out:
+    case lltok::kw_inout:
+
       HaveError |=
         Error(Lex.getLoc(),
               "invalid use of parameter-only attribute on a function");
@@ -1413,6 +1418,10 @@
     case lltok::kw_swiftself:       B.addAttribute(Attribute::SwiftSelf); break;
     case lltok::kw_writeonly:       B.addAttribute(Attribute::WriteOnly); break;
     case lltok::kw_zeroext:         B.addAttribute(Attribute::ZExt); break;
+    // VISC parameter attributes
+    case lltok::kw_in:              B.addAttribute(Attribute::In); break;
+    case lltok::kw_out:             B.addAttribute(Attribute::Out); break;
+    case lltok::kw_inout:           B.addAttribute(Attribute::InOut); break;
 
     case lltok::kw_alignstack:
     case lltok::kw_alwaysinline:
@@ -1501,6 +1510,10 @@
     case lltok::kw_sret:
     case lltok::kw_swifterror:
     case lltok::kw_swiftself:
+    // VISC Parameter only attributes
+    case lltok::kw_in:
+    case lltok::kw_out:
+    case lltok::kw_inout:
       HaveError |= Error(Lex.getLoc(), "invalid use of parameter-only attribute");
       break;