diff options
author | Jose <jose@zeroc.com> | 2017-05-02 08:58:13 +0200 |
---|---|---|
committer | Jose <jose@zeroc.com> | 2017-05-02 08:58:13 +0200 |
commit | 449abe24de687f2a2dd4588e7834517184a4717b (patch) | |
tree | 9991e329ef73c2e9ca1aafbfe78b51e482e95c30 /cpp/src/slice2cpp/Gen.cpp | |
parent | Update bzip2 version in test scripts (diff) | |
download | ice-449abe24de687f2a2dd4588e7834517184a4717b.tar.bz2 ice-449abe24de687f2a2dd4588e7834517184a4717b.tar.xz ice-449abe24de687f2a2dd4588e7834517184a4717b.zip |
slice2cpp minor fixes:
ICE-7854 - c++11 Prx forward declaration generated for local interfaces
ICE-7855 - local interface inheritance mapped to virtual public in C++11
Diffstat (limited to 'cpp/src/slice2cpp/Gen.cpp')
-rw-r--r-- | cpp/src/slice2cpp/Gen.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/cpp/src/slice2cpp/Gen.cpp b/cpp/src/slice2cpp/Gen.cpp index eefc51457c5..8b1ebf320ee 100644 --- a/cpp/src/slice2cpp/Gen.cpp +++ b/cpp/src/slice2cpp/Gen.cpp @@ -5208,7 +5208,7 @@ Slice::Gen::Cpp11DeclVisitor::visitClassDecl(const ClassDeclPtr& p) } H << nl << "class " << fixKwd(p->name()) << ';'; - if(p->isInterface() || (def && !def->allOperations().empty())) + if(!p->isLocal() && (p->isInterface() || (def && !def->allOperations().empty()))) { H << nl << "class " << p->name() << "Prx;"; } @@ -6434,12 +6434,13 @@ Slice::Gen::Cpp11LocalObjectVisitor::visitClassDefStart(const ClassDefPtr& p) bool virtualInheritance = p->isInterface(); while(q != bases.end()) { + H << "public "; if(virtualInheritance || (*q)->isInterface()) { H << "virtual "; } - H << "public " << fixKwd((*q)->scoped()); + H << fixKwd((*q)->scoped()); if(++q != bases.end()) { H << ',' << nl; |