Hi,

I am not involved in avr-libc development at all, but I've done my bit of gcc inline assembly. And you are correct - you need the empty string for the memory barrier.

mvh.,

David


On 21/01/17 17:54, Ralf Ramsauer wrote:
Hi,

you define _MemoryBarrier() inside avr/cpufunc.h as follows:
#define _MemoryBarrier() __asm__ __volatile__(:::"memory")
which won't compile in my case:
    foo.c:33:2: error: expected string literal before ‘:’ token
      _MemoryBarrier();

Shouldn't this rather be defined as:
#define _MemoryBarrier() __asm__ __volatile__("":::"memory")

If someone could confirm this I'll send a short patch.

Cheers
  Ralf

PS: BTW: your project page [0] links to [1], which seems to be a dead link.
[0] http://savannah.nongnu.org/cvs/?group=avr-libc
[1] http://web.cvs.savannah.nongnu.org/viewcvs/?root=avr-libc


_______________________________________________
AVR-libc-dev mailing list
AVR-libc-dev@nongnu.org
https://lists.nongnu.org/mailman/listinfo/avr-libc-dev

Reply via email to