--- Comment #46 from law at redhat dot com 2007-09-15 06:35 ---
Subject: Re: [4.3 regression] ACATS cxh1001 fails
On Wed, 2007-09-12 at 15:55 +, ebotcazou at gcc dot gnu dot org
wrote:
--- Comment #45 from ebotcazou at gcc dot gnu dot org 2007-09-12 15:55
---
At
--- Comment #44 from ebotcazou at gcc dot gnu dot org 2007-09-12 15:53
---
Subject: Bug 26797
Author: ebotcazou
Date: Wed Sep 12 15:52:57 2007
New Revision: 128441
URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=128441
Log:
PR ada/26797
PR ada/32407
*
--- Comment #45 from ebotcazou at gcc dot gnu dot org 2007-09-12 15:55
---
At long last.
--
ebotcazou at gcc dot gnu dot org changed:
What|Removed |Added
--- Comment #42 from baldrick at free dot fr 2007-03-13 10:30 ---
Subject: Re: [4.3 regression] ACATS cxh1001 fails
It is not possible for a pointer value to be uninitialized. The language
requires all pointers to be default initialized to null.
I mean the thing that pointer
--- Comment #43 from kenner at vlsi1 dot ultra dot nyu dot edu 2007-03-13
12:33 ---
Subject: Re: [4.3 regression] ACATS cxh1001 fails
I think I now understand: I thought the problem we were discussing was
how to obtain correctness (which seems to be easy using local checks)
while
--
ebotcazou at gcc dot gnu dot org changed:
What|Removed |Added
CC||ebotcazou at gcc dot gnu dot
|
--- Comment #29 from baldrick at free dot fr 2007-03-09 10:41 ---
Subject: Re: [4.3 regression] ACATS cxh1001 fails
Sure, it's just that overloading V_C_E like this feels somehow wrong to me.
Why? It's not overloading. V_C_E of an expression E of type X to
type Y means
--- Comment #30 from rguenth at gcc dot gnu dot org 2007-03-09 11:11
---
Well, the only problem with V_C_E is that if you assert on the range of the
base type like
if (V_C_E X'Base (y) 5)
abort();
that you still want VRP to infer that V_C_E X'Base (y) is = 5 after this
check
--- Comment #31 from ebotcazou at gcc dot gnu dot org 2007-03-09 11:19
---
All the mess would be way easier if the FE would not expose the subtypes to
the middle-end...
I personally agree, but there is no clear consensus among the Ada maintainers.
--
--- Comment #32 from baldrick at free dot fr 2007-03-09 11:34 ---
Subject: Re: [4.3 regression] ACATS cxh1001 fails
Well, the only problem with V_C_E is that if you assert on the range of the
base type like
if (V_C_E X'Base (y) 5)
abort();
that you still want VRP to
--- Comment #33 from baldrick at free dot fr 2007-03-09 11:50 ---
Subject: Re: [4.3 regression] ACATS cxh1001 fails
My suggested use of a builtin would allow multiple redundant validity checks
to be safely eliminated, because the builtin would be a pure function.
This is presumably
--- Comment #34 from kenner at vlsi1 dot ultra dot nyu dot edu 2007-03-09
13:59 ---
Subject: Re: [4.3 regression] ACATS cxh1001 fails
You may well respond that you are only supposed to forget
information you deduced from the range of the type, not information
you worked out by
--- Comment #35 from kenner at vlsi1 dot ultra dot nyu dot edu 2007-03-09
14:18 ---
Subject: Re: [4.3 regression] ACATS cxh1001 fails
All the mess would be way easier if the FE would not expose the subtypes to
the middle-end...
I don't see how giving *additional* information could
--- Comment #36 from kenner at vlsi1 dot ultra dot nyu dot edu 2007-03-09
14:29 ---
Subject: Re: [4.3 regression] ACATS cxh1001 fails
I don't think this is a very serious problem. My understanding is
that the checks can be divided into two classes: normal checks and
validity
--- Comment #37 from baldrick at free dot fr 2007-03-09 22:44 ---
Subject: Re: [4.3 regression] ACATS cxh1001 fails
Think of a range check being done in a subscript reference in the LHS of
an assignment. A bounded error is not allowed to cause a memory store
outside the bounds of
--- Comment #38 from baldrick at free dot fr 2007-03-09 23:10 ---
Subject: Re: [4.3 regression] ACATS cxh1001 fails
All the mess would be way easier if the FE would not expose the subtypes to
the middle-end...
I don't see how giving *additional* information could be bad: the
--- Comment #39 from kenner at vlsi1 dot ultra dot nyu dot edu 2007-03-09
23:13 ---
Subject: Re: [4.3 regression] ACATS cxh1001 fails
I don't see that pointer dereferences are a problem - I'm pretty sure that
the RM places you firmly in the erroneous zone if you do something that
--- Comment #40 from baldrick at free dot fr 2007-03-09 23:41 ---
Subject: Re: [4.3 regression] ACATS cxh1001 fails
On Saturday 10 March 2007 00:13:27 kenner at vlsi1 dot ultra dot nyu dot edu
wrote:
--- Comment #39 from kenner at vlsi1 dot ultra dot nyu dot edu
2007-03-09
--- Comment #41 from kenner at vlsi1 dot ultra dot nyu dot edu 2007-03-10
00:17 ---
Subject: Re: [4.3 regression] ACATS cxh1001 fails
It is not possible for a pointer value to be uninitialized. The language
requires all pointers to be default initialized to null.
I mean the thing
--- Comment #25 from baldrick at gcc dot gnu dot org 2007-03-08 09:56
---
I can't help feeling that VIEW_CONVERT_EXPR is not the right tool
for implementing 'Valid. I think an intrinsic would be better,
eg int __builtin_nop(int) which is defined to return its
argument unchanged. Then
--- Comment #26 from kenner at vlsi1 dot ultra dot nyu dot edu 2007-03-08
12:54 ---
Subject: Re: [4.3 regression] ACATS cxh1001 fails
y = __builtin_nop(x); valid = (y=lower_bound y =upper_bound);
The point is that the intrinsic would be opaque to the optimizers,
and would only be
--- Comment #27 from baldrick at free dot fr 2007-03-08 16:06 ---
Subject: Re: [4.3 regression] ACATS cxh1001 fails
y = __builtin_nop(x); valid = (y=lower_bound y =upper_bound);
The point is that the intrinsic would be opaque to the optimizers,
and would only be lowered to the
--- Comment #28 from kenner at vlsi1 dot ultra dot nyu dot edu 2007-03-08
16:52 ---
Subject: Re: [4.3 regression] ACATS cxh1001 fails
I don't see what the problem is - you don't have to convert to the base
type, you can always convert to some standard type of that precision,
eg
23 matches
Mail list logo