https://gcc.gnu.org/g:a8617b5ec39f81a59650193be1db2cfecdd76fb6

commit r14-10389-ga8617b5ec39f81a59650193be1db2cfecdd76fb6
Author: Pali Rohár <p...@kernel.org>
Date:   Sun Jun 23 18:40:59 2024 +0200

    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/i386/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.
    
    (cherry picked from commit 0de0476e47c774db21c94a75d60485a55ec7b5b4)
    Signed-off-by: Jonathan Yong <10wa...@gmail.com>

Diff:
---
 gcc/config/i386/mingw-w64.h |  2 ++
 gcc/config/i386/mingw32.h   |  2 ++
 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 dde26413e221..0a9986c44d40 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/i386/mingw32.h b/gcc/config/i386/mingw32.h
index 58304fc55f62..7753affd36d4 100644
--- a/gcc/config/i386/mingw32.h
+++ b/gcc/config/i386/mingw32.h
@@ -94,6 +94,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 67220051a5be..f82f7d2817bb 100644
--- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi
@@ -36325,13 +36325,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

Reply via email to