php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #11606 Compile problem in Zend: zend_language_scanner_cc.cc
Submitted: 2001-06-21 11:38 UTC Modified: 2001-08-18 12:21 UTC
From: bquinton at utk dot edu Assigned:
Status: Closed Package: Compile Failure
PHP Version: 4.0.5 OS: Solaris 2.7
Private report: No CVE-ID: None
 [2001-06-21 11:38 UTC] bquinton at utk dot edu
bash-2,00$ gcc -v
Reading specs from /usr/local/lib/gcc-lib/sparc-sun-solaris2.7/3.0/specs
Configured with: ./configure 
Thread model: posix
gcc version 3.0

bash-2,00$ flex -V       
flex version 2.5.4

bash-2,00$ make -v       
GNU Make version 3.79, by Richard Stallman and Roland McGrath.
Built for sparc-sun-solaris2.7
Copyright (C) 1988, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99
        Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.

Report bugs to <bug-make@gnu.org>.

bash-2,00$ make
/bin/sh ../libtool --silent --mode=compile c++ -DHAVE_CONFIG_H -I. -I. -I../main   -D_POSIX_PTHREAD_SEMANTICS -D_POSIX_PTHREAD_SEMANTICS -D_REENTRANT -DSUPPORT_UTF8 -DXML_BYTE_ORDER=21 -I../TSRM  -g -O2 -pthreads -c zend_language_scanner_cc.cc
In file included from FlexLexer.h:47,
                 from zend_language_scanner_cc.cc:241:
/usr/local/include/g++-v3/backward/iostream.h:36: using directive `istream' 
   introduced ambiguous type `istream'
In file included from ./zend_language_scanner.l:90:
zend_istdiostream.h:8: 'stdiobuf' is used as a type, but is not defined as a 
   type.
zend_istdiostream.h:11: syntax error before `*' token
zend_istdiostream.h: In constructor `istdiostream::istdiostream(FILE*)':
zend_istdiostream.h:10: class `istdiostream' does not have any field named 
   `_file'
zend_istdiostream.h:10: no matching function for call to 
   `std::basic_istream<char, std::char_traits<char> >::basic_istream()'
/usr/local/include/g++-v3/bits/std_istream.h:209: candidates are: 
   std::basic_istream<_CharT, _Traits>::basic_istream(const 
   std::basic_istream<_CharT, _Traits>&) [with _CharT = char, _Traits = 
   std::char_traits<char>]
/usr/local/include/g++-v3/bits/std_istream.h:72:                 
   std::basic_istream<_CharT, 
   _Traits>::basic_istream(std::basic_streambuf<_CharT, _Traits>*) [with _CharT 
   = char, _Traits = std::char_traits<char>]
zend_istdiostream.h:10: `_file' undeclared (first use this function)
zend_istdiostream.h:10: (Each undeclared identifier is reported only once for 
   each function it appears in.)
zend_istdiostream.h: At global scope:
zend_istdiostream.h:12: parse error before `}' token
./zend_language_scanner.l: In function `void 
   zend_file_handle_dtor(zend_file_handle*)':
./zend_language_scanner.l:198: no matching function for call to 
   `std::basic_streambuf<char, std::char_traits<char> >::stdiofile()'
./zend_language_scanner.l: In function `int 
   open_file_for_scanning(zend_file_handle*, zend_compiler_globals*)':
./zend_language_scanner.l:269: no matching function for call to 
   `std::basic_ifstream<char, std::char_traits<char> >::basic_ifstream(int&)'
/usr/local/include/g++-v3/bits/std_iosfwd.h:81: candidates are: 
   std::basic_ifstream<char, std::char_traits<char> >::basic_ifstream(const 
   std::basic_ifstream<char, std::char_traits<char> >&)
/usr/local/include/g++-v3/bits/std_fstream.h:258:                 
   std::basic_ifstream<_CharT, _Traits>::basic_ifstream(const char*, 
   std::_Ios_Openmode = std::ios_base::in) [with _CharT = char, _Traits = 
   std::char_traits<char>]
/usr/local/include/g++-v3/bits/std_fstream.h:253:                 
   std::basic_ifstream<_CharT, _Traits>::basic_ifstream() [with _CharT = char, 
   _Traits = std::char_traits<char>]
zend_language_scanner_cc.cc: In member function `int 
   ZendFlexLexer::lex_scan(zval*, zend_compiler_globals*)':
zend_language_scanner_cc.cc:4852: cannot convert `std::istream*' to `istream*' 
   in assignment
zend_language_scanner_cc.cc: In member function `void 
   zendFlexLexer::yy_load_buffer_state()':
zend_language_scanner_cc.cc:5388: cannot convert `istream*' to `std::istream*' 
   in assignment
zend_language_scanner_cc.cc: In member function `void 
   zendFlexLexer::yy_init_buffer(yy_buffer_state*, std::istream*)':
zend_language_scanner_cc.cc:5439: cannot convert `std::istream*' to `istream*' 
   in assignment
make: *** [zend_language_scanner_cc.lo] Error 1



### Using Sun Workshop C++ Complier ###############################################
bash-2,00$ CC -V      
CC: Sun WorkShop 6 2000/04/07 C++ 5.1

bash-2,00$ /bin/sh ../libtool --silent --mode=compile CC -DHAVE_CONFIG_H -I. -I. -I../main   -D_POSIX_PTHREAD_SEMANTICS -D_POSIX_PTHREAD_SEMANTICS -D_REENTRANT -DSUPPORT_UTF8 -DXML_BYTE_ORDER=21 -I../TSRM  -g -O2 -c zend_language_scanner_cc.cc
"zend_istdiostream.h", line 8: Error: stdiobuf is not defined.
"zend_istdiostream.h", line 11: Error: Type name expected instead of "stdiobuf".
"zend_istdiostream.h", line 11: Error: No storage class or type for this declaration.
"zend_istdiostream.h", line 11: Error: "," expected instead of "*".
"zend_istdiostream.h", line 10: Error: istream is not a direct base class of istdiostream.
"zend_istdiostream.h", line 10: Error: Cannot use __FILE* to initialize int.
"zend_istdiostream.h", line 10: Error: Formal argument sb of type std::basic_streambuf<char, std::char_traits<char>>* in call to std::basic_ios<char, std::char_traits<char>>::init(std::basic_streambuf<char, std::char_traits<char>>*) is being passed int*.
"./zend_language_scanner.l", line 198: Error: stdiofile is not a member of std::basic_streambuf<char, std::char_traits<char>>.
"./zend_language_scanner.l", line 1049: Warning: String literal converted to char* in assignment.
"zend_language_scanner_cc.cc", line 4852: Error: Cannot assign std::basic_istream<char, std::char_traits<char>>* to istream*.
"zend_language_scanner_cc.cc", line 4956: Warning: String literal converted to char* in formal argument message in call to zend_fatal_scanner_error(char*).
"zend_language_scanner_cc.cc", line 5060: Warning: String literal converted to char* in formal argument message in call to zend_fatal_scanner_error(char*).
"zend_language_scanner_cc.cc", line 5133: Warning: String literal converted to char* in formal argument message in call to zend_fatal_scanner_error(char*).
"zend_language_scanner_cc.cc", line 5147: Warning: String literal converted to char* in formal argument message in call to zend_fatal_scanner_error(char*).
"zend_language_scanner_cc.cc", line 5267: Warning: String literal converted to char* in formal argument message in call to zend_fatal_scanner_error(char*).
"zend_language_scanner_cc.cc", line 5388: Error: Cannot assign istream* to std::basic_istream<char, std::char_traits<char>>*.
"zend_language_scanner_cc.cc", line 5399: Warning: String literal converted to char* in formal argument message in call to zend_fatal_scanner_error(char*).
"zend_language_scanner_cc.cc", line 5408: Warning: String literal converted to char* in formal argument message in call to zend_fatal_scanner_error(char*).
"zend_language_scanner_cc.cc", line 5439: Error: Cannot assign std::basic_istream<char, std::char_traits<char>>* to istream*.
"zend_language_scanner_cc.cc", line 5501: Warning: String literal converted to char* in formal argument message in call to zend_fatal_scanner_error(char*).
"zend_language_scanner_cc.cc", line 5515: Warning: String literal converted to char* in formal argument message in call to zend_fatal_scanner_error(char*).
11 Error(s) and 10 Warning(s) detected.



## Using gcc 2.8.1 ##################################################################

bash-2,00$ /usr/gnu/bin/c++ -v
Reading specs from /usr/gnu/lib/gcc-lib/sparc-sun-solaris2.6/2.8.1/specs
gcc version 2.8.1

bash-2,00$ /bin/sh ../libtool --silent --mode=compile /usr/gnu/bin/c++ -DHAVE_CONFIG_H -I. -I. -I../main   -D_POSIX_PTHREAD_SEMANTICS -D_POSIX_PTHREAD_SEMANTICS -D_REENTRANT -DSUPPORT_UTF8 -DXML_BYTE_ORDER=21 -I../TSRM  -g -O2 -pthreads -c zend_language_scanner_cc.cc
In file included from ./zend_language_scanner.l:90:
zend_istdiostream.h:8: syntax error before `;'
zend_istdiostream.h:11: syntax error before `*'
zend_istdiostream.h: In method `istdiostream::istdiostream(struct FILE *)':
zend_istdiostream.h:10: class `istdiostream' does not have any field named `_file'
zend_istdiostream.h:10: `_file' undeclared (first use this function)
zend_istdiostream.h:10: (Each undeclared identifier is reported only once
zend_istdiostream.h:10: for each function it appears in.)
zend_istdiostream.h: At top level:
zend_istdiostream.h:12: parse error at null character
./zend_language_scanner.l: In function `void zend_file_handle_dtor(struct _zend_file_handle *)':
./zend_language_scanner.l:198: no matching function for call to `streambuf::stdiofile ()'



Patches

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2001-08-18 12:21 UTC] sniper@php.net
Should be fixed in CVS (and in next release, PHP 4.0.7).
Try the latest CVS snapshot: http://snaps.php.net/

--Jani

 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Wed Apr 24 02:01:30 2024 UTC