bytedeco/javacpp-presets

Expanded macro spelling locations point to macro expansion location

icemachined opened this issue · 2 comments

The problem is that clang_getSpellingLocation function return the same value for all nodes expanded from macro.
I'd expect that it should be inside macro declaration.

For example, see attached clang-macrolocations.zip example project, file main.cpp call macro in main function which declarations contained in inner_head.h file.
When i use command clang++ -Xclang -ast-dump main.cpp it provide me astdump.txt in which i see that it referenced to ./inner_head.h

    `-DoStmt 0x25d6b0f2b18 <./inner_head.h:19:38, col:78>
      |-CompoundStmt 0x25d6b0f2ac8 <col:41, col:68>
      | `-IfStmt 0x25d6b0f2aa8 <col:42, col:67>

using clang_getSpellingLocation on the same nodes in ClangASTVisitorExample it referenced to macro expansion location.

How can i get the same location as in ast dump using javacpp=persets for clang?

clang version i used is 14.0.4

Do you have a working example in C/C++?

Do you have a working example in C/C++?

no, i don't. only java code using clang javacpp persets see clang-macrolocations.zip