[cfe-dev] Disable #error?
Justin Bogner
mail at justinbogner.com
Fri Jan 24 17:55:00 PST 2014
Jacob Carlborg <doob at me.com> writes:
> On 2014-01-23 21:11, Sean Silva wrote:
>
>> There is no main_preprocessed.h as far as clang is concerned (unless you
>> manually create it, but then clang leaves #line's to keep track of where
>> things are from).
>
> I was just for illustration.
>
>> If you look at the SourceLocation for `struct List`, it will tell you
>> that the declaration is in
>> `/home/foo/libcollection/__include/collection/list/list.h`.
>
> I seem to have very hard time to explain myself here. Perhaps I'm
> missing something obvious here but how do I know that
> "/home/foo/libcollection/include/collection/list/list.h" is not in the
> in the "/home/foo/libmain" path?
Could you do something like:
1. Make a list of the headers you're interested in processing (you
probably already do this).
2. Make a list of the "umbrella" headers that you'll process. This
may be implicit, by abandoning processing when you try to process
something that needs to be included by an umbrella or whatever.
3. Process the umbrella headers, but look up the source location in your
list of interesting headers from (1) to decide where the information
comes from.
More information about the cfe-dev
mailing list