AVR C Runtime Library - Bugs: bug #36970, FDEV_SETUP_STREAM doesn't work in...
You are not allowed to post comments on this tracker with your current authentication level.
bug #36970: FDEV_SETUP_STREAM doesn't work in C++
Submitter: | Adam Dunlap <wizenedee> | ||
Submitted: | Thu 26 Jul 2012 09:23:19 PM UTC | ||
Category: | Library | Severity: | 3 - Normal |
Priority: | 9 - Immediate | Item Group: | Build system |
Status: | None | Assigned to: | None |
Percent Complete: | 0% | Open/Closed: | Open |
Release: | 1.8.0 | Fixed Release: | None |
No files currently attached
Depends on the following items: None found
Items that depend on this one: None found
Carbon-Copy List
Follows 1 latest change.
Date | Changed by | Updated Field | Previous Value | => | Replaced by |
---|---|---|---|---|---|
2012-11-16 | arcanum | Priority | 5 - Normal | 9 - Immediate |
Powered by Savane 3.13-02a9.
Corresponding source code
The FDEV_SETUP_STREAM macro defined in stdio.h only compiles for C99 because it uses designated initializers. The file attached shows a minimal program that shows the problem, adapted from the documentation here:
http://www.nongnu.org/avr-libc/user-manual/group__avr__stdio.html#stdio_without_malloc
However, when the program is compiled as C++, by giving the file a .cpp extension, the following errors appear:
$ avr-gcc fdevopenbug.cpp
fdevopenbug.cpp:6:24: sorry, unimplemented: non-trivial designated initializers not supported
fdevopenbug.cpp:6:24: sorry, unimplemented: non-trivial designated initializers not supported
fdevopenbug.cpp:6:24: sorry, unimplemented: non-trivial designated initializers not supported
This bug can be fixed by using a full initialization rather than the designated one.