[cfe-dev] Inline assembler and Source Manager

Joerg Sonnenberger joerg at britannica.bec.de
Wed Mar 11 10:25:09 PDT 2015


Hi all,
can I find someone with Source Manager knowledge to please look at PR
22576? Short version is that something like:

#pragma clang diagnostic ignored "-Wmissing-noreturn"
__asm__(".Lfoo: movl %%rax, .Loo -.");

hits the assert in SourceManager.cpp:2090, because the asm gets a
location of the "<inline asm>" buffer (or variants for MS inline asm?),
which the code can't order. Correct approach is likely to unwrap and
just use the location of the start of the asm buffer, but my knowledge
of the memory buffer structure is too weak to implement it.

This is a somewhat high profile issue on ARM as it affects WebKit and by
inclusion, Qt 4.

Joerg



More information about the cfe-dev mailing list