How to determine source location of pragma?

Manuel López-Ibáñez lopezibanez@gmail.com
Mon Jan 11 18:17:00 GMT 2016


On 11/01/16 01:08, Vanush Vaswani wrote:
> I am new to GCC internals.
>
> I'm trying to create a plugin to operate on pragmas. Currently have
> this working using c_register_pragma with a callback.
>
> The callback performs pragma_lex and is able to retrieve the string
> token of the pragma based on this example.
> https://github.com/wh5a/gcc-plugin/blob/master/pragma_plugin.c
>
> How can I determine the line number of the pragma? I tried
> DECL_SOURCE_LINE on the tree type but this returns 0. Do I have to
> interact with cpplib?

pragma_lex in GCC 6 has an optional &loc parameter. See 
handle_pragma_diagnostic() in c-pragma.c to see how it is used.

Cheers,

Manuel.



More information about the Gcc mailing list