What steps will reproduce the problem?
1. Install gcc 4.6
2. make
What is the expected output? What do you see instead?
Expected: no error
Instead:
In file included from parser/rpp/pp.h:69:0,
from parser/rpp/preprocessor.cpp:23:
parser/rpp/pp-internal.h: In function ‘void
rpp::_PP_internal::output_line(const string&, int, _OutputIterator)’:
parser/rpp/pp-internal.h:44:46: error: there are no arguments to ‘snprintf’
that depend on a template parameter, so a declaration of ‘snprintf’ must be
available [-fpermissive]
parser/rpp/pp-internal.h:44:46: note: (if you use ‘-fpermissive’, G++ will
accept your code, but allowing the use of an undeclared name is deprecated)
In file included from parser/rpp/pp.h:74:0,
from parser/rpp/preprocessor.cpp:23:
parser/rpp/pp-macro-expander.h: In member function ‘_InputIterator
rpp::pp_macro_expander::operator()(_InputIterator, _InputIterator,
_OutputIterator)’:
parser/rpp/pp-macro-expander.h:233:95: error: there are no arguments to
‘snprintf’ that depend on a template parameter, so a declaration of
‘snprintf’ must be available [-fpermissive]
In file included from parser/rpp/pp.h:76:0,
from parser/rpp/preprocessor.cpp:23:
parser/rpp/pp-engine-bits.h: In member function ‘void rpp::pp::file(const
string&, _OutputIterator)’:
parser/rpp/pp-engine-bits.h:50:43: error: there are no arguments to ‘fopen’
that depend on a template parameter, so a declaration of ‘fopen’ must be
available [-fpermissive]
parser/rpp/pp-engine-bits.h: In member function ‘void rpp::pp::file(FILE*,
_OutputIterator)’:
parser/rpp/pp-engine-bits.h:80:18: error: there are no arguments to ‘feof’
that depend on a template parameter, so a declaration of ‘feof’ must be
available [-fpermissive]
parser/rpp/pp-engine-bits.h:82:58: error: there are no arguments to ‘fread’
that depend on a template parameter, so a declaration of ‘fread’ must be
available [-fpermissive]
parser/rpp/pp-engine-bits.h:86:13: error: there are no arguments to
‘fclose’ that depend on a template parameter, so a declaration of
‘fclose’ must be available [-fpermissive]
In file included from parser/rpp/pp.h:76:0,
from parser/rpp/preprocessor.cpp:23:
parser/rpp/pp-engine-bits.h: In member function ‘FILE*
rpp::pp::find_include_file(const string&, std::string*,
rpp::pp::INCLUDE_POLICY, bool) const’:
parser/rpp/pp-engine-bits.h:240:43: error: ‘fopen’ was not declared in this
scope
parser/rpp/pp-engine-bits.h:253:50: error: ‘fopen’ was not declared in this
scope
parser/rpp/pp-engine-bits.h:279:47: error: ‘fopen’ was not declared in this
scope
make[1]: *** [release/preprocessor.o] Error 1
What version of the product are you using? On what operating system?
0.1.0 on Ark Linux
Please provide any additional information below.
Just a missing include that used to be #included by older gcc versions' STL
headers...
Fix attached
Original issue reported on code.google.com by bero%ark...@gtempaccount.com on 21 Apr 2011 at 9:48
Original issue reported on code.google.com by
bero%ark...@gtempaccount.com
on 21 Apr 2011 at 9:48Attachments: