From 434ef8335e0e1ae1e4392d28f3eaca41f78537c2 Mon Sep 17 00:00:00 2001 From: Martin Storsjo Date: Mon, 6 Aug 2018 19:48:44 +0000 Subject: [PATCH] [MinGW] Predefine UNICODE if -municode is specified during compilation Differential Revision: https://reviews.llvm.org/D50199 llvm-svn: 339048 --- clang/lib/Driver/ToolChains/Clang.cpp | 3 +++ clang/test/Driver/mingw.cpp | 5 +++++ 2 files changed, 8 insertions(+) diff --git a/clang/lib/Driver/ToolChains/Clang.cpp b/clang/lib/Driver/ToolChains/Clang.cpp index 8e9c4c6aecb8..7685606ecbc8 100644 --- a/clang/lib/Driver/ToolChains/Clang.cpp +++ b/clang/lib/Driver/ToolChains/Clang.cpp @@ -3346,6 +3346,9 @@ void Clang::ConstructJob(Compilation &C, const JobAction &JA, if (Args.hasArg(options::OPT_static)) CmdArgs.push_back("-static-define"); + if (Args.hasArg(options::OPT_municode)) + CmdArgs.push_back("-DUNICODE"); + if (isa(JA)) RenderAnalyzerOptions(Args, CmdArgs, Triple, Input); diff --git a/clang/test/Driver/mingw.cpp b/clang/test/Driver/mingw.cpp index 967574ffe161..166a79af7b35 100644 --- a/clang/test/Driver/mingw.cpp +++ b/clang/test/Driver/mingw.cpp @@ -56,3 +56,8 @@ // CHECK_MINGW_UBUNTU_POSIX_TREE: "{{.*}}/Inputs/mingw_ubuntu_posix_tree/usr{{/|\\\\}}lib{{/|\\\\}}gcc{{/|\\\\}}x86_64-w64-mingw32{{/|\\\\}}5.3-posix{{/|\\\\}}include{{/|\\\\}}c++{{/|\\\\}}x86_64-w64-mingw32" // CHECK_MINGW_UBUNTU_POSIX_TREE: "{{.*}}/Inputs/mingw_ubuntu_posix_tree/usr{{/|\\\\}}lib{{/|\\\\}}gcc{{/|\\\\}}x86_64-w64-mingw32{{/|\\\\}}5.3-posix{{/|\\\\}}include{{/|\\\\}}c++{{/|\\\\}}backward" // CHECK_MINGW_UBUNTU_POSIX_TREE: "{{.*}}/Inputs/mingw_ubuntu_posix_tree/usr{{/|\\\\}}x86_64-w64-mingw32{{/|\\\\}}include" + +// RUN: %clang -target i686-windows-gnu -E -### %s 2>&1 | FileCheck -check-prefix=CHECK_MINGW_NO_UNICODE %s +// RUN: %clang -target i686-windows-gnu -E -### %s -municode 2>&1 | FileCheck -check-prefix=CHECK_MINGW_UNICODE %s +// CHECK_MINGW_NO_UNICODE-NOT: "-DUNICODE" +// CHECK_MINGW_UNICODE: "-DUNICODE"