diff options
author | Pali Rohár <pali@kernel.org> | 2024-06-23 18:40:59 +0200 |
---|---|---|
committer | Jonathan Yong <10walls@gmail.com> | 2024-06-24 09:04:31 +0000 |
commit | 0de0476e47c774db21c94a75d60485a55ec7b5b4 (patch) | |
tree | ac8f7f0828ff90ace61198e4d76ace107bf869a5 | |
parent | a6f7e3ca2961e9315a23ffd99b40f004848f900e (diff) | |
download | gcc-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.h | 2 | ||||
-rw-r--r-- | gcc/config/mingw/mingw32.h | 2 | ||||
-rw-r--r-- | gcc/doc/invoke.texi | 13 |
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 |