public inbox for gcc-prs@sourceware.org
help / color / mirror / Atom feed
From: toon@moene.indiv.nluug.nl
To: gcc-gnats@gcc.gnu.org
Cc: "Hillel \(Sabba\) Markowitz" <sabbahem@bcpl.net>
Subject: target/4731: SPARC gives wrong output on simple combination of Fortran main program and C functions
Date: Mon, 29 Oct 2001 08:06:00 -0000	[thread overview]
Message-ID: <20011029155949.16172.qmail@sourceware.cygnus.com> (raw)

>Number:         4731
>Category:       target
>Synopsis:       SPARC gives wrong output on simple combination of Fortran main program and C functions
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    unassigned
>State:          open
>Class:          wrong-code
>Submitter-Id:   net
>Arrival-Date:   Mon Oct 29 08:06:01 PST 2001
>Closed-Date:
>Last-Modified:
>Originator:     Hillel (Sabba) Markowitz
>Release:        GCC 3.0.1
>Organization:
>Environment:
SPARC, Solaris 8
uname -a
SunOS mumble 5.8 Generic_108528-10 sun4u sparc SUNW,Sun-Blade-100
>Description:
This Fortran main program:

      PROGRAM TEST_G77
      REAL*4 PRINT_A
      REAL*4 TEST_GCC
      REAL*4 S, V, T
      REAL*8 PRINT_DA
      REAL*8 TEST_DGCC
      REAL*8 DS, DV, DT

      T = 20.0
      S = TEST_GCC(T)
      WRITE(*,'(A, F16.5, 3X, Z8)') "S = ", S, S
      WRITE(*,'(A, F16.5, 3X, Z8)') "T = ", T, T

      DT = 20.0
      DS = TEST_DGCC(DT)
      WRITE(*,'(A, F16.5, 3X, Z16)') "DS = ", DS, DS
      WRITE(*,'(A, F16.5, 3X, Z16)') "DT = ", DT, DT
      END

combined with these C functions:


float test_gcc_(float *b)
{
  float a;

  a = 10.0;
  printf("a=%f (%#x)\n",a,a);
  printf("b=%f (%#x)\n",*b,*b);
  return(a);
}

double test_dgcc_(double *db)
{
  double da;

  da = 10.0;
  printf("da=%f (%#x)\n",da,da);
  printf("db=%f (%#x)\n",*db,*db);
  return(da);
}

float print_a_(float *a)
{
  printf("A = %f (%#x)\n", *a, *a);
  return(0);
}

double print_da_(double *da)
{
  printf("DA = %f (%#x)\n", *da, *da);
  return(0);
}

give the wrong output:

a=10.000000 (0x40240000)
b=20.000000 (0x40340000)
S =     524288.00000   49000000
T =         20.00000   41A00000
da=10.000000 (0x40240000)
db=20.000000 (0x40340000)
DS =         10.00000   4024000000000000
DT =         20.00000   4034000000000000

[ The first value of S should be 10.00000 ]
>How-To-Repeat:
g77 -o bla fortran.f c.c
>Fix:

>Release-Note:
>Audit-Trail:
>Unformatted:


             reply	other threads:[~2001-10-29  8:06 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-10-29  8:06 toon [this message]
2002-03-16  7:54 toon
2002-06-22  5:16 davem

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20011029155949.16172.qmail@sourceware.cygnus.com \
    --to=toon@moene.indiv.nluug.nl \
    --cc=gcc-gnats@gcc.gnu.org \
    --cc=sabbahem@bcpl.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).