diff --git a/Android.mk b/Android.mk
new file mode 100644
index 0000000..fda81a7
--- /dev/null
+++ b/Android.mk
@@ -0,0 +1,100 @@
+LOCAL_PATH := $(call my-dir)
+
+GLSLANG_OS_FLAGS := -DGLSLANG_OSINCLUDE_UNIX
+# AMD and NV extensions are turned on by default in upstream Glslang.
+GLSLANG_DEFINES:= -DAMD_EXTENSIONS -DNV_EXTENSIONS -DENABLE_HLSL $(GLSLANG_OS_FLAGS)
+
+include $(CLEAR_VARS)
+LOCAL_MODULE:=OSDependent
+LOCAL_CXXFLAGS:=-std=c++11 -fno-exceptions -fno-rtti $(GLSLANG_DEFINES)
+LOCAL_EXPORT_C_INCLUDES:=$(LOCAL_PATH)
+LOCAL_SRC_FILES:=glslang/OSDependent/Unix/ossource.cpp
+LOCAL_C_INCLUDES:=$(LOCAL_PATH) $(LOCAL_PATH)/glslang/OSDependent/Unix/
+LOCAL_EXPORT_C_INCLUDES:=$(LOCAL_PATH)/glslang/OSDependent/Unix/
+include $(BUILD_STATIC_LIBRARY)
+
+include $(CLEAR_VARS)
+LOCAL_MODULE:=OGLCompiler
+LOCAL_CXXFLAGS:=-std=c++11 -fno-exceptions -fno-rtti $(GLSLANG_DEFINES)
+LOCAL_EXPORT_C_INCLUDES:=$(LOCAL_PATH)
+LOCAL_SRC_FILES:=OGLCompilersDLL/InitializeDll.cpp
+LOCAL_C_INCLUDES:=$(LOCAL_PATH)/OGLCompiler
+LOCAL_STATIC_LIBRARIES:=OSDependent
+include $(BUILD_STATIC_LIBRARY)
+
+# Build Glslang's HLSL parser library.
+include $(CLEAR_VARS)
+LOCAL_MODULE:=HLSL
+LOCAL_CXXFLAGS:=-std=c++11 -fno-exceptions -fno-rtti $(GLSLANG_DEFINES)
+LOCAL_SRC_FILES:= \
+		hlsl/hlslAttributes.cpp \
+		hlsl/hlslGrammar.cpp \
+		hlsl/hlslOpMap.cpp \
+		hlsl/hlslParseables.cpp \
+		hlsl/hlslParseHelper.cpp \
+		hlsl/hlslScanContext.cpp \
+		hlsl/hlslTokenStream.cpp
+LOCAL_C_INCLUDES:=$(LOCAL_PATH) \
+	$(LOCAL_PATH)/hlsl
+include $(BUILD_STATIC_LIBRARY)
+
+include $(CLEAR_VARS)
+GLSLANG_OUT_PATH=$(if $(call host-path-is-absolute,$(TARGET_OUT)),$(TARGET_OUT),$(abspath $(TARGET_OUT)))
+
+LOCAL_MODULE:=glslang
+LOCAL_CXXFLAGS:=-std=c++11 -fno-exceptions -fno-rtti $(GLSLANG_DEFINES)
+LOCAL_EXPORT_C_INCLUDES:=$(LOCAL_PATH)
+LOCAL_SRC_FILES:= \
+		glslang/GenericCodeGen/CodeGen.cpp \
+		glslang/GenericCodeGen/Link.cpp \
+		glslang/MachineIndependent/attribute.cpp \
+		glslang/MachineIndependent/Constant.cpp \
+		glslang/MachineIndependent/glslang_tab.cpp \
+		glslang/MachineIndependent/InfoSink.cpp \
+		glslang/MachineIndependent/Initialize.cpp \
+		glslang/MachineIndependent/Intermediate.cpp \
+		glslang/MachineIndependent/intermOut.cpp \
+		glslang/MachineIndependent/IntermTraverse.cpp \
+		glslang/MachineIndependent/iomapper.cpp \
+		glslang/MachineIndependent/limits.cpp \
+		glslang/MachineIndependent/linkValidate.cpp \
+		glslang/MachineIndependent/parseConst.cpp \
+		glslang/MachineIndependent/ParseContextBase.cpp \
+		glslang/MachineIndependent/ParseHelper.cpp \
+		glslang/MachineIndependent/PoolAlloc.cpp \
+		glslang/MachineIndependent/propagateNoContraction.cpp \
+		glslang/MachineIndependent/reflection.cpp \
+		glslang/MachineIndependent/RemoveTree.cpp \
+		glslang/MachineIndependent/Scan.cpp \
+		glslang/MachineIndependent/ShaderLang.cpp \
+		glslang/MachineIndependent/SymbolTable.cpp \
+		glslang/MachineIndependent/Versions.cpp \
+		glslang/MachineIndependent/preprocessor/PpAtom.cpp \
+		glslang/MachineIndependent/preprocessor/PpContext.cpp \
+		glslang/MachineIndependent/preprocessor/Pp.cpp \
+		glslang/MachineIndependent/preprocessor/PpScanner.cpp \
+		glslang/MachineIndependent/preprocessor/PpTokens.cpp
+LOCAL_C_INCLUDES:=$(LOCAL_PATH) \
+	$(LOCAL_PATH)/glslang/MachineIndependent \
+	$(GLSLANG_OUT_PATH)
+LOCAL_STATIC_LIBRARIES:=OSDependent OGLCompiler HLSL
+include $(BUILD_STATIC_LIBRARY)
+
+include $(CLEAR_VARS)
+LOCAL_MODULE:=SPIRV
+LOCAL_CXXFLAGS:=-std=c++11 -fno-exceptions -fno-rtti -Werror $(GLSLANG_DEFINES)
+LOCAL_EXPORT_C_INCLUDES:=$(LOCAL_PATH)
+LOCAL_SRC_FILES:= \
+	SPIRV/GlslangToSpv.cpp \
+	SPIRV/InReadableOrder.cpp \
+	SPIRV/Logger.cpp \
+	SPIRV/SPVRemapper.cpp \
+	SPIRV/SpvBuilder.cpp \
+	SPIRV/SpvPostProcess.cpp \
+	SPIRV/SpvTools.cpp \
+	SPIRV/disassemble.cpp \
+	SPIRV/doc.cpp
+LOCAL_C_INCLUDES:=$(LOCAL_PATH) $(LOCAL_PATH)/glslang/SPIRV
+LOCAL_EXPORT_C_INCLUDES:=$(LOCAL_PATH)/glslang/SPIRV
+LOCAL_STATIC_LIBRARIES:=glslang
+include $(BUILD_STATIC_LIBRARY)
diff --git a/SPIRV/GlslangToSpv.cpp b/SPIRV/GlslangToSpv.cpp
index 495a976..4c1dbd4 100755
--- a/SPIRV/GlslangToSpv.cpp
+++ b/SPIRV/GlslangToSpv.cpp
@@ -1825,6 +1825,12 @@
         unsigned int member = node->getOperand()->getAsBinaryNode()->getRight()->getAsConstantUnion()->getConstArray()[0].getUConst();
         spv::Id length = builder.createArrayLength(builder.accessChainGetLValue(), member);
 
+        // GLSL semantics say the result of .length() is an int, while SPIR-V says
+        // signedness must be 0. So, convert from SPIR-V unsigned back to GLSL's
+        // AST expectation of a signed result.
+        if (glslangIntermediate->getSource() == glslang::EShSourceGlsl)
+            length = builder.createUnaryOp(spv::OpBitcast, builder.makeIntType(32), length);
+
         builder.clearAccessChain();
         builder.setAccessChainRValue(length);
 
diff --git a/SPIRV/SpvBuilder.cpp b/SPIRV/SpvBuilder.cpp
old mode 100644
new mode 100755
index 8755d9e..951d104
--- a/SPIRV/SpvBuilder.cpp
+++ b/SPIRV/SpvBuilder.cpp
@@ -1293,7 +1293,7 @@
 
 Id Builder::createArrayLength(Id base, unsigned int member)
 {
-    spv::Id intType = makeIntType(32);
+    spv::Id intType = makeUintType(32);
     Instruction* length = new Instruction(getUniqueId(), intType, OpArrayLength);
     length->addIdOperand(base);
     length->addImmediateOperand(member);
diff --git a/Test/baseResults/hlsl.structbuffer.byte.frag.out b/Test/baseResults/hlsl.structbuffer.byte.frag.out
index 49958a6..a23ccd2 100644
--- a/Test/baseResults/hlsl.structbuffer.byte.frag.out
+++ b/Test/baseResults/hlsl.structbuffer.byte.frag.out
@@ -323,10 +323,6 @@
 0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
 0:?     'pos' (layout( location=0) flat in uint)
 
-error: SPIRV-Tools Validation Errors
-error: OpStore Pointer <id> '14[size]'s type does not match Object <id> '20's type.
-  OpStore %size %20
-
 // Module Version 10000
 // Generated by (magic number): 80007
 // Id's are bound by 114
@@ -370,13 +366,13 @@
         16(sbuf):             TypeStruct 15
               17:             TypePointer Uniform 16(sbuf)
         18(sbuf):     17(ptr) Variable Uniform
-              19:             TypeInt 32 1
-              21:     19(int) Constant 0
-              23:     19(int) Constant 2
+              20:             TypeInt 32 1
+              21:     20(int) Constant 0
+              23:     20(int) Constant 2
               25:             TypePointer Uniform 6(int)
-              29:             TypePointer Function 19(int)
+              29:             TypePointer Function 20(int)
               32:      6(int) Constant 4
-              39:     19(int) Constant 1
+              39:     20(int) Constant 1
               43:             TypeVector 6(int) 2
               45:             TypeVector 8(float) 2
               47:    8(float) Constant 0
@@ -384,7 +380,7 @@
               69:             TypeVector 6(int) 3
               71:             TypeVector 8(float) 3
               80:      6(int) Constant 12
-              95:     19(int) Constant 3
+              95:     20(int) Constant 3
               99:             TypeVector 6(int) 4
              106:             TypePointer Input 6(int)
         107(pos):    106(ptr) Variable Input
@@ -409,22 +405,22 @@
 30(byteAddrTemp):     29(ptr) Variable Function
 53(byteAddrTemp):     29(ptr) Variable Function
 78(byteAddrTemp):     29(ptr) Variable Function
-              20:     19(int) ArrayLength 18(sbuf) 0
-                              Store 14(size) 20
+              19:      6(int) ArrayLength 18(sbuf) 0
+                              Store 14(size) 19
               22:      6(int) Load 11(pos)
-              24:     19(int) ShiftRightLogical 22 23
+              24:     20(int) ShiftRightLogical 22 23
               26:     25(ptr) AccessChain 18(sbuf) 21 24
               27:      6(int) Load 26
               28:    8(float) ConvertUToF 27
               31:      6(int) Load 11(pos)
               33:      6(int) IAdd 31 32
-              34:     19(int) ShiftRightLogical 33 23
+              34:     20(int) ShiftRightLogical 33 23
                               Store 30(byteAddrTemp) 34
-              35:     19(int) Load 30(byteAddrTemp)
+              35:     20(int) Load 30(byteAddrTemp)
               36:     25(ptr) AccessChain 18(sbuf) 21 35
               37:      6(int) Load 36
-              38:     19(int) Load 30(byteAddrTemp)
-              40:     19(int) IAdd 38 39
+              38:     20(int) Load 30(byteAddrTemp)
+              40:     20(int) IAdd 38 39
               41:     25(ptr) AccessChain 18(sbuf) 21 40
               42:      6(int) Load 41
               44:   43(ivec2) CompositeConstruct 37 42
@@ -436,17 +432,17 @@
               52:    9(fvec4) FAdd 51 50
               54:      6(int) Load 11(pos)
               56:      6(int) IAdd 54 55
-              57:     19(int) ShiftRightLogical 56 23
+              57:     20(int) ShiftRightLogical 56 23
                               Store 53(byteAddrTemp) 57
-              58:     19(int) Load 53(byteAddrTemp)
+              58:     20(int) Load 53(byteAddrTemp)
               59:     25(ptr) AccessChain 18(sbuf) 21 58
               60:      6(int) Load 59
-              61:     19(int) Load 53(byteAddrTemp)
-              62:     19(int) IAdd 61 39
+              61:     20(int) Load 53(byteAddrTemp)
+              62:     20(int) IAdd 61 39
               63:     25(ptr) AccessChain 18(sbuf) 21 62
               64:      6(int) Load 63
-              65:     19(int) Load 53(byteAddrTemp)
-              66:     19(int) IAdd 65 23
+              65:     20(int) Load 53(byteAddrTemp)
+              66:     20(int) IAdd 65 23
               67:     25(ptr) AccessChain 18(sbuf) 21 66
               68:      6(int) Load 67
               70:   69(ivec3) CompositeConstruct 60 64 68
@@ -458,21 +454,21 @@
               77:    9(fvec4) FAdd 52 76
               79:      6(int) Load 11(pos)
               81:      6(int) IAdd 79 80
-              82:     19(int) ShiftRightLogical 81 23
+              82:     20(int) ShiftRightLogical 81 23
                               Store 78(byteAddrTemp) 82
-              83:     19(int) Load 78(byteAddrTemp)
+              83:     20(int) Load 78(byteAddrTemp)
               84:     25(ptr) AccessChain 18(sbuf) 21 83
               85:      6(int) Load 84
-              86:     19(int) Load 78(byteAddrTemp)
-              87:     19(int) IAdd 86 39
+              86:     20(int) Load 78(byteAddrTemp)
+              87:     20(int) IAdd 86 39
               88:     25(ptr) AccessChain 18(sbuf) 21 87
               89:      6(int) Load 88
-              90:     19(int) Load 78(byteAddrTemp)
-              91:     19(int) IAdd 90 23
+              90:     20(int) Load 78(byteAddrTemp)
+              91:     20(int) IAdd 90 23
               92:     25(ptr) AccessChain 18(sbuf) 21 91
               93:      6(int) Load 92
-              94:     19(int) Load 78(byteAddrTemp)
-              96:     19(int) IAdd 94 95
+              94:     20(int) Load 78(byteAddrTemp)
+              96:     20(int) IAdd 94 95
               97:     25(ptr) AccessChain 18(sbuf) 21 96
               98:      6(int) Load 97
              100:   99(ivec4) CompositeConstruct 85 89 93 98
diff --git a/Test/baseResults/hlsl.structbuffer.coherent.frag.out b/Test/baseResults/hlsl.structbuffer.coherent.frag.out
index 1d11b64..738e13d 100644
--- a/Test/baseResults/hlsl.structbuffer.coherent.frag.out
+++ b/Test/baseResults/hlsl.structbuffer.coherent.frag.out
@@ -175,10 +175,6 @@
 0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
 0:?     'pos' (layout( location=0) flat in uint)
 
-error: SPIRV-Tools Validation Errors
-error: OpStore Pointer <id> '26[size]'s type does not match Object <id> '33's type.
-  OpStore %size %33
-
 // Module Version 10000
 // Generated by (magic number): 80007
 // Id's are bound by 78
@@ -276,7 +272,7 @@
               22:      6(int) IAdd 20 21
               25:     24(ptr) AccessChain 17(sbuf2) 19 22
                               Store 25 23
-              33:     18(int) ArrayLength 32(sbuf) 0
+              33:      6(int) ArrayLength 32(sbuf) 0
                               Store 26(size) 33
                               Store 34(stride) 35
               36:      6(int) Load 11(pos)
diff --git a/Test/baseResults/hlsl.structbuffer.frag.out b/Test/baseResults/hlsl.structbuffer.frag.out
index e058d11..af76bfb 100644
--- a/Test/baseResults/hlsl.structbuffer.frag.out
+++ b/Test/baseResults/hlsl.structbuffer.frag.out
@@ -187,10 +187,6 @@
 0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
 0:?     'pos' (layout( location=0) flat in uint)
 
-error: SPIRV-Tools Validation Errors
-error: OpStore Pointer <id> '43[size]'s type does not match Object <id> '44's type.
-  OpStore %size %44
-
 // Module Version 10000
 // Generated by (magic number): 80007
 // Id's are bound by 96
@@ -312,7 +308,7 @@
               41:    15(bool) INotEqual 39 35
               42:     37(ptr) AccessChain 18(mydata) 40
                               Store 42 41
-              44:     24(int) ArrayLength 23(sbuf) 0
+              44:      6(int) ArrayLength 23(sbuf) 0
                               Store 43(size) 44
                               Store 45(stride) 46
               47:      6(int) Load 11(pos)
diff --git a/Test/baseResults/hlsl.structbuffer.rw.frag.out b/Test/baseResults/hlsl.structbuffer.rw.frag.out
index 7fbd150..13a5956 100644
--- a/Test/baseResults/hlsl.structbuffer.rw.frag.out
+++ b/Test/baseResults/hlsl.structbuffer.rw.frag.out
@@ -175,10 +175,6 @@
 0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
 0:?     'pos' (layout( location=0) flat in uint)
 
-error: SPIRV-Tools Validation Errors
-error: OpStore Pointer <id> '26[size]'s type does not match Object <id> '33's type.
-  OpStore %size %33
-
 // Module Version 10000
 // Generated by (magic number): 80007
 // Id's are bound by 78
@@ -274,7 +270,7 @@
               22:      6(int) IAdd 20 21
               25:     24(ptr) AccessChain 17(sbuf2) 19 22
                               Store 25 23
-              33:     18(int) ArrayLength 32(sbuf) 0
+              33:      6(int) ArrayLength 32(sbuf) 0
                               Store 26(size) 33
                               Store 34(stride) 35
               36:      6(int) Load 11(pos)
diff --git a/Test/baseResults/hlsl.structbuffer.rwbyte.frag.out b/Test/baseResults/hlsl.structbuffer.rwbyte.frag.out
index ed27c89..690a0da 100644
--- a/Test/baseResults/hlsl.structbuffer.rwbyte.frag.out
+++ b/Test/baseResults/hlsl.structbuffer.rwbyte.frag.out
@@ -1003,10 +1003,6 @@
 0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
 0:?     'pos' (layout( location=0) flat in uint)
 
-error: SPIRV-Tools Validation Errors
-error: OpStore Pointer <id> '14[size]'s type does not match Object <id> '20's type.
-  OpStore %size %20
-
 // Module Version 10000
 // Generated by (magic number): 80007
 // Id's are bound by 239
@@ -1053,18 +1049,18 @@
         16(sbuf):             TypeStruct 15
               17:             TypePointer Uniform 16(sbuf)
         18(sbuf):     17(ptr) Variable Uniform
-              19:             TypeInt 32 1
-              21:             TypePointer Function 19(int)
-              24:     19(int) Constant 2
-              26:     19(int) Constant 0
+              20:             TypeInt 32 1
+              21:             TypePointer Function 20(int)
+              24:     20(int) Constant 2
+              26:     20(int) Constant 0
               30:             TypePointer Uniform 6(int)
-              45:     19(int) Constant 1
+              45:     20(int) Constant 1
               49:             TypeVector 6(int) 2
               51:      6(int) Constant 0
               66:      6(int) Constant 1
               87:             TypeVector 6(int) 3
              125:      6(int) Constant 2
-             147:     19(int) Constant 3
+             147:     20(int) Constant 3
              151:             TypeVector 6(int) 4
              219:      6(int) Constant 3
              231:             TypePointer Input 6(int)
@@ -1094,46 +1090,46 @@
 73(byteAddrTemp):     21(ptr) Variable Function
 128(byteAddrTemp):     21(ptr) Variable Function
 132(byteAddrTemp):     21(ptr) Variable Function
-              20:     19(int) ArrayLength 18(sbuf) 0
-                              Store 14(size) 20
+              19:      6(int) ArrayLength 18(sbuf) 0
+                              Store 14(size) 19
               23:      6(int) Load 11(pos)
-              25:     19(int) ShiftRightLogical 23 24
+              25:     20(int) ShiftRightLogical 23 24
                               Store 22(byteAddrTemp) 25
-              27:     19(int) Load 22(byteAddrTemp)
+              27:     20(int) Load 22(byteAddrTemp)
               28:      6(int) Load 11(pos)
-              29:     19(int) ShiftRightLogical 28 24
+              29:     20(int) ShiftRightLogical 28 24
               31:     30(ptr) AccessChain 18(sbuf) 26 29
               32:      6(int) Load 31
               33:     30(ptr) AccessChain 18(sbuf) 26 27
                               Store 33 32
               35:      6(int) Load 11(pos)
-              36:     19(int) ShiftRightLogical 35 24
+              36:     20(int) ShiftRightLogical 35 24
                               Store 34(byteAddrTemp) 36
-              37:     19(int) Load 34(byteAddrTemp)
+              37:     20(int) Load 34(byteAddrTemp)
               39:      6(int) Load 11(pos)
-              40:     19(int) ShiftRightLogical 39 24
+              40:     20(int) ShiftRightLogical 39 24
                               Store 38(byteAddrTemp) 40
-              41:     19(int) Load 38(byteAddrTemp)
+              41:     20(int) Load 38(byteAddrTemp)
               42:     30(ptr) AccessChain 18(sbuf) 26 41
               43:      6(int) Load 42
-              44:     19(int) Load 38(byteAddrTemp)
-              46:     19(int) IAdd 44 45
+              44:     20(int) Load 38(byteAddrTemp)
+              46:     20(int) IAdd 44 45
               47:     30(ptr) AccessChain 18(sbuf) 26 46
               48:      6(int) Load 47
               50:   49(ivec2) CompositeConstruct 43 48
               52:      6(int) CompositeExtract 50 0
               53:     30(ptr) AccessChain 18(sbuf) 26 37
                               Store 53 52
-              54:     19(int) Load 34(byteAddrTemp)
-              55:     19(int) IAdd 54 45
+              54:     20(int) Load 34(byteAddrTemp)
+              55:     20(int) IAdd 54 45
               56:      6(int) Load 11(pos)
-              57:     19(int) ShiftRightLogical 56 24
+              57:     20(int) ShiftRightLogical 56 24
                               Store 38(byteAddrTemp) 57
-              58:     19(int) Load 38(byteAddrTemp)
+              58:     20(int) Load 38(byteAddrTemp)
               59:     30(ptr) AccessChain 18(sbuf) 26 58
               60:      6(int) Load 59
-              61:     19(int) Load 38(byteAddrTemp)
-              62:     19(int) IAdd 61 45
+              61:     20(int) Load 38(byteAddrTemp)
+              62:     20(int) IAdd 61 45
               63:     30(ptr) AccessChain 18(sbuf) 26 62
               64:      6(int) Load 63
               65:   49(ivec2) CompositeConstruct 60 64
@@ -1141,61 +1137,61 @@
               68:     30(ptr) AccessChain 18(sbuf) 26 55
                               Store 68 67
               70:      6(int) Load 11(pos)
-              71:     19(int) ShiftRightLogical 70 24
+              71:     20(int) ShiftRightLogical 70 24
                               Store 69(byteAddrTemp) 71
-              72:     19(int) Load 69(byteAddrTemp)
+              72:     20(int) Load 69(byteAddrTemp)
               74:      6(int) Load 11(pos)
-              75:     19(int) ShiftRightLogical 74 24
+              75:     20(int) ShiftRightLogical 74 24
                               Store 73(byteAddrTemp) 75
-              76:     19(int) Load 73(byteAddrTemp)
+              76:     20(int) Load 73(byteAddrTemp)
               77:     30(ptr) AccessChain 18(sbuf) 26 76
               78:      6(int) Load 77
-              79:     19(int) Load 73(byteAddrTemp)
-              80:     19(int) IAdd 79 45
+              79:     20(int) Load 73(byteAddrTemp)
+              80:     20(int) IAdd 79 45
               81:     30(ptr) AccessChain 18(sbuf) 26 80
               82:      6(int) Load 81
-              83:     19(int) Load 73(byteAddrTemp)
-              84:     19(int) IAdd 83 24
+              83:     20(int) Load 73(byteAddrTemp)
+              84:     20(int) IAdd 83 24
               85:     30(ptr) AccessChain 18(sbuf) 26 84
               86:      6(int) Load 85
               88:   87(ivec3) CompositeConstruct 78 82 86
               89:      6(int) CompositeExtract 88 0
               90:     30(ptr) AccessChain 18(sbuf) 26 72
                               Store 90 89
-              91:     19(int) Load 69(byteAddrTemp)
-              92:     19(int) IAdd 91 45
+              91:     20(int) Load 69(byteAddrTemp)
+              92:     20(int) IAdd 91 45
               93:      6(int) Load 11(pos)
-              94:     19(int) ShiftRightLogical 93 24
+              94:     20(int) ShiftRightLogical 93 24
                               Store 73(byteAddrTemp) 94
-              95:     19(int) Load 73(byteAddrTemp)
+              95:     20(int) Load 73(byteAddrTemp)
               96:     30(ptr) AccessChain 18(sbuf) 26 95
               97:      6(int) Load 96
-              98:     19(int) Load 73(byteAddrTemp)
-              99:     19(int) IAdd 98 45
+              98:     20(int) Load 73(byteAddrTemp)
+              99:     20(int) IAdd 98 45
              100:     30(ptr) AccessChain 18(sbuf) 26 99
              101:      6(int) Load 100
-             102:     19(int) Load 73(byteAddrTemp)
-             103:     19(int) IAdd 102 24
+             102:     20(int) Load 73(byteAddrTemp)
+             103:     20(int) IAdd 102 24
              104:     30(ptr) AccessChain 18(sbuf) 26 103
              105:      6(int) Load 104
              106:   87(ivec3) CompositeConstruct 97 101 105
              107:      6(int) CompositeExtract 106 1
              108:     30(ptr) AccessChain 18(sbuf) 26 92
                               Store 108 107
-             109:     19(int) Load 69(byteAddrTemp)
-             110:     19(int) IAdd 109 24
+             109:     20(int) Load 69(byteAddrTemp)
+             110:     20(int) IAdd 109 24
              111:      6(int) Load 11(pos)
-             112:     19(int) ShiftRightLogical 111 24
+             112:     20(int) ShiftRightLogical 111 24
                               Store 73(byteAddrTemp) 112
-             113:     19(int) Load 73(byteAddrTemp)
+             113:     20(int) Load 73(byteAddrTemp)
              114:     30(ptr) AccessChain 18(sbuf) 26 113
              115:      6(int) Load 114
-             116:     19(int) Load 73(byteAddrTemp)
-             117:     19(int) IAdd 116 45
+             116:     20(int) Load 73(byteAddrTemp)
+             117:     20(int) IAdd 116 45
              118:     30(ptr) AccessChain 18(sbuf) 26 117
              119:      6(int) Load 118
-             120:     19(int) Load 73(byteAddrTemp)
-             121:     19(int) IAdd 120 24
+             120:     20(int) Load 73(byteAddrTemp)
+             121:     20(int) IAdd 120 24
              122:     30(ptr) AccessChain 18(sbuf) 26 121
              123:      6(int) Load 122
              124:   87(ivec3) CompositeConstruct 115 119 123
@@ -1203,97 +1199,97 @@
              127:     30(ptr) AccessChain 18(sbuf) 26 110
                               Store 127 126
              129:      6(int) Load 11(pos)
-             130:     19(int) ShiftRightLogical 129 24
+             130:     20(int) ShiftRightLogical 129 24
                               Store 128(byteAddrTemp) 130
-             131:     19(int) Load 128(byteAddrTemp)
+             131:     20(int) Load 128(byteAddrTemp)
              133:      6(int) Load 11(pos)
-             134:     19(int) ShiftRightLogical 133 24
+             134:     20(int) ShiftRightLogical 133 24
                               Store 132(byteAddrTemp) 134
-             135:     19(int) Load 132(byteAddrTemp)
+             135:     20(int) Load 132(byteAddrTemp)
              136:     30(ptr) AccessChain 18(sbuf) 26 135
              137:      6(int) Load 136
-             138:     19(int) Load 132(byteAddrTemp)
-             139:     19(int) IAdd 138 45
+             138:     20(int) Load 132(byteAddrTemp)
+             139:     20(int) IAdd 138 45
              140:     30(ptr) AccessChain 18(sbuf) 26 139
              141:      6(int) Load 140
-             142:     19(int) Load 132(byteAddrTemp)
-             143:     19(int) IAdd 142 24
+             142:     20(int) Load 132(byteAddrTemp)
+             143:     20(int) IAdd 142 24
              144:     30(ptr) AccessChain 18(sbuf) 26 143
              145:      6(int) Load 144
-             146:     19(int) Load 132(byteAddrTemp)
-             148:     19(int) IAdd 146 147
+             146:     20(int) Load 132(byteAddrTemp)
+             148:     20(int) IAdd 146 147
              149:     30(ptr) AccessChain 18(sbuf) 26 148
              150:      6(int) Load 149
              152:  151(ivec4) CompositeConstruct 137 141 145 150
              153:      6(int) CompositeExtract 152 0
              154:     30(ptr) AccessChain 18(sbuf) 26 131
                               Store 154 153
-             155:     19(int) Load 128(byteAddrTemp)
-             156:     19(int) IAdd 155 45
+             155:     20(int) Load 128(byteAddrTemp)
+             156:     20(int) IAdd 155 45
              157:      6(int) Load 11(pos)
-             158:     19(int) ShiftRightLogical 157 24
+             158:     20(int) ShiftRightLogical 157 24
                               Store 132(byteAddrTemp) 158
-             159:     19(int) Load 132(byteAddrTemp)
+             159:     20(int) Load 132(byteAddrTemp)
              160:     30(ptr) AccessChain 18(sbuf) 26 159
              161:      6(int) Load 160
-             162:     19(int) Load 132(byteAddrTemp)
-             163:     19(int) IAdd 162 45
+             162:     20(int) Load 132(byteAddrTemp)
+             163:     20(int) IAdd 162 45
              164:     30(ptr) AccessChain 18(sbuf) 26 163
              165:      6(int) Load 164
-             166:     19(int) Load 132(byteAddrTemp)
-             167:     19(int) IAdd 166 24
+             166:     20(int) Load 132(byteAddrTemp)
+             167:     20(int) IAdd 166 24
              168:     30(ptr) AccessChain 18(sbuf) 26 167
              169:      6(int) Load 168
-             170:     19(int) Load 132(byteAddrTemp)
-             171:     19(int) IAdd 170 147
+             170:     20(int) Load 132(byteAddrTemp)
+             171:     20(int) IAdd 170 147
              172:     30(ptr) AccessChain 18(sbuf) 26 171
              173:      6(int) Load 172
              174:  151(ivec4) CompositeConstruct 161 165 169 173
              175:      6(int) CompositeExtract 174 1
              176:     30(ptr) AccessChain 18(sbuf) 26 156
                               Store 176 175
-             177:     19(int) Load 128(byteAddrTemp)
-             178:     19(int) IAdd 177 24
+             177:     20(int) Load 128(byteAddrTemp)
+             178:     20(int) IAdd 177 24
              179:      6(int) Load 11(pos)
-             180:     19(int) ShiftRightLogical 179 24
+             180:     20(int) ShiftRightLogical 179 24
                               Store 132(byteAddrTemp) 180
-             181:     19(int) Load 132(byteAddrTemp)
+             181:     20(int) Load 132(byteAddrTemp)
              182:     30(ptr) AccessChain 18(sbuf) 26 181
              183:      6(int) Load 182
-             184:     19(int) Load 132(byteAddrTemp)
-             185:     19(int) IAdd 184 45
+             184:     20(int) Load 132(byteAddrTemp)
+             185:     20(int) IAdd 184 45
              186:     30(ptr) AccessChain 18(sbuf) 26 185
              187:      6(int) Load 186
-             188:     19(int) Load 132(byteAddrTemp)
-             189:     19(int) IAdd 188 24
+             188:     20(int) Load 132(byteAddrTemp)
+             189:     20(int) IAdd 188 24
              190:     30(ptr) AccessChain 18(sbuf) 26 189
              191:      6(int) Load 190
-             192:     19(int) Load 132(byteAddrTemp)
-             193:     19(int) IAdd 192 147
+             192:     20(int) Load 132(byteAddrTemp)
+             193:     20(int) IAdd 192 147
              194:     30(ptr) AccessChain 18(sbuf) 26 193
              195:      6(int) Load 194
              196:  151(ivec4) CompositeConstruct 183 187 191 195
              197:      6(int) CompositeExtract 196 2
              198:     30(ptr) AccessChain 18(sbuf) 26 178
                               Store 198 197
-             199:     19(int) Load 128(byteAddrTemp)
-             200:     19(int) IAdd 199 147
+             199:     20(int) Load 128(byteAddrTemp)
+             200:     20(int) IAdd 199 147
              201:      6(int) Load 11(pos)
-             202:     19(int) ShiftRightLogical 201 24
+             202:     20(int) ShiftRightLogical 201 24
                               Store 132(byteAddrTemp) 202
-             203:     19(int) Load 132(byteAddrTemp)
+             203:     20(int) Load 132(byteAddrTemp)
              204:     30(ptr) AccessChain 18(sbuf) 26 203
              205:      6(int) Load 204
-             206:     19(int) Load 132(byteAddrTemp)
-             207:     19(int) IAdd 206 45
+             206:     20(int) Load 132(byteAddrTemp)
+             207:     20(int) IAdd 206 45
              208:     30(ptr) AccessChain 18(sbuf) 26 207
              209:      6(int) Load 208
-             210:     19(int) Load 132(byteAddrTemp)
-             211:     19(int) IAdd 210 24
+             210:     20(int) Load 132(byteAddrTemp)
+             211:     20(int) IAdd 210 24
              212:     30(ptr) AccessChain 18(sbuf) 26 211
              213:      6(int) Load 212
-             214:     19(int) Load 132(byteAddrTemp)
-             215:     19(int) IAdd 214 147
+             214:     20(int) Load 132(byteAddrTemp)
+             215:     20(int) IAdd 214 147
              216:     30(ptr) AccessChain 18(sbuf) 26 215
              217:      6(int) Load 216
              218:  151(ivec4) CompositeConstruct 205 209 213 217
@@ -1301,7 +1297,7 @@
              221:     30(ptr) AccessChain 18(sbuf) 26 200
                               Store 221 220
              222:      6(int) Load 11(pos)
-             223:     19(int) ShiftRightLogical 222 24
+             223:     20(int) ShiftRightLogical 222 24
              224:     30(ptr) AccessChain 18(sbuf) 26 223
              225:      6(int) Load 224
              226:    8(float) ConvertUToF 225
diff --git a/Test/baseResults/spv.310.comp.out b/Test/baseResults/spv.310.comp.out
index fd1309d..f4eaa20 100644
--- a/Test/baseResults/spv.310.comp.out
+++ b/Test/baseResults/spv.310.comp.out
@@ -1,14 +1,14 @@
 spv.310.comp
 // Module Version 10000
 // Generated by (magic number): 80007
-// Id's are bound by 71
+// Id's are bound by 72
 
                               Capability Shader
                               Capability DeviceGroup
                               Extension  "SPV_KHR_device_group"
                1:             ExtInstImport  "GLSL.std.450"
                               MemoryModel Logical GLSL450
-                              EntryPoint GLCompute 4  "main" 53 64
+                              EntryPoint GLCompute 4  "main" 53 65
                               ExecutionMode 4 LocalSize 16 32 4
                               Source ESSL 310
                               SourceExtension  "GL_EXT_device_group"
@@ -30,7 +30,7 @@
                               MemberName 48(outs) 1  "va"
                               Name 50  "outnames"
                               Name 53  "gl_LocalInvocationID"
-                              Name 64  "gl_DeviceIndex"
+                              Name 65  "gl_DeviceIndex"
                               Decorate 11 ArrayStride 16
                               MemberDecorate 12(outb) 0 Offset 0
                               MemberDecorate 12(outb) 1 Offset 4
@@ -48,8 +48,8 @@
                               Decorate 48(outs) BufferBlock
                               Decorate 50(outnames) DescriptorSet 0
                               Decorate 53(gl_LocalInvocationID) BuiltIn LocalInvocationId
-                              Decorate 64(gl_DeviceIndex) BuiltIn DeviceIndex
-                              Decorate 70 BuiltIn WorkgroupSize
+                              Decorate 65(gl_DeviceIndex) BuiltIn DeviceIndex
+                              Decorate 71 BuiltIn WorkgroupSize
                2:             TypeVoid
                3:             TypeFunction 2
                6:             TypeInt 32 0
@@ -89,15 +89,15 @@
               52:             TypePointer Input 51(ivec3)
 53(gl_LocalInvocationID):     52(ptr) Variable Input
               54:             TypePointer Input 6(int)
-              61:             TypePointer Uniform 15(int)
-              63:             TypePointer Input 15(int)
-64(gl_DeviceIndex):     63(ptr) Variable Input
-              65:      6(int) Constant 1
-              66:      6(int) Constant 3400
-              67:      6(int) Constant 16
-              68:      6(int) Constant 32
-              69:      6(int) Constant 4
-              70:   51(ivec3) ConstantComposite 67 68 69
+              62:             TypePointer Uniform 15(int)
+              64:             TypePointer Input 15(int)
+65(gl_DeviceIndex):     64(ptr) Variable Input
+              66:      6(int) Constant 1
+              67:      6(int) Constant 3400
+              68:      6(int) Constant 16
+              69:      6(int) Constant 32
+              70:      6(int) Constant 4
+              71:   51(ivec3) ConstantComposite 68 69 70
          4(main):           2 Function None 3
                5:             Label
                               ControlBarrier 7 7 8
@@ -124,10 +124,11 @@
               58:   22(fvec4) CompositeConstruct 57 57 57 57
               59:     29(ptr) AccessChain 50(outnames) 26 56
                               Store 59 58
-              60:     15(int) ArrayLength 14(outbname) 3
-              62:     61(ptr) AccessChain 50(outnames) 16
-                              Store 62 60
-                              MemoryBarrier 65 8
-                              MemoryBarrier 7 66
+              60:      6(int) ArrayLength 14(outbname) 3
+              61:     15(int) Bitcast 60
+              63:     62(ptr) AccessChain 50(outnames) 16
+                              Store 63 61
+                              MemoryBarrier 66 8
+                              MemoryBarrier 7 67
                               Return
                               FunctionEnd
diff --git a/glslang/Include/revision.h b/glslang/Include/revision.h
index eafb8f6..e0c42c8 100644
--- a/glslang/Include/revision.h
+++ b/glslang/Include/revision.h
@@ -1,3 +1,3 @@
 // This header is generated by the make-revision script.
 
-#define GLSLANG_PATCH_LEVEL 3006
+#define GLSLANG_PATCH_LEVEL 3009
diff --git a/ndk_test/Android.mk b/ndk_test/Android.mk
new file mode 100644
index 0000000..bcf82dd
--- /dev/null
+++ b/ndk_test/Android.mk
@@ -0,0 +1,12 @@
+LOCAL_PATH:= $(call my-dir)
+
+include $(CLEAR_VARS)
+LOCAL_CPP_EXTENSION := .cc .cpp .cxx
+LOCAL_SRC_FILES:=test.cpp
+LOCAL_MODULE:=glslang_ndk_test
+LOCAL_LDLIBS:=-landroid
+LOCAL_CXXFLAGS:=-std=c++11 -fno-exceptions -fno-rtti -Werror
+LOCAL_STATIC_LIBRARIES:=glslang SPIRV HLSL
+include $(BUILD_SHARED_LIBRARY)
+
+include $(LOCAL_PATH)/../Android.mk
diff --git a/ndk_test/jni/Application.mk b/ndk_test/jni/Application.mk
new file mode 100644
index 0000000..d7ccd34
--- /dev/null
+++ b/ndk_test/jni/Application.mk
@@ -0,0 +1,5 @@
+APP_ABI := all
+APP_BUILD_SCRIPT := Android.mk
+APP_STL := gnustl_static
+APP_PLATFORM := android-9
+NDK_TOOLCHAIN_VERSION := 4.9
diff --git a/ndk_test/test.cpp b/ndk_test/test.cpp
new file mode 100644
index 0000000..dec53d0
--- /dev/null
+++ b/ndk_test/test.cpp
@@ -0,0 +1,19 @@
+// Copyright 2018 Google LLC.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+#include "SPIRV/GlslangToSpv.h"
+
+void android_main(struct android_app* state) {
+  int version = glslang::GetSpirvGeneratorVersion();
+}
