diff options
author | Binh-Minh Ribler <bmribler@hdfgroup.org> | 2013-03-22 17:56:05 (GMT) |
---|---|---|
committer | Binh-Minh Ribler <bmribler@hdfgroup.org> | 2013-03-22 17:56:05 (GMT) |
commit | c8018386da2165a16f5e2d0cb5a391dca07b4ed5 (patch) | |
tree | bd9af146bf98c667e9237afc21bb5f108eb81dbc /c++/test/tlinks.cpp | |
parent | 030a17ca60905ef90cabaa147ee84febb064fc42 (diff) | |
download | hdf5-c8018386da2165a16f5e2d0cb5a391dca07b4ed5.zip hdf5-c8018386da2165a16f5e2d0cb5a391dca07b4ed5.tar.gz hdf5-c8018386da2165a16f5e2d0cb5a391dca07b4ed5.tar.bz2 |
[svn-r23427] Purpose: Fix bug HDFFV-8067
Description:
+ The C++ test failed with the new PGI compilers versions 12.4 and 12.5
+ An exception thrown by an internal function, which was called by
a constructor, was not propagating to the test program during the stack
unwinding, so it couldn't be caught by the test and the program terminated.
+ Various trials and errors indicated that the problem is where an STD string
converted to a char* being passed to the internal function, but confirmation
has not been found yet. It could be a compiler bug.
Solution:
+ Added a try/catch in the constructor around the internal function and
re-throw the exception when it is caught. This is a workaround.
+ Unrelated minor fixes: removed unused variables and MESSAGE's; commented
out tvlstr.cpp/test_read_vl_string_attribute because it may be redundant,
and commented out H5Tpkg.h inclusion because TEST_ALIGNMENT is not added
yet and probably not necessary in the C++ API.
Platforms tested:
Linux/32 2.6 (jam) with PGI compilers
Linux/32 2.6 (jam) with GNU compilers
Linux/64 2.6 (koala)
Diffstat (limited to 'c++/test/tlinks.cpp')
-rw-r--r-- | c++/test/tlinks.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/c++/test/tlinks.cpp b/c++/test/tlinks.cpp index e4e691a..fca5918 100644 --- a/c++/test/tlinks.cpp +++ b/c++/test/tlinks.cpp @@ -226,6 +226,7 @@ typedef struct { hbool_t *visited; /* Pointer to array of "visited link" flags */ } link_iter_info_t; +#if 0 /* Link visit structs */ typedef struct { const char *path; /* Path to link */ @@ -374,6 +375,7 @@ typedef struct { unsigned idx; /* Index in object visit structure */ const obj_visit_t *info; /* Pointer to the object visit structure to use */ } ovisit_ud_t; +#endif static const char *FILENAME[] = { "link0", @@ -529,7 +531,6 @@ void test_links() fapl_id = h5_fileaccess(); // Output message about test being performed - //MESSAGE("Testing Various Links\n"); MESSAGE(5, ("Testing Various Links\n")); try { |