diff --git a/test/source_location_test.cpp b/test/source_location_test.cpp index dc087bb..e3e7311 100644 --- a/test/source_location_test.cpp +++ b/test/source_location_test.cpp @@ -4,6 +4,21 @@ #include #include +#include + +static char const* adjust_filename( char const* file ) +{ +#if defined(__INTEL_LLVM_COMPILER) && __INTEL_LLVM_COMPILER >= 20210300 + + char const* fn = std::strrchr( file, '/' ); + return fn? fn + 1: file; + +#else + + return file; + +#endif +} int main() { @@ -20,7 +35,7 @@ int main() boost::source_location loc( __FILE__, __LINE__, "main()" ); BOOST_TEST_CSTR_EQ( loc.file_name(), __FILE__ ); - BOOST_TEST_EQ( loc.line(), 20 ); + BOOST_TEST_EQ( loc.line(), 35 ); BOOST_TEST_CSTR_EQ( loc.function_name(), "main()" ); BOOST_TEST_EQ( loc.column(), 0 ); } @@ -37,15 +52,15 @@ int main() { boost::source_location loc = BOOST_CURRENT_LOCATION; - BOOST_TEST_CSTR_EQ( loc.file_name(), __FILE__ ); - BOOST_TEST_EQ( loc.line(), 38 ); + BOOST_TEST_CSTR_EQ( loc.file_name(), adjust_filename(__FILE__) ); + BOOST_TEST_EQ( loc.line(), 53 ); } { BOOST_STATIC_CONSTEXPR boost::source_location loc = BOOST_CURRENT_LOCATION; - BOOST_TEST_CSTR_EQ( loc.file_name(), __FILE__ ); - BOOST_TEST_EQ( loc.line(), 45 ); + BOOST_TEST_CSTR_EQ( loc.file_name(), adjust_filename(__FILE__) ); + BOOST_TEST_EQ( loc.line(), 60 ); } #if defined(__cpp_lib_source_location) && __cpp_lib_source_location >= 201907L