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

            Bug ID: 126330
           Summary: ICE triggered by max abs char
           Product: gcc
           Version: 17.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: algol68
          Assignee: algol68 at gcc dot gnu.org
          Reporter: m_lamprecht at web dot de
  Target Milestone: ---

THis program causes an error: possibly a missing or erroneous separator nearby

begin
   int i;
   i := max abs char
end
---------------------------------------------------

This program causes an internal compiler error:

begin
   int i;
   i := maxabschar
end


prelude: In function '__algol68_main':
prelude: error: non-trivial conversion in 'integer_cst'
signed int
unsigned int
i = 1114111;
prelude: internal compiler error: 'verify_gimple' failed
0x28b16ff internal_error(char const*, ...)
        ../../gcc/diagnostic-global-context.cc:787
0x11bf5fa verify_gimple_in_seq(gimple*, bool)
        ../../gcc/tree-cfg.cc:5216
0xde1afa gimplify_body(tree_node*, bool)
        ../../gcc/gimplify.cc:21888
0xde1d3e gimplify_function_tree(tree_node*)
        ../../gcc/gimplify.cc:22014
0xb96eaf cgraph_node::analyze()
        ../../gcc/cgraphunit.cc:691
0xb99d87 analyze_functions
        ../../gcc/cgraphunit.cc:1270
0xb9ae12 symbol_table::finalize_compilation_unit()
        ../../gcc/cgraphunit.cc:2593
/usr/local/libexec/gcc/x86_64-pc-linux-gnu/17.0.0/a681 f.a68 -quiet -dumpdir a-
           -dumpbase f.a68 -dumpbase-ext .a68 -mtune=generic -march=x86-64
-L/usr/local/lib           /gcc/x86_64-pc-linux-gnu/17.0.0
-L/usr/local/lib/gcc/x86_64-pc-linux-gnu/17.0.0/           ../../../../lib64
-L/lib/../lib64 -L/usr/lib/../lib64 -L/usr/local/lib/gcc/x86_6          
4-pc-linux-gnu/17.0.0/../../.. -L/lib -L/usr/lib -o /tmp/ccnpswAh.s

Compiler version:
ga68 (GCC) 17.0.0 20260716 (experimental)
on Slackware Linux x86_64

max abs char is/should be contained in the standard prelude, see
Algol 68 Revised report,

10.2. The standard prelude
10.2.1. Environment enquiries

p) int max abs char= c the largest integral equivalent (2.1.3.1.g) of a
character c ;

Reply via email to