https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92597

--- Comment #13 from Klaus Leppkes <leppkes at stce dot rwth-aachen.de> ---
(In reply to Andrew Pinski from comment #11)
> (In reply to Klaus Leppkes from comment #9)
> > 
> > g++ -c error_large_lvalue.cpp 
> > error_large_lvalue.cpp: In function ‘void DoNotOptimize(Tp&) [with Tp =
> > Large]’:
> > error_large_lvalue.cpp:16:48: error: inconsistent operand constraints in an
> > ‘asm’
> >    16 |   asm volatile("" : "+g,r"(value) : : "memory");
> 
> You just need "+g" and not "+g,r".  That is what we have been saying, +m and
> +g are similar.

+g,m is working. I thought the set of type with "m" is a strict subset of the
types with "g". What am I missing here?

Reply via email to