comp.lang.ada
 help / color / mirror / Atom feed
From: Stefan Lucks <lucks@th.informatik.uni-mannheim.de>
Subject: Re: Static vs dynamic evaluation anomaly?
Date: Fri, 9 Feb 2007 22:12:28 +0100
Date: 2007-02-09T22:12:28+01:00	[thread overview]
Message-ID: <Pine.LNX.4.58.0702092203350.24689@th.informatik.uni-mannheim.de> (raw)
In-Reply-To: <Yn3zh.1182064$084.454526@attbi_s22>

On Fri, 9 Feb 2007, Jeffrey R. Carter wrote:

> OK. I would say that this is a compiler error. But I can still see how
> the compiler writer could argue that it is not.

OK, does the following test case convince you, that the compiler writer
cannot reasonably deny that the compiler is false (if -gnatp or no
compiler options are chosen)?

The only kind of defense on the side of the compiler writer I can still
imagine is that gnat without the -gnato option isn't an Ada compiler, but
rather a compiler for a language with an Ada syntax but a non-Ada
semantic.

---

with Ada.Text_IO;
use  Ada.Text_IO;

procedure test273 is
  type Six_Bits is mod 2**6;
  X: constant Six_Bits := 31;
  Z: constant Integer  := 31;
  Outside : Boolean;
begin
  for J in 0..9 loop
    Outside := True;
    Put (Integer 'Image         (J) &
         Six_Bits'Image  (X * 2**J) );
    for I in Six_Bits loop
      if (X * 2**J) = I then
        Put(" equal to" & Six_Bits'Image(I));
        Outside := False;
      end if;
    end loop;
    if Outside then
      Put(" (value NOT IN");
    else
      Put(" (value in");
    end if;
    Put_Line(Six_Bits'Image(Six_Bits'First) & " .." &
             Six_Bits'Image(Six_Bits'Last) & ")!"    );
  end loop;
end test273;

---

gnatmake test273

---

./test273
 0 31 equal to 31 (value in 0 .. 63)!
 1 62 equal to 62 (value in 0 .. 63)!
 2 124 (value NOT IN 0 .. 63)!
 3 248 (value NOT IN 0 .. 63)!
 4 240 (value NOT IN 0 .. 63)!
 5 224 (value NOT IN 0 .. 63)!
 6 192 (value NOT IN 0 .. 63)!
 7 128 (value NOT IN 0 .. 63)!
 8 0 equal to 0 (value in 0 .. 63)!
 9 0 equal to 0 (value in 0 .. 63)!

-- 
Stefan Lucks      Th. Informatik, Univ. Mannheim, 68131 Mannheim, Germany
            e-mail: lucks@th.informatik.uni-mannheim.de
            home: http://th.informatik.uni-mannheim.de/people/lucks/
------  I  love  the  taste  of  Cryptanalysis  in  the  morning!  ------




  reply	other threads:[~2007-02-09 21:12 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <12shen4qjhv41a7@corp.supernews.com>
2007-02-06 19:17 ` Static vs dynamic evaluation anomaly? Jeffrey R. Carter
2007-02-06 20:01 ` Adam Beneschan
2007-02-06 20:15   ` Ludovic Brenta
2007-02-06 23:38     ` Matt.Jaffe
     [not found]     ` <12sipb529oilnab@corp.supernews.com>
2007-02-07 10:05       ` Ludovic Brenta
2007-02-07 21:54       ` Simon Wright
2007-02-09 12:39         ` GNAT's version Peter Hermann
2007-02-07  3:32   ` Static vs dynamic evaluation anomaly? Steve
2007-02-07 10:00     ` Ludovic Brenta
2007-02-07 10:21       ` Georg Bauhaus
2007-02-07 16:44         ` Adam Beneschan
2007-02-07 18:27           ` Jeffrey R. Carter
2007-02-07 18:55             ` Adam Beneschan
2007-02-07 21:52               ` Simon Wright
2007-02-08  0:48               ` Jeffrey R. Carter
2007-02-08  1:26                 ` Adam Beneschan
2007-02-08 18:44                   ` Jeffrey R. Carter
2007-02-09  7:57                     ` Stefan Lucks
2007-02-09 18:50                       ` Jeffrey R. Carter
2007-02-09 21:12                         ` Stefan Lucks [this message]
2007-02-10  5:22                           ` Jeffrey R. Carter
2007-02-10 12:29                             ` Ludovic Brenta
2007-02-08  6:57             ` Matt Jaffe
2007-02-08  9:01               ` Ludovic Brenta
2007-02-08 10:32                 ` Georg Bauhaus
2007-02-08 11:13                 ` Jean-Pierre Rosen
2007-02-08 13:02                   ` Ludovic Brenta
2007-02-07 21:46         ` Matt.Jaffe
2007-02-07  6:24   ` AW: " Grein, Christoph (Fa. ESG)
2007-02-07  6:59     ` Stefan Lucks
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox