[cfe-commits] [PATCH] Disallow __has_include and __has_include_next outside of preprocessor directives
Aaron Ballman
aaron at aaronballman.com
Tue Jan 15 16:13:56 PST 2013
Unfortunately, we can't. Consider:
#define MACRO1 __has_include(<stdint.h>)
#if !MACRO1
#error "__has_include with macro failed (1)."
#endif
However, my patch doesn't address the usage of macros. I'll explore a
bit to see if there's something more I can do in that case.
~Aaron
On Tue, Jan 15, 2013 at 6:58 PM, Dmitri Gribenko <gribozavr at gmail.com> wrote:
> On Wed, Jan 16, 2013 at 1:49 AM, Aaron Ballman <aaron at aaronballman.com> wrote:
>> 3 -- if there's not a current lexer, we have no way to know we're
>> currently in a preprocessor directive (that I'm aware of).
>
> Is there a case where we use this mode to parse a pp directive? Can
> we always emit an error in this case?
>
> Dmitri
>
> --
> main(i,j){for(i=2;;i++){for(j=2;j<i;j++){if(!(i%j)){j=0;break;}}if
> (j){printf("%d\n",i);}}} /*Dmitri Gribenko <gribozavr at gmail.com>*/
More information about the cfe-commits
mailing list