From 48c3d2004180dda8d0d32386299dd918a0804389 Mon Sep 17 00:00:00 2001 From: isaacs Date: Thu, 21 Jun 2012 12:20:23 -0700 Subject: [PATCH] Apply --no-deprecation to C++ warnings as well --- src/ev-emul.h | 2 +- src/node.cc | 4 +++- src/node_internals.h | 2 ++ src/node_io_watcher.cc | 6 ++++-- 4 files changed, 10 insertions(+), 4 deletions(-) diff --git a/src/ev-emul.h b/src/ev-emul.h index 4355b4ef6b..404e77901a 100644 --- a/src/ev-emul.h +++ b/src/ev-emul.h @@ -88,7 +88,7 @@ extern "C" { #define __uv_warn_of(old_, new_) \ do { \ - if (__uv_warn_##old_) break; \ + if (__uv_warn_##old_ || no_deprecation) break; \ __uv_warn_##old_ = 1; \ fputs("WARNING: " #old_ " is deprecated, use " #new_ "\n", stderr); \ } \ diff --git a/src/node.cc b/src/node.cc index 94cc2a5f48..e0a0c72273 100644 --- a/src/node.cc +++ b/src/node.cc @@ -120,7 +120,6 @@ static Persistent disposed_symbol; static bool print_eval = false; static bool force_repl = false; -static bool no_deprecation = false; static bool trace_deprecation = false; static char *eval_string = NULL; static int option_end_index = 0; @@ -129,6 +128,9 @@ static bool debug_wait_connect = false; static int debug_port=5858; static int max_stack_size = 0; +// used by C++ modules as well +bool no_deprecation = false; + static uv_check_t check_tick_watcher; static uv_prepare_t prepare_tick_watcher; static uv_idle_t tick_spinner; diff --git a/src/node_internals.h b/src/node_internals.h index 80aa4e5366..3f9eec2193 100644 --- a/src/node_internals.h +++ b/src/node_internals.h @@ -28,6 +28,8 @@ namespace node { +extern bool no_deprecation; + #ifdef _WIN32 // emulate snprintf() on windows, _snprintf() doesn't zero-terminate the buffer // on overflow... diff --git a/src/node_io_watcher.cc b/src/node_io_watcher.cc index 8812944d61..f238d60e2d 100644 --- a/src/node_io_watcher.cc +++ b/src/node_io_watcher.cc @@ -80,12 +80,14 @@ void IOWatcher::Callback(EV_P_ ev_io *w, int revents) { // io.start(); // Handle IOWatcher::New(const Arguments& args) { - fprintf(stderr, "WARNING: don't use IOWatcher, it'll be removed in v0.9\n"); - if (!args.IsConstructCall()) { return FromConstructorTemplate(constructor_template, args); } + if (!no_deprecation) { + fprintf(stderr, "WARNING: don't use IOWatcher, it'll be removed in v0.9\n"); + } + HandleScope scope; IOWatcher *s = new IOWatcher(); s->Wrap(args.This());