Thanks Duncan, It seems the bug has been reopened. After reading the comments related to the bug report, it was not clear if this is fixed in llvm-gcc, or just in clang. Thanks, Cristi On Feb 16, 2010, at 3:44 PM, Duncan Sands wrote:> Hi Cristian, this is (part of) bug 3373, see > http://llvm.org/bugs/show_bug.cgi?id=3373 > >> FD_ZERO(&rfds); //this is the error line > > ... > >> # define __FD_ZERO(fdsp) \ >> do { \ >> int __d0, __d1; \ >> __asm__ __volatile__ ("cld; rep; " __FD_ZERO_STOS \ >> : "=c" (__d0), "=D" (__d1) \ >> : "a" (0), "0" (sizeof (fd_set) \ >> / sizeof (__fd_mask)), \ >> "1" (&__FDS_BITS (fdsp)[0]) \ >> : "memory"); \ >> } while (0) > > That said, this is an odd way to implement FD_ZERO. The crazy asm is equivalent > to a simple memset... > > Ciao, > > Duncan. > > PS: The underlying problem here is probably that __d0 and __d1 are declared as > int, which is only 32 bits in size, while the asm is expecting 64 bits.
Hi Cristi,> It seems the bug has been reopened. After reading the comments related to the bug report, it was not clear if this is fixed in llvm-gcc, or just in clang.it has been fixed in clang but not in llvm-gcc. Ciao, Duncan.
Anton Korobeynikov
2010-Feb-16 17:47 UTC
[LLVMdev] FD_ZERO unsupported inline asm on 64 bit
> it has been fixed in clang but not in llvm-gcc.I believe I fixed it in llvm-gcc via fixincludes :) Not the best way, but... -- With best regards, Anton Korobeynikov Faculty of Mathematics and Mechanics, Saint Petersburg State University