Updated Branches: refs/heads/master 36af4d3b4 -> cbb979b80
THRIFT-1907 Compiling namespace and sub-namespace directives for unrecognized generators should only be a warning Patch: Andrew Cox Project: http://git-wip-us.apache.org/repos/asf/thrift/repo Commit: http://git-wip-us.apache.org/repos/asf/thrift/commit/d28d4d57 Tree: http://git-wip-us.apache.org/repos/asf/thrift/tree/d28d4d57 Diff: http://git-wip-us.apache.org/repos/asf/thrift/diff/d28d4d57 Branch: refs/heads/master Commit: d28d4d578470233e384ae6012d0ecfa5a8f3deba Parents: 744e45f Author: Henrique <henrique@henrique-vb.(none)> Authored: Thu May 16 21:19:50 2013 +0200 Committer: Henrique Mendonça <[email protected]> Committed: Thu May 16 21:22:46 2013 +0200 ---------------------------------------------------------------------- compiler/cpp/src/parse/t_program.h | 3 ++- test/ThriftTest.thrift | 8 +++++++- 2 files changed, 9 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/thrift/blob/d28d4d57/compiler/cpp/src/parse/t_program.h ---------------------------------------------------------------------- diff --git a/compiler/cpp/src/parse/t_program.h b/compiler/cpp/src/parse/t_program.h index 12fcf0e..dfd9d43 100644 --- a/compiler/cpp/src/parse/t_program.h +++ b/compiler/cpp/src/parse/t_program.h @@ -188,7 +188,8 @@ class t_program : public t_doc { if (sub_index != std::string::npos) { std::string sub_namespace = language.substr(sub_index+1); if ( ! it->second->is_valid_namespace(sub_namespace)) { - throw base_language + " generator does not accept '" + sub_namespace + "' as sub-namespace!"; + std::string warning = base_language + " generator does not accept '" + sub_namespace + "' as sub-namespace!"; + pwarning(1, warning.c_str()); } } } http://git-wip-us.apache.org/repos/asf/thrift/blob/d28d4d57/test/ThriftTest.thrift ---------------------------------------------------------------------- diff --git a/test/ThriftTest.thrift b/test/ThriftTest.thrift index 2be53fa..be000b6 100644 --- a/test/ThriftTest.thrift +++ b/test/ThriftTest.thrift @@ -35,6 +35,12 @@ namespace go ThriftTest namespace php ThriftTest namespace delphi Thrift.Test namespace cocoa ThriftTest + +// Presence of namespaces and sub-namespaces for which there is +// no generator should compile with warnings only +namespace noexist ThriftTest +namespace cpp.noexist ThriftTest + namespace * thrift.test /** @@ -368,4 +374,4 @@ struct StructA { struct StructB { 1: optional StructA aa; 2: required StructA ab; -} \ No newline at end of file +}
