php-7.0.16 nem fordul -- előfordul az ilyen

 ( NevemTeve | 2017. február 16., csütörtök - 15:22 )

2017-02-16.14:22
Azt mondja szegény:

libtool: compile: gcc -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1 -IZend/ -I/usr/local/src/php-7.0
In file included from /usr/local/src/php-7.0.16/Zend/zend.h:39:0,
                 from /usr/local/src/php-7.0.16/Zend/zend_ini_parser.y:25:
/usr/local/src/php-7.0.16/Zend/zend_ini_parser.y: In function 'yydestruct':
/usr/local/src/php-7.0.16/Zend/zend_variables.h:122:57: error: expected identifier before
 #define zval_ptr_dtor(zval_ptr) _zval_ptr_dtor((zval_ptr) ZEND_FILE_LINE_CC)

ha ebből nem látszana tisztán, ezt akarja fordítani: php-7.0.16/Zend/zend_ini_parser.c

Hozzászólás megjelenítési lehetőségek

A választott hozzászólás megjelenítési mód a „Beállítás” gombbal rögzíthető.

Ez siman lehet valami yacc/bison bug is. Just sayin.
--
Blog | @hron84
Üzemeltető macik

Jár a pont, régi volt a bison!

A régi bison-1.875 rosssz kódot generált.

A dolog érdekessége, hogy eddig is régi is volt, de nem generált rossz kódot. De jó kódot sem generált. Valamiért nem futott egyáltalán, a source-ban benne volt a zend_ini_parser.c, és azzal ment.

Szóval most egy bison-2.5-tel újraindítottam a fordítást, késöbb rápillantok.

Szerk: az érdekesség kedvéért idézzük be a kérdéses részt:

jó:       { zval_ptr_dtor(&((*yyvaluep))); }
rossz:    { zval_ptr_dtor(&yyvaluep->); };