Re: [avr-libc-dev] Erroneous definition of _MemoryBarrier() in cpufunc.h

2017-01-23 Thread David Brown
Hi, I know some people find it convenient to get embedded development tools such as the avr-gcc and avr-libc with the same "apt-get" or "packman" commands as they use for everything else on their system. And as a way to get started or test out tools, it's not too bad. But I strongly feel that it

Re: [avr-libc-dev] Erroneous definition of _MemoryBarrier() in cpufunc.h

2017-01-22 Thread Ralf Ramsauer
Thanks David. I was about to write a patch, when I found out that this issue is already fixed on mainline [1], since 2013(!). I'll have to contact package maintainers of my OS, to mark a more recent version as stable... Cheers Ralf [1] https://github.com/vancegroup-mirrors/avr-libc/commit/632

Re: [avr-libc-dev] Erroneous definition of _MemoryBarrier() in cpufunc.h

2017-01-22 Thread Joerg Wunsch
As Ralf Ramsauer wrote: > If someone could confirm this I'll send a short patch. https://savannah.nongnu.org/bugs/index.php?37778 Already fixed in the SVN tree. -- cheers, Joerg .-.-. --... ...-- -.. . DL8DTL http://www.sax.de/~joerg/ Never trust an operating system you don'

Re: [avr-libc-dev] Erroneous definition of _MemoryBarrier() in cpufunc.h

2017-01-22 Thread David Brown
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:

[avr-libc-dev] Erroneous definition of _MemoryBarrier() in cpufunc.h

2017-01-21 Thread Ralf Ramsauer
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 _MemoryB