Wed Sep 2 18:25:20 GMT 2020
Andrew Haley wrote:
> On 27/08/2020 22:23, Joe Buehler via Gcc-help wrote:
> temp.c: In function main :
> temp.c:4:2: warning: asm operand 0 probably doesn t match constraints
> __asm__ volatile(".8byte %0\n\t" : : "i" ("message %s\n"));
> temp.c:4:2: error: impossible constraint in asm
> I'd use the "S" constraint.
Thanks that worked.
>> I am unable to code something similar manually using inline asm because
>> the string is a format string containing % characters, which inline asm
>> will of course try to interpret. (Does gcc provide anything to escape %
>> chars in a literal string?)
The problem is that I have literal printf format strings in a multiplatform code base. I need something like a gcc builtin to do the % doubling.
#define X(fmt) asm ("lines " __builtin_escape(fmt) " more lines")
More information about the Gcc-help