glEnableVertexAttribArray takes am attribute location value which you get with glGetAttribLocation. however, glGetAttribLocation returns a SIGNED integer, and
glEnableVertexAttribArray takes an UNsigned integer, as shown by ths following links (and this is how it is implemented in glew):
GLint glGetAttribLocation(GLuint program, const GLchar * name);
void glEnableVertexAttribArray(GLuint index);
http://www.opengl.org/sdk/docs/man/xhtml/glEnableVertexAttribArray.xml
http://www.opengl.org/sdk/docs/man/xhtml/glGetAttribLocation.xml
so I ask... "wtf?"
am I overlooking something important?