From: Charlie Savage Date: 2009-03-13T17:19:56+09:00 Subject: [ruby-core:22872] [Bug #1283] rb_f_throw return type Bug #1283: rb_f_throw return type http://redmine.ruby-lang.org/issues/show/1283 Author: Charlie Savage Status: Open, Priority: Normal Category: core, Target version: 1.9.1 ruby -v: ruby 1.9.2dev (2009-03-12) [i386-mswin32_90] With VC 2008, -W3: rb_f_throw is defined as: static VALUE rb_f_throw(int argc, VALUE *argv) But then Ruby tells VC that the method never returns (which it doesn't) via __declspec(noreturn). This results in these two compiler warnings: c:\development\src\ruby_trunk\vm_eval.c(1146) : warning C4646: function declared with __declspec(noreturn) has non-void return type c:\development\src\ruby_trunk\vm_eval.c(1168) : warning C4645: function declared with __declspec(noreturn) has a return statement I've attached a possible patch to fix this - but its likely the wrong solution and the compiler errors are preferable. ---------------------------------------- http://redmine.ruby-lang.org