Fix crash by returning early from finalCheck() if there is no tree to process.
diff --git a/glslang/Include/revision.h b/glslang/Include/revision.h
index 21df38d..66fec1a 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.1663"
+#define GLSLANG_REVISION "Overload400-PrecQual.1664"
 #define GLSLANG_DATE "27-Nov-2016"
diff --git a/glslang/MachineIndependent/linkValidate.cpp b/glslang/MachineIndependent/linkValidate.cpp
index bc473ab..050fdae 100644
--- a/glslang/MachineIndependent/linkValidate.cpp
+++ b/glslang/MachineIndependent/linkValidate.cpp
@@ -377,6 +377,9 @@
 //
 void TIntermediate::finalCheck(TInfoSink& infoSink)
 {
+    if (getTreeRoot() == nullptr)
+        return;
+
     if (numEntryPoints < 1) {
         if (source == EShSourceGlsl)
             error(infoSink, "Missing entry point: Each stage requires one entry point");