diff options
Diffstat (limited to 'cpp/src/slice2cppe')
-rw-r--r-- | cpp/src/slice2cppe/Gen.cpp | 11 | ||||
-rw-r--r-- | cpp/src/slice2cppe/Gen.h | 4 | ||||
-rw-r--r-- | cpp/src/slice2cppe/Main.cpp | 2 |
3 files changed, 13 insertions, 4 deletions
diff --git a/cpp/src/slice2cppe/Gen.cpp b/cpp/src/slice2cppe/Gen.cpp index 0c3bda566a8..38c9dee2872 100644 --- a/cpp/src/slice2cppe/Gen.cpp +++ b/cpp/src/slice2cppe/Gen.cpp @@ -43,7 +43,8 @@ getIds(const ClassDefPtr& p, StringList& ids) 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) : + const vector<string>& includePaths, const string& dllExport, const string& dir, bool imp, + bool ice) : _base(base), _headerExtension(headerExtension), _sourceExtension(sourceExtension), @@ -51,7 +52,8 @@ Slice::Gen::Gen(const string& name, const string& base, const string& headerExte _include(include), _includePaths(includePaths), _dllExport(dllExport), - _impl(imp) + _impl(imp), + _ice(ice) { for(vector<string>::iterator p = _includePaths.begin(); p != _includePaths.end(); ++p) { @@ -250,6 +252,11 @@ Slice::Gen::generate(const UnitPtr& p) H << "\n#include <IceE/UndefSysMacros.h>"; + if(_ice) + { + C << "\n#include <IceE/DisableWarnings.h>"; + } + GlobalIncludeVisitor globalIncludeVisitor(H); p->visit(&globalIncludeVisitor, false); diff --git a/cpp/src/slice2cppe/Gen.h b/cpp/src/slice2cppe/Gen.h index 9be5619bfe5..da1c03cae8a 100644 --- a/cpp/src/slice2cppe/Gen.h +++ b/cpp/src/slice2cppe/Gen.h @@ -35,7 +35,8 @@ public: const std::vector<std::string>&, const std::string&, const std::string&, - bool); + bool, + bool); ~Gen(); bool operator!() const; // Returns true if there was a constructor error @@ -62,6 +63,7 @@ private: std::vector<std::string> _includePaths; std::string _dllExport; bool _impl; + bool _ice; class GlobalIncludeVisitor : private ::IceUtil::noncopyable, public ParserVisitor { diff --git a/cpp/src/slice2cppe/Main.cpp b/cpp/src/slice2cppe/Main.cpp index 7457f79f670..c9261337313 100644 --- a/cpp/src/slice2cppe/Main.cpp +++ b/cpp/src/slice2cppe/Main.cpp @@ -204,7 +204,7 @@ main(int argc, char* argv[]) else { Gen gen(argv[0], icecpp.getBaseName(), headerExtension, sourceExtension, extraHeaders, include, - includePaths, dllExport, output, impl); + includePaths, dllExport, output, impl, ice); if(!gen) { u->destroy(); |