Hi to all,
Given the following code:
typedef struct {
int x;
int y;
} MyStruct;
…
int foo(MyStruct s) …
I want to get the type of the parameter s.
In case the typedef appears in the main file, I have no problem and paramVarDecl->getType().getAsString() return “MyStruct”.
But when I put the typedef in a header and include it in the main file, paramVarDecl->getType().getAsString() returns “int” for some reason.
This is how I initialize the Header Search related objects:
// Apply header search
_hsOpts->UseStandardIncludes = true;
_hsOpts->UseBuiltinIncludes = true;
_hsOpts->UseStandardCXXIncludes = true;
// TODO Add user header search directories (I_dirs) ???
llvm::Triple triple(_tarOpts.Triple);
ApplyHeaderSearchOptions(*_hs, *_hsOpts, _langOpts, triple);
// For searching and including Headers into the source files we are analyzing
InitializePreprocessor(*_pp, *_ppOpts, *_hsOpts, *_fendOpts);
Am I missing something here?
Thanks in advance,
Ilya