[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference turris::decc

Title:DECC
Notice:General DEC C discussions
Moderator:TLE::D_SMITHNTE
Created:Fri Nov 13 1992
Last Modified:Fri Jun 06 1997
Last Successful Update:Fri Jun 06 1997
Number of topics:2212
Total number of notes:11045

2185.0. "Compile with V5.5 and link against Alpha V1.5" by UTRTSC::BARK () Tue May 13 1997 12:09

Hello,

Customer has a problem with modules wich do not exsist in the starlet object
library from OpenVMS Alpha V1.5
Customer was using DECC V1.3a with OpenVMS V6.1 and he linked against the 
V1.5 libraries to be able to run the programs on OpenVMS V1.5.
Since he upgraded to DECC V5.5 he had problems with references to DECC$TPOW_2
wich does not exsist in starlet object library from V1.5.

The following program is a example I received from him, they use /FLOAT=IEEE
Is there a way to get around this or do we have to advise to go back to
V1.3a
Is it possible to move the modules to a separate library wich can be specified
on the link command or does this for sure generate problems.
I know it's unsupported.

Thanks,

Henk Bark
Digital Software Support. 

/*#include <stdio.h> */
/*#include <math.h> */

double pow(double, double);

main(argc, argv)
int argc;
char *argv[];
{
        double r, a, b;

        a=2.0;
        b=1.1;
        r=pow(a, b);

        printf("Result: %lf\n", r);
}


T.RTitleUserPersonal
Name
DateLines
2185.1DECCXL::OUELLETTEmudseason into blackfly seasonTue May 13 1997 14:5419
DEC C V5.5 requires OpenVMS Alpha V6.1.  There are lots of library reasons
behind this (the compiler emits calls to routines newly placed into the
RTLs.)  You may either need to move back to your unsupported DEC C V1.3a or
move forward to a later release of VMS.  I very much prefer forward
progress, but you probably have your reasons.

Perhaps an RTL person has more of a clue about this.
This stuff is so ancient that queries of people likly to know
have only resulted in a round of shrugs.

For your information, the compiler (at least now) takes a list of known
functions like pow.  Since there are several different floating point types
possible for this function (VAX G float or IEEE double float) the compiler
maps the name to the right one.  Perhaps if you look at what got called
when using the V1.3a compiler, you could call that directly...
Or you could write your own pow function which does the right thing
using the /PREFIX_LIBRARY_ENTRIES=(EXCEPT=("pow")).

Roland.
2185.2Upgrade -- Don't Mess Around...XDELTA::HOFFMANSteve, OpenVMS EngineeringWed May 14 1997 12:409
   Your customer is in *serious* need of software upgrades.

   All OpenVMS support for OpenVMS Alpha V1.5 (and all other OpenVMS Alpha
   releases prior to V6.1) was removed quite some time ago, and all such
   systems -- per OpenVMS product management -- must be upgraded to OpenVMS
   Alpha V6.1, or later.

   And DEC C V1.3a is an antique, too.