Your message dated Sat, 7 Aug 2004 09:01:02 +0200
with message-id <[EMAIL PROTECTED]>
and subject line Bug#261513: My fault, implicit declaration with overflow
has caused the attached Bug report to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what I am
talking about this indicates a serious mail system misconfiguration
somewhere.  Please contact me immediately.)

Debian bug tracking system administrator
(administrator, Debian Bugs database)

--------------------------------------
Received: (at submit) by bugs.debian.org; 26 Jul 2004 13:16:33 +0000
>From [EMAIL PROTECTED] Mon Jul 26 06:16:33 2004
Return-path: <[EMAIL PROTECTED]>
Received: from dns.iup.univ-avignon.fr (D350.iup.univ-avignon.fr) 
[194.57.216.30] 
        by spohr.debian.org with esmtp (Exim 3.35 1 (Debian))
        id 1Bp5LE-0004mz-00; Mon, 26 Jul 2004 06:16:32 -0700
Received: from prt-domi.iup.univ-avignon.fr ([EMAIL PROTECTED] [194.57.216.118])
        by D350.iup.univ-avignon.fr (8.9.3 (PHNE_28760)/8.9.3) with ESMTP id 
PAA06071;
        Mon, 26 Jul 2004 15:16:00 +0200 (METDST)
Message-Id: <[EMAIL PROTECTED]>
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
From: MASSONIE Dominique <[EMAIL PROTECTED]>
To: Debian Bug Tracking System <[EMAIL PROTECTED]>
Subject: gcc-3.3: strtof only in c99 but not undefined reference otherwise
X-Mailer: reportbug 2.63
Date: Mon, 26 Jul 2004 17:11:41 +0200
Delivered-To: [EMAIL PROTECTED]
X-Spam-Checker-Version: SpamAssassin 2.60-bugs.debian.org_2004_03_25 
        (1.212-2003-09-23-exp) on spohr.debian.org
X-Spam-Status: No, hits=-8.0 required=4.0 tests=BAYES_00,HAS_PACKAGE 
        autolearn=no version=2.60-bugs.debian.org_2004_03_25
X-Spam-Level: 

Package: gcc-3.3
Version: 1:3.3.4-5
Severity: normal



-- System Information:
Debian Release: testing/unstable
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: i386 (i686)
Kernel: Linux 2.4.24+d1
Locale: LANG=C, LC_CTYPE=C

Versions of packages gcc-3.3 depends on:
ii  binutils                   2.14.90.0.7-8 The GNU assembler, linker and bina
ii  cpp-3.3                    1:3.3.4-5     The GNU C preprocessor
ii  gcc-3.3-base               1:3.3.4-5     The GNU Compiler Collection (base 
ii  libc6                      2.3.2.ds1-13  GNU C Library: Shared libraries an
ii  libgcc1                    1:3.4.1-3     GCC support library

-- no debconf information

/*
  The following sample code uses function "strtof".
  Compiled without -std=c99 it produces some bad results instead of a
  compilation error (IMHO: undefined reference to `strtof')
*/

#include <stdlib.h> /* needed for strtod and strtof */
#include <stdio.h>  /* needed for fprintf */

// some related information:
//  - man strtod, strtof, strtold:
//    CONFORMING TO
//       ANSI C describes strtod, C99 describes the other two functions.
//
//  - in /usr/include/stdlib.h
//
// #ifdef  __USE_ISOC99
// __BEGIN_NAMESPACE_C99
// ...
// extern float strtof (__const char *__restrict __nptr,
//                      char **__restrict __endptr) __THROW;
// ...
// __END_NAMESPACE_C99
// #endif

int main (void)
{
    const char buf[] = "123.45";

    fprintf (stdout, "result %f == %f and 6 == %d\n",
             (float)strtod (buf, NULL),
             strtof (buf, NULL),
             6);
    exit (0);
}

// ok with:  gcc -Wall -std=c99 test_strtof.c
//
// without -std=c99 should get (IMHO):
//: undefined reference to `strtof'
// but instead get broken output like:
// result 123.449997 == 0.000000 and 6 == 1073970383

---------------------------------------
Received: (at 261513-done) by bugs.debian.org; 7 Aug 2004 07:01:10 +0000
>From [EMAIL PROTECTED] Sat Aug 07 00:01:10 2004
Return-path: <[EMAIL PROTECTED]>
Received: from mail.cs.tu-berlin.de [130.149.17.13] (root)
        by spohr.debian.org with esmtp (Exim 3.35 1 (Debian))
        id 1BtLCX-0001pc-00; Sat, 07 Aug 2004 00:01:10 -0700
Received: from mailhost.cs.tu-berlin.de ([EMAIL PROTECTED] [130.149.17.13])
        by mail.cs.tu-berlin.de (8.9.3p2/8.9.3) with ESMTP id JAA17316;
        Sat, 7 Aug 2004 09:01:08 +0200 (MEST)
Received: from localhost (localhost [127.0.0.1])
        by mailhost.cs.tu-berlin.de (Postfix) with ESMTP id 04377FE18;
        Sat,  7 Aug 2004 09:01:08 +0200 (MEST)
Received: from mailhost.cs.tu-berlin.de ([127.0.0.1])
 by localhost (bueno [127.0.0.1]) (amavisd-new, port 10224) with ESMTP
 id 23232-48; Sat,  7 Aug 2004 09:01:07 +0200 (MEST)
Received: from bolero.cs.tu-berlin.de (bolero.cs.tu-berlin.de [130.149.19.1])
        by mailhost.cs.tu-berlin.de (Postfix) with ESMTP;
        Sat,  7 Aug 2004 09:01:02 +0200 (MEST)
Received: (from [EMAIL PROTECTED])
        by bolero.cs.tu-berlin.de (8.12.10+Sun/8.12.8/Submit) id i7771285008924;
        Sat, 7 Aug 2004 09:01:02 +0200 (MEST)
From: Matthias Klose <[EMAIL PROTECTED]>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Message-ID: <[EMAIL PROTECTED]>
Date: Sat, 7 Aug 2004 09:01:02 +0200
To: MASSONIE Dominique <[EMAIL PROTECTED]>,
        [EMAIL PROTECTED]
Subject: Re: Bug#261513: My fault, implicit declaration with overflow
In-Reply-To: <[EMAIL PROTECTED]>
References: <[EMAIL PROTECTED]>
X-Mailer: VM 7.03 under 21.4 (patch 6) "Common Lisp" XEmacs Lucid
X-Virus-Scanned: by amavisd-new at cs.tu-berlin.de
Delivered-To: [EMAIL PROTECTED]
X-Spam-Checker-Version: SpamAssassin 2.60-bugs.debian.org_2004_03_25 
        (1.212-2003-09-23-exp) on spohr.debian.org
X-Spam-Status: No, hits=-6.0 required=4.0 tests=BAYES_00,HAS_BUG_NUMBER 
        autolearn=no version=2.60-bugs.debian.org_2004_03_25
X-Spam-Level: 

MASSONIE Dominique writes:
> Hi,
> 
> I investigated a bit more my problem and found that what I expected about
> fprintf and the '6' was normal behavior (ie. %f waits for a double and
> strtof implicit declaration returns an int thus the 6 is lost in the call 
> stack,
> as the warning shows).
> 
> All is 'fixed' by simply changing the sample code with:
> int main (void)
> {
>      const char buf[] = "123.45";
>      const float f1 = (float)strtod (buf, NULL);
>      const float f2 = (float)strtof (buf, NULL);
> 
>      fprintf (stdout, "result %f == %f and 6 == %d\n",
>            f1,
>            f2,
>            6);
>      exit (0);
> }
> 
> The missing or implicit declaration remains but that's ok.
> Thanks for closing this bigreport, sorry for the work.

done.


Reply via email to