Ping.

On Thu, Oct 25, 2012 at 1:39 PM, Lang Hames <[email protected]> wrote:

> Hi All,
>
> Tim Northover pointed out that there's a flaw in my recent FP_CONTRACT
> patch (r166383). That patch restricted FP_CONTRACT (or rather
> tok::annot_pragma_fp_contract) to appearing as the first token in a
> compound statement. The problem with my patch is that it prohibits things
> like:
>
> void foo() {
>   #pragma MS_STRUCT ON
>   #pragma STDC FP_CONTRACT ON
>   // ...
> }
>
> Which isn't prohibited by the C99 spec, and I think seems reasonable.
>
> A simple solution to the problem is to loop at the start of a compound
> statement parsing tokens that can reasonably appear there (FP_CONTRACT,
> MS_STRUCT, maybe others?), then break out of that look when an unhandled
> token encountered. Attached is a patch that implements this approach,
> processing FP_CONTRACT and MS_STRUCT pragmas at the start of compound
> statements before falling through.
>
> Not being a language lawyer, is what else should be handled in this loop?
>
> Does this seem like a reasonable approach?
>
> - Lang.
>
>
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to