aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPali Rohár <pali@kernel.org>2024-06-23 18:40:59 +0200
committerJonathan Yong <10walls@gmail.com>2024-06-24 09:04:31 +0000
commit0de0476e47c774db21c94a75d60485a55ec7b5b4 (patch)
treeac8f7f0828ff90ace61198e4d76ace107bf869a5
parenta6f7e3ca2961e9315a23ffd99b40f004848f900e (diff)
downloadgcc-0de0476e47c774db21c94a75d60485a55ec7b5b4.zip
gcc-0de0476e47c774db21c94a75d60485a55ec7b5b4.tar.gz
gcc-0de0476e47c774db21c94a75d60485a55ec7b5b4.tar.bz2
Fix MinGW option -mcrtdll=
Add missing msvcr40* and msvcrtd* cases to CPP_SPEC and document missing _UCRT macro and msvcr71* case. Fixes commit 453cb585f0f8673a5d69d1b420ffd4b3f53aca00. gcc/ * config/i386/mingw-w64.h (CPP_SPEC): Add missing -mcrtdll= cases: msvcr40*, msvcrtd*. * config/mingw/mingw32.h (CPP_SPEC): Add missing -mcrtdll= cases: msvcr40*, msvcrtd*. * doc/invoke.texi: Add missing -mcrtdll= cases: msvcr40*, msvcrtd*, msvcr71*. Express wildcards with *. Document _UCRT.
-rw-r--r--gcc/config/i386/mingw-w64.h2
-rw-r--r--gcc/config/mingw/mingw32.h2
-rw-r--r--gcc/doc/invoke.texi13
3 files changed, 11 insertions, 6 deletions
diff --git a/gcc/config/i386/mingw-w64.h b/gcc/config/i386/mingw-w64.h
index dde2641..0a9986c 100644
--- a/gcc/config/i386/mingw-w64.h
+++ b/gcc/config/i386/mingw-w64.h
@@ -30,6 +30,8 @@ along with GCC; see the file COPYING3. If not see
"%{mcrtdll=msvcrt10*:-D__MSVCRT_VERSION__=0x100} " \
"%{mcrtdll=msvcrt20*:-D__MSVCRT_VERSION__=0x200} " \
"%{mcrtdll=msvcrt40*:-D__MSVCRT_VERSION__=0x400} " \
+ "%{mcrtdll=msvcr40*:-D__MSVCRT_VERSION__=0x400} " \
+ "%{mcrtdll=msvcrtd*:-D__MSVCRT_VERSION__=0x600} " \
"%{mcrtdll=msvcrt-os*:-D__MSVCRT_VERSION__=0x700} " \
"%{mcrtdll=msvcr70*:-D__MSVCRT_VERSION__=0x700} " \
"%{mcrtdll=msvcr71*:-D__MSVCRT_VERSION__=0x701} " \
diff --git a/gcc/config/mingw/mingw32.h b/gcc/config/mingw/mingw32.h
index fa6e307..da8e1e8 100644
--- a/gcc/config/mingw/mingw32.h
+++ b/gcc/config/mingw/mingw32.h
@@ -99,6 +99,8 @@ along with GCC; see the file COPYING3. If not see
"%{mcrtdll=msvcrt10*:-D__MSVCRT_VERSION__=0x100} " \
"%{mcrtdll=msvcrt20*:-D__MSVCRT_VERSION__=0x200} " \
"%{mcrtdll=msvcrt40*:-D__MSVCRT_VERSION__=0x400} " \
+ "%{mcrtdll=msvcr40*:-D__MSVCRT_VERSION__=0x400} " \
+ "%{mcrtdll=msvcrtd*:-D__MSVCRT_VERSION__=0x600} " \
"%{mcrtdll=msvcrt-os*:-D__MSVCRT_VERSION__=0x700} " \
"%{mcrtdll=msvcr70*:-D__MSVCRT_VERSION__=0x700} " \
"%{mcrtdll=msvcr71*:-D__MSVCRT_VERSION__=0x701} " \
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
index 580232a..23d90db 100644
--- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi
@@ -36462,13 +36462,14 @@ enabled by default on those targets.
@opindex mcrtdll
@item -mcrtdll=@var{library}
Preprocess, compile or link with specified C RunTime DLL @var{library}.
-This option adjust predefined macros @code{__CRTDLL__}, @code{__MSVCRT__}
-and @code{__MSVCRT_VERSION__} for specified CRT @var{library}, choose
-start file for CRT @var{library} and link with CRT @var{library}.
+This option adjust predefined macros @code{__CRTDLL__}, @code{__MSVCRT__},
+@code{_UCRT} and @code{__MSVCRT_VERSION__} for specified CRT @var{library},
+choose start file for CRT @var{library} and link with CRT @var{library}.
Recognized CRT library names for proprocessor are:
-@code{crtdll}, @code{msvcrt10}, @code{msvcrt20}, @code{msvcrt40},
-@code{msvcrt-os}, @code{msvcr70}, @code{msvcr80}, @code{msvcr90},
-@code{msvcr100}, @code{msvcr110}, @code{msvcr120} and @code{ucrt}.
+@code{crtdll*}, @code{msvcrt10*}, @code{msvcrt20*}, @code{msvcrt40*},
+@code{msvcr40*}, @code{msvcrtd*}, @code{msvcrt-os*},
+@code{msvcr70*}, @code{msvcr71*}, @code{msvcr80*}, @code{msvcr90*},
+@code{msvcr100*}, @code{msvcr110*}, @code{msvcr120*} and @code{ucrt*}.
If this options is not specified then the default MinGW import library
@code{msvcrt} is used for linking and no other adjustment for
preprocessor is done. MinGW import library @code{msvcrt} is just a