$ cat t.cpp && make t && ./t
#include <cassert>
#include <cstdio>
#include <cstdlib>
#include <limits>
char digits[] = " +0.?23456789e+01";
int main ()
{
digits [4] = '0';
const int zero = (int)std::strtod (digits, 0);
digits [4] = '1';
const int x = (int)std::strtod (digits, 0);
if (!std::numeric_limits<int>::traps) {
const int div = x / zero;
const int mod = x % zero;
std::printf ("%d, %d\n", div, mod);
}
}
gcc -c -I/amd/devco/sebor/stdcxx-4.2.x/include/ansi -pthread -I/amd/devco/sebor/stdcxx-4.2.x/include -I/build/sebor/stdcxx-4.2.x-gcc-4.1.0-12D/include -I/amd/devco/sebor/stdcxx-4.2.x/examples/include -pedantic -nostdinc++ -O2 -W -Wall -Wcast-qual -Winline -Wshadow -Wwrite-strings -Wno-long-long -Wcast-align t.cpp
gcc t.o -o t -pthread -L/build/sebor/stdcxx-4.2.x-gcc-4.1.0-12D/lib -Wl,-R/build/sebor/stdcxx-4.2.x-gcc-4.1.0-12D/lib -lstd12D -lsupc++ -lm
Floating point exception