diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..edc55b9fd57cfff3d0aec90938f61b7e01397d64
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,5 @@
+*.o
+*.a
+*.so
+*.exe
+tags
diff --git a/glslang/Include/revision.h b/glslang/Include/revision.h
index 828d5769bfe58bc4e7701a43d351363cda27fd52..457b857e7d7d6707c0f2ae42ac320ee481a14d7e 100644
--- a/glslang/Include/revision.h
+++ b/glslang/Include/revision.h
@@ -9,5 +9,5 @@
 // source have to figure out how to create revision.h just to get a build
 // going.  However, if it is not updated, it can be a version behind.
 
-#define GLSLANG_REVISION "24675"
-#define GLSLANG_DATE     "2014/01/07 11:14:48"
+#define GLSLANG_REVISION "24692"
+#define GLSLANG_DATE     "2014/01/08 16:25:18"
diff --git a/glslang/MachineIndependent/Makefile b/glslang/MachineIndependent/Makefile
index ac7f356b713416e7195b4b315db67f3a9d4f752a..a50350699fd35b1d170d530031e14285b7aeba86 100644
--- a/glslang/MachineIndependent/Makefile
+++ b/glslang/MachineIndependent/Makefile
@@ -36,6 +36,7 @@ gen_glslang_tab.cpp glslang_tab.h: glslang.y
 	@echo Generating gen_glslang_tab.cpp
 	@dos2unix glslang.y
 	bison -t -v -d glslang.y
+	@unix2dos glslang.y
 	mv glslang.tab.c gen_glslang_tab.cpp
 	mv glslang.tab.h glslang_tab.cpp.h
 
@@ -63,7 +64,7 @@ depend:
 #
 # Cleanup
 #
-.PHONY : clean
+.PHONY : clean $(LIBPREPROCESSOR) $(LIBCODEGEN) $(LIBOSDEPENDENT) $(LIBINITIALISATION)
 clean :
 	$(RM) *.o *.a gen_glslang_tab.cpp glslang_tab.cpp glslang_tab.cpp.h glslang_tab.h glslang.output
 	$(RM) ./lib/*.so
diff --git a/glslang/OSDependent/Linux/osinclude.h b/glslang/OSDependent/Linux/osinclude.h
index 6fc8fc3cd8f91a51d2c5f1d7177a764b2762ce08..e351e8b9f25d28c6f4d838fb57cdebac3a4eb60b 100644
--- a/glslang/OSDependent/Linux/osinclude.h
+++ b/glslang/OSDependent/Linux/osinclude.h
@@ -53,8 +53,8 @@ void DetachThreadLinux(void *);
 //
 // Thread Local Storage Operations
 //
-typedef unsigned int OS_TLSIndex;
-#define OS_INVALID_TLS_INDEX 0xFFFFFFFF
+typedef pthread_key_t OS_TLSIndex;
+#define OS_INVALID_TLS_INDEX ((pthread_key_t)0xFFFFFFFF)
 
 OS_TLSIndex OS_AllocTLSIndex();
 bool        OS_SetTLSValue(OS_TLSIndex nIndex, void *lpvValue);
diff --git a/glslang/Public/ShaderLang.h b/glslang/Public/ShaderLang.h
index d4526141af865a9c6e9831f94dc8e9f9d456670a..5abdbd5cafcdcf1d475db6c455d1e3d22192b6c2 100644
--- a/glslang/Public/ShaderLang.h
+++ b/glslang/Public/ShaderLang.h
@@ -46,7 +46,9 @@
 #define SH_IMPORT_EXPORT
 #else
 #define SH_IMPORT_EXPORT
+#ifndef __fastcall
 #define __fastcall
+#endif
 #define C_DECL
 #endif