I'm evaluating the v6.0-4 pgf95 compiler and when I compile and run my numeric inquiry test code, I found I was getting floating point exceptions (I use the -Ktrap=ovf option). I tracked it down to the EXPONENT intrinsic always giving a result of -1022 for single precision arguments in a particular context. Some output of my test code (with the ovf option turned off) is shown below:

As you can see, the reported EXPONENT() values are incorrect (my output also uses 1.2345679000000E-01, 1.2345679000000E+01, and 9.9999998000000E-03 as arguments and they also produce -1022 output for EXPONENT).

I tried to replicate this error in a really simple program, but could not. My test code declares some test numbers:

In this context, EXPONENT() always reports -1022 for the single precision case.

This looks like a compiler bug to me (the same code but using double precision variables and arguments in the intrinsics works fine). Is that a fair assessment? If so, is it a known bug? If not I can submit a bug report with my test code tarball....how is that done when one has an evaluation license?

Although we have not seen this before, it could be a new compiler bug or a problem with the code. We would need to have the full code to investigate further. I put together the code samples you posted but didn't see the described behavior.