HLSL: Fix #771: add inline keyword.
diff --git a/Test/hlsl.inoutquals.frag b/Test/hlsl.inoutquals.frag
index 3234688..9328dfb 100644
--- a/Test/hlsl.inoutquals.frag
+++ b/Test/hlsl.inoutquals.frag
@@ -4,7 +4,7 @@
float Depth : SV_Depth;
};
-void MyFunc(in float x, out float y, inout float z)
+inline void MyFunc(in float x, out float y, inout float z)
{
y = x;
z = y;
diff --git a/glslang/Include/revision.h b/glslang/Include/revision.h
index 162e400..00dc2f4 100644
--- a/glslang/Include/revision.h
+++ b/glslang/Include/revision.h
@@ -2,5 +2,5 @@
// For the version, it uses the latest git tag followed by the number of commits.
// For the date, it uses the current date (when then script is run).
-#define GLSLANG_REVISION "Overload400-PrecQual.1914"
-#define GLSLANG_DATE "14-Mar-2017"
+#define GLSLANG_REVISION "Overload400-PrecQual.1916"
+#define GLSLANG_DATE "15-Mar-2017"
diff --git a/hlsl/hlslGrammar.cpp b/hlsl/hlslGrammar.cpp
index 7a0172c..1dc500b 100755
--- a/hlsl/hlslGrammar.cpp
+++ b/hlsl/hlslGrammar.cpp
@@ -627,6 +627,9 @@
case EHTokGloballyCoherent:
qualifier.coherent = true;
break;
+ case EHTokInline:
+ // TODO: map this to SPIR-V function control
+ break;
// GS geometries: these are specified on stage input variables, and are an error (not verified here)
// for output variables.
diff --git a/hlsl/hlslScanContext.cpp b/hlsl/hlslScanContext.cpp
index d08a2c3..30b2b2c 100755
--- a/hlsl/hlslScanContext.cpp
+++ b/hlsl/hlslScanContext.cpp
@@ -119,6 +119,7 @@
(*KeywordMap)["inout"] = EHTokInOut;
(*KeywordMap)["layout"] = EHTokLayout;
(*KeywordMap)["globallycoherent"] = EHTokGloballyCoherent;
+ (*KeywordMap)["inline"] = EHTokInline;
(*KeywordMap)["point"] = EHTokPoint;
(*KeywordMap)["line"] = EHTokLine;
@@ -616,6 +617,7 @@
case EHTokPrecise:
case EHTokLayout:
case EHTokGloballyCoherent:
+ case EHTokInline:
return keyword;
// primitive types
diff --git a/hlsl/hlslTokens.h b/hlsl/hlslTokens.h
index 5249619..54f9b21 100755
--- a/hlsl/hlslTokens.h
+++ b/hlsl/hlslTokens.h
@@ -66,6 +66,7 @@
EHTokInOut,
EHTokLayout,
EHTokGloballyCoherent,
+ EHTokInline,
// primitive types
EHTokPoint,