[cfe-commits] [PATCH] Honour asm labels for builtins (bug 8765)

Joerg Sonnenberger joerg at britannica.bec.de
Tue May 3 17:04:50 PDT 2011


Hi all,
the attached patch makes builtins that have been explicitly declared
with an assembler label honour it. The most basic example is longjmp on
NetBSD:

typedef long jmp_buf[14];
void longjmp(jmp_buf, int) __asm("__longjmp14");

void test(void)
{
	longjmp((void *)0, 0);
}

While longjmp matches the LIBBUILTIN, the output should be using
__longjmp14, not longjmp itself.

Also attached is a small diagnostic improvement for dumpXML().

Note that validation of non-confliction assembler labels is still
missing in clang.

Joerg
-------------- next part --------------
A non-text attachment was scrubbed...
Name: builtin-asmlabel.diff
Type: text/x-diff
Size: 826 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20110504/8fab4a6e/attachment.diff>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: asmlabel.diff
Type: text/x-diff
Size: 513 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20110504/8fab4a6e/attachment-0001.diff>


More information about the cfe-commits mailing list