This is an automated email from the git hooks/post-receive script. ildumi pushed a commit to branch development in repository libtool.
The following commit(s) were added to refs/heads/development by this push: new 64f31f45 New Intel OneAPI compiler names 64f31f45 is described below commit 64f31f45db18952a1ce273edc7ce86dd5b53585a Author: Ileana Dumitrescu <ileanadumitresc...@gmail.com> AuthorDate: Sat Aug 9 14:22:47 2025 +0300 New Intel OneAPI compiler names Reported: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=78817 * libltdl/libltdl/lt__alloc.h: Change FREE and MEMREASSIGN macros for -Wcompound-token-split-by-macro. * libltdl/libltdl/lt_system.h: Change LT_STMT_START and LT_STMT_END macros for -Wcompound-token-split-by-macro. * libltdl/loaders/loadlibrary.c: Add support for icx, icpx, ifx. * libltdl/ltdl.c: Fixes for Clang. * m4/libtool.m4: Add support for icx, icpx, and ifx. * NEWS: Update. --- NEWS | 4 ++++ libltdl/libltdl/lt__alloc.h | 8 ++++---- libltdl/libltdl/lt_system.h | 12 ++++++------ libltdl/loaders/loadlibrary.c | 4 ++-- libltdl/ltdl.c | 34 ++++++++++++++++++++-------------- m4/libtool.m4 | 23 ++++++++++++----------- 6 files changed, 48 insertions(+), 37 deletions(-) diff --git a/NEWS b/NEWS index e7169270..b167fd74 100644 --- a/NEWS +++ b/NEWS @@ -55,6 +55,10 @@ NEWS - list of user-visible changes between releases of GNU Libtool - Fix libltdl early failures for multi-arch. +** Changes in supported systems or compilers: + + - Support additional Intel OneAPI compilers, 'icx', 'icpx', and 'ifx'. + * Noteworthy changes in release 2.5.4 (2024-11-20) [stable] diff --git a/libltdl/libltdl/lt__alloc.h b/libltdl/libltdl/lt__alloc.h index f27345b1..ad25e30e 100644 --- a/libltdl/libltdl/lt__alloc.h +++ b/libltdl/libltdl/lt__alloc.h @@ -35,11 +35,11 @@ LT_BEGIN_C_DECLS #define MALLOC(tp, n) (tp*) lt__malloc((n) * sizeof(tp)) #define REALLOC(tp, mem, n) (tp*) lt__realloc((mem), (n) * sizeof(tp)) -#define FREE(mem) LT_STMT_START { \ - free (mem); mem = NULL; } LT_STMT_END -#define MEMREASSIGN(p, q) LT_STMT_START { \ +#define FREE(mem) LT_STMT_START \ + free (mem); mem = NULL; LT_STMT_END +#define MEMREASSIGN(p, q) LT_STMT_START \ if ((p) != (q)) { free (p); (p) = (q); (q) = 0; } \ - } LT_STMT_END + LT_STMT_END /* If set, this function is called when memory allocation has failed. */ LT_SCOPE void (*lt__alloc_die) (void); diff --git a/libltdl/libltdl/lt_system.h b/libltdl/libltdl/lt_system.h index 15346858..2f2c7b77 100644 --- a/libltdl/libltdl/lt_system.h +++ b/libltdl/libltdl/lt_system.h @@ -62,15 +62,15 @@ License along with GNU Libltdl. If not, see <https://www.gnu.org/licenses/>. /* LT_STMT_START/END are used to create macros that expand to a a single compound statement in a portable way. */ #if defined __GNUC__ && !defined __STRICT_ANSI__ && !defined __cplusplus -# define LT_STMT_START (void)( -# define LT_STMT_END ) +# define LT_STMT_START (void)({ +# define LT_STMT_END }) #else # if (defined sun || defined __sun__) -# define LT_STMT_START if (1) -# define LT_STMT_END else (void)0 +# define LT_STMT_START if (1){ +# define LT_STMT_END }else (void)0 # else -# define LT_STMT_START do -# define LT_STMT_END while (0) +# define LT_STMT_START do{ +# define LT_STMT_END }while (0) # endif #endif diff --git a/libltdl/loaders/loadlibrary.c b/libltdl/loaders/loadlibrary.c index e1176bd7..d62dce5b 100644 --- a/libltdl/loaders/loadlibrary.c +++ b/libltdl/loaders/loadlibrary.c @@ -95,8 +95,8 @@ get_vtable (lt_user_data loader_data) #include <windows.h> -#define LOCALFREE(mem) LT_STMT_START { \ - if (mem) { LocalFree ((void *)mem); mem = NULL; } } LT_STMT_END +#define LOCALFREE(mem) LT_STMT_START \ + if (mem) { LocalFree ((void *)mem); mem = NULL; } LT_STMT_END #define LOADLIB__SETERROR(errmsg) LT__SETERRORSTR (loadlibraryerror (errmsg)) #define LOADLIB_SETERROR(errcode) LOADLIB__SETERROR (LT__STRERROR (errcode)) diff --git a/libltdl/ltdl.c b/libltdl/ltdl.c index 60495415..85bd6013 100644 --- a/libltdl/ltdl.c +++ b/libltdl/ltdl.c @@ -1367,9 +1367,12 @@ try_dlopen (lt_dlhandle *phandle, const char *filename, const char *ext, } #endif #if defined LT_DLSEARCH_PATH - if (!file && *sys_dlsearch_path) + if (!file) { - file = find_file (sys_dlsearch_path, base_name, &dir); + if (*sys_dlsearch_path) + { + file = find_file (sys_dlsearch_path, base_name, &dir); + } } #endif } @@ -1916,24 +1919,27 @@ lt_dlforeachfile (const char *search_path, is_done = foreach_dirinpath (user_search_path, 0, foreachfile_callback, fpptr, data); if (!is_done) - { - is_done = foreach_dirinpath (getenv(LTDL_SEARCHPATH_VAR), 0, + { + is_done = foreach_dirinpath (getenv(LTDL_SEARCHPATH_VAR), 0, foreachfile_callback, fpptr, data); - } + } #if defined LT_MODULE_PATH_VAR if (!is_done) - { - is_done = foreach_dirinpath (getenv(LT_MODULE_PATH_VAR), 0, - foreachfile_callback, fpptr, data); - } + { + is_done = foreach_dirinpath (getenv(LT_MODULE_PATH_VAR), 0, + foreachfile_callback, fpptr, data); + } #endif #if defined LT_DLSEARCH_PATH - if (!is_done && *sys_dlsearch_path) - { - is_done = foreach_dirinpath (sys_dlsearch_path, 0, - foreachfile_callback, fpptr, data); - } + if (!is_done) + { + if (*sys_dlsearch_path) + { + is_done = foreach_dirinpath (sys_dlsearch_path, 0, + foreachfile_callback, fpptr, data); + } + } #endif } diff --git a/m4/libtool.m4 b/m4/libtool.m4 index ffc8a3e1..cb869809 100644 --- a/m4/libtool.m4 +++ b/m4/libtool.m4 @@ -2668,8 +2668,8 @@ m4_if([$1], [],[ dynamic_linker='Win32 ld.exe' ;; - *,cl* | *,icl*) - # Native MSVC or ICC + *,cl* | *,icl* | *,icx*) + # Native MSVC and Intel compilers libname_spec='$name' soname_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext' library_names_spec='$libname.dll.lib' @@ -4558,7 +4558,7 @@ m4_if([$1], [CXX], [ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' ;; - icpc* ) + icpc* | icpx*) # Intel C++, used to be incompatible with GCC. # ICC 10 doesn't accept -KPIC any more. _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' @@ -4893,7 +4893,7 @@ m4_if([$1], [CXX], [ ;; # icc used to be incompatible with GCC. # ICC 10 doesn't accept -KPIC any more. - icc* | ifort*) + icc* | ifort* | icx* | ifx*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' @@ -5129,7 +5129,8 @@ m4_if([$1], [CXX], [ ;; cygwin* | mingw* | windows* | cegcc*) case $cc_basename in - cl* | icl*) + cl* | icl* | icx* | icpx*) + # Native MSVC and Intel compilers _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' ;; *) @@ -5404,7 +5405,7 @@ _LT_EOF tmp_addflag=' -i_dynamic' ;; efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 tmp_addflag=' -i_dynamic -nofor_main' ;; - ifc* | ifort*) # Intel Fortran compiler + ifc* | ifort* | ifx*) # Intel Fortran compiler tmp_addflag=' -nofor_main' ;; lf95*) # Lahey Fortran 8.1 _LT_TAGVAR(whole_archive_flag_spec, $1)= @@ -5767,8 +5768,8 @@ _LT_EOF # hardcode_libdir_flag_spec is actually meaningless, as there is # no search path for DLLs. case $cc_basename in - cl* | icl*) - # Native MSVC or ICC + cl* | icl* | icx* | icpx*) + # Native MSVC and Intel compilers _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' _LT_TAGVAR(allow_undefined_flag, $1)=unsupported _LT_TAGVAR(always_export_symbols, $1)=yes @@ -6851,8 +6852,8 @@ if test yes != "$_lt_caught_CXX_error"; then cygwin* | mingw* | windows* | pw32* | cegcc*) case $GXX,$cc_basename in - ,cl* | no,cl* | ,icl* | no,icl*) - # Native MSVC or ICC + ,cl* | no,cl* | ,icl* | no,icl* | ,icx* | no,icx* | ,icpx* | no,icpx*) + # Native MSVC and Intel compilers # hardcode_libdir_flag_spec is actually meaningless, as there is # no search path for DLLs. _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' @@ -7186,7 +7187,7 @@ if test yes != "$_lt_caught_CXX_error"; then # "CC -Bstatic", where "CC" is the KAI C++ compiler. _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;; - icpc* | ecpc* ) + icpc* | ecpc* | icpx*) # Intel C++ with_gnu_ld=yes # version 8.0 and above of icpc choke on multiply defined symbols