diff --git a/compiler/cpp/src/parse/t_function.h b/compiler/cpp/src/parse/t_function.h index 0da2fd6a7..ae8c2f605 100644 --- a/compiler/cpp/src/parse/t_function.h +++ b/compiler/cpp/src/parse/t_function.h @@ -42,6 +42,9 @@ class t_function : public t_doc { arglist_(arglist), oneway_(oneway) { xceptions_ = new t_struct(NULL); + if (oneway_ && (! returntype_->is_void())) { + pwarning(1, "Oneway methods should return void.\n"); + } } t_function(t_type* returntype, @@ -58,6 +61,9 @@ class t_function : public t_doc { if (oneway_ && !xceptions_->get_members().empty()) { throw std::string("Oneway methods can't throw exceptions."); } + if (oneway_ && (! returntype_->is_void())) { + pwarning(1, "Oneway methods should return void.\n"); + } } ~t_function() {}