Disclaimer: I already know about the warning that ASF may not work well with C++ projects, everything I am using works with the exception of this. I have -std=c++11 defined in other flags in the C++ miscellaneous tab.
Calling all compiler gurus. ;)
In ASF/common/services/ioport/mega/ioport.h there are functions that are declared and defined like this:
__always_inline static inline function(...) {...}
This is not a problem for the AVR/GNU C compiler but it is for the AVR/GNU C++ compiler as it sees the "__always_inline" and the "inline" as duplicate and flags them as errors.
I have worked around this by removing the "inline" from the definitions. Is doing so a problem? Is there a compiler flag to ignore the duplicate error? Can you explain why the C++ compiler has a problem with this?
EDIT: I guess what I am questioning is whether the "inline" following the "__always_inline" is superfluous or not.