On Sun, Jan 5, 2014 at 7:30 PM, David Blaikie <[email protected]> wrote: > > Is this an existing warning in another compiler?
The only other compiler I have access to right now is GCC 4.8 and from what I can tell they do not have this warning. However, their docs say that it does not make sense for a noreturn function to have a return type other than void (http://gcc.gnu.org/onlinedocs/gcc-4.8.0/gcc/Function-Attributes.html). > Is it finding bugs? I can't say for sure if this particular would find bugs or not, but I think marking a noreturn function as having a return type could potentially be confusing?. > How does this interact with virtual functions? (what if I'm overriding a > non-void non-noreturn function with a noreturn function?) If I understand your question correctly...I quickly made up this example: class TestClass { virtual int cfoo() { return 0; } }; class TestClass2: public TestClass { __attribute__((noreturn)) virtual int cfoo() { while(1){} return 1; } }; The warning is emitted on the cfoo() function in TestClass2 as expected. Thanks! _______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
