diff --git a/setup.py b/setup.py index 574f899..d65f70a 100644 --- a/setup.py +++ b/setup.py @@ -153,7 +153,15 @@ def add_filters(filters, pkgs, pkgs_data): if sys.platform == "win32": pass else: - arguments = ['-std=c++17', '-Wall', '-Wextra', '-fdiagnostics-show-option'] + # old version + # arguments = ['-std=c++17', '-Wall', '-Wextra', + # '-fdiagnostics-show-option'] + # lto does not work + # arguments = ['-std=c++17', '-Wall', '-Wextra', + # '-fdiagnostics-show-option', '-flto=auto', '-ffat-lto-objects'] + # no-lto to be on the save side + arguments = ['-std=c++17', '-Wall', '-Wextra', '-fdiagnostics-show-option', + '-fno-lto'] nexus_config.add_compiler_arguments(arguments) # ---------------------------------------------------------------------------- diff --git a/test/h5cpp_tests/node_tests/dataset_io_test.py b/test/h5cpp_tests/node_tests/dataset_io_test.py index 5c7d040..77a3e83 100644 --- a/test/h5cpp_tests/node_tests/dataset_io_test.py +++ b/test/h5cpp_tests/node_tests/dataset_io_test.py @@ -131,6 +131,21 @@ def testWriteVariableLengthUTF8Scalar(self): else: self.assertEqual(read, bdata) + def testWriteVariableLengthEmptyScalar(self): + data = u"" + bdata = b"" + dtype = h5cpp.datatype.String.variable() + # dtype.encoding = h5cpp.datatype.CharacterEncoding.UTF8 + dataset = Dataset( + self.root, h5cpp.Path("VariableLengthStringEmptyScalar"), + dtype, Scalar()) + # dataset.write(data) + read = dataset.read() + if sys.version_info > (3,): + self.assertEqual(read, data) + else: + self.assertEqual(read, bdata) + def testWriteIntegerArray(self): data = numpy.array([[1, 2, 3, 4], [5, 6, 7, 8]])