From: "nobu (Nobuyoshi Nakada)" Date: 2013-03-12T09:23:52+09:00 Subject: [ruby-core:53326] [ruby-trunk - Bug #7756] clang 3.2 sees through UNINITIALIZED_VAR macro, gives warning Issue #7756 has been updated by nobu (Nobuyoshi Nakada). Unfortunately, it doesn't shut up gcc-4.7. thread.c: In function 'do_select': thread.c:3155:26: warning: 'orig_except.fdset' may be used uninitialized in this function [-Wmaybe-uninitialized] thread.c:3352:16: note: 'orig_except.fdset' was declared here thread.c:3229:19: warning: 'orig_except.maxfd' may be used uninitialized in this function [-Wmaybe-uninitialized] thread.c:3352:16: note: 'orig_except.maxfd' was declared here thread.c:3155:26: warning: 'orig_write.fdset' may be used uninitialized in this function [-Wmaybe-uninitialized] thread.c:3351:16: note: 'orig_write.fdset' was declared here thread.c:3229:19: warning: 'orig_write.maxfd' may be used uninitialized in this function [-Wmaybe-uninitialized] thread.c:3351:16: note: 'orig_write.maxfd' was declared here thread.c:3155:26: warning: 'orig_read.fdset' may be used uninitialized in this function [-Wmaybe-uninitialized] thread.c:3350:16: note: 'orig_read.fdset' was declared here thread.c:3229:19: warning: 'orig_read.maxfd' may be used uninitialized in this function [-Wmaybe-uninitialized] thread.c:3350:16: note: 'orig_read.maxfd' was declared here ---------------------------------------- Bug #7756: clang 3.2 sees through UNINITIALIZED_VAR macro, gives warning https://bugs.ruby-lang.org/issues/7756#change-37520 Author: drbrain (Eric Hodel) Status: Open Priority: Normal Assignee: mame (Yusuke Endoh) Category: core Target version: next minor ruby -v: - =begin In clang 3.2, the UNINITIALIZED_VAR macro does not prevent the compiler from producing a warning. Apple clang 3.2: $ clang -v Apple LLVM version 4.2 (clang-425.0.24) (based on LLVM 3.2svn) Target: x86_64-apple-darwin12.2.1 Thread model: posix When compiling thread.c: compiling ../trunk/thread.c ../trunk/thread.c:3261:34: warning: variable 'orig_read' is uninitialized when used within its own initialization [-Wuninitialized] rb_fdset_t UNINITIALIZED_VAR(orig_read); ^~~~~~~~~ ../trunk/vm_core.h:119:34: note: expanded from macro 'UNINITIALIZED_VAR' #define UNINITIALIZED_VAR(x) x = x ^ ../trunk/thread.c:3262:34: warning: variable 'orig_write' is uninitialized when used within its own initialization [-Wuninitialized] rb_fdset_t UNINITIALIZED_VAR(orig_write); ^~~~~~~~~~ ../trunk/vm_core.h:119:34: note: expanded from macro 'UNINITIALIZED_VAR' #define UNINITIALIZED_VAR(x) x = x ^ ../trunk/thread.c:3263:34: warning: variable 'orig_except' is uninitialized when used within its own initialization [-Wuninitialized] rb_fdset_t UNINITIALIZED_VAR(orig_except); ^~~~~~~~~~~ ../trunk/vm_core.h:119:34: note: expanded from macro 'UNINITIALIZED_VAR' #define UNINITIALIZED_VAR(x) x = x ^ 3 warnings generated. =end -- http://bugs.ruby-lang.org/