Re: Linking error when changing > to >>

Seth <[email protected]>
Newsgroups gmane.comp.parsers.spirit.general
Message-ID <[email protected]>
On 12-11-16 23:14, Seth wrote:
> On 11-11-16 21:06, Exagon wrote:
>> So I think it has something to do with the type parser.
>> Maybe I did something wrong, please correct me if I did anything anywhere in
>> this example I shouldnt do when using boost spirit x3.
>> I spoke to Joel before to ask whether I could expect such a behaviour in
>> spirit x3 and he said no, so I think this is a bug.
> FWIW I tried to look into this with the bag-of-tricks I know for this
>
>  * It's not about attribute synthesis AFAICT (using semantic actions to
> sense the synthesized attributes confirms identical types).
>
> The linker error indicates that it is trying to invoke the `type` rule
> with the attribute bound to a fusion iterator, instead of the actual
> object. It's interesting that this works when compiling single-TU.
>
> This would mean that this is supported but a forgotten usage-patten of
> `parse_rule` which needs to be added to the macros for explicit
> instantiation?
>
>
> $0.02
>
> Seth

After (much) more tinkering, indeed the problem seems to be that
`call_rule_definition` is called from inside `parse_rule`.

However, the attribute transformation on the partitioned fusion
sequences (iterator ranges) happen only inside `call_rule_definition`.
Turns out, this is simply too late, because that means for TU-separation
we need to anticipate all the different ActualAttribute types that might
be passed to `parse_rule`.

We might be able to move the attribute transformation into the
`parse_rule` stub - although I'm sure there could be a more elegant solution

$0.03
Seth


------------------------------------------------------------------------------
Developer Access Program for Intel Xeon Phi Processors
Access to Intel Xeon Phi processor-based developer platforms.
With one year of Intel Parallel Studio XE.
Training and support from Colfax.
Order your platform today. http://sdm.link/xeonphi
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.