bug-bison
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Bison 3.0.3 (stable)


From: Thomas Jahns
Subject: Re: Bison 3.0.3 (stable)
Date: Tue, 20 Jan 2015 15:44:03 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Icedove/31.4.0

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 <address@hidden>
URL:    www.dkrz.de

Geschäftsführer: Prof. Dr. Thomas Ludwig
Sitz der Gesellschaft: Hamburg
Amtsgericht Hamburg HRB 39784

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]