Skip to content

fseq.cpp doesn't compile with g++ #5

Description

@nickbailey

I fully understand you're targeting clang++ but everything else compiles with g++ -std=c++17 -fno-exceptions -fno-rtti -nodefaultlibs -fPIC -O2 -c -o ...

g++ (version 8.3.0) dislikes some templates:

fseq.cpp:830:26: error: could not convert ‘ss.F::_SeqSingle::t[0]’ from ‘const Tree’ {aka ‘const F::Union<F::_Boxed<F::_FragHeader>, F::Tree2, F::Tree3>’} to ‘F::Frag’ {aka ‘F::_Boxed<F::_FragHeader>’}
             return ss.t[0];

etc. Maybe it's just a case of selecting the right field in the union? It should return the first one, I guess? Or is it that the const qualifier is dropped? I found the definition of Union in fvalue.h but it's not obvious to me how it works yet.

Maybe you don't mind about g++ compatibility, but it would certainly increase your user-base among those for whom it's not easy to install clang.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions