[xsde-users] Compiling xsd/e generated code with gcc 5.4
--std=C++11
Markus
mortimer at vollbio.de
Thu Oct 4 05:03:42 EDT 2018
Hi Boris,
thanks for your immediate response and sorry for my delayed answer.
In the meantime, I could fix my problem easily. It turned out that we
had unnecessary java-like initializations of local variables in the user
code, for example
xml::journal_paggr jpaggr
= xml::journal_paggr();
xml::document_pimpl doc_p
= xml::document_pimpl doc_p(
jpaggr.root_parser(), jpaggr.root_name());
that seem to rely on auto-generated constructors and assignment
operators. No problem for the old msvc 2010 compiler but obviously for
gcc that implements the C++11 rules for automatic generation of
constructors and assignment operators (if enabled).
For a future release it might be helpful to decide whether you want to
support this kind of copy & assignment - or you could explicitly forbit
it by making the relevant constructors and operators private.
Thanks again for help!
Best regards
Markus
Am 25.09.2018 um 05:33 schrieb Boris Kolpackov:
> mortimer at vollbio.de <mortimer at vollbio.de> writes:
>
>> /home/markus/xsde-3.2.0-i686-linux-gnu/libxsde/xsde/cxx/parser/state.hxx:22:14:
>> note: ‘xsde::cxx::parser::parser_stack::parser_stack(xsde::cxx::parser::parser_stack&&)’
>> is implicitly deleted because the default definition would be ill-formed:
>> struct parser_stack
>>
>> /home/markus/xsde-3.2.0-i686-linux-gnu/libxsde/xsde/cxx/stack.hxx:34:7:
>> error: ‘xsde::cxx::stack::stack(xsde::cxx::stack&)’ is private
>> stack (stack&);
>>
>> /home/markus/xsde-3.2.0-i686-linux-gnu/libxsde/xsde/cxx/parser/state.hxx:22:14:
>> error: invalid initialization of non-const reference of type
>> ‘xsde::cxx::stack&’ from an rvalue of type ‘xsde::cxx::stack’
>
> This is strange. Is there more context to this error? That is, where
> was this definition needed?
>
> Also, if you are interested, you can try the latest available pre-release:
>
> https://codesynthesis.com/~boris/tmp/xsde/
>
More information about the xsde-users
mailing list