Yeah, the LDBL_EPSILON macro is getting undefined and redefined in the etc/config/src/float_defs.h header.
file stdcxx/trunk/etc/config/float_defs.h: 30 # if defined (__EDG__) && !defined (__INTEL_COMPILER) 31 // define gcc 4 intrinsics otherwise not recognized 32 // by the front end ... 67 # if __GNUC__ < 4 68 69 // prevent the propriterary gcc __extension__ from 70 // throwing the vanilla EDG demo for a loop 71 72 # undef LDBL_EPSILON 73 # undef LDBL_MIN 74 # undef LDBL_MAX 75 76 // redefine to prevent compilation errors 77 # define LDBL_EPSILON 1.0842021724855044e-19L ... Does the block starting at line 30 really apply to all compilers using an EDG front-end other than Intel C++? Or only to GCC? The comment suggests that it applies only to GCC. If so, either the directive at line 30 should be written as follows: 30 # if defined (__EDG__) && defined (__GNUC__) && !defined (__INTEL_COMPILER) 31 // define gcc 4 intrinsics otherwise not recognized 32 // by the front end Or the directive at line 67 should be written like this: 67 # if defined (__GNUC__) && __GNUC__ < 4 Oui? Brad. > -----Original Message----- > From: Martin Sebor (JIRA) [mailto:[EMAIL PROTECTED] > Sent: Monday, March 31, 2008 7:02 PM > To: Eric Lemings > Subject: [jira] Commented: (STDCXX-708) [HP aCC > 6.15/HP-UX/IPF] 18.numeric.special.float fails assertions > > > [ > https://issues.apache.org/jira/browse/STDCXX-708?page=com.atla > ssian.jira.plugin.system.issuetabpanels:comment-tabpanel&focus > edCommentId=12583959#action_12583959 ] > > Martin Sebor commented on STDCXX-708: > ------------------------------------- > > I wonder if the EDG-specific macros in > [float_defs.h|http://svn.apache.org/repos/asf/stdcxx/branches/ > 4.2.x/etc/config/src/float_defs.h] might have something to do > with it. Recall that HP aCC 6 is based on the EDG front end > and like other such compilers {{#defines}} the {{\_\_EDG__}} > macro. The preprocessor conditional needs to be adjusted > along the same lines as the one in > [_config.h|http://svn.apache.org/repos/asf/stdcxx/trunk/includ > e/rw/_config.h]: > > {noformat} > 190 // NOTE: the __EDG__ macro is #defined by most > EDG-based compilers > 191 > 192 #if defined (__EDG__) \ > 193 && !defined (__DECCXX) \ > 194 && !defined (__HP_aCC) \ > 195 && !defined (__INTEL_COMPILER) \ > 196 && !defined (_SGI_COMPILER_VERSION) > {noformat} > > > [HP aCC 6.15/HP-UX/IPF] 18.numeric.special.float fails assertions > > ----------------------------------------------------------------- > > > > Key: STDCXX-708 > > URL: > https://issues.apache.org/jira/browse/STDCXX-708 > > Project: C++ Standard Library > > Issue Type: Bug > > Components: Tests > > Affects Versions: trunk > > Environment: {noformat} > > $ uname -srm && aCC -V > > HP-UX B.11.31 ia64 > > aCC: HP C/aC++ B3910B A.06.15 [May 16 2007] > > {noformat} > > Reporter: Martin Sebor > > Assignee: Eric Lemings > > Fix For: 4.2.1 > > > > Original Estimate: 4h > > Time Spent: 6h > > Remaining Estimate: 0h > > > > When compiled with HP aCC 6 on HP-UX running on IPF > hardware the newly added test > [18.numeric.special.float.cpp|http://svn.apache.org/viewvc/std > cxx/trunk/tests/support/18.numeric.special.float.cpp] fails a > bunch of assertions. > > One of them look like a configuration problem in the > library (has_denorm) while others (min(), max(), and > epsilon()) like problems in the test > > {noformat} > > $ nice gmake 18.numeric.special.float -r && > ./18.numeric.special.float > > aCC -c -D_RWSTDDEBUG -mt -I/amd/devco/sebor/stdcxx/include \ > > -I/build/sebor/stdcxx-aCC-6.15-15D/include > -I/amd/devco/sebor/stdcxx/tests/include \ > > -AA -g +d +DD64 +w +W392 +W655 +W684 +W818 +W819 +W849 > +W2193 +W2236 +W2261 \ > > +W2340 +W2401 +W2487 +W4227 +W4229 +W4231 +W4235 +W4237 > +W4249 +W4255 +W4272 \ > > +W4284 +W4285 +W4286 > /amd/devco/sebor/stdcxx/tests/support/18.numeric.special.float.cpp > > "/amd/devco/sebor/stdcxx/include/limits", line 449: warning > #4070-D: floating > > point underflow exception > > _RWSTD_STATIC_FUN (long double, (min), _RWSTD_LDBL_MIN) > > ^ > > aCC 18.numeric.special.float.o -o 18.numeric.special.float \ > > -L/build/sebor/stdcxx-aCC-6.15-15D/rwtest -lrwtest15D -AA > +nostl -Wl,+s -mt +DD64 \ > > -L/build/sebor/stdcxx-aCC-6.15-15D/lib \ > > > -Wl,+b/build/sebor/stdcxx-aCC-6.15-15D/lib:/build/sebor/stdcxx > -aCC-6.15-15D/rwtest \ > > -lstd15D -lm > > rm 18.numeric.special.float.o > > # INFO (S1) (10 lines): > > # TEXT: > > # COMPILER: HP aCC, __HP_aCC = 61500, __EDG_VERSION__ = 308 > > # ENVIRONMENT: ia64 running hp-ux > > # FILE: 18.numeric.special.float.cpp > > # COMPILED: Jan 24 2008, 17:28:57 > > # COMMENT: floating specializations > > ############################################################ > > # CLAUSE: numeric.special > > # ASSERTION (S7) (4 lines): > > # TEXT: numeric_limits<float>::has_denorm == -1, got 1 > > # CLAUSE: numeric.special > > # LINE: 1366 > > # ASSERTION (S7) (4 lines): > > # TEXT: numeric_limits<double>::has_denorm == -1, got 1 > > # CLAUSE: numeric.special > > # LINE: 1366 > > # ASSERTION (S7) (4 lines): > > # TEXT: numeric_limits<long double>::min() == 3.3621e-4932, > got 3.3621e-4932 > > # CLAUSE: numeric.special > > # LINE: 1253 > > # ASSERTION (S7) (4 lines): > > # TEXT: numeric_limits<long double>::max() == > 1.18973e+4932, got 1.18973e+4932 > > # CLAUSE: numeric.special > > # LINE: 1254 > > # ASSERTION (S7) (4 lines): > > # TEXT: numeric_limits<long double>::epsilon() == > 1.92593e-34, got 1.0842e-19 > > # CLAUSE: numeric.special > > # LINE: 1262 > > # ASSERTION (S7) (4 lines): > > # TEXT: numeric_limits<long double>::has_denorm == -1, got 1 > > # CLAUSE: numeric.special > > # LINE: 1366 > > # +-----------------------+----------+----------+----------+ > > # | DIAGNOSTIC | ACTIVE | TOTAL | INACTIVE | > > # +-----------------------+----------+----------+----------+ > > # | (S1) INFO | 1 | 1 | 0% | > > # | (S5) WARNING | 0 | 3 | 100% | > > # | (S7) ASSERTION | 6 | 134 | 95% | > > # +-----------------------+----------+----------+----------+ > > {noformat} > > -- > This message is automatically generated by JIRA. > - > You can reply to this email to add a comment to the issue online. > >