Project

General

Profile

Bug #12590

Error compiling parse.c on cygwin

Added by duerst (Martin Dürst) almost 3 years ago.

Status:
Open
Priority:
Normal
Target version:
-
ruby -v:
ruby 2.2.5p319 (2016-04-26 revision 54774) [x86_64-cygwin]
[ruby-core:76387]

Description

This error compiling parse.c doesn't happen to myself, but to a student of mine.
We have tried make clean and make distclear and then starting again with .\configure, and this has fixed other errors, but not this one.

Even just some information on where the missing definitions (struct kwtable, MAX_WORD_LENGTH, reserved_word) are supposed to be defined, and how they are (supposed to be) included into parse.c, would help.

compiling parse.c
parse.y: 関数 ‘parse_ident’ 内:
parse.y:8044:22: エラー: dereferencing pointer to incomplete type ‘const struct kwtable’
      SET_LEX_STATE(kw->state);
                      ^
parse.y:106:57: 備考: in definition of macro ‘SET_LEX_STATE’
     (lex_state = (yydebug ? trace_lex_state(lex_state, (ls), __LINE__) : \
                                                         ^
parse.y: 関数 ‘reg_named_capture_assign_iter’ 内:
parse.y:10614:9: エラー: ‘MAX_WORD_LENGTH’ が宣言されていません (この関数内での最初の使用)
  (len < MAX_WORD_LENGTH && rb_reserved_word(s, (int)len)) ||
         ^
parse.y:10614:9: 備考: 未宣言の識別子は出現した各関数内で一回のみ報告されます
parse.y: 関数 ‘rb_reserved_word’ 内:
parse.y:10882:12: エラー: 関数 ‘reserved_word’ の暗黙的な宣言です [-Werror=implicit-function-declaration]
     return reserved_word(str, len);
            ^
parse.y:10882:12: 警告: 戻りで整数からキャスト無しにポインタを作成しています [-Wint-conversion]
parse.y: トップレベル:
cc1: 警告: 認識できないコマンドラインオプション ‘-Wno-self-assign’ です
cc1: 警告: 認識できないコマンドラインオプション ‘-Wno-constant-logical-operand’ です
cc1: 警告: 認識できないコマンドラインオプション ‘-Wno-parentheses-equality’ です
cc1: 警告: 認識できないコマンドラインオプション ‘-Wno-tautological-compare’ です
cc1: some warnings being treated as errors
make: *** [Makefile:365: parse.o] エラー 1

Also available in: Atom PDF