This is the mail archive of the gcc-help@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: why does g++ not warn about division by zero?


Have you tried that at various optimization levels?

At lower optimization levels, the "inline" keyword should not cause the function to actually get inlined.

If the function is not actually inlined, gcc cannot be aware of the divide by zero.

I don't happen to know whether gcc would warn if it were aware of the divide by zero, nor if actually inlining is sufficient to make it aware. I'm just saying actually inlining should be necessary to make it aware of the divide by zero.

Martin Ettl wrote:
template <typename T1, typename T2> inline T1 foo (T1 const& a, T2 const& b)
{
	// ....
    return a/b;
}

int main()
{
std::cout << foo(4.,0) << std::endl; return 0; }


I compiled the testprogramm with following command:
g++ -W -Wall -pedantic -o test test.cpp


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]