Dear GCC Team! My name is Gavrilov Vladimir, and I am Associate Professor in Nizhny Novgorod State University (Russian Federation).
To use in educational process of this university, I wrote lexical analyzer generator Myauka (source code: https://github.com/gavr-vlad-s/myauka). This generator is written in C++14 and generates C++14 text. I build project Myauka using applied Makefile (this Makefile was generated my own build system). If I use g++ having version 5.1.0 or 5.4.0, then there are no errors and there are no warnings. But if I use g++ having version 6.2.0, then I get errors. The output of the compiler is contained in the file "myauka-build-log-with-g++.6.1.txt". Moreover, if in lines 46-48 of file 'include/act_expr_parser.h' replace struct Parser_action_info{ uint8_t kind : 2; uint8_t arg : 6; }; with struct Parser_action_info{ uint8_t kind; uint8_t arg; }; then there are no errors and there are no warnings. Sincerely yours, Gavrilov Vladimir
pesets@belka:~/projects/myauka$ make g++ -c src/myauka.cpp -o myauka.o -std=c++14 -Wall mv myauka.o ./build g++ -c src/main_parser_data.cpp -o main_parser_data.o -std=c++14 -Wall mv main_parser_data.o ./build g++ -c src/search_char.cpp -o search_char.o -std=c++14 -Wall mv search_char.o ./build g++ -c src/dfa.cpp -o dfa.o -std=c++14 -Wall mv dfa.o ./build g++ -c src/char_conv.cpp -o char_conv.o -std=c++14 -Wall mv char_conv.o ./build g++ -c src/attributed_char_trie.cpp -o attributed_char_trie.o -std=c++14 -Wall mv attributed_char_trie.o ./build g++ -c src/file_contents.cpp -o file_contents.o -std=c++14 -Wall mv file_contents.o ./build g++ -c src/keyword_delimiter_parser.cpp -o keyword_delimiter_parser.o -std=c++14 -Wall mv keyword_delimiter_parser.o ./build g++ -c src/move_by_ext.cpp -o move_by_ext.o -std=c++14 -Wall mv move_by_ext.o ./build g++ -c src/list_to_columns.cpp -o list_to_columns.o -std=c++14 -Wall mv list_to_columns.o ./build g++ -c src/move_by_ext_from_curr_dir.cpp -o move_by_ext_from_curr_dir.o -std=c++14 -Wall mv move_by_ext_from_curr_dir.o ./build g++ -c src/char_trie.cpp -o char_trie.o -std=c++14 -Wall mv char_trie.o ./build g++ -c src/num_str_parser.cpp -o num_str_parser.o -std=c++14 -Wall mv num_str_parser.o ./build g++ -c src/categories.cpp -o categories.o -std=c++14 -Wall mv categories.o ./build g++ -c src/generalized_char.cpp -o generalized_char.o -std=c++14 -Wall mv generalized_char.o ./build g++ -c src/fsize.cpp -o fsize.o -std=c++14 -Wall mv fsize.o ./build g++ -c src/ndfa.cpp -o ndfa.o -std=c++14 -Wall mv ndfa.o ./build g++ -c src/error_count.cpp -o error_count.o -std=c++14 -Wall mv error_count.o ./build g++ -c src/expr_scaner.cpp -o expr_scaner.o -std=c++14 -Wall mv expr_scaner.o ./build g++ -c src/get_init_state.cpp -o get_init_state.o -std=c++14 -Wall mv get_init_state.o ./build g++ -c src/main_parser.cpp -o main_parser.o -std=c++14 -Wall mv main_parser.o ./build g++ -c src/simple_regex_parser.cpp -o simple_regex_parser.o -std=c++14 -Wall mv simple_regex_parser.o ./build g++ -c src/create_dir_if_not_exists.cpp -o create_dir_if_not_exists.o -std=c++14 -Wall mv create_dir_if_not_exists.o ./build g++ -c src/detalize_commands.cpp -o detalize_commands.o -std=c++14 -Wall mv detalize_commands.o ./build g++ -c src/comments_parser.cpp -o comments_parser.o -std=c++14 -Wall mv comments_parser.o ./build g++ -c src/codes_and_newline.cpp -o codes_and_newline.o -std=c++14 -Wall mv codes_and_newline.o ./build g++ -c src/size_t_trie.cpp -o size_t_trie.o -std=c++14 -Wall mv size_t_trie.o ./build g++ -c src/trie_for_set_of_char.cpp -o trie_for_set_of_char.o -std=c++14 -Wall mv trie_for_set_of_char.o ./build g++ -c src/idx_to_string.cpp -o idx_to_string.o -std=c++14 -Wall mv idx_to_string.o ./build g++ -c src/main_scaner.cpp -o main_scaner.o -std=c++14 -Wall mv main_scaner.o ./build g++ -c src/groupped_dfa.cpp -o groupped_dfa.o -std=c++14 -Wall mv groupped_dfa.o ./build g++ -c src/first_chars.cpp -o first_chars.o -std=c++14 -Wall mv first_chars.o ./build g++ -c src/act_expr_parser.cpp -o act_expr_parser.o -std=c++14 -Wall src/act_expr_parser.cpp:611:1: error: invalid initial value for member ‘kind’ } ^ src/act_expr_parser.cpp:611:1: error: invalid initial value for member ‘arg’ src/act_expr_parser.cpp:611:1: error: invalid initial value for member ‘kind’ src/act_expr_parser.cpp:611:1: error: invalid initial value for member ‘arg’ src/act_expr_parser.cpp:611:1: error: invalid initial value for member ‘kind’ src/act_expr_parser.cpp:611:1: error: invalid initial value for member ‘arg’ src/act_expr_parser.cpp:611:1: error: invalid initial value for member ‘kind’ src/act_expr_parser.cpp:611:1: error: invalid initial value for member ‘arg’ src/act_expr_parser.cpp:611:1: error: invalid initial value for member ‘kind’ src/act_expr_parser.cpp:611:1: error: invalid initial value for member ‘arg’ src/act_expr_parser.cpp:611:1: error: invalid initial value for member ‘kind’ src/act_expr_parser.cpp:611:1: error: invalid initial value for member ‘arg’ src/act_expr_parser.cpp:611:1: error: invalid initial value for member ‘kind’ src/act_expr_parser.cpp:611:1: error: invalid initial value for member ‘arg’ src/act_expr_parser.cpp:611:1: error: invalid initial value for member ‘kind’ src/act_expr_parser.cpp:611:1: error: invalid initial value for member ‘arg’ src/act_expr_parser.cpp:611:1: error: invalid initial value for member ‘kind’ src/act_expr_parser.cpp:611:1: error: invalid initial value for member ‘arg’ src/act_expr_parser.cpp:611:1: error: invalid initial value for member ‘kind’ src/act_expr_parser.cpp:611:1: error: invalid initial value for member ‘arg’ src/act_expr_parser.cpp:611:1: error: invalid initial value for member ‘kind’ src/act_expr_parser.cpp:611:1: error: invalid initial value for member ‘arg’ src/act_expr_parser.cpp:611:1: error: invalid initial value for member ‘kind’ src/act_expr_parser.cpp:611:1: error: invalid initial value for member ‘arg’ src/act_expr_parser.cpp:611:1: error: invalid initial value for member ‘kind’ src/act_expr_parser.cpp:611:1: error: invalid initial value for member ‘arg’ src/act_expr_parser.cpp:611:1: error: invalid initial value for member ‘kind’ src/act_expr_parser.cpp:611:1: error: invalid initial value for member ‘arg’ src/act_expr_parser.cpp:611:1: error: invalid initial value for member ‘kind’ src/act_expr_parser.cpp:611:1: error: invalid initial value for member ‘arg’ src/act_expr_parser.cpp:611:1: error: invalid initial value for member ‘kind’ src/act_expr_parser.cpp:611:1: error: invalid initial value for member ‘arg’ src/act_expr_parser.cpp:611:1: error: invalid initial value for member ‘kind’ src/act_expr_parser.cpp:611:1: error: invalid initial value for member ‘arg’ src/act_expr_parser.cpp:611:1: error: invalid initial value for member ‘kind’ src/act_expr_parser.cpp:611:1: error: invalid initial value for member ‘arg’ src/act_expr_parser.cpp:611:1: error: invalid initial value for member ‘kind’ src/act_expr_parser.cpp:611:1: error: invalid initial value for member ‘arg’ src/act_expr_parser.cpp:611:1: error: invalid initial value for member ‘kind’ src/act_expr_parser.cpp:611:1: error: invalid initial value for member ‘arg’ src/act_expr_parser.cpp:611:1: error: invalid initial value for member ‘kind’ src/act_expr_parser.cpp:611:1: error: invalid initial value for member ‘arg’ src/act_expr_parser.cpp:611:1: error: invalid initial value for member ‘kind’ src/act_expr_parser.cpp:611:1: error: invalid initial value for member ‘arg’ src/act_expr_parser.cpp:611:1: error: invalid initial value for member ‘kind’ src/act_expr_parser.cpp:611:1: error: invalid initial value for member ‘arg’ src/act_expr_parser.cpp:611:1: error: invalid initial value for member ‘kind’ src/act_expr_parser.cpp:611:1: error: invalid initial value for member ‘arg’ src/act_expr_parser.cpp:611:1: error: invalid initial value for member ‘kind’ src/act_expr_parser.cpp:611:1: error: invalid initial value for member ‘arg’ src/act_expr_parser.cpp:611:1: error: invalid initial value for member ‘kind’ src/act_expr_parser.cpp:611:1: error: invalid initial value for member ‘arg’ src/act_expr_parser.cpp:611:1: error: invalid initial value for member ‘kind’ src/act_expr_parser.cpp:611:1: error: invalid initial value for member ‘arg’ src/act_expr_parser.cpp:611:1: error: invalid initial value for member ‘kind’ src/act_expr_parser.cpp:611:1: error: invalid initial value for member ‘arg’ src/act_expr_parser.cpp:611:1: error: invalid initial value for member ‘kind’ src/act_expr_parser.cpp:611:1: error: invalid initial value for member ‘arg’ src/act_expr_parser.cpp:611:1: error: invalid initial value for member ‘kind’ src/act_expr_parser.cpp:611:1: error: invalid initial value for member ‘arg’ src/act_expr_parser.cpp:611:1: error: invalid initial value for member ‘kind’ src/act_expr_parser.cpp:611:1: error: invalid initial value for member ‘arg’ src/act_expr_parser.cpp:611:1: error: invalid initial value for member ‘kind’ src/act_expr_parser.cpp:611:1: error: invalid initial value for member ‘arg’ src/act_expr_parser.cpp:611:1: error: invalid initial value for member ‘kind’ src/act_expr_parser.cpp:611:1: error: invalid initial value for member ‘arg’ src/act_expr_parser.cpp:611:1: error: invalid initial value for member ‘kind’ src/act_expr_parser.cpp:611:1: error: invalid initial value for member ‘arg’ src/act_expr_parser.cpp:611:1: error: invalid initial value for member ‘kind’ src/act_expr_parser.cpp:611:1: error: invalid initial value for member ‘arg’ src/act_expr_parser.cpp:611:1: error: invalid initial value for member ‘kind’ src/act_expr_parser.cpp:611:1: error: invalid initial value for member ‘arg’ src/act_expr_parser.cpp:611:1: error: invalid initial value for member ‘kind’ src/act_expr_parser.cpp:611:1: error: invalid initial value for member ‘arg’ src/act_expr_parser.cpp:611:1: error: invalid initial value for member ‘kind’ src/act_expr_parser.cpp:611:1: error: invalid initial value for member ‘arg’ src/act_expr_parser.cpp:611:1: error: invalid initial value for member ‘kind’ src/act_expr_parser.cpp:611:1: error: invalid initial value for member ‘arg’ src/act_expr_parser.cpp:611:1: error: invalid initial value for member ‘kind’ src/act_expr_parser.cpp:611:1: error: invalid initial value for member ‘arg’ src/act_expr_parser.cpp:611:1: error: invalid initial value for member ‘kind’ src/act_expr_parser.cpp:611:1: error: invalid initial value for member ‘arg’ src/act_expr_parser.cpp:611:1: error: invalid initial value for member ‘kind’ src/act_expr_parser.cpp:611:1: error: invalid initial value for member ‘arg’ src/act_expr_parser.cpp:611:1: error: invalid initial value for member ‘kind’ src/act_expr_parser.cpp:611:1: error: invalid initial value for member ‘arg’ src/act_expr_parser.cpp:611:1: error: invalid initial value for member ‘kind’ src/act_expr_parser.cpp:611:1: error: invalid initial value for member ‘arg’ src/act_expr_parser.cpp:611:1: error: invalid initial value for member ‘kind’ src/act_expr_parser.cpp:611:1: error: invalid initial value for member ‘arg’ src/act_expr_parser.cpp:611:1: error: invalid initial value for member ‘kind’ src/act_expr_parser.cpp:611:1: error: invalid initial value for member ‘arg’ src/act_expr_parser.cpp:611:1: error: invalid initial value for member ‘kind’ src/act_expr_parser.cpp:611:1: error: invalid initial value for member ‘arg’ src/act_expr_parser.cpp:611:1: error: invalid initial value for member ‘kind’ src/act_expr_parser.cpp:611:1: error: invalid initial value for member ‘arg’ src/act_expr_parser.cpp:611:1: error: invalid initial value for member ‘kind’ src/act_expr_parser.cpp:611:1: error: invalid initial value for member ‘arg’ src/act_expr_parser.cpp:611:1: error: invalid initial value for member ‘kind’ src/act_expr_parser.cpp:611:1: error: invalid initial value for member ‘arg’ src/act_expr_parser.cpp:611:1: error: invalid initial value for member ‘kind’ src/act_expr_parser.cpp:611:1: error: invalid initial value for member ‘arg’ src/act_expr_parser.cpp:611:1: error: invalid initial value for member ‘kind’ src/act_expr_parser.cpp:611:1: error: invalid initial value for member ‘arg’ src/act_expr_parser.cpp:611:1: error: invalid initial value for member ‘kind’ src/act_expr_parser.cpp:611:1: error: invalid initial value for member ‘arg’ src/act_expr_parser.cpp:611:1: error: invalid initial value for member ‘kind’ src/act_expr_parser.cpp:611:1: error: invalid initial value for member ‘arg’ src/act_expr_parser.cpp:611:1: error: invalid initial value for member ‘kind’ src/act_expr_parser.cpp:611:1: error: invalid initial value for member ‘arg’ src/act_expr_parser.cpp:611:1: error: invalid initial value for member ‘kind’ src/act_expr_parser.cpp:611:1: error: invalid initial value for member ‘arg’ src/act_expr_parser.cpp:611:1: error: invalid initial value for member ‘kind’ src/act_expr_parser.cpp:611:1: error: invalid initial value for member ‘arg’ src/act_expr_parser.cpp:611:1: error: invalid initial value for member ‘kind’ src/act_expr_parser.cpp:611:1: error: invalid initial value for member ‘arg’ src/act_expr_parser.cpp:611:1: error: invalid initial value for member ‘kind’ src/act_expr_parser.cpp:611:1: error: invalid initial value for member ‘arg’ src/act_expr_parser.cpp:611:1: error: invalid initial value for member ‘kind’ src/act_expr_parser.cpp:611:1: error: invalid initial value for member ‘arg’ src/act_expr_parser.cpp:611:1: error: invalid initial value for member ‘kind’ src/act_expr_parser.cpp:611:1: error: invalid initial value for member ‘arg’ src/act_expr_parser.cpp:611:1: error: invalid initial value for member ‘kind’ src/act_expr_parser.cpp:611:1: error: invalid initial value for member ‘arg’ src/act_expr_parser.cpp:611:1: error: invalid initial value for member ‘kind’ src/act_expr_parser.cpp:611:1: error: invalid initial value for member ‘arg’ src/act_expr_parser.cpp:611:1: error: invalid initial value for member ‘kind’ src/act_expr_parser.cpp:611:1: error: invalid initial value for member ‘arg’ src/act_expr_parser.cpp:611:1: error: invalid initial value for member ‘kind’ src/act_expr_parser.cpp:611:1: error: invalid initial value for member ‘arg’ src/act_expr_parser.cpp:611:1: error: invalid initial value for member ‘kind’ src/act_expr_parser.cpp:611:1: error: invalid initial value for member ‘arg’ src/act_expr_parser.cpp:611:1: error: invalid initial value for member ‘kind’ src/act_expr_parser.cpp:611:1: error: invalid initial value for member ‘arg’ src/act_expr_parser.cpp:611:1: error: invalid initial value for member ‘kind’ src/act_expr_parser.cpp:611:1: error: invalid initial value for member ‘arg’ src/act_expr_parser.cpp:611:1: error: invalid initial value for member ‘kind’ src/act_expr_parser.cpp:611:1: error: invalid initial value for member ‘arg’ src/act_expr_parser.cpp:611:1: error: invalid initial value for member ‘kind’ src/act_expr_parser.cpp:611:1: error: invalid initial value for member ‘arg’ src/act_expr_parser.cpp:611:1: error: invalid initial value for member ‘kind’ src/act_expr_parser.cpp:611:1: error: invalid initial value for member ‘arg’ Makefile:21: ошибка выполнения рецепта для цели «act_expr_parser.o» make: *** [act_expr_parser.o] Ошибка 1
Makefile
Description: Binary data