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:ae9:dc85:0:b0:6cd:ea8d:5113 with SMTP id q127-20020ae9dc85000000b006cdea8d5113mr5936875qkf.55.1662880901213; Sun, 11 Sep 2022 00:21:41 -0700 (PDT) X-Received: by 2002:a05:6214:27ea:b0:476:779d:f68a with SMTP id jt10-20020a05621427ea00b00476779df68amr18983745qvb.49.1662880901095; Sun, 11 Sep 2022 00:21:41 -0700 (PDT) Path: eternal-september.org!reader01.eternal-september.org!border-1.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:21:40 -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: <0e51b0c6-1fe8-42a2-bbb0-53bb085cb107n@googlegroups.com> Subject: Is this an error in compiler? From: reinert Injection-Date: Sun, 11 Sep 2022 07:21:41 +0000 Content-Type: text/plain; charset="UTF-8" Xref: reader01.eternal-september.org comp.lang.ada:64312 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