// Lookup namespace name.
LookupResult R = LookupParsedName(S, &SS, NamespcName,
LookupNamespaceName, false);
+ // FIXME: Can the result of a namespace lookup ever be ambiguous?
if (R.isAmbiguous()) {
DiagnoseAmbiguousLookup(R, NamespcName, IdentLoc);
return 0;
return 0;
}
+ // Lookup the namespace name.
+ LookupResult R = LookupParsedName(S, &SS, NamespaceName,
+ LookupNamespaceName, false);
+ // FIXME: Can the result of a namespace lookup ever be ambiguous?
+ if (R.isAmbiguous()) {
+ DiagnoseAmbiguousLookup(R, NamespaceName, NamespaceLoc);
+ return 0;
+ }
+
+ if (!R) {
+ Diag(NamespaceLoc, diag::err_expected_namespace_name) << SS.getRange();
+ return 0;
+ }
+
return 0;
}
namespace C { } // expected-note {{previous definition is here}}
namespace C = N; // expected-error {{redefinition of 'C'}}
+
+int i;
+namespace D = i; // expected-error {{expected namespace name}}
+
+namespace E = N::Foo; // expected-error {{expected namespace name}}