noreturn & return-without-value fix

Geoff Keating geoffk@cygnus.com
Fri Oct 6 16:25:00 GMT 2000


Hi Richard,

your recent patch, probably

+2000-10-05  Richard Henderson  <rth@cygnus.com>
+
+       * semantics.c (genrtl_finish_function): Don't init or check
+       can_reach_end; remove noreturn and return value checks.
+

seems to have suppressed the warning for code like:

        int good_friend(int)
        {
            obj.parts = 0;
        } // ERROR - non-void

in the C++ compiler.  This shows up as

FAIL: g++.law/friend5.C non-void (test for errors, line 17)
FAIL: g++.law/friend5.C non-void (test for errors, line 22)
PASS: g++.law/friend5.C (test for excess errors)

and other testsuite failures.  Could you look at it?

-- 
- Geoffrey Keating <geoffk@cygnus.com>


More information about the Gcc-patches mailing list