THRIFT-1398 Compiler warning on generated code (Multiface kills -Wall -Werror on gcc 4.6.1)
Patch: Nevo Hed
git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1311066 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/compiler/cpp/src/generate/t_cpp_generator.cc b/compiler/cpp/src/generate/t_cpp_generator.cc
index 08a6fbe..6b3f4b6 100755
--- a/compiler/cpp/src/generate/t_cpp_generator.cc
+++ b/compiler/cpp/src/generate/t_cpp_generator.cc
@@ -2123,30 +2123,29 @@
indent_up();
f_header_ <<
indent() << "size_t sz = ifaces_.size();" << endl <<
- indent() << "for (size_t i = 0; i < sz; ++i) {" << endl;
+ indent() << "size_t i = 0;" << endl <<
+ indent() << "for (; i < (sz - 1); ++i) {" << endl;
+ indent_up();
+ f_header_ <<
+ indent() << call << ";" << endl;
+ indent_down();
+ f_header_ <<
+ indent() << "}" << endl;
+
if (!(*f_iter)->get_returntype()->is_void()) {
- f_header_ <<
- indent() << " if (i == sz - 1) {" << endl;
if (is_complex_type((*f_iter)->get_returntype())) {
f_header_ <<
- indent() << " " << call << ";" << endl <<
- indent() << " return;" << endl;
+ indent() << call << ";" << endl <<
+ indent() << "return;" << endl;
} else {
f_header_ <<
- indent() << " return " << call << ";" << endl;
+ indent() << "return " << call << ";" << endl;
}
- f_header_ <<
- indent() << " } else {" << endl <<
- indent() << " " << call << ";" << endl <<
- indent() << " }" << endl;
} else {
f_header_ <<
- indent() << " " << call << ";" << endl;
+ indent() << call << ";" << endl;
}
- f_header_ <<
- indent() << "}" << endl;
-
indent_down();
f_header_ <<
indent() << "}" << endl <<