Skip to content

safeint fails to build with gcc-13 #55

@daissi

Description

@daissi

Hi,

I maintain the debian package of safeint, but since Debian/unstable switched its default compiler to gcc-13, safeint fails to build (at least CompileTest) as reported in #1042152. I thought at first it was because of some compilation flags injected by the debian build system, but it also fails with a simple cmake . && make although the errors seem different:

[  1%] Building CXX object Test/GccTest/CMakeFiles/SafeIntTest_gcc.dir/__/AddVerify.cpp.o
[  2%] Building CXX object Test/GccTest/CMakeFiles/SafeIntTest_gcc.dir/__/AddTestCase.cpp.o
[  4%] Building CXX object Test/GccTest/CMakeFiles/SafeIntTest_gcc.dir/__/CastVerify.cpp.o
[  5%] Building CXX object Test/GccTest/CMakeFiles/SafeIntTest_gcc.dir/__/DivVerify.cpp.o
[  6%] Building CXX object Test/GccTest/CMakeFiles/SafeIntTest_gcc.dir/__/DivTestCase.cpp.o
[  8%] Building CXX object Test/GccTest/CMakeFiles/SafeIntTest_gcc.dir/__/IncDecVerify.cpp.o
[  9%] Building CXX object Test/GccTest/CMakeFiles/SafeIntTest_gcc.dir/__/ModVerify.cpp.o
[ 11%] Building CXX object Test/GccTest/CMakeFiles/SafeIntTest_gcc.dir/__/MultVerify.cpp.o
[ 12%] Building CXX object Test/GccTest/CMakeFiles/SafeIntTest_gcc.dir/__/MultTestCase.cpp.o
[ 13%] Building CXX object Test/GccTest/CMakeFiles/SafeIntTest_gcc.dir/__/SubVerify.cpp.o
[ 15%] Building CXX object Test/GccTest/CMakeFiles/SafeIntTest_gcc.dir/__/SubTestCase.cpp.o
[ 16%] Building CXX object Test/GccTest/CMakeFiles/SafeIntTest_gcc.dir/__/TestMain.cpp.o
[ 18%] Linking CXX executable SafeIntTest_gcc
[ 18%] Built target SafeIntTest_gcc
[ 19%] Building CXX object Test/GccTest/CMakeFiles/SafeIntTest_gcc_NoIntrinsic.dir/__/AddVerify.cpp.o
[ 20%] Building CXX object Test/GccTest/CMakeFiles/SafeIntTest_gcc_NoIntrinsic.dir/__/AddTestCase.cpp.o
[ 22%] Building CXX object Test/GccTest/CMakeFiles/SafeIntTest_gcc_NoIntrinsic.dir/__/CastVerify.cpp.o
[ 23%] Building CXX object Test/GccTest/CMakeFiles/SafeIntTest_gcc_NoIntrinsic.dir/__/DivVerify.cpp.o
[ 25%] Building CXX object Test/GccTest/CMakeFiles/SafeIntTest_gcc_NoIntrinsic.dir/__/DivTestCase.cpp.o
[ 26%] Building CXX object Test/GccTest/CMakeFiles/SafeIntTest_gcc_NoIntrinsic.dir/__/IncDecVerify.cpp.o
[ 27%] Building CXX object Test/GccTest/CMakeFiles/SafeIntTest_gcc_NoIntrinsic.dir/__/ModVerify.cpp.o
[ 29%] Building CXX object Test/GccTest/CMakeFiles/SafeIntTest_gcc_NoIntrinsic.dir/__/MultVerify.cpp.o
[ 30%] Building CXX object Test/GccTest/CMakeFiles/SafeIntTest_gcc_NoIntrinsic.dir/__/MultTestCase.cpp.o
[ 31%] Building CXX object Test/GccTest/CMakeFiles/SafeIntTest_gcc_NoIntrinsic.dir/__/SubVerify.cpp.o
[ 33%] Building CXX object Test/GccTest/CMakeFiles/SafeIntTest_gcc_NoIntrinsic.dir/__/SubTestCase.cpp.o
[ 34%] Building CXX object Test/GccTest/CMakeFiles/SafeIntTest_gcc_NoIntrinsic.dir/__/TestMain.cpp.o
[ 36%] Linking CXX executable SafeIntTest_gcc_NoIntrinsic
[ 36%] Built target SafeIntTest_gcc_NoIntrinsic
[ 37%] Building CXX object Test/GccTest/CMakeFiles/SafeIntTest_gcc_NoInt128.dir/__/AddVerify.cpp.o
[ 38%] Building CXX object Test/GccTest/CMakeFiles/SafeIntTest_gcc_NoInt128.dir/__/AddTestCase.cpp.o
[ 40%] Building CXX object Test/GccTest/CMakeFiles/SafeIntTest_gcc_NoInt128.dir/__/CastVerify.cpp.o
[ 41%] Building CXX object Test/GccTest/CMakeFiles/SafeIntTest_gcc_NoInt128.dir/__/DivVerify.cpp.o
[ 43%] Building CXX object Test/GccTest/CMakeFiles/SafeIntTest_gcc_NoInt128.dir/__/DivTestCase.cpp.o
[ 44%] Building CXX object Test/GccTest/CMakeFiles/SafeIntTest_gcc_NoInt128.dir/__/IncDecVerify.cpp.o
[ 45%] Building CXX object Test/GccTest/CMakeFiles/SafeIntTest_gcc_NoInt128.dir/__/ModVerify.cpp.o
[ 47%] Building CXX object Test/GccTest/CMakeFiles/SafeIntTest_gcc_NoInt128.dir/__/MultVerify.cpp.o
[ 48%] Building CXX object Test/GccTest/CMakeFiles/SafeIntTest_gcc_NoInt128.dir/__/MultTestCase.cpp.o
[ 50%] Building CXX object Test/GccTest/CMakeFiles/SafeIntTest_gcc_NoInt128.dir/__/SubVerify.cpp.o
[ 51%] Building CXX object Test/GccTest/CMakeFiles/SafeIntTest_gcc_NoInt128.dir/__/SubTestCase.cpp.o
[ 52%] Building CXX object Test/GccTest/CMakeFiles/SafeIntTest_gcc_NoInt128.dir/__/TestMain.cpp.o
[ 54%] Linking CXX executable SafeIntTest_gcc_NoInt128
[ 54%] Built target SafeIntTest_gcc_NoInt128
[ 55%] Building CXX object Test/GccTest/CMakeFiles/CompileTest_gcc.dir/__/CompileTest.cpp.o
[ 56%] Building CXX object Test/GccTest/CMakeFiles/CompileTest_gcc.dir/__/ConstExpr.cpp.o
[ 58%] Building CXX object Test/GccTest/CMakeFiles/CompileTest_gcc.dir/__/CleanCompile.cpp.o
[ 59%] Linking CXX executable CompileTest_gcc
[ 59%] Built target CompileTest_gcc
[ 61%] Building CXX object Test/GccTest/CMakeFiles/CompileTest_gcc17.dir/__/CompileTest.cpp.o
In file included from /usr/include/c++/13/cstdint:38,
                 from /home/foo/Downloads/safeint-3.0.28a+dfsg/Test/../SafeInt.hpp:209,
                 from /home/foo/Downloads/safeint-3.0.28a+dfsg/Test/CompileTest.cpp:13:
/usr/include/c++/13/initializer_list: In function ‘void MoveRegression()’:
/usr/include/c++/13/initializer_list:41:15: error: expected ‘=’ before ‘__attribute__’
   41 | namespace std _GLIBCXX_VISIBILITY(default)
      |               ^~~~~~~~~~~~~~~~~~~
/usr/include/c++/13/initializer_list:41:15: error: expected identifier before ‘__attribute__’
In file included from /usr/include/c++/13/variant:36,
                 from /home/foo/Downloads/safeint-3.0.28a+dfsg/Test/CompileTest.cpp:263:
/usr/include/c++/13/initializer_list:41:14: error: expected ‘;’ before ‘__attribute__’
   41 | namespace std _GLIBCXX_VISIBILITY(default)
      |              ^
      |              ;
/usr/include/c++/13/initializer_list:42:1: error: expected primary-expression before ‘{’ token
   42 | {
      | ^
/usr/include/c++/13/bits/enable_special_members.h:37:15: error: expected ‘=’ before ‘__attribute__’
   37 | namespace std _GLIBCXX_VISIBILITY(default)
      |               ^~~~~~~~~~~~~~~~~~~
/usr/include/c++/13/bits/enable_special_members.h:37:15: error: expected identifier before ‘__attribute__’
In file included from /usr/include/c++/13/variant:38:
/usr/include/c++/13/bits/enable_special_members.h:37:14: error: expected ‘;’ before ‘__attribute__’
   37 | namespace std _GLIBCXX_VISIBILITY(default)
      |              ^
      |              ;
/usr/include/c++/13/bits/enable_special_members.h:38:1: error: expected primary-expression before ‘{’ token
   38 | {
      | ^
In file included from /usr/include/c++/13/bits/functional_hash.h:36,
                 from /usr/include/c++/13/variant:40:
/usr/include/c++/13/bits/hash_bytes.h:37:1: error: ‘namespace’ definition is not allowed here
   37 | namespace std
      | ^~~~~~~~~
/usr/include/c++/13/bits/functional_hash.h:38:15: error: expected ‘=’ before ‘__attribute__’
   38 | namespace std _GLIBCXX_VISIBILITY(default)
      |               ^~~~~~~~~~~~~~~~~~~
/usr/include/c++/13/bits/functional_hash.h:38:15: error: expected identifier before ‘__attribute__’
/usr/include/c++/13/bits/functional_hash.h:38:14: error: expected ‘;’ before ‘__attribute__’
   38 | namespace std _GLIBCXX_VISIBILITY(default)
      |              ^
      |              ;
/usr/include/c++/13/bits/functional_hash.h:39:1: error: expected primary-expression before ‘{’ token
   39 | {
      | ^
/usr/include/c++/13/bits/invoke.h:42:15: error: expected ‘=’ before ‘__attribute__’
   42 | namespace std _GLIBCXX_VISIBILITY(default)
      |               ^~~~~~~~~~~~~~~~~~~
/usr/include/c++/13/bits/invoke.h:42:15: error: expected identifier before ‘__attribute__’
In file included from /usr/include/c++/13/variant:41:
/usr/include/c++/13/bits/invoke.h:42:14: error: expected ‘;’ before ‘__attribute__’
   42 | namespace std _GLIBCXX_VISIBILITY(default)
      |              ^
      |              ;
/usr/include/c++/13/bits/invoke.h:43:1: error: expected primary-expression before ‘{’ token
   43 | {
      | ^
/usr/include/c++/13/bits/parse_numbers.h:42:15: error: expected ‘=’ before ‘__attribute__’
   42 | namespace std _GLIBCXX_VISIBILITY(default)
      |               ^~~~~~~~~~~~~~~~~~~
/usr/include/c++/13/bits/parse_numbers.h:42:15: error: expected identifier before ‘__attribute__’
In file included from /usr/include/c++/13/variant:42:
/usr/include/c++/13/bits/parse_numbers.h:42:14: error: expected ‘;’ before ‘__attribute__’
   42 | namespace std _GLIBCXX_VISIBILITY(default)
      |              ^
      |              ;
/usr/include/c++/13/bits/parse_numbers.h:43:1: error: expected primary-expression before ‘{’ token
   43 | {
      | ^
In file included from /usr/include/c++/13/new:41,
                 from /usr/include/c++/13/bits/stl_construct.h:59,
                 from /usr/include/c++/13/variant:44:
/usr/include/c++/13/bits/exception.h:38:8: error: expected unqualified-id before string constant
   38 | extern "C++" {
      |        ^~~~~
/usr/include/c++/13/new:45:8: error: expected unqualified-id before string constant
   45 | extern "C++" {
      |        ^~~~~
/usr/include/c++/13/new:186:1: error: ‘namespace’ definition is not allowed here
  186 | namespace std
      | ^~~~~~~~~
/usr/include/c++/13/bits/stl_construct.h:73:15: error: expected ‘=’ before ‘__attribute__’
   73 | namespace std _GLIBCXX_VISIBILITY(default)
      |               ^~~~~~~~~~~~~~~~~~~
/usr/include/c++/13/bits/stl_construct.h:73:15: error: expected identifier before ‘__attribute__’
/usr/include/c++/13/bits/stl_construct.h:73:14: error: expected ‘;’ before ‘__attribute__’
   73 | namespace std _GLIBCXX_VISIBILITY(default)
      |              ^
      |              ;
/usr/include/c++/13/bits/stl_construct.h:74:1: error: expected primary-expression before ‘{’ token
   74 | {
      | ^
In file included from /usr/include/c++/13/variant:54:
/usr/include/c++/13/ext/aligned_buffer.h:40:1: error: ‘namespace’ definition is not allowed here
   40 | namespace __gnu_cxx
      | ^~~~~~~~~
/usr/include/c++/13/variant:58:15: error: expected ‘=’ before ‘__attribute__’
   58 | namespace std _GLIBCXX_VISIBILITY(default)
      |               ^~~~~~~~~~~~~~~~~~~
/usr/include/c++/13/variant:58:15: error: expected identifier before ‘__attribute__’
/usr/include/c++/13/variant:58:14: error: expected ‘;’ before ‘__attribute__’
   58 | namespace std _GLIBCXX_VISIBILITY(default)
      |              ^
      |              ;
/usr/include/c++/13/variant:59:1: error: expected primary-expression before ‘{’ token
   59 | {
      | ^
/usr/include/c++/13/bits/memoryfwd.h:50:15: error: expected ‘=’ before ‘__attribute__’
   50 | namespace std _GLIBCXX_VISIBILITY(default)
      |               ^~~~~~~~~~~~~~~~~~~
/usr/include/c++/13/bits/memoryfwd.h:50:15: error: expected identifier before ‘__attribute__’
In file included from /usr/include/c++/13/bits/stringfwd.h:40,
                 from /usr/include/c++/13/string:41,
                 from /home/foo/Downloads/safeint-3.0.28a+dfsg/Test/CompileTest.cpp:264:
/usr/include/c++/13/bits/memoryfwd.h:50:14: error: expected ‘;’ before ‘__attribute__’
   50 | namespace std _GLIBCXX_VISIBILITY(default)
      |              ^
      |              ;
/usr/include/c++/13/bits/memoryfwd.h:51:1: error: expected primary-expression before ‘{’ token
   51 | {
      | ^
/usr/include/c++/13/bits/stringfwd.h:42:15: error: expected ‘=’ before ‘__attribute__’
   42 | namespace std _GLIBCXX_VISIBILITY(default)
      |               ^~~~~~~~~~~~~~~~~~~
/usr/include/c++/13/bits/stringfwd.h:42:15: error: expected identifier before ‘__attribute__’
/usr/include/c++/13/bits/stringfwd.h:42:14: error: expected ‘;’ before ‘__attribute__’
   42 | namespace std _GLIBCXX_VISIBILITY(default)
      |              ^
      |              ;
/usr/include/c++/13/bits/stringfwd.h:43:1: error: expected primary-expression before ‘{’ token
   43 | {
      | ^
In file included from /usr/include/features.h:490,
                 from /usr/include/x86_64-linux-gnu/c++/13/bits/os_defines.h:39,
                 from /usr/include/x86_64-linux-gnu/c++/13/bits/c++config.h:679:
/usr/include/wchar.h:79:1: error: expected unqualified-id before string constant
   79 | __BEGIN_DECLS
      | ^~~~~~~~~~~~~
In file included from /usr/include/c++/13/bits/postypes.h:40,
                 from /usr/include/c++/13/bits/char_traits.h:42,
                 from /usr/include/c++/13/string:42:
/usr/include/c++/13/cwchar:62:1: error: ‘namespace’ definition is not allowed here
   62 | namespace std
      | ^~~~~~~~~
/usr/include/c++/13/cwchar:135:8: error: expected unqualified-id before string constant
  135 | extern "C++"
      |        ^~~~~
/usr/include/c++/13/cwchar:244:1: error: ‘namespace’ definition is not allowed here
  244 | namespace __gnu_cxx
      | ^~~~~~~~~
/usr/include/c++/13/cwchar:265:1: error: ‘namespace’ definition is not allowed here
  265 | namespace std
      | ^~~~~~~~~
/usr/include/c++/13/cwchar:280:1: error: ‘namespace’ definition is not allowed here
  280 | namespace std
      | ^~~~~~~~~
/usr/include/c++/13/bits/postypes.h:42:15: error: expected ‘=’ before ‘__attribute__’
   42 | namespace std _GLIBCXX_VISIBILITY(default)
      |               ^~~~~~~~~~~~~~~~~~~
/usr/include/c++/13/bits/postypes.h:42:15: error: expected identifier before ‘__attribute__’
/usr/include/c++/13/bits/postypes.h:42:14: error: expected ‘;’ before ‘__attribute__’
   42 | namespace std _GLIBCXX_VISIBILITY(default)
      |              ^
      |              ;
/usr/include/c++/13/bits/postypes.h:43:1: error: expected primary-expression before ‘{’ token
   43 | {
      | ^
/usr/include/c++/13/bits/char_traits.h:64:21: error: expected ‘=’ before ‘__attribute__’
   64 | namespace __gnu_cxx _GLIBCXX_VISIBILITY(default)
      |                     ^~~~~~~~~~~~~~~~~~~
/usr/include/c++/13/bits/char_traits.h:64:21: error: expected identifier before ‘__attribute__’
/usr/include/c++/13/bits/char_traits.h:64:20: error: expected ‘;’ before ‘__attribute__’
   64 | namespace __gnu_cxx _GLIBCXX_VISIBILITY(default)
      |                    ^
      |                    ;
/usr/include/c++/13/bits/char_traits.h:65:1: error: expected primary-expression before ‘{’ token
   65 | {
      | ^
/usr/include/c++/13/bits/char_traits.h:315:15: error: expected ‘=’ before ‘__attribute__’
  315 | namespace std _GLIBCXX_VISIBILITY(default)
      |               ^~~~~~~~~~~~~~~~~~~
/usr/include/c++/13/bits/char_traits.h:315:15: error: expected identifier before ‘__attribute__’
/usr/include/c++/13/bits/char_traits.h:315:14: error: expected ‘;’ before ‘__attribute__’
  315 | namespace std _GLIBCXX_VISIBILITY(default)
      |              ^
      |              ;
/usr/include/c++/13/bits/char_traits.h:316:1: error: expected primary-expression before ‘{’ token
  316 | {
      | ^
/usr/include/c++/13/bits/char_traits.h:755:15: error: expected ‘=’ before ‘__attribute__’
  755 | namespace std _GLIBCXX_VISIBILITY(default)
      |               ^~~~~~~~~~~~~~~~~~~
/usr/include/c++/13/bits/char_traits.h:755:15: error: expected identifier before ‘__attribute__’
/usr/include/c++/13/bits/char_traits.h:755:14: error: expected ‘;’ before ‘__attribute__’
  755 | namespace std _GLIBCXX_VISIBILITY(default)
      |              ^
      |              ;
/usr/include/c++/13/bits/char_traits.h:756:1: error: expected primary-expression before ‘{’ token
  756 | {
      | ^
/usr/include/c++/13/bits/new_allocator.h:41:15: error: expected ‘=’ before ‘__attribute__’
   41 | namespace std _GLIBCXX_VISIBILITY(default)
      |               ^~~~~~~~~~~~~~~~~~~
/usr/include/c++/13/bits/new_allocator.h:41:15: error: expected identifier before ‘__attribute__’
In file included from /usr/include/x86_64-linux-gnu/c++/13/bits/c++allocator.h:33,
                 from /usr/include/c++/13/bits/allocator.h:46,
                 from /usr/include/c++/13/string:43:
/usr/include/c++/13/bits/new_allocator.h:41:14: error: expected ‘;’ before ‘__attribute__’
   41 | namespace std _GLIBCXX_VISIBILITY(default)
      |              ^
      |              ;
/usr/include/c++/13/bits/new_allocator.h:42:1: error: expected primary-expression before ‘{’ token
   42 | {
      | ^
/usr/include/x86_64-linux-gnu/c++/13/bits/c++allocator.h:36:1: error: ‘namespace’ definition is not allowed here
   36 | namespace std
      | ^~~~~~~~~
/usr/include/c++/13/bits/allocator.h:54:15: error: expected ‘=’ before ‘__attribute__’
   54 | namespace std _GLIBCXX_VISIBILITY(default)
      |               ^~~~~~~~~~~~~~~~~~~
/usr/include/c++/13/bits/allocator.h:54:15: error: expected identifier before ‘__attribute__’
/usr/include/c++/13/bits/allocator.h:54:14: error: expected ‘;’ before ‘__attribute__’
   54 | namespace std _GLIBCXX_VISIBILITY(default)
      |              ^
      |              ;
/usr/include/c++/13/bits/allocator.h:55:1: error: expected primary-expression before ‘{’ token
   55 | {
      | ^
/usr/include/locale.h:31:1: error: expected unqualified-id before string constant
   31 | __BEGIN_DECLS
      | ^~~~~~~~~~~~~
In file included from /usr/include/x86_64-linux-gnu/c++/13/bits/c++locale.h:41,
                 from /usr/include/c++/13/bits/localefwd.h:40,
                 from /usr/include/c++/13/string:45:
/usr/include/c++/13/clocale:51:1: error: ‘namespace’ definition is not allowed here
   51 | namespace std
      | ^~~~~~~~~
/usr/include/x86_64-linux-gnu/c++/13/bits/c++locale.h:48:21: error: expected ‘=’ before ‘__attribute__’
   48 | namespace __gnu_cxx _GLIBCXX_VISIBILITY(default)
      |                     ^~~~~~~~~~~~~~~~~~~
/usr/include/x86_64-linux-gnu/c++/13/bits/c++locale.h:48:21: error: expected identifier before ‘__attribute__’
/usr/include/x86_64-linux-gnu/c++/13/bits/c++locale.h:48:20: error: expected ‘;’ before ‘__attribute__’
   48 | namespace __gnu_cxx _GLIBCXX_VISIBILITY(default)
      |                    ^
      |                    ;
/usr/include/x86_64-linux-gnu/c++/13/bits/c++locale.h:49:1: error: expected primary-expression before ‘{’ token
   49 | {
      | ^
/usr/include/x86_64-linux-gnu/c++/13/bits/c++locale.h:58:15: error: expected ‘=’ before ‘__attribute__’
   58 | namespace std _GLIBCXX_VISIBILITY(default)
      |               ^~~~~~~~~~~~~~~~~~~
/usr/include/x86_64-linux-gnu/c++/13/bits/c++locale.h:58:15: error: expected identifier before ‘__attribute__’
/usr/include/x86_64-linux-gnu/c++/13/bits/c++locale.h:58:14: error: expected ‘;’ before ‘__attribute__’
   58 | namespace std _GLIBCXX_VISIBILITY(default)
      |              ^
      |              ;
/usr/include/x86_64-linux-gnu/c++/13/bits/c++locale.h:59:1: error: expected primary-expression before ‘{’ token
   59 | {
      | ^
/usr/include/c++/13/iosfwd:44:15: error: expected ‘=’ before ‘__attribute__’
   44 | namespace std _GLIBCXX_VISIBILITY(default)
      |               ^~~~~~~~~~~~~~~~~~~
/usr/include/c++/13/iosfwd:44:15: error: expected identifier before ‘__attribute__’
In file included from /usr/include/c++/13/bits/localefwd.h:41:
/usr/include/c++/13/iosfwd:44:14: error: expected ‘;’ before ‘__attribute__’
   44 | namespace std _GLIBCXX_VISIBILITY(default)
      |              ^
      |              ;
/usr/include/c++/13/iosfwd:45:1: error: expected primary-expression before ‘{’ token
   45 | {
      | ^
/usr/include/ctype.h:28:1: error: expected unqualified-id before string constant
   28 | __BEGIN_DECLS
      | ^~~~~~~~~~~~~
In file included from /usr/include/c++/13/bits/localefwd.h:42:
/usr/include/c++/13/cctype:62:1: error: ‘namespace’ definition is not allowed here
   62 | namespace std
      | ^~~~~~~~~
/usr/include/c++/13/cctype:85:1: error: ‘namespace’ definition is not allowed here
   85 | namespace std
      | ^~~~~~~~~
/usr/include/c++/13/bits/localefwd.h:44:15: error: expected ‘=’ before ‘__attribute__’
   44 | namespace std _GLIBCXX_VISIBILITY(default)
      |               ^~~~~~~~~~~~~~~~~~~
/usr/include/c++/13/bits/localefwd.h:44:15: error: expected identifier before ‘__attribute__’
/usr/include/c++/13/bits/localefwd.h:44:14: error: expected ‘;’ before ‘__attribute__’
   44 | namespace std _GLIBCXX_VISIBILITY(default)
      |              ^
      |              ;
/usr/include/c++/13/bits/localefwd.h:45:1: error: expected primary-expression before ‘{’ token
   45 | {
      | ^
In file included from /usr/include/c++/13/bits/ostream_insert.h:36,
                 from /usr/include/c++/13/string:46:
/usr/include/c++/13/bits/cxxabi_forced.h:39:1: error: ‘namespace’ definition is not allowed here
   39 | namespace __cxxabiv1
      | ^~~~~~~~~
/usr/include/c++/13/bits/ostream_insert.h:39:15: error: expected ‘=’ before ‘__attribute__’
   39 | namespace std _GLIBCXX_VISIBILITY(default)
      |               ^~~~~~~~~~~~~~~~~~~
/usr/include/c++/13/bits/ostream_insert.h:39:15: error: expected identifier before ‘__attribute__’
/usr/include/c++/13/bits/ostream_insert.h:39:14: error: expected ‘;’ before ‘__attribute__’
   39 | namespace std _GLIBCXX_VISIBILITY(default)
      |              ^
      |              ;
/usr/include/c++/13/bits/ostream_insert.h:40:1: error: expected primary-expression before ‘{’ token
   40 | {
      | ^
/usr/include/c++/13/bits/stl_function.h:63:15: error: expected ‘=’ before ‘__attribute__’
   63 | namespace std _GLIBCXX_VISIBILITY(default)
      |               ^~~~~~~~~~~~~~~~~~~
/usr/include/c++/13/bits/stl_function.h:63:15: error: expected identifier before ‘__attribute__’
In file included from /usr/include/c++/13/string:49:
/usr/include/c++/13/bits/stl_function.h:63:14: error: expected ‘;’ before ‘__attribute__’
   63 | namespace std _GLIBCXX_VISIBILITY(default)
      |              ^
      |              ;
/usr/include/c++/13/bits/stl_function.h:64:1: error: expected primary-expression before ‘{’ token
   64 | {
      | ^
/usr/include/c++/13/backward/binders.h:63:15: error: expected ‘=’ before ‘__attribute__’
   63 | namespace std _GLIBCXX_VISIBILITY(default)
      |               ^~~~~~~~~~~~~~~~~~~
/usr/include/c++/13/backward/binders.h:63:15: error: expected identifier before ‘__attribute__’
In file included from /usr/include/c++/13/bits/stl_function.h:1438:
/usr/include/c++/13/backward/binders.h:63:14: error: expected ‘;’ before ‘__attribute__’
   63 | namespace std _GLIBCXX_VISIBILITY(default)
      |              ^
      |              ;
/usr/include/c++/13/backward/binders.h:64:1: error: expected primary-expression before ‘{’ token
   64 | {
      | ^
/usr/include/c++/13/bits/refwrap.h:41:15: error: expected ‘=’ before ‘__attribute__’
   41 | namespace std _GLIBCXX_VISIBILITY(default)
      |               ^~~~~~~~~~~~~~~~~~~
/usr/include/c++/13/bits/refwrap.h:41:15: error: expected identifier before ‘__attribute__’
In file included from /usr/include/c++/13/string:52:
/usr/include/c++/13/bits/refwrap.h:41:14: error: expected ‘;’ before ‘__attribute__’
   41 | namespace std _GLIBCXX_VISIBILITY(default)
      |              ^
      |              ;
/usr/include/c++/13/bits/refwrap.h:42:1: error: expected primary-expression before ‘{’ token
   42 | {
      | ^
/usr/include/c++/13/bits/range_access.h:40:15: error: expected ‘=’ before ‘__attribute__’
   40 | namespace std _GLIBCXX_VISIBILITY(default)
      |               ^~~~~~~~~~~~~~~~~~~
/usr/include/c++/13/bits/range_access.h:40:15: error: expected identifier before ‘__attribute__’
In file included from /usr/include/c++/13/string:53:
/usr/include/c++/13/bits/range_access.h:40:14: error: expected ‘;’ before ‘__attribute__’
   40 | namespace std _GLIBCXX_VISIBILITY(default)
      |              ^
      |              ;
/usr/include/c++/13/bits/range_access.h:41:1: error: expected primary-expression before ‘{’ token
   41 | {
      | ^
/usr/include/c++/13/bits/alloc_traits.h:43:15: error: expected ‘=’ before ‘__attribute__’
   43 | namespace std _GLIBCXX_VISIBILITY(default)
      |               ^~~~~~~~~~~~~~~~~~~
/usr/include/c++/13/bits/alloc_traits.h:43:15: error: expected identifier before ‘__attribute__’
In file included from /usr/include/c++/13/ext/alloc_traits.h:34,
                 from /usr/include/c++/13/bits/basic_string.h:39,
                 from /usr/include/c++/13/string:54:
/usr/include/c++/13/bits/alloc_traits.h:43:14: error: expected ‘;’ before ‘__attribute__’
   43 | namespace std _GLIBCXX_VISIBILITY(default)
      |              ^
      |              ;
/usr/include/c++/13/bits/alloc_traits.h:44:1: error: expected primary-expression before ‘{’ token
   44 | {
      | ^
/usr/include/c++/13/ext/alloc_traits.h:36:21: error: expected ‘=’ before ‘__attribute__’
   36 | namespace __gnu_cxx _GLIBCXX_VISIBILITY(default)
      |                     ^~~~~~~~~~~~~~~~~~~
/usr/include/c++/13/ext/alloc_traits.h:36:21: error: expected identifier before ‘__attribute__’
/usr/include/c++/13/ext/alloc_traits.h:36:20: error: expected ‘;’ before ‘__attribute__’
   36 | namespace __gnu_cxx _GLIBCXX_VISIBILITY(default)
      |                    ^
      |                    ;
/usr/include/c++/13/ext/alloc_traits.h:37:1: error: expected primary-expression before ‘{’ token
   37 | {
      | ^
/usr/include/c++/13/string_view:56:15: error: expected ‘=’ before ‘__attribute__’
   56 | namespace std _GLIBCXX_VISIBILITY(default)
      |               ^~~~~~~~~~~~~~~~~~~
/usr/include/c++/13/string_view:56:15: error: expected identifier before ‘__attribute__’
In file included from /usr/include/c++/13/bits/basic_string.h:47:
/usr/include/c++/13/string_view:56:14: error: expected ‘;’ before ‘__attribute__’
   56 | namespace std _GLIBCXX_VISIBILITY(default)
      |              ^
      |              ;
/usr/include/c++/13/string_view:57:1: error: expected primary-expression before ‘{’ token
   57 | {
      | ^
/usr/include/c++/13/bits/string_view.tcc:41:15: error: expected ‘=’ before ‘__attribute__’
   41 | namespace std _GLIBCXX_VISIBILITY(default)
      |               ^~~~~~~~~~~~~~~~~~~
/usr/include/c++/13/bits/string_view.tcc:41:15: error: expected identifier before ‘__attribute__’
In file included from /usr/include/c++/13/string_view:904:
/usr/include/c++/13/bits/string_view.tcc:41:14: error: expected ‘;’ before ‘__attribute__’
   41 | namespace std _GLIBCXX_VISIBILITY(default)
      |              ^
      |              ;
/usr/include/c++/13/bits/string_view.tcc:42:1: error: expected primary-expression before ‘{’ token
   42 | {
      | ^
/usr/include/c++/13/bits/basic_string.h:53:15: error: expected ‘=’ before ‘__attribute__’
   53 | namespace std _GLIBCXX_VISIBILITY(default)
      |               ^~~~~~~~~~~~~~~~~~~
/usr/include/c++/13/bits/basic_string.h:53:15: error: expected identifier before ‘__attribute__’
/usr/include/c++/13/bits/basic_string.h:53:14: error: expected ‘;’ before ‘__attribute__’
   53 | namespace std _GLIBCXX_VISIBILITY(default)
      |              ^
      |              ;
/usr/include/c++/13/bits/basic_string.h:54:1: error: expected primary-expression before ‘{’ token
   54 | {
      | ^
/usr/include/c++/13/bits/basic_string.h:3480:15: error: expected ‘=’ before ‘__attribute__’
 3480 | namespace std _GLIBCXX_VISIBILITY(default)
      |               ^~~~~~~~~~~~~~~~~~~
/usr/include/c++/13/bits/basic_string.h:3480:15: error: expected identifier before ‘__attribute__’
/usr/include/c++/13/bits/basic_string.h:3480:14: error: expected ‘;’ before ‘__attribute__’
 3480 | namespace std _GLIBCXX_VISIBILITY(default)
      |              ^
      |              ;
/usr/include/c++/13/bits/basic_string.h:3481:1: error: expected primary-expression before ‘{’ token
 3481 | {
      | ^
In file included from /usr/include/c++/13/ext/string_conversions.h:43,
                 from /usr/include/c++/13/bits/basic_string.h:4097:
/usr/include/c++/13/cstdlib:125:8: error: expected unqualified-id before string constant
  125 | extern "C++"
      |        ^~~~~
/usr/include/stdio.h:29:1: error: expected unqualified-id before string constant
   29 | __BEGIN_DECLS
      | ^~~~~~~~~~~~~
In file included from /usr/include/c++/13/ext/string_conversions.h:45:
/usr/include/c++/13/cstdio:96:1: error: ‘namespace’ definition is not allowed here
   96 | namespace std
      | ^~~~~~~~~
/usr/include/c++/13/cstdio:157:1: error: ‘namespace’ definition is not allowed here
  157 | namespace __gnu_cxx
      | ^~~~~~~~~
/usr/include/c++/13/cstdio:183:1: error: ‘namespace’ definition is not allowed here
  183 | namespace std
      | ^~~~~~~~~
/usr/include/errno.h:34:1: error: expected unqualified-id before string constant
   34 | __BEGIN_DECLS
      | ^~~~~~~~~~~~~
/usr/include/c++/13/ext/string_conversions.h:48:21: error: expected ‘=’ before ‘__attribute__’
   48 | namespace __gnu_cxx _GLIBCXX_VISIBILITY(default)
      |                     ^~~~~~~~~~~~~~~~~~~
/usr/include/c++/13/ext/string_conversions.h:48:21: error: expected identifier before ‘__attribute__’
/usr/include/c++/13/ext/string_conversions.h:48:20: error: expected ‘;’ before ‘__attribute__’
   48 | namespace __gnu_cxx _GLIBCXX_VISIBILITY(default)
      |                    ^
      |                    ;
/usr/include/c++/13/ext/string_conversions.h:49:1: error: expected primary-expression before ‘{’ token
   49 | {
      | ^
/usr/include/c++/13/bits/charconv.h:40:15: error: expected ‘=’ before ‘__attribute__’
   40 | namespace std _GLIBCXX_VISIBILITY(default)
      |               ^~~~~~~~~~~~~~~~~~~
/usr/include/c++/13/bits/charconv.h:40:15: error: expected identifier before ‘__attribute__’
In file included from /usr/include/c++/13/bits/basic_string.h:4098:
/usr/include/c++/13/bits/charconv.h:40:14: error: expected ‘;’ before ‘__attribute__’
   40 | namespace std _GLIBCXX_VISIBILITY(default)
      |              ^
      |              ;
/usr/include/c++/13/bits/charconv.h:41:1: error: expected primary-expression before ‘{’ token
   41 | {
      | ^
/usr/include/c++/13/bits/basic_string.h:4100:15: error: expected ‘=’ before ‘__attribute__’
 4100 | namespace std _GLIBCXX_VISIBILITY(default)
      |               ^~~~~~~~~~~~~~~~~~~
/usr/include/c++/13/bits/basic_string.h:4100:15: error: expected identifier before ‘__attribute__’
/usr/include/c++/13/bits/basic_string.h:4100:14: error: expected ‘;’ before ‘__attribute__’
 4100 | namespace std _GLIBCXX_VISIBILITY(default)
      |              ^
      |              ;
/usr/include/c++/13/bits/basic_string.h:4101:1: error: expected primary-expression before ‘{’ token
 4101 | {
      | ^
/usr/include/c++/13/bits/basic_string.h:4381:15: error: expected ‘=’ before ‘__attribute__’
 4381 | namespace std _GLIBCXX_VISIBILITY(default)
      |               ^~~~~~~~~~~~~~~~~~~
/usr/include/c++/13/bits/basic_string.h:4381:15: error: expected identifier before ‘__attribute__’
/usr/include/c++/13/bits/basic_string.h:4381:14: error: expected ‘;’ before ‘__attribute__’
 4381 | namespace std _GLIBCXX_VISIBILITY(default)
      |              ^
      |              ;
/usr/include/c++/13/bits/basic_string.h:4382:1: error: expected primary-expression before ‘{’ token
 4382 | {
      | ^
/usr/include/c++/13/bits/basic_string.tcc:46:15: error: expected ‘=’ before ‘__attribute__’
   46 | namespace std _GLIBCXX_VISIBILITY(default)
      |               ^~~~~~~~~~~~~~~~~~~
/usr/include/c++/13/bits/basic_string.tcc:46:15: error: expected identifier before ‘__attribute__’
In file included from /usr/include/c++/13/string:55:
/usr/include/c++/13/bits/basic_string.tcc:46:14: error: expected ‘;’ before ‘__attribute__’
   46 | namespace std _GLIBCXX_VISIBILITY(default)
      |              ^
      |              ;
/usr/include/c++/13/bits/basic_string.tcc:47:1: error: expected primary-expression before ‘{’ token
   47 | {
      | ^
/usr/include/c++/13/bits/uses_allocator.h:40:15: error: expected ‘=’ before ‘__attribute__’
   40 | namespace std _GLIBCXX_VISIBILITY(default)
      |               ^~~~~~~~~~~~~~~~~~~
/usr/include/c++/13/bits/uses_allocator.h:40:15: error: expected identifier before ‘__attribute__’
In file included from /usr/include/c++/13/bits/memory_resource.h:40,
                 from /usr/include/c++/13/string:58:
/usr/include/c++/13/bits/uses_allocator.h:40:14: error: expected ‘;’ before ‘__attribute__’
   40 | namespace std _GLIBCXX_VISIBILITY(default)
      |              ^
      |              ;
/usr/include/c++/13/bits/uses_allocator.h:41:1: error: expected primary-expression before ‘{’ token
   41 | {
      | ^
/usr/include/c++/13/tuple:48:15: error: expected ‘=’ before ‘__attribute__’
   48 | namespace std _GLIBCXX_VISIBILITY(default)
      |               ^~~~~~~~~~~~~~~~~~~
/usr/include/c++/13/tuple:48:15: error: expected identifier before ‘__attribute__’
In file included from /usr/include/c++/13/bits/memory_resource.h:47:
/usr/include/c++/13/tuple:48:14: error: expected ‘;’ before ‘__attribute__’
   48 | namespace std _GLIBCXX_VISIBILITY(default)
      |              ^
      |              ;
/usr/include/c++/13/tuple:49:1: error: expected primary-expression before ‘{’ token
   49 | {
      | ^
/usr/include/c++/13/bits/memory_resource.h:50:15: error: expected ‘=’ before ‘__attribute__’
   50 | namespace std _GLIBCXX_VISIBILITY(default)
      |               ^~~~~~~~~~~~~~~~~~~
/usr/include/c++/13/bits/memory_resource.h:50:15: error: expected identifier before ‘__attribute__’
/usr/include/c++/13/bits/memory_resource.h:50:14: error: expected ‘;’ before ‘__attribute__’
   50 | namespace std _GLIBCXX_VISIBILITY(default)
      |              ^
      |              ;
/usr/include/c++/13/bits/memory_resource.h:51:1: error: expected primary-expression before ‘{’ token
   51 | {
      | ^
/usr/include/c++/13/string:59:15: error: expected ‘=’ before ‘__attribute__’
   59 | namespace std _GLIBCXX_VISIBILITY(default)
      |               ^~~~~~~~~~~~~~~~~~~
/usr/include/c++/13/string:59:15: error: expected identifier before ‘__attribute__’
/usr/include/c++/13/string:59:14: error: expected ‘;’ before ‘__attribute__’
   59 | namespace std _GLIBCXX_VISIBILITY(default)
      |              ^
      |              ;
/usr/include/c++/13/string:60:1: error: expected primary-expression before ‘{’ token
   60 | {
      | ^
/home/foo/Downloads/safeint-3.0.28a+dfsg/Test/CompileTest.cpp:266:9: error: a template declaration cannot appear at block scope
  266 |         template<typename... T>
      |         ^~~~~~~~
/home/foo/Downloads/safeint-3.0.28a+dfsg/Test/CompileTest.cpp:281:9: error: ‘Union’ was not declared in this scope; did you mean ‘union’?
  281 |         Union<std::string, SafeInt<int64_t>> x;
      |         ^~~~~
      |         union
/home/foo/Downloads/safeint-3.0.28a+dfsg/Test/CompileTest.cpp:281:20: error: ‘string’ is not a member of ‘std’
  281 |         Union<std::string, SafeInt<int64_t>> x;
      |                    ^~~~~~
/home/foo/Downloads/safeint-3.0.28a+dfsg/Test/CompileTest.cpp:265:1: note: ‘std::string’ is defined in header ‘<string>’; did you forget to ‘#include <string>’?
  264 |         #include <string>
  +++ |+#include <string>
  265 | 
/home/foo/Downloads/safeint-3.0.28a+dfsg/Test/CompileTest.cpp:281:43: error: expected primary-expression before ‘>’ token
  281 |         Union<std::string, SafeInt<int64_t>> x;
      |                                           ^~
/home/foo/Downloads/safeint-3.0.28a+dfsg/Test/CompileTest.cpp:281:46: error: ‘x’ was not declared in this scope
  281 |         Union<std::string, SafeInt<int64_t>> x;
      |                                              ^
/home/foo/Downloads/safeint-3.0.28a+dfsg/Test/CompileTest.cpp:282:20: error: ‘string’ is not a member of ‘std’
  282 |         Union<std::string, SafeInt<int64_t>> y;
      |                    ^~~~~~
/home/foo/Downloads/safeint-3.0.28a+dfsg/Test/CompileTest.cpp:282:20: note: ‘std::string’ is defined in header ‘<string>’; did you forget to ‘#include <string>’?
/home/foo/Downloads/safeint-3.0.28a+dfsg/Test/CompileTest.cpp:282:43: error: expected primary-expression before ‘>’ token
  282 |         Union<std::string, SafeInt<int64_t>> y;
      |                                           ^~
/home/foo/Downloads/safeint-3.0.28a+dfsg/Test/CompileTest.cpp:282:46: error: ‘y’ was not declared in this scope; did you mean ‘yn’?
  282 |         Union<std::string, SafeInt<int64_t>> y;
      |                                              ^
      |                                              yn
make[2]: *** [Test/GccTest/CMakeFiles/CompileTest_gcc17.dir/build.make:76: Test/GccTest/CMakeFiles/CompileTest_gcc17.dir/__/CompileTest.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:238: Test/GccTest/CMakeFiles/CompileTest_gcc17.dir/all] Error 2
make: *** [Makefile:101: all] Error 2

Any idea how to fix that?

Best regards,
Dylan

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