summaryrefslogtreecommitdiff
path: root/cpp
diff options
context:
space:
mode:
authorMark Spruiell <mes@zeroc.com>2017-05-26 08:56:04 -0700
committerMark Spruiell <mes@zeroc.com>2017-05-26 08:56:04 -0700
commitf0e2b6a6d7de4a54b25390b87cba35dd8bb5e569 (patch)
treec11a2583c04eb0754cb7d11c2695c3a48bf074b7 /cpp
parentFixed JS browser test failures (diff)
downloadice-f0e2b6a6d7de4a54b25390b87cba35dd8bb5e569.tar.bz2
ice-f0e2b6a6d7de4a54b25390b87cba35dd8bb5e569.tar.xz
ice-f0e2b6a6d7de4a54b25390b87cba35dd8bb5e569.zip
ICE-7905 - more fixes for deprecated types
Diffstat (limited to 'cpp')
-rw-r--r--cpp/src/Slice/Parser.cpp4
-rw-r--r--cpp/test/Slice/errorDetection/WarningClassProxy.err2
-rw-r--r--cpp/test/Slice/errorDetection/WarningClassProxy.ice3
-rw-r--r--cpp/test/Slice/errorDetection/WarningInterfaceByValue.err2
-rw-r--r--cpp/test/Slice/errorDetection/WarningInterfaceByValue.ice3
5 files changed, 14 insertions, 0 deletions
diff --git a/cpp/src/Slice/Parser.cpp b/cpp/src/Slice/Parser.cpp
index 2b03206c20f..593cf4c846e 100644
--- a/cpp/src/Slice/Parser.cpp
+++ b/cpp/src/Slice/Parser.cpp
@@ -1057,6 +1057,8 @@ Slice::Container::createSequence(const string& name, const TypePtr& type, const
_unit->error(msg);
}
+ checkDeprecatedType(_unit, type);
+
SequencePtr p = new Sequence(this, name, type, metaData, local);
_contents.push_back(p);
return p;
@@ -1131,6 +1133,8 @@ Slice::Container::createDictionary(const string& name, const TypePtr& keyType, c
}
}
+ checkDeprecatedType(_unit, valueType);
+
DictionaryPtr p = new Dictionary(this, name, keyType, keyMetaData, valueType, valueMetaData, local);
_contents.push_back(p);
return p;
diff --git a/cpp/test/Slice/errorDetection/WarningClassProxy.err b/cpp/test/Slice/errorDetection/WarningClassProxy.err
index d69c076945f..773dbde311e 100644
--- a/cpp/test/Slice/errorDetection/WarningClassProxy.err
+++ b/cpp/test/Slice/errorDetection/WarningClassProxy.err
@@ -2,3 +2,5 @@ WarningClassProxy.ice:14: warning: proxy for a class is deprecated
WarningClassProxy.ice:18: warning: proxy for a class is deprecated
WarningClassProxy.ice:23: warning: proxy for a class is deprecated
WarningClassProxy.ice:28: warning: proxy for a class is deprecated
+WarningClassProxy.ice:31: warning: proxy for a class is deprecated
+WarningClassProxy.ice:32: warning: proxy for a class is deprecated
diff --git a/cpp/test/Slice/errorDetection/WarningClassProxy.ice b/cpp/test/Slice/errorDetection/WarningClassProxy.ice
index 33af36f7415..3a6e3e3f292 100644
--- a/cpp/test/Slice/errorDetection/WarningClassProxy.ice
+++ b/cpp/test/Slice/errorDetection/WarningClassProxy.ice
@@ -28,4 +28,7 @@ exception E
C1* proxy; // Deprecated
}
+sequence<C1*> Seq; // Deprecated
+dictionary<string, C1*> Dict; // Deprecated
+
}
diff --git a/cpp/test/Slice/errorDetection/WarningInterfaceByValue.err b/cpp/test/Slice/errorDetection/WarningInterfaceByValue.err
index 8a70e2a7e3e..cf8130acb7d 100644
--- a/cpp/test/Slice/errorDetection/WarningInterfaceByValue.err
+++ b/cpp/test/Slice/errorDetection/WarningInterfaceByValue.err
@@ -3,3 +3,5 @@ WarningInterfaceByValue.ice:18: warning: interface by value is deprecated
WarningInterfaceByValue.ice:23: warning: interface by value is deprecated
WarningInterfaceByValue.ice:28: warning: interface by value is deprecated
WarningInterfaceByValue.ice:35: warning: interface by value is deprecated
+WarningInterfaceByValue.ice:38: warning: interface by value is deprecated
+WarningInterfaceByValue.ice:39: warning: interface by value is deprecated
diff --git a/cpp/test/Slice/errorDetection/WarningInterfaceByValue.ice b/cpp/test/Slice/errorDetection/WarningInterfaceByValue.ice
index 645bcfed84a..5f46111f6fb 100644
--- a/cpp/test/Slice/errorDetection/WarningInterfaceByValue.ice
+++ b/cpp/test/Slice/errorDetection/WarningInterfaceByValue.ice
@@ -35,4 +35,7 @@ local interface LIntf2
Intf1 op2(); // Deprecated
}
+sequence<Intf1> Seq; // Deprecated
+dictionary<string, Intf1> Dict; // Deprecated
+
}