# # patch "ChangeLog" # from [7038da3c97b934287f018f5780d1ab73b59bef2f] # to [071b735e3fe20e5b913af693b890b41cd7b0d64d] # # patch "paths.cc" # from [83dd54b6c048d9b009bbf910be0e8e4a994996c0] # to [125b75ce333f2a5d183fe41b578e736958ed7854] # ======================================================================== --- ChangeLog 7038da3c97b934287f018f5780d1ab73b59bef2f +++ ChangeLog 071b735e3fe20e5b913af693b890b41cd7b0d64d @@ -1,5 +1,8 @@ 2005-08-30 Matthew Gregan + * paths.cc (test_bookkeeping_path, test_system_path): Shift object + instantiation around a little to work around what seems to be a + bug in the gcc 3.3 parser. * win32/inodeprint.cc (inodeprint_file): Update to use new path handling code. * win32/fs.cc (tilde_expand): Compile fix. ======================================================================== --- paths.cc 83dd54b6c048d9b009bbf910be0e8e4a994996c0 +++ paths.cc 125b75ce333f2a5d183fe41b578e736958ed7854 @@ -809,11 +809,14 @@ for (char const ** c = baddies; *c; ++c) { L(F("test_bookkeeping_path baddie: trying '%s'") % *c); - BOOST_CHECK_THROW(bookkeeping_path(std::string(*c)), std::logic_error); - BOOST_CHECK_THROW(bookkeeping_root / std::string(*c), std::logic_error); + std::string path_string(*c); + BOOST_CHECK_THROW(bookkeeping_path(path_string), std::logic_error); + BOOST_CHECK_THROW(bookkeeping_root / path_string, std::logic_error); } - BOOST_CHECK_THROW(bookkeeping_path(std::string("foo/bar")), std::logic_error); - BOOST_CHECK_THROW(bookkeeping_path(std::string("a")), std::logic_error); + std::string path_foo_bar("foo/bar"); + BOOST_CHECK_THROW(bookkeeping_path(path_foo_bar), std::logic_error); + std::string path_a("a"); + BOOST_CHECK_THROW(bookkeeping_path(path_a), std::logic_error); check_bk_normalizes_to("a", "MT/a"); check_bk_normalizes_to("foo", "MT/foo"); @@ -899,7 +902,8 @@ BOOST_CHECK(working_root.used); BOOST_CHECK(system_path(file_path_external(std::string("foo/bar"))).as_external() == "/working/root/rel/initial/foo/bar"); - BOOST_CHECK(system_path(file_path()).as_external() + file_path a_file_path; + BOOST_CHECK(system_path(a_file_path).as_external() == "/working/root"); BOOST_CHECK(system_path(bookkeeping_path("MT/foo/bar")).as_internal() == "/working/root/MT/foo/bar");