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

Dominique d'Humieres <dominiq at lps dot ens.fr> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |rguenth at gcc dot gnu.org

--- Comment #16 from Dominique d'Humieres <dominiq at lps dot ens.fr> ---
If a set a breakpoint at expr.c:10270, after continuing several times I get

* thread #1, queue = 'com.apple.main-thread', stop reason = breakpoint 1.2
    frame #0: 0x00000001014af237 f951`expand_expr_real_1(tree_node*, rtx_def*,
machine_mode, expand_modifier, rtx_def**, bool) at expr.c:10270:7
   10267                 been lowered by this point.  */
   10268              if (exp)
   10269                context = decl_function_context (exp);
-> 10270              gcc_assert (!exp
   10271                          || SCOPE_FILE_SCOPE_P (context)
   10272                          || context == current_function_decl
   10273                          || TREE_STATIC (exp)
Target 0: (f951) stopped.
(lldb) p tree_node* exp
(lldb) p context
(lldb) c
Process 43535 resuming
during RTL pass: expand
pr92065.f90:23:31:

   23 |   integer function fun2(this, a)
      |                               ^
internal compiler error: in expand_expr_real_1, at expr.c:10270

With the modified program I get

* thread #1, queue = 'com.apple.main-thread', stop reason = breakpoint 1.1
    frame #0: 0x00000001009839b7 f951`expand_expr_real_1(exp=<unavailable>,
target=<unavailable>, tmode=E_DImode, modifier=EXPAND_CONST_ADDRESS,
alt_rtl=0x0000000000000000, inner_reference_p=<unavailable>) at expr.c:10270:7
   10267                 been lowered by this point.  */
   10268              if (exp)
   10269                context = decl_function_context (exp);
-> 10270              gcc_assert (!exp
   10271                          || SCOPE_FILE_SCOPE_P (context)
   10272                          || context == current_function_decl
   10273                          || TREE_STATIC (exp)
Target 0: (f951) stopped.
(lldb) c
Process 43494 resuming

Time variable                                   usr           sys          wall
          GGC
 phase setup                        :   0.00 (  0%)   0.00 (  0%)   0.01 (  0%)
  186k (  8%)
 phase parsing                      :   0.01 ( 50%)   0.00 (  0%)   0.01 (  0%)
 1765k ( 79%)
 phase opt and generate             :   0.01 ( 50%)   0.01 (100%)  39.53 (100%)
  284k ( 13%)
 callgraph construction             :   0.00 (  0%)   0.00 (  0%)  24.16 ( 61%)
   12k (  1%)
 parser (global)                    :   0.01 ( 50%)   0.00 (  0%)   0.01 (  0%)
 1765k ( 79%)
 expand                             :   0.01 ( 50%)   0.01 (100%)  15.35 ( 39%)
   19k (  1%)
 initialize rtl                     :   0.00 (  0%)   0.00 (  0%)   0.01 (  0%)
   12k (  1%)
 verify RTL sharing                 :   0.00 (  0%)   0.00 (  0%)   0.01 (  0%)
    0  (  0%)
 TOTAL                              :   0.02          0.01         39.55       
 2239k

Reply via email to