OpenCores
URL https://opencores.org/ocsvn/openrisc_2011-10-31/openrisc_2011-10-31/trunk

Subversion Repositories openrisc_2011-10-31

[/] [openrisc/] [trunk/] [gnu-src/] [gcc-4.5.1/] [gcc/] [testsuite/] [gfortran.dg/] [g77/] [980519-2.f] - Blame information for rev 315

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 302 jeremybenn
c { dg-do compile }
2
* Date: Fri, 17 Apr 1998 14:12:51 +0200
3
* From: Jean-Paul Jeannot <jeannot@gx-tech.fr>
4
* Organization: GX Technology France
5
* To: egcs-bugs@cygnus.com
6
* Subject: identified bug in g77 on Alpha
7
*
8
* Dear Sir,
9
*
10
* You will find below the assembly code of a simple Fortran routine which
11
* crashes with segmentation fault when storing the first element
12
*       in( jT_f-hd_T     ) = Xsp
13
* whereas everything is fine when commenting this line.
14
*
15
* The assembly code (generated with
16
* -ffast-math -fexpensive-optimizations -fomit-frame-pointer -fno-inline
17
* or with -O5)
18
* uses a zapnot instruction to copy an address.
19
* BUT the zapnot parameter is 15 (copuing 4 bytes) instead of 255 (to copy
20
* 8 bytes).
21
*
22
* I guess this is typically a 64 bit issue. As, from my understanding,
23
* zapnots are used a lot to copy registers, this may create problems
24
* elsewhere.
25
*
26
* Thanks for your help
27
*
28
* Jean-Paul Jeannot
29
*
30
      subroutine simul_trace( in, Xsp, Ysp, Xrcv, Yrcv )
31
 
32
c   Next declaration added on transfer to gfortran testsuite
33
      integer hd_S, hd_Z, hd_T
34
 
35
      common /Idim/ jT_f, jT_l, nT, nT_dim
36
      common /Idim/ jZ_f, jZ_l, nZ, nZ_dim
37
      common /Idim/ jZ2_f, jZ2_l, nZ2, nZ2_dim
38
      common /Idim/ jzs_f, jzs_l, nzs, nzs_dim, l_amp
39
      common /Idim/ hd_S, hd_Z, hd_T
40
      common /Idim/ nlay, nlayz
41
      common /Idim/ n_work
42
      common /Idim/ nb_calls
43
 
44
      real Xsp, Ysp, Xrcv, Yrcv
45
      real in( jT_f-hd_T : jT_l )
46
 
47
      in( jT_f-hd_T     ) = Xsp
48
      in( jT_f-hd_T + 1 ) = Ysp
49
      in( jT_f-hd_T + 2 ) = Xrcv
50
      in( jT_f-hd_T + 3 ) = Yrcv
51
      end

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.