Bug 545756 - Fix aggregate init from string literal

Fix nested type for typedefs

Change-Id: Ie8ff31c9db9f3112487760640885066ea8cb0fd3
Signed-off-by: Hannes Vogt <hannes@havogt.de>
diff --git a/core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/core/parser/tests/ast2/AST2CPPTests.java b/core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/core/parser/tests/ast2/AST2CPPTests.java
index 44a914d..58f292d 100644
--- a/core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/core/parser/tests/ast2/AST2CPPTests.java
+++ b/core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/core/parser/tests/ast2/AST2CPPTests.java
@@ -13044,8 +13044,9 @@
 		bh.assertImplicitName("b{v};", 1, IProblemBinding.class);
 	}
 
+	//  using my_char = char;
 	//	struct type {
-	//	    char data[2];
+	//	    my_char data[2];
 	//	};
 	//
 	//	type foo{"s"};
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/AggregateInitialization.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/AggregateInitialization.java
index fb1190e..9397d19 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/AggregateInitialization.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/AggregateInitialization.java
@@ -215,7 +215,8 @@
 	 */
 	private static ICPPBasicType getBasicTypeFromArray(IType type) {
 		if (type instanceof IArrayType) {
-			IType nested = SemanticUtil.getNestedType(((IArrayType) type).getType(), SemanticUtil.ALLCVQ);
+			IType nested = SemanticUtil.getNestedType(((IArrayType) type).getType(),
+					SemanticUtil.ALLCVQ | SemanticUtil.TDEF);
 			if (nested instanceof ICPPBasicType) {
 				return (ICPPBasicType) nested;
 			}