This is the mail archive of the
mailing list for the GCC project.
Re: PR middle-end/52141: ICE due to asm statement
On Wed, Feb 15, 2012 at 09:29:18AM -0800, Richard Henderson wrote:
> On 02/15/2012 01:48 AM, Richard Guenther wrote:
> > Hmm. I think you rather want to teach local_pure_const about TM
> > properties you want to know and have them propagated properly
> > (of course unless pure/const which is about optimization and has an
> > easy fallback default yours wouldn't have that - you'd have to assume
> > the callee contains an invalid asm ...)
> That's more or less what we do ourselves during the tm ipa pass.
> The trouble we have here is merely one of diagnostics. The user
> has written "transaction safe" and it's now our job to tell him
> when he's done something that's not transaction safe.
> The unfortunate thing of diagnostics is you'd like to be able to
> tell the user what they did wrong at the source level, not after
> 10 levels of inlining.
> And given that pass_local_pure_const still runs after pass_early_inline,
> doing anything in there doesn't really help the problem at all.
Use %K in error/warning fmt string, then the diagnostic will include the
full virtual backtrace.