Skip to content

What are the compiler requirements? #7

@AlbertoGP

Description

@AlbertoGP

Hi, just trying this out but the compilers I have installed do not work:

clang 12.0.1

$ make
# precompiling header source/include/precompile.h
# compiling pch
  source/watch/watch.cpp
  source/tree/wrapped_line.cpp
In file included from source/tree/wrapped_line.cpp:5:
In file included from source/include/tree/base.h:8:
In file included from source/include/sap/style.h:11:
source/include/sap/colour.h:79:11: error: expected unqualified-id
                                using enum Type;
                                      ^
source/include/sap/colour.h:80:10: error: 'RGB' does not refer to a value
                                case RGB: return m_rgb == other.m_rgb;
                                     ^
source/include/sap/colour.h:17:10: note: declared here
                struct RGB
                       ^
source/include/sap/colour.h:81:10: error: 'CMYK' does not refer to a value
                                case CMYK: return m_cmyk == other.m_cmyk;
                                     ^
source/include/sap/colour.h:27:10: note: declared here
                struct CMYK
                       ^
3 errors generated.

gcc 10

$ make
  source/tree/wrapped_line.cpp
In file included from source/include/defs.h:15,
                 from ./build/source/include/precompile.h:28,
                 from <command-line>:
source/include/units.h:349:35: error: extra ';' [-Werror=pedantic]
  349 | DEFINE_UNIT(millimetre, 1.0, void);
      |                                   ^
source/include/units.h:350:36: error: extra ';' [-Werror=pedantic]
  350 | DEFINE_UNIT(centimetre, 10.0, void);
      |                                    ^
In file included from ./build/source/include/precompile.h:30,
                 from <command-line>:
source/include/util.h:36:55: error: could not convert 'std::endian::big' from 'std::endian' to 'zst::impl::endian'
   36 |  using big_endian_span = zst::span<T, std::endian::big>;
      |                                                       ^
source/include/util.h:36:31: error: '<expression error>' in namespace 'zst' does not name a type
   36 |  using big_endian_span = zst::span<T, std::endian::big>;
      |                               ^~~~~~~~~~~~~~~~~~~~~~~~~
In file included from source/include/sap/style.h:11,
                 from source/include/tree/base.h:8,
                 from source/tree/wrapped_line.cpp:5:
source/include/sap/colour.h: In member function 'constexpr bool sap::Colour::operator==(const sap::Colour&) const':
source/include/sap/colour.h:79:11: error: expected nested-name-specifier before 'enum'
   79 |     using enum Type;
      |           ^~~~
source/include/sap/colour.h:80:13: error: expected primary-expression before ':' token
   80 |     case RGB: return m_rgb == other.m_rgb;
      |             ^
source/include/sap/colour.h:81:14: error: expected primary-expression before ':' token
   81 |     case CMYK: return m_cmyk == other.m_cmyk;
      |              ^
source/include/sap/colour.h:77:10: error: enumeration value 'RGB' not handled in switch [-Werror=switch]
   77 |    switch(m_type)
      |          ^
source/include/sap/colour.h:77:10: error: enumeration value 'CMYK' not handled in switch [-Werror=switch]
cc1plus: all warnings being treated as errors
make: *** [Makefile:150: build/source/tree/wrapped_line.cpp.o] Error 1

gcc 11

$ make
  source/tree/wrapped_line.cpp
In file included from source/include/sap/style.h:11,
                 from source/include/tree/base.h:8,
                 from source/tree/wrapped_line.cpp:5:
source/include/sap/colour.h: In static member function ‘static constexpr sap::Colour sap::Colour::rgb(double, double, double)’:
source/include/sap/colour.h:50:25: error: ‘sap::Colour::<unnamed union>’ has no non-static data member named ‘r’
   50 |                         };
      |                         ^
source/include/sap/colour.h: In static member function ‘static constexpr sap::Colour sap::Colour::cmyk(double, double, double, double)’:
source/include/sap/colour.h:58:25: error: ‘sap::Colour::<unnamed union>’ has no non-static data member named ‘c’
   58 |                         };
      |                         ^
source/include/sap/colour.h: In static member function ‘static constexpr sap::Colour sap::Colour::grey(double)’:
source/include/sap/colour.h:66:25: error: ‘sap::Colour::<unnamed union>’ has no non-static data member named ‘c’
   66 |                         };
      |                         ^
make: *** [Makefile:150: build/source/tree/wrapped_line.cpp.o] Error 1

Those are old compilers so it’s reasonable to require a more recent one, but I’d like to know which one would work.

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