From: "Willliam V" <nospam@nospam.com>
Subject: Re: Ada or C++ acting 'correctly' here?
Date: 1999/03/02
Date: 1999-03-02T06:34:20+00:00 [thread overview]
Message-ID: <7bg0pc$5a4$1@ffx2nh3.news.uu.net> (raw)
In-Reply-To: 7b8c7u$sj1@drn.newsguy.com
500000000*7 is a negative quantity. C++ prints out
what you ask it to do.
try unsigned long l = 500000000*7;
cout << l;
or even
cout << ((unsigned long )500000000)*7);
If Linux 'd make the unsigned long to be 64 bit, you Ada would
have compiled fine. So the Ada compiler you are using is
relying very heavily on the underlying C machinery. Don't be
too fast to blame C or C++
Wil
bill@mooner wrote in message <7b8c7u$sj1@drn.newsguy.com>...
>Hello,
>
>compare these 2 little programs, do same thing, one in C++
>and one in Ada. The C++ program compiles Ok, but result is
>negative, the Ada program refused to compile:
>
>
>----------------------------
>#include <iostream>
>int main()
>{
> cout<<(500000000*7);
> return 0;
>}
>-----------------------------
>%g++ -Wall test_mult.cc
>%./a.out
>-794967296
>
>(this is g++ 2.8.1)
>
>----------------------------
>with Ada.Integer_Text_Io; use Ada.Integer_Text_Io;
>procedure Test_Multi is
> begin
> Put( 500000000*7 );
> end Test_Multi;
>-----------------------------
>$gnatmake test_multi.adb
>gcc -c test_multi.adb
>test_multi.adb:6:18: value not in range of type "Standard.Integer"
>test_multi.adb:6:18: static expression raises "Constraint_Error"
>gnatmake: "test_multi.adb" compilation error
>
>
>Now. Which would you consider the correct language behaviour?
>(same machine, Pentium pro, Linux.
>
>Bill.
next prev parent reply other threads:[~1999-03-02 0:00 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
1999-02-27 0:00 Ada or C++ acting 'correctly' here? bill
1999-02-27 0:00 ` Gautier.DeMontmollin
1999-02-27 0:00 ` Matthew Heaney
1999-02-27 0:00 ` Steve Doiel
1999-02-27 0:00 ` Florian Weimer
[not found] ` <36e8e201.48455851@netnews.worldnet.att.net>
1999-03-18 0:00 ` bglbv
1999-02-27 0:00 ` Claudius Proculus
1999-02-27 0:00 ` Biju Thomas
1999-02-28 0:00 ` robert_dewar
1999-02-28 0:00 ` Florian Weimer
1999-03-01 0:00 ` dewar
1999-02-28 0:00 ` William McKenzie
1999-03-01 0:00 ` fraser
1999-03-01 0:00 ` Hubert B. Keller
1999-02-28 0:00 ` robert_dewar
1999-03-02 0:00 ` Willliam V [this message]
1999-03-02 0:00 ` SpamSpamSpam
1999-03-02 0:00 ` robert_dewar
1999-03-02 0:00 ` Gautier.DeMontmollin
1999-03-02 0:00 ` kvisko
1999-03-02 0:00 ` Pascal Obry
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox