From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on ip-172-31-65-14.ec2.internal X-Spam-Level: X-Spam-Status: No, score=-1.9 required=3.0 tests=BAYES_00,FREEMAIL_FROM, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Received: by 2002:a0c:e24b:0:b0:4a1:d41b:e280 with SMTP id x11-20020a0ce24b000000b004a1d41be280mr18697812qvl.11.1662880578474; Sun, 11 Sep 2022 00:16:18 -0700 (PDT) X-Received: by 2002:a05:620a:ecf:b0:6bb:a38:43cb with SMTP id x15-20020a05620a0ecf00b006bb0a3843cbmr15314960qkm.742.1662880578311; Sun, 11 Sep 2022 00:16:18 -0700 (PDT) Path: eternal-september.org!reader01.eternal-september.org!border-1.nntp.ord.giganews.com!border-2.nntp.ord.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail Newsgroups: comp.lang.ada Date: Sun, 11 Sep 2022 00:16:18 -0700 (PDT) Injection-Info: google-groups.googlegroups.com; posting-host=84.209.88.37; posting-account=bPTmZAoAAAC_6HP9XLKB9aAAxBa6BuOR NNTP-Posting-Host: 84.209.88.37 User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: Subject: Is this an error in compiler? From: reinert Injection-Date: Sun, 11 Sep 2022 07:16:18 +0000 Content-Type: text/plain; charset="UTF-8" Xref: reader01.eternal-september.org comp.lang.ada:64310 List-Id: Hello, I tried alire with the latest version of the compiler (I believe) and I got trouble compiling this program (which I here have reduced just to communicate my point - i.e. the program has noe other meaning here): -------------------------------------------------------------------------------------------- with Ada.Strings.Fixed; use Ada.Strings.Fixed; with Ada.Exceptions; with Ada.Text_IO; use Ada.Text_IO; procedure c0a is subtype String_1 is String (1 .. <>); package cpros is cfe0,cfe1,cfe2 : exception; generic with procedure execute_command1 (command1 : String); procedure cpros0 (file1 : in Ada.Text_IO.File_Type; command0 : String := ""); end cpros; package body cpros is procedure cpros0 (file1 : in Ada.Text_IO.File_Type; command0 : String := "") is begin declare function rep1 (str0 : String_1) return String is i : constant Natural := Index (str0, "$"); begin return str0 when i = 0; raise cfe2 with "(wrong use of '$')" when i = str0'Last; -- a -- if i = str0'Last then -- b -- raise cfe2 with "(wrong use of '$')"; -- b -- end if; -- b return "aaa"; end rep1; str0 : constant String := rep1 (Get_Line (file1)); begin null; end; end cpros0; end cpros; procedure execute_command1 (str : String) is begin null; end execute_command1; procedure cpros1 is new cpros.cpros0 (execute_command1 => execute_command1); begin null; end c0a; ----------------------------------------------------------------------------------------------- This goes through when I compile it. However, if I uncomment out the "a" line and comment out the "b" line (see code above), then I get the error message: c0a.adb:45:04: error: instantiation error at line 27 c0a.adb:45:04: error: "cfe2" is not visible c0a.adb:45:04: error: instantiation error at line 27 c0a.adb:45:04: error: non-visible declaration at line 10 Have you the same experience? reinert