https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117227

            Bug ID: 117227
           Summary: Missing modula2 plugin dependencies
           Product: gcc
           Version: 15.0
            Status: UNCONFIRMED
          Severity: minor
          Priority: P3
         Component: modula2
          Assignee: gaius at gcc dot gnu.org
          Reporter: tschwinge at gcc dot gnu.org
  Target Milestone: ---

I like doing incremental GCC builds, which generally works fine (within reason,
of course).

Recently I ran into a case where some GCC diagnostics changes had gone in, and
after that, 'make check-gcc-m2' had ~100 '[-PASS:-]{+FAIL:+}' regressions, due
to:

    *** WARNING *** there are active plugins, do not report this as a bug
unless you can reproduce it without enabling any plugins.
    Event                            | Plugins
    PLUGIN_FINISH                    | m2rte
    during GIMPLE pass: runtime_exception_inevitable
    In function ‘_M2_modulusoverflow_fini’:
    cc1gm2: internal compiler error: tree check: expected tree that contains
‘identifier’ structure, have ‘function_decl’ in examine_function_decl, at
m2/plugin/m2rte.cc:210
    0x21702e5 internal_error(char const*, ...)
            [...]/source-gcc/gcc/diagnostic-global-context.cc:517
    0x8d5fd9 tree_contains_struct_check_failed(tree_node const*,
tree_node_structure_enum, char const*, int, char const*)
            [...]/source-gcc/gcc/tree.cc:9180
    0xbcf355 contains_struct_check(tree_node*, tree_node_structure_enum, char
const*, int, char const*)
            [...]/source-gcc/gcc/tree.h:3787
    0x7fe496e0cc61 examine_function_decl
            [...]/source-gcc/gcc/m2/plugin/m2rte.cc:210
    0x7fe496e0cd80 execute
            [...]/source-gcc/gcc/m2/plugin/m2rte.cc:271

I noticed that 'build-gcc/gcc/plugin/m2rte.so' had not been rebuilt; after 'rm
build-gcc/gcc/plugin/m2rte.so' plus another incremental 'make' to rebuild the
plugin, these FAILs were back to PASSes.  Therefore, I conclude that there are
some missing modula2 plugin dependencies;
'gcc/m2/Make-lang.in:plugin/m2rte$(soext)' or thereabouts?

Reply via email to