how to handle inline asm code when converting c++ to C

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

Hi Sandeep,

  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:

this looks like PR802 (see http://llvm.org/bugs/show_bug.cgi?id=802).

Ciao,

Duncan.

PS: The C backend is deprecated and unmaintained.