summaryrefslogtreecommitdiff
path: root/cpp/src/slice2cpp
diff options
context:
space:
mode:
authorJose <jose@zeroc.com>2017-05-02 08:58:13 +0200
committerJose <jose@zeroc.com>2017-05-02 08:58:13 +0200
commit449abe24de687f2a2dd4588e7834517184a4717b (patch)
tree9991e329ef73c2e9ca1aafbfe78b51e482e95c30 /cpp/src/slice2cpp
parentUpdate bzip2 version in test scripts (diff)
downloadice-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')
-rw-r--r--cpp/src/slice2cpp/Gen.cpp5
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;