summaryrefslogtreecommitdiff
path: root/cpp/src/slice2cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/slice2cpp')
-rw-r--r--cpp/src/slice2cpp/Gen.cpp10
-rw-r--r--cpp/src/slice2cpp/Gen.h4
-rw-r--r--cpp/src/slice2cpp/Main.cpp2
3 files changed, 12 insertions, 4 deletions
diff --git a/cpp/src/slice2cpp/Gen.cpp b/cpp/src/slice2cpp/Gen.cpp
index 7810f96eb64..d5d3ac331a7 100644
--- a/cpp/src/slice2cpp/Gen.cpp
+++ b/cpp/src/slice2cpp/Gen.cpp
@@ -23,7 +23,7 @@ using namespace IceUtil;
Slice::Gen::Gen(const string& name, const string& base, const string& headerExtension,
const string& sourceExtension, const vector<string>& extraHeaders, const string& include,
const vector<string>& includePaths, const string& dllExport, const string& dir,
- bool imp, bool checksum, bool stream) :
+ bool imp, bool checksum, bool stream, bool ice) :
_base(base),
_headerExtension(headerExtension),
_sourceExtension(sourceExtension),
@@ -33,7 +33,8 @@ Slice::Gen::Gen(const string& name, const string& base, const string& headerExte
_dllExport(dllExport),
_impl(imp),
_checksum(checksum),
- _stream(stream)
+ _stream(stream),
+ _ice(ice)
{
for(vector<string>::iterator p = _includePaths.begin(); p != _includePaths.end(); ++p)
{
@@ -250,6 +251,11 @@ Slice::Gen::generate(const UnitPtr& p)
H << "\n#include <Ice/UndefSysMacros.h>";
+ if(_ice)
+ {
+ C << "\n#include <IceUtil/DisableWarnings.h>";
+ }
+
GlobalIncludeVisitor globalIncludeVisitor(H);
p->visit(&globalIncludeVisitor, false);
diff --git a/cpp/src/slice2cpp/Gen.h b/cpp/src/slice2cpp/Gen.h
index 753a0c31e25..84bef61e819 100644
--- a/cpp/src/slice2cpp/Gen.h
+++ b/cpp/src/slice2cpp/Gen.h
@@ -31,7 +31,8 @@ public:
const std::string&,
bool,
bool,
- bool);
+ bool,
+ bool);
~Gen();
bool operator!() const; // Returns true if there was a constructor error
@@ -61,6 +62,7 @@ private:
bool _impl;
bool _checksum;
bool _stream;
+ bool _ice;
class GlobalIncludeVisitor : private ::IceUtil::noncopyable, public ParserVisitor
{
diff --git a/cpp/src/slice2cpp/Main.cpp b/cpp/src/slice2cpp/Main.cpp
index 64d2d5dd9fc..21567e366fb 100644
--- a/cpp/src/slice2cpp/Main.cpp
+++ b/cpp/src/slice2cpp/Main.cpp
@@ -213,7 +213,7 @@ main(int argc, char* argv[])
else
{
Gen gen(argv[0], icecpp.getBaseName(), headerExtension, sourceExtension, extraHeaders, include,
- includePaths, dllExport, output, impl, checksum, stream);
+ includePaths, dllExport, output, impl, checksum, stream, ice);
if(!gen)
{
u->destroy();