Hello.
In the generated AST for the following program fragment:
/*==========================*/
namespace N {
struct S {};
}
N::S s1;
struct N::S s2;
/*==========================*/
the global variable 's1' has QualifiedNameType (as expected).
In contrast, the global variable 's2' has ElaboratedType (good, so far) that contains a plain CXXRecordType (bad, the NNS qualification is missing).
The attached simple patch fixes this problem by making sure that the ElaboratedType will contain a QualifiedNameType. The patch also changes the expected output of a single test, since the generated diagnostic now contains a NNS qualification.
Cheers,
Enea Zaffanella.
Elaborated_Qualified.patch (1.08 KB)