Index: src/Parser/parser.yy
===================================================================
--- src/Parser/parser.yy	(revision 1033f5dfc56a03ea95edeba1eba5aefef291dd4c)
+++ src/Parser/parser.yy	(revision bd3d9e4d6ffc552342d75fd5b1140060ee0ca193)
@@ -10,6 +10,6 @@
 // Created On       : Sat Sep  1 20:22:55 2001
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Sat Sep 23 17:43:15 2017
-// Update Count     : 2829
+// Last Modified On : Mon Oct  2 18:18:55 2017
+// Update Count     : 2835
 //
 
@@ -456,10 +456,4 @@
 	| '(' compound_statement ')'						// GCC, lambda expression
 		{ $$ = new ExpressionNode( new StmtExpr( dynamic_cast< CompoundStmt * >(maybeMoveBuild< Statement >($2) ) ) ); }
-	| primary_expression '{' argument_expression_list '}' // CFA, constructor call
-		{
-			Token fn;
-			fn.str = new std::string( "?{}" );			// location undefined - use location of '{'?
-			$$ = new ExpressionNode( new ConstructorExpr( build_func( new ExpressionNode( build_varref( fn ) ), (ExpressionNode *)( $1 )->set_last( $3 ) ) ) );
-		}
 	| type_name '.' no_attr_identifier					// CFA, nested type
 		{ $$ = nullptr; }								// FIX ME
@@ -476,4 +470,10 @@
 		// equivalent to the old x[i,j].
 		{ $$ = new ExpressionNode( build_binary_val( OperKinds::Index, $1, $4 ) ); }
+	| postfix_expression '{' argument_expression_list '}' // CFA, constructor call
+		{
+			Token fn;
+			fn.str = new std::string( "?{}" );			// location undefined - use location of '{'?
+			$$ = new ExpressionNode( new ConstructorExpr( build_func( new ExpressionNode( build_varref( fn ) ), (ExpressionNode *)( $1 )->set_last( $3 ) ) ) );
+		}
 	| postfix_expression '(' argument_expression_list ')'
 		{ $$ = new ExpressionNode( build_func( $1, $3 ) ); }
