File catch-by-const-reference.patch of Package qpid-proton

diff -urEbwB qpid-proton-0.17.0/proton-c/bindings/cpp/src/include/scalar_test.hpp qpid-proton-0.17.0/proton-c/bindings/cpp/src/include/scalar_test.hpp
--- qpid-proton-0.17.0/proton-c/bindings/cpp/src/include/scalar_test.hpp	2017-02-03 18:10:17.000000000 +0100
+++ qpid-proton-0.17.0/proton-c/bindings/cpp/src/include/scalar_test.hpp	2018-03-15 11:29:16.258937103 +0100
@@ -86,18 +86,18 @@
 // Test invalid gets, valid same-type get<T> is tested by simple_type_test
 // Templated to test both scalar and value.
 template<class V>  void bad_get_test() {
-    try { get<bool>(V(int8_t(1))); FAIL("byte as bool"); } catch (conversion_error) {}
-    try { get<uint8_t>(V(true)); FAIL("bool as uint8_t"); } catch (conversion_error) {}
-    try { get<uint8_t>(V(int8_t(1))); FAIL("int8 as uint8"); } catch (conversion_error) {}
-    try { get<int16_t>(V(uint16_t(1))); FAIL("uint16 as int16"); } catch (conversion_error) {}
-    try { get<int16_t>(V(int32_t(1))); FAIL("int32 as int16"); } catch (conversion_error) {}
-    try { get<symbol>(V(std::string())); FAIL("string as symbol"); } catch (conversion_error) {}
-    try { get<std::string>(V(binary())); FAIL("binary as string"); } catch (conversion_error) {}
-    try { get<binary>(V(symbol())); FAIL("symbol as binary"); } catch (conversion_error) {}
-    try { get<binary>(V(timestamp())); FAIL("timestamp as binary"); } catch (conversion_error) {}
-    try { get<int>(V(timestamp())); FAIL("timestamp as int"); } catch (conversion_error) {}
-    try { get<timestamp>(V(0)); FAIL("int as timestamp"); } catch (conversion_error) {}
-    try { get<timestamp>(V(std::string())); FAIL("string as timestamp"); } catch (conversion_error) {}
+    try { get<bool>(V(int8_t(1))); FAIL("byte as bool"); } catch (const conversion_error&) {}
+    try { get<uint8_t>(V(true)); FAIL("bool as uint8_t"); } catch (const conversion_error&) {}
+    try { get<uint8_t>(V(int8_t(1))); FAIL("int8 as uint8"); } catch (const conversion_error&) {}
+    try { get<int16_t>(V(uint16_t(1))); FAIL("uint16 as int16"); } catch (const conversion_error&) {}
+    try { get<int16_t>(V(int32_t(1))); FAIL("int32 as int16"); } catch (const conversion_error&) {}
+    try { get<symbol>(V(std::string())); FAIL("string as symbol"); } catch (const conversion_error&) {}
+    try { get<std::string>(V(binary())); FAIL("binary as string"); } catch (const conversion_error&) {}
+    try { get<binary>(V(symbol())); FAIL("symbol as binary"); } catch (const conversion_error&) {}
+    try { get<binary>(V(timestamp())); FAIL("timestamp as binary"); } catch (const conversion_error&) {}
+    try { get<int>(V(timestamp())); FAIL("timestamp as int"); } catch (const conversion_error&) {}
+    try { get<timestamp>(V(0)); FAIL("int as timestamp"); } catch (const conversion_error&) {}
+    try { get<timestamp>(V(std::string())); FAIL("string as timestamp"); } catch (const conversion_error&) {}
 }
 
 // Test some valid coercions and some bad ones with mixed types.
@@ -124,17 +124,17 @@
 
     // Bad coercions, types are not `is_convertible`
     V s("foo");
-    try { coerce<bool>(s); FAIL("string as bool"); } catch (conversion_error) {}
-    try { coerce<int>(s); FAIL("string as int"); } catch (conversion_error) {}
-    try { coerce<double>(s); FAIL("string as double"); } catch (conversion_error) {}
-
-    try { coerce<std::string>(V(0)); FAIL("int as string"); } catch (conversion_error) {}
-    try { coerce<symbol>(V(true)); FAIL("bool as symbol"); } catch (conversion_error) {}
-    try { coerce<binary>(V(0.0)); FAIL("double as binary"); } catch (conversion_error) {}
-    try { coerce<symbol>(V(binary())); FAIL("binary as symbol"); } catch (conversion_error) {}
-    try { coerce<binary>(V(symbol())); FAIL("symbol as binary"); } catch (conversion_error) {}
-    try { coerce<binary>(s); } catch (conversion_error) {}
-    try { coerce<symbol>(s); } catch (conversion_error) {}
+    try { coerce<bool>(s); FAIL("string as bool"); } catch (const conversion_error&) {}
+    try { coerce<int>(s); FAIL("string as int"); } catch (const conversion_error&) {}
+    try { coerce<double>(s); FAIL("string as double"); } catch (const conversion_error&) {}
+
+    try { coerce<std::string>(V(0)); FAIL("int as string"); } catch (const conversion_error&) {}
+    try { coerce<symbol>(V(true)); FAIL("bool as symbol"); } catch (const conversion_error&) {}
+    try { coerce<binary>(V(0.0)); FAIL("double as binary"); } catch (const conversion_error&) {}
+    try { coerce<symbol>(V(binary())); FAIL("binary as symbol"); } catch (const conversion_error&) {}
+    try { coerce<binary>(V(symbol())); FAIL("symbol as binary"); } catch (const conversion_error&) {}
+    try { coerce<binary>(s); } catch (const conversion_error&) {}
+    try { coerce<symbol>(s); } catch (const conversion_error&) {}
 }
 
 template <class V> void null_test() {
@@ -149,7 +149,7 @@
     ASSERT_EQUAL(NULL_TYPE, v.type());
     v = "foo";
     ASSERT_EQUAL(STRING, v.type());
-    try { get<null>(v); FAIL("Expected conversion_error"); } catch (conversion_error) {}
+    try { get<null>(v); FAIL("Expected conversion_error"); } catch (const conversion_error&) {}
     v = null();
     get<null>(v);
 }
diff -urEbwB qpid-proton-0.17.0/proton-c/bindings/cpp/src/interop_test.cpp qpid-proton-0.17.0/proton-c/bindings/cpp/src/interop_test.cpp
--- qpid-proton-0.17.0/proton-c/bindings/cpp/src/interop_test.cpp	2017-02-03 18:10:17.000000000 +0100
+++ qpid-proton-0.17.0/proton-c/bindings/cpp/src/interop_test.cpp	2018-03-15 11:24:05.898937995 +0100
@@ -63,22 +63,22 @@
     decoder d(dv);
     d.decode(read("primitives"));
     ASSERT(d.more());
-    try { get< ::int8_t>(d); FAIL("got bool as byte"); } catch(conversion_error){}
+    try { get< ::int8_t>(d); FAIL("got bool as byte"); } catch(const conversion_error&){}
     ASSERT_EQUAL(true, get<bool>(d));
     ASSERT_EQUAL(false, get<bool>(d));
-    try { get< ::int8_t>(d); FAIL("got ubyte as byte"); } catch(conversion_error){}
+    try { get< ::int8_t>(d); FAIL("got ubyte as byte"); } catch(const conversion_error&){}
     ASSERT_EQUAL(42, get< ::uint8_t>(d));
-    try { get< ::int32_t>(d); FAIL("got uint as ushort"); } catch(conversion_error){}
+    try { get< ::int32_t>(d); FAIL("got uint as ushort"); } catch(const conversion_error&){}
     ASSERT_EQUAL(42, get< ::uint16_t>(d));
-    try { get< ::uint16_t>(d); FAIL("got short as ushort"); } catch(conversion_error){}
+    try { get< ::uint16_t>(d); FAIL("got short as ushort"); } catch(const conversion_error&){}
     ASSERT_EQUAL(-42, get< ::int16_t>(d));
     ASSERT_EQUAL(12345u, get< ::uint32_t>(d));
     ASSERT_EQUAL(-12345, get< ::int32_t>(d));
     ASSERT_EQUAL(12345u, get< ::uint64_t>(d));
     ASSERT_EQUAL(-12345, get< ::int64_t>(d));
-    try { get<double>(d); FAIL("got float as double"); } catch(conversion_error){}
+    try { get<double>(d); FAIL("got float as double"); } catch(const conversion_error&){}
     ASSERT_EQUAL(0.125f, get<float>(d));
-    try { get<float>(d); FAIL("got double as float"); } catch(conversion_error){}
+    try { get<float>(d); FAIL("got double as float"); } catch(const conversion_error&){}
     ASSERT_EQUAL(0.125, get<double>(d));
     ASSERT(!d.more());
 }
openSUSE Build Service is sponsored by