Use unordered_map instead of hash_map on GCC
stdext namespace is a non-standard extension. Use standard std::unordered_map on GCC.
Issue=358
Signed-of-by: Daniel Koch
git-svn-id: https://angleproject.googlecode.com/svn/trunk@1260 736b8ea6-26fd-11df-bfd4-992fa37f6226
diff --git a/src/libGLESv2/ResourceManager.h b/src/libGLESv2/ResourceManager.h
index 5185fc9..ae4f1b0 100644
--- a/src/libGLESv2/ResourceManager.h
+++ b/src/libGLESv2/ResourceManager.h
@@ -13,7 +13,11 @@
#define GL_APICALL
#include <GLES2/gl2.h>
+#ifdef _MSC_VER
#include <hash_map>
+#else
+#include <unordered_map>
+#endif
#include "common/angleutils.h"
#include "libGLESv2/HandleAllocator.h"
@@ -79,22 +83,30 @@
std::size_t mRefCount;
- typedef stdext::hash_map<GLuint, Buffer*> BufferMap;
+#ifndef HASH_MAP
+# ifdef _MSC_VER
+# define HASH_MAP stdext::hash_map
+# else
+# define HASH_MAP std::unordered_map
+# endif
+#endif
+
+ typedef HASH_MAP<GLuint, Buffer*> BufferMap;
BufferMap mBufferMap;
HandleAllocator mBufferHandleAllocator;
- typedef stdext::hash_map<GLuint, Shader*> ShaderMap;
+ typedef HASH_MAP<GLuint, Shader*> ShaderMap;
ShaderMap mShaderMap;
- typedef stdext::hash_map<GLuint, Program*> ProgramMap;
+ typedef HASH_MAP<GLuint, Program*> ProgramMap;
ProgramMap mProgramMap;
HandleAllocator mProgramShaderHandleAllocator;
- typedef stdext::hash_map<GLuint, Texture*> TextureMap;
+ typedef HASH_MAP<GLuint, Texture*> TextureMap;
TextureMap mTextureMap;
HandleAllocator mTextureHandleAllocator;
- typedef stdext::hash_map<GLuint, Renderbuffer*> RenderbufferMap;
+ typedef HASH_MAP<GLuint, Renderbuffer*> RenderbufferMap;
RenderbufferMap mRenderbufferMap;
HandleAllocator mRenderbufferHandleAllocator;
};