------- Comment #10 from navin dot kumar at gmail dot com 2010-08-07 17:27 ------- Richard, correct references in C++ cannot bind to NULL. So gcc should derive non-NULL-ness when the argument is a reference. It seems to correctly do this in the case of foo3 and fooB, but fails to do so for foo1 and fooA.
-- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45221