diff options
Diffstat (limited to 'cpp/src/slice2cpp/Gen.cpp')
-rw-r--r-- | cpp/src/slice2cpp/Gen.cpp | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/cpp/src/slice2cpp/Gen.cpp b/cpp/src/slice2cpp/Gen.cpp index de179f26d55..2190abd6fa8 100644 --- a/cpp/src/slice2cpp/Gen.cpp +++ b/cpp/src/slice2cpp/Gen.cpp @@ -5523,7 +5523,22 @@ Slice::Gen::Cpp11TypesVisitor::visitExceptionStart(const ExceptionPtr& p) } else { + H.zeroIndent(); + H << nl << "//"; + H << nl << "// COMPILERFIX: Apple LLVM version 7.3.0 crash when using"; + H << nl << "// default generated constructor in classes derived from"; + H << nl << "// std::exception"; + H << nl << "//"; + H << nl << "#ifdef __APPLE__"; + H.restoreIndent(); + H << sp << nl << name << "() {};"; + H.zeroIndent(); + H << nl << "#else"; + H.restoreIndent(); H << sp << nl << name << "() = default;"; + H.zeroIndent(); + H << nl << "#endif"; + H.restoreIndent(); } if(!allDataMembers.empty()) |