Re: Possible regression in boost 1.61
Joel de Guzman <[email protected]>
| Newsgroups | gmane.comp.parsers.spirit.general |
|---|---|
| Message-ID | <[email protected]> |
On 25/05/2016 5:57 PM, Peter Gerell wrote:
>> What's the exact type of start_rule() and what is the type from the linker error and what's the difference?
>
> This is the linker error I get, I have replaced the hard to read iterator type and removed boost::spirit:: prefixes.
>
> common.cpp.o: In function `bool x3::rule<count_class, ast::Count, false>::parse<iterator, x3::unused_type, ast::Start>(terator&, iterator const&, x3::unused_type const&, x3::unused_type, ast::Start&) const':
> rule.hpp:116: undefined reference to `bool parse_rule<iterator, x3::unused_type, ast::Start>(x3::rule<count_class, ast::Count, false>, iterator&, iterator const&, x3::unused_type const&, ast::Start&)'
>
> Notice the mix of ast::Count and ast::Start.
>
> The following parse_rule does exist in expression.cpp.o but for some reason this is not used.
> bool parse_rule<iterator, x3::unused_type, ast::Count>(x3::rule<count_class, ast::Count, false>, iterator&, iterator const&, x3::unused_type const&, ast::Count&)
>
> I can make the error go away by changing
> using count_type = x3::rule<count_class, ast::Count>;
> to
> using count_type = x3::rule<count_class, ast::Start>;
>
> However this breaks the original application in other ways as other rules still tries to call
> bool parse_rule<iterator, x3::unused_type, ast::Count>(x3::rule<count_class, ast::Count, false>, iterator&, iterator const&, x3::unused_type const&, ast::Count&)
> which no longer exist.
Can you try to emit the actual type of start_rule() so we can compare?
Maybe by doing something like:
int x = start_rule();
which will give you an error message with the type returned by start_rule().
Cheers,
--
Joel de Guzman
http://www.ciere.com
http://boost-spirit.com
http://www.cycfi.com/
------------------------------------------------------------------------------
Mobile security can be enabling, not merely restricting. Employees who
bring their own devices (BYOD) to work are irked by the imposition of MDM
restrictions. Mobile Device Manager Plus allows you to control only the
apps on BYO-devices by containerizing them, leaving personal data untouched!
https://ad.doubleclick.net/ddm/clk/304595813;131938128;j