[LLVMdev] how to handle inline asm code when converting c++ to C
Sandeep Gupta
gupta.sandeep at gmail.com
Mon Oct 4 15:00:40 PDT 2010
Hi,
I am using llvm to convert some C++ code to C. However the C++ code has
couple of lines of assembly that is supposed to be inlined. I am using
__asm__ directive.
However the resulting C code has syntax errors:
main.c: In function ‘_Z23atomic_exchange_and_addPii’:
main.c:397: error: expected ‘:’ or ‘)’ before string constant
main.c: In function ‘_Z16atomic_incrementPi’:
main.c:421: error: expected ‘:’ or ‘)’ before string constant
For reference here is the line in the code that is causing the above errors:
__asm__ volatile ("lock\n\txadd %1, %0"
:"=m"(llvm_cbe_asmtmp)"=r"(llvm_cbe_tmp__5)
:"m"(*(llvm_cbe_tmp__6))"1"(llvm_cbe_tmp__6)"cc""memory");
I am new to the llvm so if this is not the right forum do let me know.
Thanks.
Sandeep
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20101004/e3df8a4c/attachment.html>
More information about the llvm-dev
mailing list