2011/2/13 Ivan Petrov <[email protected]>: > есть XS код > > switch(SvTYPE(SvRV(obj))) { > > case SVt_PV: > .... > > case SVt_NV: > .... > > case SVt_IV: > .... > > case SVt_RV: > .... > } > > на BSD cpan testers шлют репорты с ошибкой компиляции про то что "duplicate > case value" третьем case. > а на четвертом case говорит "previously used here". И правильно делают, это не в BSD проблема, это зависит от версии перла (а ошибки, вероятно от версии gcc, подробно не разбирался). Дело в том, что начиная с 5.12 (может еще в 5.11.*) RV и IV флаги были объединены в один. * http://perl5.git.perl.org/perl.git/blob/maint-5.10:/sv.h * http://perl5.git.perl.org/perl.git/blob/maint-5.12:/sv.h Соответственно (даже если ошибки не возникает при компиляции), ваш модуль очень вероятно работает неправильно (это конечно сильно зависит, от того что именно делается под case...).
> > я чет подустал бороться с этой BSD все у нее не так как у людей. можно ли > модуль как-то пометить что он "не для BSD"? В Makefile.PL всегда можно написать: die "Only for Linux, because i am lazy to support other OSes" unless ($^O eq 'linux'); > > > -- > Moscow.pm mailing list > [email protected] | http://moscow.pm.org > > -- Vladimir Timofeev <[email protected]> -- Moscow.pm mailing list [email protected] | http://moscow.pm.org
