This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/53974] [4.8 Regression] Nearly all tests fail with ADA.CALENDAR.TIME_ERROR : a-calend.adb:603
- From: "dave.anglin at bell dot net" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Fri, 20 Jul 2012 18:48:25 +0000
- Subject: [Bug target/53974] [4.8 Regression] Nearly all tests fail with ADA.CALENDAR.TIME_ERROR : a-calend.adb:603
- Auto-submitted: auto-generated
- References: <bug-53974-4@http.gcc.gnu.org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53974
--- Comment #10 from dave.anglin at bell dot net 2012-07-20 18:48:25 UTC ---
On 7/20/2012 1:42 PM, ebotcazou at gcc dot gnu.org wrote:
> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53974
>
> --- Comment #9 from Eric Botcazou <ebotcazou at gcc dot gnu.org> 2012-07-20 17:42:19 UTC ---
>> I've never seen this. In addition to HARD_REGNO_MODE_OK, the definition of
>> CANNOT_CHANGE_MODE_CLASS prevents mode changes to larger modes
>> when it is greater than UNITS_PER_WORD.
> On SPARC, this is specified by the 32-bit ABI: if you have
>
> void foo(int32_t a, int64_t b)
>
> b will be loaded into DImode %o1, which is SImode %o1 & SImode %o2.
>
On PA, b will be loaded into the second DImode call argument register which
is the r23/r24 register pair. HARD_REGNO_MODE_OK is defined in a manner
that is consistent with the calling conventions.