skvadrik / re2c

Lexer generator for C, C++, Go and Rust.
https://re2c.org
Other
1.06k stars 169 forks source link

make failure for re2c #445

Closed ripspin5 closed 1 year ago

ripspin5 commented 1 year ago

Make failure: (see attached for full details)

xenial64-sda1:ba/initrd/mnt/dev_save/pool/git/re2c
make
  GEN      src/msg/help.cc
  GEN      src/parse/parser.cc
Reconfigure with --enable-parsers to regenerate src/parse/parser.cc
  GEN      src/parse/lex.cc
Reconfigure with --enable-lexers to regenerate src/parse/lex.cc
  GEN      src/msg/ver_to_vernum.cc
Reconfigure with --enable-lexers to regenerate src/msg/ver_to_vernum.cc
  GEN      src/parse/lex_conf.cc
Reconfigure with --enable-lexers to regenerate src/parse/lex_conf.cc
  GEN      src/options/parse_opts.cc
Reconfigure with --enable-lexers to regenerate src/options/parse_opts.cc
make  all-recursive
make[1]: Entering directory '/initrd/mnt/dev_save/pool/git/re2c'
Making all in .
make[2]: Entering directory '/initrd/mnt/dev_save/pool/git/re2c'
  CXX      src/main.o
In file included from src/main.cc:18:0:
./src/nfa/nfa.h:36:23: warning: ‘re2c::TnfaState::status’ is too small to hold all values of ‘enum class re2c::GorPass’
     GorPass status  : 2;  // GOR1: status (values 0, 1, 2)
                       ^
In file included from ./src/parse/input.h:16:0,
                 from src/main.cc:21:
../src/parse/parser.ypp:7:2: warning: extra ‘;’ [-Wpedantic]
  CXX      src/codegen/helpers.o
  CXX      src/codegen/output.o
  CXX      src/codegen/pass1_analyze.o
  CXX      src/codegen/pass2_generate.o
  CXX      src/codegen/pass3_fixup.o
  CXX      src/codegen/pass4_render.o
  CXX      src/options/opt.o
In file included from ./src/parse/input.h:16:0,
                 from src/options/opt.cc:3:
../src/parse/parser.ypp:7:2: warning: extra ‘;’ [-Wpedantic]
  CXX      src/options/symtab.o
In file included from ./src/parse/input.h:16:0,
                 from src/options/symtab.cc:3:
../src/parse/parser.ypp:7:2: warning: extra ‘;’ [-Wpedantic]
  CXX      src/nfa/re_to_nfa.o
In file included from src/nfa/re_to_nfa.cc:6:0:
./src/nfa/nfa.h:36:23: warning: ‘re2c::TnfaState::status’ is too small to hold all values of ‘enum class re2c::GorPass’
     GorPass status  : 2;  // GOR1: status (values 0, 1, 2)
                       ^
  CXX      src/adfa/adfa.o
  CXX      src/debug/dump_adfa.o
  CXX      src/debug/dump_cfg.o
  CXX      src/debug/dump_dfa.o
  CXX      src/debug/dump_dfa_tree.o
  CXX      src/debug/dump_interf.o
  CXX      src/debug/dump_nfa.o
  CXX      src/cfg/cfg.o
  CXX      src/cfg/compact.o
  CXX      src/cfg/dce.o
  CXX      src/cfg/freeze.o
  CXX      src/cfg/interfere.o
  CXX      src/cfg/liveanal.o
  CXX      src/cfg/normalize.o
  CXX      src/cfg/optimize.o
  CXX      src/cfg/rename.o
  CXX      src/cfg/varalloc.o
  CXX      src/dfa/closure.o
In file included from ./src/dfa/determinization.h:12:0,xenial64-sda1:ba/initrd/mnt/dev_save/pool/git/re2c
make
  GEN      src/msg/help.cc
  GEN      src/parse/parser.cc
Reconfigure with --enable-parsers to regenerate src/parse/parser.cc
  GEN      src/parse/lex.cc
Reconfigure with --enable-lexers to regenerate src/parse/lex.cc
  GEN      src/msg/ver_to_vernum.cc
Reconfigure with --enable-lexers to regenerate src/msg/ver_to_vernum.cc
  GEN      src/parse/lex_conf.cc
Reconfigure with --enable-lexers to regenerate src/parse/lex_conf.cc
  GEN      src/options/parse_opts.cc
Reconfigure with --enable-lexers to regenerate src/options/parse_opts.cc
make  all-recursive
make[1]: Entering directory '/initrd/mnt/dev_save/pool/git/re2c'
Making all in .
make[2]: Entering directory '/initrd/mnt/dev_save/pool/git/re2c'
  CXX      src/main.o
In file included from src/main.cc:18:0:
./src/nfa/nfa.h:36:23: warning: ‘re2c::TnfaState::status’ is too small to hold all values of ‘enum class re2c::GorPass’
     GorPass status  : 2;  // GOR1: status (values 0, 1, 2)
                       ^
In file included from ./src/parse/input.h:16:0,
                 from src/main.cc:21:
../src/parse/parser.ypp:7:2: warning: extra ‘;’ [-Wpedantic]
  CXX      src/codegen/helpers.o
  CXX      src/codegen/output.o
  CXX      src/codegen/pass1_analyze.o
  CXX      src/codegen/pass2_generate.o
  CXX      src/codegen/pass3_fixup.o
  CXX      src/codegen/pass4_render.o
  CXX      src/options/opt.o
In file included from ./src/parse/input.h:16:0,
                 from src/options/opt.cc:3:
../src/parse/parser.ypp:7:2: warning: extra ‘;’ [-Wpedantic]
  CXX      src/options/symtab.o
In file included from ./src/parse/input.h:16:0,
                 from src/options/symtab.cc:3:
../src/parse/parser.ypp:7:2: warning: extra ‘;’ [-Wpedantic]
  CXX      src/nfa/re_to_nfa.o
In file included from src/nfa/re_to_nfa.cc:6:0:
./src/nfa/nfa.h:36:23: warning: ‘re2c::TnfaState::status’ is too small to hold all values of ‘enum class re2c::GorPass’
     GorPass status  : 2;  // GOR1: status (values 0, 1, 2)
                       ^
  CXX      src/adfa/adfa.o
  CXX      src/debug/dump_adfa.o
  CXX      src/debug/dump_cfg.o
  CXX      src/debug/dump_dfa.o
  CXX      src/debug/dump_dfa_tree.o
  CXX      src/debug/dump_interf.o
  CXX      src/debug/dump_nfa.o
  CXX      src/cfg/cfg.o
  CXX      src/cfg/compact.o
  CXX      src/cfg/dce.o
  CXX      src/cfg/freeze.o
  CXX      src/cfg/interfere.o
  CXX      src/cfg/liveanal.o
  CXX      src/cfg/normalize.o
  CXX      src/cfg/optimize.o
  CXX      src/cfg/rename.o
  CXX      src/cfg/varalloc.o
  CXX      src/dfa/closure.o
In file included from ./src/dfa/determinization.h:12:0,
                 from src/dfa/closure.cc:8:
./src/nfa/nfa.h:36:23: warning: ‘re2c::TnfaState::status’ is too small to hold all values of ‘enum class re2c::GorPass’
     GorPass status  : 2;  // GOR1: status (values 0, 1, 2)
                       ^
In file included from src/dfa/closure.cc:11:0:
./src/dfa/closure_posix.h: In function ‘void re2c::closure_posix_gor1(ctx_t&)’:
./src/dfa/closure_posix.h:68:27: error: no match for ‘operator==’ (operand types are ‘unsigned char:2’ and ‘re2c::GorPass’)
             if (q->status == GorPass::LINEAR) {
                           ^
./src/dfa/closure_posix.h: In function ‘bool re2c::relax_gor1(ctx_t&, const typename ctx_t::conf_t&)’:
./src/dfa/closure_posix.h:157:19: error: no match for ‘operator==’ (operand types are ‘unsigned char:2’ and ‘re2c::GorPass’)
     if (q->status == GorPass::TOPSORT) {
                   ^
./src/dfa/closure_posix.h:170:19: error: no match for ‘operator==’ (operand types are ‘unsigned char:2’ and ‘re2c::GorPass’)
     if (q->status == GorPass::NOPASS) {
                   ^
./src/dfa/closure_posix.h: In function ‘bool re2c::relax_gor1(ctx_t&, const typename ctx_t::conf_t&) [with ctx_t = re2c::determ_context_t<re2c::phistory_t>; typename ctx_t::conf_t = re2c::clos_t]’:
./src/dfa/closure_posix.h:178:1: error: control reaches end of non-void function [-Werror=return-type]
 }
 ^
cc1plus: some warnings being treated as errors
Makefile:2753: recipe for target 'src/dfa/closure.o' failed
make[2]: *** [src/dfa/closure.o] Error 1
make[2]: Leaving directory '/initrd/mnt/dev_save/pool/git/re2c'
Makefile:5129: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/initrd/mnt/dev_save/pool/git/re2c'
Makefile:1596: recipe for target 'all' failed
make: *** [all] Error 2
xenial64-sda1:ba/initrd/mnt/dev_save/pool/git/re2c

                 from src/dfa/closure.cc:8:
./src/nfa/nfa.h:36:23: warning: ‘re2c::TnfaState::status’ is too small to hold all values of ‘enum class re2c::GorPass’
     GorPass status  : 2;  // GOR1: status (values 0, 1, 2)
                       ^
In file included from src/dfa/closure.cc:11:0:
./src/dfa/closure_posix.h: In function ‘void re2c::closure_posix_gor1(ctx_t&)’:
./src/dfa/closure_posix.h:68:27: error: no match for ‘operator==’ (operand types are ‘unsigned char:2’ and ‘re2c::GorPass’)
             if (q->status == GorPass::LINEAR) {
                           ^
./src/dfa/closure_posix.h: In function ‘bool re2c::relax_gor1(ctx_t&, const typename ctx_t::conf_t&)’:
./src/dfa/closure_posix.h:157:19: error: no match for ‘operator==’ (operand types are ‘unsigned char:2’ and ‘re2c::GorPass’)
     if (q->status == GorPass::TOPSORT) {
                   ^
./src/dfa/closure_posix.h:170:19: error: no match for ‘operator==’ (operand types are ‘unsigned char:2’ and ‘re2c::GorPass’)
     if (q->status == GorPass::NOPASS) {
                   ^
./src/dfa/closure_posix.h: In function ‘bool re2c::relax_gor1(ctx_t&, const typename ctx_t::conf_t&) [with ctx_t = re2c::determ_context_t<re2c::phistory_t>; typename ctx_t::conf_t = re2c::clos_t]’:
./src/dfa/closure_posix.h:178:1: error: control reaches end of non-void function [-Werror=return-type]
 }
 ^
cc1plus: some warnings being treated as errors
Makefile:2753: recipe for target 'src/dfa/closure.o' failed
make[2]: *** [src/dfa/closure.o] Error 1
make[2]: Leaving directory '/initrd/mnt/dev_save/pool/git/re2c'
Makefile:5129: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/initrd/mnt/dev_save/pool/git/re2c'
Makefile:1596: recipe for target 'all' failed
make: *** [all] Error 2
xenial64-sda1:ba/initrd/mnt/dev_save/pool/git/re2c
skvadrik commented 1 year ago

Hi, thanks for reporting. Can you share your compiler version and compile flags?

ripspin5 commented 1 year ago

Hi Ulfa thanks fo responding

I didn't add any compiler flags, just straight from the guide

give us a hoy if you need anything else

gcc --version gcc (Ubuntu 5.4.0-6ubuntu1~16.04.5) 5.4.0 20160609

uname -a Linux xenial64-sda1 4.9.58 #1 SMP PREEMPT Mon Nov 13 15:54:01 GMT 2017 x86_64 x86_64 x86_64 GNU/Linux

On Saturday, 27 May 2023, 4:15:35 pm AEST, Ulya Trofimovich ***@***.***> wrote:  

Hi, thanks for reporting. Can you share your compiler version and compile flags?

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you authored the thread.Message ID: @.***>

skvadrik commented 1 year ago

The fix https://github.com/skvadrik/re2c/commit/d7c697138aeb807bef09fb6927e9258d12c4f3d0 has been merged into master.

skvadrik commented 1 year ago

Closing, as the build error has been fixed.

ripspin5 commented 1 year ago

Hi Ulya, thanks for keeping me in the loop, now that its fixed does that mean I need to update gcc and it should work for me?

Regards arthur

On Sunday, 18 June 2023, 8:58:59 pm AEST, Ulya Trofimovich ***@***.***> wrote:  

Closing, as the build error has been fixed.

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you authored the thread.Message ID: @.***>

skvadrik commented 1 year ago

now that its fixed does that mean I need to update gcc and it should work for me?

I think you don't need to update GCC, only to update re2c to have this commit (it's not part of the official release yet). I tested the build with gcc-4.9 (which failed with the same error previously) and it worked.