windows-nt/Source/XPSP1/NT/base/crts/crtw32/startup/crt0fp.c
2020-09-26 16:20:57 +08:00

58 lines
1.7 KiB
C

/***
*crt0fp.asm - floating point not loaded trap
*
* Copyright (c) 1989-2001, Microsoft Corporation. All rights reserved.
*
*Purpose:
* To trap certain cases where certain necessary floating-point
* software is not loaded. Two specific cases are when no emulator
* is linked in but no coprocessor is present, and when floating
* point i/o conversions are done, but no floating-point variables
* or expressions are used in the program.
*
*Revision History:
* 06-29-89 PHG module created, based on asm version
* 04-09-90 GJF Added #include <cruntime.h>. Made calling type
* _CALLTYPE1. Also, fixed the copyright.
* 04-10-90 GJF Fixed compiler warnings (-W3).
* 10-08-90 GJF New-style function declarator.
* 10-11-90 GJF Changed _amsg_exit() interface.
* 04-06-93 SKS Replace _CRTAPI* with __cdecl
*
*******************************************************************************/
#include <cruntime.h>
#include <internal.h>
#include <rterr.h>
/***
*_fptrap - trap for missing floating-point software
*
*Purpose:
* Catches these cases of incomplete f.p. software linked into a program.
*
* (1) no coprocessor present, and no emulator linked in
*
* (2) "%e", "%f", and "%g" i/o conversion formats specified, but
* not all conversion software has been linked in, because the
* program did not use any floating-point variables or expressions.
*
*Entry:
* None.
*
*Exit:
* Never returns.
*
*Exceptions:
* Transfers control to _amsg_exit which ...
* - Writes error message to standard error: "floating point not loaded"
* - Terminates the program by calling _exit().
*******************************************************************************/
void __cdecl _fptrap(
void
)
{
_amsg_exit(_RT_FLOAT);
}