[LLVMdev] bug or expected behaviour?

Tyler Hardin tghardin1 at catamount.wcu.edu
Tue Jun 4 17:20:27 PDT 2013


I tried the "extern" specifier, which (I guess) you should use if the
definition isn't in the file; and it worked with -O3.

Input code:
extern void external(void);
void test(char *x)
{
    x--;
    if (!x)
    {
        external();
    }
}

Command:
clang -S -o volatile-test.s -O3 test.c

Output attached.

The only line of interest is probably:
    jmp    external                # TAILCALL
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20130604/fcb995e2/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: extern-test.s
Type: application/octet-stream
Size: 326 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20130604/fcb995e2/attachment.obj>


More information about the llvm-dev mailing list