Opened 9 years ago
Closed 4 years ago
#6988 closed defect (fixed)
COMPILER: --enable-c++11 breaks compilation in commandline.cpp (AmigaOS4)
Reported by: | raziel- | Owned by: | sev- |
---|---|---|---|
Priority: | normal | Component: | Port: AmigaOS4 |
Version: | Keywords: | ||
Cc: | Game: |
Description (last modified by )
Using the flag
--enable-c++11
with configure, makes the compiler error early in commandline.cpp.
C++ base/commandLine.o base/commandLine.cpp: In function 'void Base::usage(const char*, ...)': base/commandLine.cpp:162:36: error: 'vsnprintf' was not declared in this scope vsnprintf(buf, STRINGBUFLEN, s, va); ^ gmake: *** [base/commandLine.o] Error 1
The same (or at least something similar) happens when using the flag
-std=c++11
on a test program.
#include <stdio.h> #include <stdarg.h> void test() { va_list ap; vsnprintf(0, 0, 0, ap); }
Building it with
g++ -c -o test.o test.cpp
works fine, but adding the c++11 flag and using
g++ -c -o test.o test.cpp -std=c++11
throws this error
test.cpp: In function 'void test()': test.cpp:5:48: error: 'vsnprintf' was not declared in this scope void test() { va_list ap; vsnprintf(0, 0, 0, ap); } ^
AmigaOS4 - PPC - SDL - BE
GCC (adtools build 5.3.0) 5.3.0
Ticket imported from: bugs/6988.
Change History (9)
comment:1 by , 9 years ago
Summary: | COMPILER: Using --enable-c++11 breaks in commandline.cpp → AMIGAOS4: --enable-c++11 breaks compilation of commandline.cpp |
---|
comment:2 by , 9 years ago
comment:3 by , 9 years ago
Not broken, it seems it's not yet supported: https://github.com/sba1/adtools/issues/6#issuecomment-168327141
Probably can be closed then
comment:4 by , 7 years ago
Component: | → Ports |
---|---|
Owner: | set to |
In the upgraded Buildbot, I plan on enabling all platforms to build with C++11 by default soon, so whatever needs to be fixed for this to be fixed will be addressed at that point.
comment:5 by , 7 years ago
I don't really think that there si anything that needs "fixing", more a case of "supporting".
It seems the c++11 is simply not yet implemented in out adtools.
But anyway, thanks alot for taking a look
comment:6 by , 6 years ago
Owner: | removed |
---|
comment:7 by , 6 years ago
Component: | Ports → Port: AmigaOS4 |
---|
comment:8 by , 4 years ago
Summary: | AMIGAOS4: --enable-c++11 breaks compilation of commandline.cpp → COMPILER: --enable-c++11 breaks compilation of commandline.cpp (AmigaOS4) |
---|
comment:9 by , 4 years ago
Description: | modified (diff) |
---|---|
Owner: | set to |
Resolution: | → fixed |
Status: | new → closed |
Summary: | COMPILER: --enable-c++11 breaks compilation of commandline.cpp (AmigaOS4) → COMPILER: --enable-c++11 breaks compilation in commandline.cpp (AmigaOS4) |
Looks like a broken toolchain. vsnprintf is part of C++11 (see: http://en.cppreference.com/w/cpp/io/c/vfprintf).
You might need to update your C library's development headers.