help-gplusplus
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Usage of -ftrapv


From: Paulo Matos
Subject: Usage of -ftrapv
Date: 16 Jun 2006 08:19:47 -0700
User-agent: G2/0.2

Hi all,

I'd like to catch automatically over/underflows on floating point and
integer arithmetic. I thought -ftrapv would do the trick but I don't
really understand how it works. From the latest manual online:
-ftrapv
    This option generates traps for signed overflow on addition,
subtraction, multiplication operations.

I don't understand what's _a trap_. Does it send a signal or something
I can catch?
My idea in C++ is to catch whatever this sends and through a custom
exception. A little after in the manual I have:
-fnon-call-exceptions
    Generate code that allows trapping instructions to throw
exceptions. Note that this requires platform-specific runtime support
that does not exist everywhere. Moreover, it only allows trapping
instructions to throw exceptions, i.e. memory references or floating
point instructions. It does not allow exceptions to be thrown from
arbitrary signal handlers such as SIGALRM.

Does it mean that if I use this, exceptions are thrown when I have an
over/underflow? Could someone please explain me what happens inside
g++?
Another issue is if you think this is better than implementing a new
number type (consider it well implemented) which overloads all
arithmetic operators and throws exceptions when needed.

Thanks in advance for your comments,

Paulo Matos



reply via email to

[Prev in Thread] Current Thread [Next in Thread]