needs testcase.
On 18 March 2015 at 09:58, Tamas Berghammer <[email protected]> wrote: > Add android x86_64 target info > > > http://reviews.llvm.org/D8357 > > Files: > lib/Basic/Targets.cpp > > Index: lib/Basic/Targets.cpp > =================================================================== > --- lib/Basic/Targets.cpp > +++ lib/Basic/Targets.cpp > @@ -6585,6 +6585,30 @@ > }; > } // end anonymous namespace. > > +namespace { > +// x86_32 Android target > +class AndroidX86_32TargetInfo : public LinuxTargetInfo<X86_32TargetInfo> { > +public: > + AndroidX86_32TargetInfo(const llvm::Triple &Triple) > + : LinuxTargetInfo<X86_32TargetInfo>(Triple) { > + SuitableAlign = 32; > + LongDoubleWidth = 64; > + LongDoubleFormat = &llvm::APFloat::IEEEdouble; > + } > +}; > +} // end anonymous namespace > + > +namespace { > +// x86_64 Android target > +class AndroidX86_64TargetInfo : public LinuxTargetInfo<X86_64TargetInfo> { > +public: > + AndroidX86_64TargetInfo(const llvm::Triple &Triple) > + : LinuxTargetInfo<X86_64TargetInfo>(Triple) { > + LongDoubleFormat = &llvm::APFloat::IEEEquad; > + } > +}; > +} // end anonymous namespace > + > > > //===----------------------------------------------------------------------===// > // Driver code > @@ -6862,8 +6886,14 @@ > return new DarwinI386TargetInfo(Triple); > > switch (os) { > - case llvm::Triple::Linux: > - return new LinuxTargetInfo<X86_32TargetInfo>(Triple); > + case llvm::Triple::Linux: { > + switch (Triple.getEnvironment()) { > + default: > + return new LinuxTargetInfo<X86_32TargetInfo>(Triple); > + case llvm::Triple::Android: > + return new AndroidX86_32TargetInfo(Triple); > + } > + } > case llvm::Triple::DragonFly: > return new DragonFlyBSDTargetInfo<X86_32TargetInfo>(Triple); > case llvm::Triple::NetBSD: > @@ -6910,8 +6940,14 @@ > switch (os) { > case llvm::Triple::CloudABI: > return new CloudABITargetInfo<X86_64TargetInfo>(Triple); > - case llvm::Triple::Linux: > - return new LinuxTargetInfo<X86_64TargetInfo>(Triple); > + case llvm::Triple::Linux: { > + switch (Triple.getEnvironment()) { > + default: > + return new LinuxTargetInfo<X86_64TargetInfo>(Triple); > + case llvm::Triple::Android: > + return new AndroidX86_64TargetInfo(Triple); > + } > + } > case llvm::Triple::DragonFly: > return new DragonFlyBSDTargetInfo<X86_64TargetInfo>(Triple); > case llvm::Triple::NetBSD: > > EMAIL PREFERENCES > http://reviews.llvm.org/settings/panel/emailpreferences/ _______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
