Bugs item #2925747, was opened at 2010-01-04 18:34
Message generated for change (Comment added) made by bagder
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=100976&aid=2925747&group_id=976
Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: compile or build problem
Group: portability problem
Status: Open
Resolution: None
Priority: 5
Private: No
Submitted By: canavan (canavan)
Assigned to: Daniel Stenberg (bagder)
Summary: stdint.h included in curlbuild.h not usable for C++ on IRIX
Initial Comment:
On Irix, stdint.h explicitly prevents its use via an #error in anything but C99 mode, thereby preventing the use of curlbuild.h from C++. An easy fix would be to use inttypes.h instead if avaliable, possibly only in if __sgi is defined.
----------------------------------------------------------------------
>Comment By: Daniel Stenberg (bagder)
Date: 2010-01-04 23:03
Message:
ah... when you build your app you include libcurl headers with the other
compiler... ugh, that's a tricky problem. Yes we need some kind of run-time
check to cover for this, don't we Yang?
----------------------------------------------------------------------
Comment By: Daniel Stenberg (bagder)
Date: 2010-01-04 23:02
Message:
doesn't that imply that you run configure with one CC and then build
(lib)curl with another CC?
----------------------------------------------------------------------
Comment By: canavan (canavan)
Date: 2010-01-04 21:31
Message:
IRIX 6.5.30
Compiler is MIPSPro 7.4.4
CFLAGS=" -diag_suppress 3649 -diag_error 1035 -DIP32 -DIRIX -O3 -n32
-mips4 -OPT:Olimit=0:roundoff=3 -TARG:platform=IP27:proc=r10000
-L/usr/nekoware/lib -L/usr/local/lib -L/usr/lib32 -I/usr/nekoware/include
"
stdint.h is part of compiler_dev.hdr.lib, which is from the development
foundation 1.3 CD, which is required for the MIPSPro 7.4.x compilers.
The problem is that the configure script uses $CC to determine if stdint.h
is usable. With CC=/usr/bin/c99, this is a C99 compatible front-end. The
CXX=/usr/bin/CC however does not conform to C99, since it is a C++
compiler.
----------------------------------------------------------------------
Comment By: Yang Tse (yangtse)
Date: 2010-01-04 20:31
Message:
Irix version ?
Compiler and version used when running configure ?
CC and CFLAGS used when running configure ?
AFAIK standard IRIX has no stdint.h, so where did that header come from ?
Answer all of the above.
In any case. If as you state, Irix stdint.h explicitly prevents its use
via an #error in anything but C99 mode, that means that you managed to run
configure in C99 mode, and afterwards when compiling your application you
are not using C99.
----------------------------------------------------------------------
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=100976&aid=2925747&group_id=976
Received on 2010-01-04