diff options
author | Eli Friedman <eli.friedman@gmail.com> | 2009-05-22 01:12:57 +0000 |
---|---|---|
committer | Eli Friedman <eli.friedman@gmail.com> | 2009-05-22 01:12:57 +0000 |
commit | 09c3a6d72540e734d97fa36e3fca9d0a37d72ebe (patch) | |
tree | 467a20e9c95bce797faf638ceb9d48807d2b2fc7 /lib/Basic/Targets.cpp | |
parent | d8fc0f2e7751cf31cec5c2f3cc6a0b447e9debb3 (diff) |
A few more tweaks for Solaris; please correct me if it's wrong somehow.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72240 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Basic/Targets.cpp')
-rw-r--r-- | lib/Basic/Targets.cpp | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/lib/Basic/Targets.cpp b/lib/Basic/Targets.cpp index 281dfa7a07..c4289f4a91 100644 --- a/lib/Basic/Targets.cpp +++ b/lib/Basic/Targets.cpp @@ -66,7 +66,9 @@ static void DefineStd(std::vector<char> &Buf, const char *MacroName, static void getSolarisDefines(const LangOptions &Opts, std::vector<char> &Defs) { DefineStd(Defs, "sun", Opts); DefineStd(Defs, "unix", Opts); - Define(Defs, "__ELF__", "1"); + Define(Defs, "__ELF__"); + Define(Defs, "__svr4__"); + Define(Defs, "__SVR4"); } static void getFreeBSDDefines(const LangOptions &Opts, bool is64Bit, @@ -892,7 +894,8 @@ class SolarisX86_32TargetInfo : public X86_32TargetInfo { public: SolarisX86_32TargetInfo(const std::string& triple) : X86_32TargetInfo(triple) { UserLabelPrefix = ""; - WCharType = WCharType = SignedLong; + WCharType = SignedLong; + // FIXME: WIntType should be SignedLong } virtual void getTargetDefines(const LangOptions &Opts, std::vector<char> &Defines) const { @@ -990,7 +993,6 @@ class SolarisX86_64TargetInfo : public X86_64TargetInfo { public: SolarisX86_64TargetInfo(const std::string& triple) : X86_64TargetInfo(triple) { UserLabelPrefix = ""; - WCharType = WCharType = SignedLong; } virtual void getTargetDefines(const LangOptions &Opts, std::vector<char> &Defines) const { @@ -1182,11 +1184,9 @@ public: } virtual void getTargetDefines(const LangOptions &Opts, std::vector<char> &Defines) const { - // FIXME: This is missing a lot of important defines; some of the - // missing stuff is likely to break system headers. - Define(Defines, "__sparc"); - Define(Defines, "__sparc__"); + DefineStd(Defines, "sparc", Opts); Define(Defines, "__sparcv8"); + Define(Defines, "__REGISTER_PREFIX__", ""); } virtual void getTargetBuiltins(const Builtin::Info *&Records, unsigned &NumRecords) const { @@ -1275,6 +1275,9 @@ public: SparcV8TargetInfo(triple) { SizeType = UnsignedInt; PtrDiffType = SignedInt; + WCharType = SignedLong; + // FIXME: WIntType should be SignedLong + UserLabelPrefix = ""; } virtual void getTargetDefines(const LangOptions &Opts, |