<br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;"><div class="im"><br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<div>
>><br>
>> (а ошибки, вероятно от версии gcc, подробно не разбирался).<br>
>> Дело в том, что начиная с 5.12 (может еще в 5.11.*) RV и IV флаги были<br>
>> объединены в один.<br>
>> * <a href="http://perl5.git.perl.org/perl.git/blob/maint-5.10:/sv.h" target="_blank">http://perl5.git.perl.org/perl.git/blob/maint-5.10:/sv.h</a><br>
>> * <a href="http://perl5.git.perl.org/perl.git/blob/maint-5.12:/sv.h" target="_blank">http://perl5.git.perl.org/perl.git/blob/maint-5.12:/sv.h</a><br>
><br>
> и как теперь в XS можно отличить ссылку (REF) от всего остального<br>
> (SCALAR/HASH/ARRAY)? если RV объединили с IV?<br>
</div>SvROK<br></blockquote></div><br></div>SvROK скажет что это ссылка и на то что будет SVt_IV тоже соответствовать<br><br>то есть теперь чтобы вычислить в XS что это ссылка на ссылку надо пройти по всем 15 вариантам SVt_*, я правильно понимаю?<br>
</blockquote></div><br>Хгм. а как в XS отличать версии Perl? если раньше для определения ссылки на ссылку можно было использовать SVt_RV, а теперь это может быть и ссылка на просто скаляр с IV-значением, то получается надо какой-то ifdef городить типо "если перл версия < 5.12 то так, а иначе эдак<br>