Issue #6066 has been updated by Eric Hodel.


=begin
Yes, (ID)NULL seems odd to me too.

clang supports __builtin_unreachable():

http://clang.llvm.org/docs/LanguageExtensions.html#__builtin_unreachable

It looks like replacing (({return Qnil; /* NOT REACHED */})) lines with __builtin_unreachable() may improve optimizations with clang.

Adding configure support to detect __builltin_unreachable() looks like it is beyond my knowledge based on the __builtin_setjmp() detection, can you help me?
=end

----------------------------------------
Bug #6066: Fix "control may reach end of non-void function" warnings for clang
https://bugs.ruby-lang.org/issues/6066

Author: Eric Hodel
Status: Open
Priority: Normal
Assignee: 
Category: 
Target version: 
ruby -v: ruby 2.0.0dev (2012-02-23 trunk 34755) [x86_64-darwin11.3.0]


=begin
clang 3.1 is more picky about "control may reach end of non-void function"

The attached patches contain add (({return Qnil; /* not reached */})) or the equivalent where the warnings occurred.
=end



-- 
http://bugs.ruby-lang.org/