On Sep 12, 2013, at 2:07 PM, Ryosuke Niwa <rn...@webkit.org> wrote: > http://trac.webkit.org/changeset/155643 broke Qt build with an error saying: > > Source/JavaScriptCore/dfg/DFGGPRInfo.h:169:5: error: control reaches end of > non-void function [-Werror=return-type] > cc1plus: all warnings being treated as errors > > because of the following code: > > GPRReg gpr(WhichValueWord which) const > { > switch (which) { > case TagWord: > return tagGPR(); > case PayloadWord: > return payloadGPR(); > } > } > > But the code works just fine as is because WhichValueWord only takes two > values (TagWord and PayloadWord) and they're all handled in the switch > statement. > > Can we disable this warning so that we don't have to add a bogus code like > the one I had to add in > http://trac.webkit.org/changeset/155649/trunk/Source/JavaScriptCore/dfg/DFGGPRInfo.h > ?
I don’t think disabling the warning is the right thing to do. Since there’s no runtime guarantee that the enum will have a valid value, I think there needs to be a return statement outside the switch, even if we have ASSERT_NOT_REACHED before it. -- Darin _______________________________________________ webkit-dev mailing list webkit-dev@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-dev