diff options
author | Eli Friedman <eli.friedman@gmail.com> | 2009-06-08 06:11:14 +0000 |
---|---|---|
committer | Eli Friedman <eli.friedman@gmail.com> | 2009-06-08 06:11:14 +0000 |
commit | abc4e32603bd9d3e392e23762cc366e45d772685 (patch) | |
tree | 065f502ad402d88c973eb00a1ad10fc94d5e06f5 /lib | |
parent | 3b658d3ecb6e20b2be31fcef539e488904671afa (diff) |
Misc minor fixes for clang for the Windows target.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73050 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib')
-rw-r--r-- | lib/Basic/Targets.cpp | 15 | ||||
-rw-r--r-- | lib/Frontend/InitPreprocessor.cpp | 1 |
2 files changed, 12 insertions, 4 deletions
diff --git a/lib/Basic/Targets.cpp b/lib/Basic/Targets.cpp index 120d52543c..b4e32e9d9f 100644 --- a/lib/Basic/Targets.cpp +++ b/lib/Basic/Targets.cpp @@ -244,6 +244,11 @@ static void GetDarwinLanguageOptions(LangOptions &Opts, Opts.ObjCNonFragileABI = 1; } +/// GetWindowsLanguageOptions - Set the default language options for Windows. +static void GetWindowsLanguageOptions(LangOptions &Opts, + const char *Triple) { + Opts.Microsoft = true; +} //===----------------------------------------------------------------------===// // Specific target implementations. @@ -924,9 +929,8 @@ public: WindowsX86_32TargetInfo(const std::string& triple) : X86_32TargetInfo(triple) { TLSSupported = false; - // FIXME: Fix wchar_t. - // FIXME: We should probably enable -fms-extensions by default for - // this target. + WCharType = SignedShort; + WCharWidth = WCharAlign = 16; } virtual void getTargetDefines(const LangOptions &Opts, std::vector<char> &Defines) const { @@ -938,6 +942,11 @@ public: Define(Defines, "_X86_"); Define(Defines, "__MSVCRT__"); } + + virtual void getDefaultLangOptions(LangOptions &Opts) { + X86_32TargetInfo::getDefaultLangOptions(Opts); + GetWindowsLanguageOptions(Opts, getTargetTriple()); + } }; } // end anonymous namespace diff --git a/lib/Frontend/InitPreprocessor.cpp b/lib/Frontend/InitPreprocessor.cpp index 01729fad5e..6cff75daf3 100644 --- a/lib/Frontend/InitPreprocessor.cpp +++ b/lib/Frontend/InitPreprocessor.cpp @@ -310,7 +310,6 @@ static void InitializePredefinedMacros(const TargetInfo &TI, // Filter out some microsoft extensions when trying to parse in ms-compat // mode. if (LangOpts.Microsoft) { - DefineBuiltinMacro(Buf, "_cdecl=__cdecl"); DefineBuiltinMacro(Buf, "__int8=__INT8_TYPE__"); DefineBuiltinMacro(Buf, "__int16=__INT16_TYPE__"); DefineBuiltinMacro(Buf, "__int32=__INT32_TYPE__"); |