[cfe-dev] retrieving anonymous struct decl name (original) (raw)
John Leidel via cfe-dev cfe-dev at lists.llvm.org
Sun Dec 20 19:11:43 PST 2020
- Previous message: [cfe-dev] Can clang generate COFF files on Linux host?
- Next message: [cfe-dev] retrieving anonymous struct decl name
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
I'm still working on the same issue associated with translating anonymous struct decl's to non-anonymous structs. With the same original example, I have the TagDecl for the nested struct definition. Is there a way to retrieve the declaration name "first" from the TagDecl?
typedef struct test_case_t { struct { int value; } first[1]; int second; int third[1]; } test_case_t;
As an example below, I grab the RecordDecl for the top-level struct, then traverse each member using the decl_iterator. I have other code to examine each FieldDecl, but I'm specifically interested in the following. If I can dyn_cast to a TagDecl, then I'm looking at the struct declaration. I'm trying to retrieve the anonymous DeclarationName and use it to reset the declaration of the nested struct and its variable definition. Thoughts?
for(RecordDecl::decl_iterator iter = RD->decls_begin(), end = RD->decls_end(); iter != end; ++iter) { if(TagDecl *TD = dyn_cast(*iter)){ if(TD->isThisDeclarationADefinition()){ // This sets the struct definition and instance name to test_case_t // how do I retrieve "first"? // this should induce struct first { }; struct first first[1]; TD->setDeclName( ??? ); } } }
- Previous message: [cfe-dev] Can clang generate COFF files on Linux host?
- Next message: [cfe-dev] retrieving anonymous struct decl name
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]