Allow single-component constructors

This causes the following tests to pass:

    glslparsertest/shaders/CorrectVersion.V110.frag
    shaders/glsl-vs-sqrt-zero.frag
    shaders/glsl-vs-sqrt-zero.vert

This causes the following tests to fail.  These shaders were
previously failing to compile, but they were all failing for the wrong
reasons.

    glslparsertest/shaders/attribute1.vert
    glslparsertest/shaders/attribute2.vert
    glslparsertest/shaders/main2.vert
diff --git a/ast_function.cpp b/ast_function.cpp
index 6470057..36bf0c9 100644
--- a/ast_function.cpp
+++ b/ast_function.cpp
@@ -327,7 +327,7 @@
 	  *    arguments to provide an initializer for every component in the
 	  *    constructed value."
 	  */
-	 if (components_used < type_components) {
+	 if ((components_used < type_components) && (components_used != 1)) {
 	    _mesa_glsl_error(& loc, state, "too few components to construct "
 			     "`%s'",
 			     constructor_type->name);