build: patch glslang to fix g++ 5.3 compilation issue

Add GLSLANG_REVISION-sensitive step to update_external_sources
to patch glslang to allow compilation on Ubuntu 16.10,
Arch Linux and other platforms using g++ 5.3.

This patch won't happen if the GLSLANG_REVISION is changed.

Change-Id: I84a501cb44ee527f45f499d89b2745683e0c8e70
diff --git a/update_external_sources.bat b/update_external_sources.bat
index b9ff00d..b72d7bc 100644
--- a/update_external_sources.bat
+++ b/update_external_sources.bat
@@ -215,6 +215,13 @@
    cd %GLSLANG_DIR%
    git fetch --all
    git checkout %GLSLANG_REVISION%
+   REM Special case for this particular revision:
+   REM Pull in a patch that fixes a compilation issue with g++ 5.3
+   REM See https://github.com/KhronosGroup/Vulkan-LoaderAndValidationLayers/issues/681
+   if "%GLSLANG_REVISION%" == "4678ca9dacfec7a084dbc69bbe568bdad6889f1b" (
+      git checkout %GLSLANG_REVISION% -B temp1610
+      git cherry-pick 880bf36cacee1cfce7d5d94991eb18c9e2d59d39
+   )
 goto:eof
 
 :create_spirv-tools
diff --git a/update_external_sources.sh b/update_external_sources.sh
index a124e58..43992e2 100755
--- a/update_external_sources.sh
+++ b/update_external_sources.sh
@@ -25,6 +25,14 @@
    cd $BASEDIR/glslang
    git fetch --all
    git checkout $GLSLANG_REVISION
+   # Special case for this particular revision:
+   # Pull in a patch that fixes a compilation issue with g++ 5.3
+   # See https://github.com/KhronosGroup/Vulkan-LoaderAndValidationLayers/issues/681
+   if [ $GLSLANG_REVISION == "4678ca9dacfec7a084dbc69bbe568bdad6889f1b" ] ;
+   then
+      git checkout $GLSLANG_REVISION -B temp1610
+      git cherry-pick 880bf36cacee1cfce7d5d94991eb18c9e2d59d39
+   fi
 }
 
 function create_spirv-tools () {