Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 18 Dec 2012 20:31:39 GMT
From:      Robin Carey <robin.carey1@googlemail.com>
To:        freebsd-gnats-submit@FreeBSD.org
Subject:   i386/174549: UINT64_MAX missing in C++ Program
Message-ID:  <201212182031.qBIKVdMr020571@red.freebsd.org>
Resent-Message-ID: <201212182040.qBIKe0I9030596@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         174549
>Category:       i386
>Synopsis:       UINT64_MAX missing in C++ Program
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-i386
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Tue Dec 18 20:40:00 UTC 2012
>Closed-Date:
>Last-Modified:
>Originator:     Robin Carey
>Release:        9.1-R/i386 and 9.0-R/i386
>Organization:
None
>Environment:
Abbreviated:

FreeBSD 9.1-RELEASE #0 r243826 GENERIC i386

Bug also present on:

FreeBSD 9.0-RELEASE GENERIC i386
>Description:
The bug seems to be C++ related (I doubt it is also present in the C
programming language environment).


The bug can be reproduced by downloading the following C++ software:

http://www.leopard.uk.com/CP

[ The file cp1.tgz is available at the above URL; tar archive; gzipped ]


If you then examine/edit the file: Counter128.h, you will be able to comment/uncomment the following cpp directive:

// Work-around a bug in FreeBSD-9.0/i386 where the UINT*_MAX parameters
// are not defined by the <stdint.h> inclusion:
//
# ifndef  UINT64_MAX
# define  UINT64_MAX 0xffffffffffffffffULL
# endif

If the above cpp directive is commented out, the program will fail to compile with the error:

Counter128.h: 104: error: `UINT64_MAX' was not declared in this scope


Note: I assumed this bug would have been fixed in 9.1-R (after encountering it in 9.0-R.
>How-To-Repeat:
The bug can be reproduced by downloading the following C++ software:

http://www.leopard.uk.com/CP

[ The file cp1.tgz is available at the above URL; tar archive; gzipped ]


If you then examine/edit the file: Counter128.h, you will be able to comment/uncomment the following cpp directive:

// Work-around a bug in FreeBSD-9.0/i386 where the UINT*_MAX parameters
// are not defined by the <stdint.h> inclusion:
//
# ifndef  UINT64_MAX
# define  UINT64_MAX 0xffffffffffffffffULL
# endif

If the above cpp directive is commented out, the program will fail to compile with the error:

Counter128.h: 104: error: `UINT64_MAX' was not declared in this scope

>Fix:
[ not known ]

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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201212182031.qBIKVdMr020571>