Viewing Issue Simple Details Jump to Notes ] View Advanced ] Issue History ] Print ]
ID Category Severity Reproducibility Date Submitted Last Update
0000169 [libFirm] backend minor always 2016-01-11 06:58 2016-01-16 06:27
Reporter nobody View Status public  
Assigned To Matze
Priority normal Resolution fixed  
Status resolved   Product Version development
Summary 0000169: cparser: ./src/ast/type_t.h:266: _Bool is_type_compound(const type_t *): Assertion `!is_typeref(type)' failed.
Description (gdb) r -c test.c
Starting program: /tmp/firm/cparser/build/debug/cparser -c test.c
cparser: ./src/ast/type_t.h:266: _Bool is_type_compound(const type_t *): Assertion `!is_typeref(type)' failed.

Program received signal SIGABRT, Aborted.
0x00007ffff7765657 in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:55
55 ../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
(gdb) bt full
#0 0x00007ffff7765657 in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:55
        resultvar = 0
        pid = 7432
        selftid = 7432
0000001 0x00007ffff7766a2a in __GI_abort () at abort.c:89
        save_stage = 2
        act = {__sigaction_handler = {sa_handler = 0x4, sa_sigaction = 0x4}, sa_mask = {__val = {4228743, 10880912, 140737488344096, 10873152, 0, 0, 0, 21474836480, 140737488344248, 140737346369233,
              140737488344048, 140737346403856, 140737346385016, 140737488344272, 140737354088448, 140737346385016}}, sa_flags = 7333213, sa_restorer = 0x6fe582}
        sigs = {__val = {32, 0 <repeats 15 times>}}
0000002 0x00007ffff775e59d in __assert_fail_base (fmt=0x7ffff789b478 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=assertion@entry=0x6fe55d "!is_typeref(type)",
    file=file@entry=0x6fe56f "./src/ast/type_t.h", line=line@entry=266, function=function@entry=0x6fe582 "_Bool is_type_compound(const type_t *)") at assert.c:92
        str = 0xa181c0 ""
        total = 4096
0000003 0x00007ffff775e652 in __GI___assert_fail (assertion=0x6fe55d "!is_typeref(type)", file=0x6fe56f "./src/ast/type_t.h", line=266, function=0x6fe582 "_Bool is_type_compound(const type_t *)") at assert.c:101
No locals.
0000004 0x00000000004218ea in is_type_compound (type=0xa5d990) at ./src/ast/type_t.h:266
No locals.
0000005 0x0000000000437273 in find_create_select (pos=0x7fffffffd648, addr=0xa60850, qualifiers=TYPE_QUALIFIER_NONE, compound=0xa60320, symbol=0xa5ea00) at src/parser/parser.c:5407
        type = 0xa5d990
        sub_compound = 0x7fffffffd5c0
        sub_addr = 0xa03c20 <lookahead_buffer>
        iter_symbol = 0x0
        iter = 0xa60590
0000006 0x00000000004349cf in parse_select_expression (addr=0xa60850) at src/parser/parser.c:6953
        select_left_arrow = true
        pos = {input_name = 0xa168e8 "test.c", lineno = 10, colno = 9, is_system_header = false}
        symbol = 0xa5ea00
        orig_type = 0xa5d9e0
        type = 0xa5d970
        type_left = 0xa5d950
        saw_error = false
        compound = 0xa60320
        qualifiers = TYPE_QUALIFIER_NONE
        result = 0x41bbd5 <allocate_ast_zero+325>
0000007 0x0000000000423667 in parse_subexpression (precedence=PREC_EXPRESSION) at src/parser/parser.c:8867
        parser = 0xa05470 <expression_parsers+6144>
        left = 0xa60850
0000008 0x000000000042768e in parse_expression () at src/parser/parser.c:8880
No locals.
0000009 0x00000000004302db in parse_expression_statement () at src/parser/parser.c:10062
        statement = 0xa60820
        expr = 0xa60790
0000010 0x000000000042fa90 in intern_parse_statement () at src/parser/parser.c:10190
        la1_type = T_MINUSGREATER
        statement = 0xa60750
#11 0x0000000000421d8a in parse_compound_statement (inside_expression_statement=false) at src/parser/parser.c:10365
        sub_statement = 0xa60750
        statement = 0xa60700
        new_parent = 0xa60700
        old_parent = 0x0
        top = 71
        new_scope = 0xa60730
        old_scope = 0xa606c0
        anchor = 0xa60758
        only_decls_so_far = true
0000012 0x000000000041dfbc in parse_external_declaration () at src/parser/parser.c:5278
        specifiers = {pos = {input_name = 0xa168e8 "test.c", lineno = 6, colno = 1, is_system_header = false}, storage_class = STORAGE_CLASS_NONE, is_inline = false, thread_local = false, attributes = 0x0,
          type = 0xa40ef0}
        ndeclaration = 0xa60650
        orig_type = 0xa5d9b0
        type = 0xa5d9b0
        alias = 0x0
        pos = 0xa60660
        orig_return_type = 0xa40ef0
        return_type = 0xa40ef0
        entity = 0xa60650
        function = 0xa60650
        top = 71
        new_scope = 0xa606c0
        old_scope = 0xa3e820
        label_stack_top = 0
        old_current_function = 0x0
        new_current_entity = 0xa60650
        old_current_entity = 0x0
        new_parent = 0x0
        old_parent = 0x0
        body = 0xa5bf70
#13 0x000000000041d362 in parse_external () at src/parser/parser.c:10836
        old_gcc_extension = false
0000014 0x000000000041cdd6 in parse_externals () at src/parser/parser.c:10891
        token_anchor_copy = {0 <repeats 125 times>, 1, 0 <repeats 154 times>, 2, 0 <repeats 129 times>}
0000015 0x000000000041c1f3 in parse_translation_unit () at src/parser/parser.c:10906
No locals.
0000016 0x000000000041c10f in parse () at src/parser/parser.c:11064
No locals.
0000017 0x0000000000457a38 in do_parsing (env=0x7fffffffdef8, unit=0xa10040) at src/driver/c_driver.c:726
        t_parsing = 0xa3f890
        res = false
0000018 0x0000000000454c95 in process_unit (env=0x7fffffffdef8, unit=0xa10040) at src/driver/driver.c:226
        type = COMPILATION_UNIT_LEXER_TOKENS_C
        handler = 0x4579f0 <do_parsing>
0000019 0x0000000000454db4 in process_all_units (env=0x7fffffffdef8) at src/driver/driver.c:247
        ok = false
        unit = 0xa10040
0000020 0x00000000004027e5 in action_compile (argv0=0x7fffffffe4fa "/tmp/firm/cparser/build/debug/cparser") at ./src/main.c:269
        env = {out = 0x0, outname = 0x0}
        result = 0
0000021 0x0000000000402e2d in main (argc=3, argv=0x7fffffffe048) at ./src/main.c:343
        state = {argc = 3, argv = 0x7fffffffe048, i = 3, argument_errors = false, had_inputs = true, action = 0x402780 <action_compile>}
        ret = 0
(gdb)
Additional Information
Tags No tags attached.
Attached Files c file icon test.c [^] (198 bytes) 2016-01-11 06:58

- Relationships

-  Notes
(0000249)
Matze (administrator)
2016-01-16 06:27

Thanks for the bugreport. Testcase put to firm-testsuite in e866c3b41c4faa97b1c49012a9c125407d3ab2a9 in a slightly changed form and fixed in cparser revision 89881543d8daa06c94c3b24ee03fd20c348cc88a.

- Issue History
Date Modified Username Field Change
2016-01-11 06:58 nobody New Issue
2016-01-11 06:58 nobody File Added: test.c
2016-01-16 06:27 Matze Note Added: 0000249
2016-01-16 06:27 Matze Assigned To => Matze
2016-01-16 06:27 Matze Status new => resolved
2016-01-16 06:27 Matze Resolution open => fixed


Mantis 1.1.5[^]
Copyright © 2000 - 2008 Mantis Group
Powered by Mantis Bugtracker