On Thu, Jul 31, 2014 at 5:19 PM, Tyler Nowicki <[email protected]> wrote:
> Hi Aaron,
>
> Thanks for investigating this!
>
> I was looking at the code again and I thought maybe the crash is due to this
> code in HandlePragmaLoopHint
>
>   IdentifierInfo *OptionInfo = Info->Option.getIdentifierInfo();
>   Hint.OptionLoc = IdentifierLoc::create(
>       Actions.Context, Info->Option.getLocation(), OptionInfo);
>
> The call to 'Info->Option.getIdentifierInfo();’ might be failing because
> with nounroll and sometimes unroll an option is not specified. I assumed it
> would just return null. But that could be a poor assumption. If that is the
> case then it should be moved below the test that returns early if #pragma
> unroll or #pragma nounroll are specified.
>
>   if (TokSize == 0 && (PragmaUnroll || PragmaNoUnroll)) {
>     ConsumeToken(); // The annotation token.
>     Hint.Range = Info->PragmaName.getLocation();
>     return true;
>   }
>
> The windows build-bots seem rather busy. Could you give this a try?

That's exactly what I found as well, however, I fixed it by checking
the token type explicitly instead of assuming it was an identifier.
Fix is in r214446.

~Aaron

_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to