summaryrefslogtreecommitdiff
path: root/cpp/src/slice2cpp/Gen.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/slice2cpp/Gen.cpp')
-rw-r--r--cpp/src/slice2cpp/Gen.cpp15
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())