On 01/19/15 18:34, Akim Demaille wrote:
I also realized that I overlooked your logs, there is also this:# -*- compilation -*- 440. c++.at:973: testing Exception safety with error recovery ... /sw/src/bison/bison-3.0.3/tests/c++.at:973: $BISON_CXX_WORKS stderr: stdout: /sw/src/bison/bison-3.0.3/tests/c++.at:973: $CXX $CXXFLAGS $CPPFLAGS $LDFLAGS -o exception exception.cc $LIBS stderr: stdout: /sw/src/bison/bison-3.0.3/tests/c++.at:973: ./exception || exit 77 stderr: Inner caught Outer caught /sw/src/bison/bison-3.0.3/tests/c++.at:973: bison -fno-caret -o input.cc --report=all input.yy /sw/src/bison/bison-3.0.3/tests/c++.at:973: $BISON_CXX_WORKS stderr: stdout: /sw/src/bison/bison-3.0.3/tests/c++.at:973: $CXX $CXXFLAGS $CPPFLAGS $LDFLAGS -o input input.cc $LIBS stderr: "input.yy", line 54.24: 1540-0218 (S) The call does not match any parameter list for "erase". "/sw/ibm/xlC/11.1.0.17/usr/vacpp/include/xtree.t", line 166.31: 1540-1283 (I) "std::_Tree<std::_Tset_traits<const Object *,std::less<const Object *>,std::allocator<const Object *>,0> >::erase(iterator)" is not a viable candidate. "input.yy", line 54.32: 1540-0256 (I) A parameter of type "std::_Tree<std::_Tset_traits<const Object *,std::less<const Object *>,std::allocator<const Object *>,0> >::iterator" cannot be initialized with an expression of type "std::set<const Object *,std::less<const Object *>,std::allocator<const Object *> >::const_iterator". "/sw/ibm/xlC/11.1.0.17/usr/vacpp/include/xtree.t", line 285.31: 1540-1283 (I) "std::_Tree<std::_Tset_traits<const Object *,std::less<const Object *>,std::allocator<const Object *>,0> >::erase(iterator, iterator)" is not a viable candidate. "input.yy", line 54.32: 1540-0256 (I) A parameter of type "std::_Tree<std::_Tset_traits<const Object *,std::less<const Object *>,std::allocator<const Object *>,0> >::iterator" cannot be initialized with an expression of type "std::set<const Object *,std::less<const Object *>,std::allocator<const Object *> >::const_iterator". "/sw/ibm/xlC/11.1.0.17/usr/vacpp/include/xtree", line 366.19: 1540-1283 (I) "std::_Tree<std::_Tset_traits<const Object *,std::less<const Object *>,std::allocator<const Object *>,0> >::erase(const key_type &)" is not a viable candidate. "input.yy", line 54.32: 1540-0256 (I) A parameter of type "const Object * const &" cannot be initialized with an expression of type "std::set<const Object *,std::less<const Object *>,std::allocator<const Object *> >::const_iterator". "/sw/ibm/xlC/11.1.0.17/usr/vacpp/include/xtree", line 372.14: 1540-1283 (I) "std::_Tree<std::_Tset_traits<const Object *,std::less<const Object *>,std::allocator<const Object *>,0> >::erase(const key_type *, const key_type *)" is not a viable candidate. "input.yy", line 54.32: 1540-0256 (I) A parameter of type "const Object * const *" cannot be initialized with an expression of type "std::set<const Object *,std::less<const Object *>,std::allocator<const Object *> >::const_iterator".The piece of code is: ~Object () { log (this, "Object::~Object"); objects::const_iterator i = instances.find (this); // Make sure this object is alive. assert (i != instances.end ()); Object::instances.erase (i); } where typedef std::set<const Object*> objects; static objects instances; so it seems that your libc++ does not like a const_iterator to be used to erase. And it (the libc++) is right: this is valid C++11, but in C++98 iterator was mandated. Then:"input.yy", line 80.21: 1540-0218 (S) The call does not match any parameter list for "operator<<".On: std::cerr << msg << " {"; is probably because #include <string> is missing (well, it's done after).
these are indeed fixed by the below patch.
Later we have Java failures:463. javapush.at:311: testing Calc parser with api.push-pull both ... /sw/src/bison/bison-3.0.3/tests/javapush.at:579: bison -fno-caret -Dapi.push-pull=both -o Calc.java Calc.y /sw/src/bison/bison-3.0.3/tests/javapush.at:580: $SHELL ../../../javacomp.sh Calc.java stderr: Calc.java:1072: cannot resolve symbol symbol : class StringBuilder location: class Calc StringBuilder buf = new StringBuilder(); ^ Calc.java:1072: cannot resolve symbol symbol : class StringBuilder location: class Calc StringBuilder buf = new StringBuilder(); ^ 2 errors stdout: /sw/src/bison/bison-3.0.3/tests/javapush.at:580: exit code was 1, expected 0 463. javapush.at:311: 463. Calc parser with api.push-pull both (javapush.at:311): FAILED (javapush.at:580)Well, I am no Java programmer, but it appears that StringBuilder is part of java.lang, and the test starts with import java.io.*. So I guess we need another import. Could you please try this patch? It should address these failures. Hopefully.
this turned out to be another issue: on AIX 6.1 javac defaults to a 1.4 installation in /usr/java14, but there is also a 1.6 installation in /usr/java6. When I use the latter the problem goes away. Your patch doesn't help because apparently the class is not part of the older API.
Regards, Thomas -- Thomas Jahns HD(CP)^2 Abteilung Anwendungssoftware Deutsches Klimarechenzentrum GmbH Bundesstraße 45a • D-20146 Hamburg • Germany Phone: +49 40 460094-151 Fax: +49 40 460094-270 Email: Thomas Jahns <ja...@dkrz.de> URL: www.dkrz.de Geschäftsführer: Prof. Dr. Thomas Ludwig Sitz der Gesellschaft: Hamburg Amtsgericht Hamburg HRB 39784
smime.p7s
Description: S/MIME Cryptographic Signature