On Sunday 05 December 2010 15:51:07 Simen Kjaeraas wrote: > Jonathan M Davis <[email protected]> wrote: > > On Sunday 05 December 2010 08:55:54 David Simcha wrote: > >> I'm trying to test out Brad's 64 work and I can't compile Phobos because > >> in 64 mode std.math calls some C math functions declared in druntime w/o > >> purity, safety, etc. tags. I now remember that this was one of the few > >> areas I meant to come back to when I was cleaning up 64 support in > >> Phobos, but I forgot about it. Is it safe to assume that C > >> core.stdc.math functions are @safe pure nothrow? > > > > Shouldn't _all_ C function be considered nothrow? C doesn't have > > exceptions, so > > C functions can't possibly throw. > > A C function could call a D function (e.g. passed as a function pointer), > no?
Well, I wouldn't expect a D function which threw an exception to be properly handled by the C function, such that it would be an extremely bad idea to call a D function which throws from C code. I certainly wouldn't expect calling a C function which calls a D function to throw an exception even if the D function threw one. I'd expect things to go seriously south if a D function ever threw an exception and a C function called it. Maybe it's able to handle it somehow. I don't know. But I wouldn't expect it to work, since C has no concept of exceptions. - Jonathan M Davis _______________________________________________ phobos mailing list [email protected] http://lists.puremagic.com/mailman/listinfo/phobos
