------- Comment #5 from sebor at roguewave dot com  2008-07-18 21:47 -------
(In reply to comment #4)

The ODR is important from an ABI standpoint -- imagine a function template
that uses SFINAE and std::has_nothrow_default_constructor<T>::type. Simply
rearranging code or even compiling multiple sources in the same step could
change which overload will be selected, potentially causing an ABI breakage.
The compiler must give the same answer for the same type regardless of the
context. That might mean not considering the body of the function if it
can't be done 100% consistently (e.g., for out-of-line functions).


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36870

Reply via email to