On Tue, Oct 18, 2011 at 10:37 AM, Dimitry Andric <d...@freebsd.org> wrote: > Author: dim > Date: Tue Oct 18 17:37:18 2011 > New Revision: 226518 > URL: http://svn.freebsd.org/changeset/base/226518 > > Log: > Fix the way clang retrieves the major FreeBSD release number from the > target triple, so that the __FreeBSD__ and __FreeBSD_cc_version builtin > macros return the expected results. > > Spotted by: nalitoja at gmail.com > > Modified: > head/contrib/llvm/tools/clang/lib/Basic/Targets.cpp > > Modified: head/contrib/llvm/tools/clang/lib/Basic/Targets.cpp > ============================================================================== > --- head/contrib/llvm/tools/clang/lib/Basic/Targets.cpp Tue Oct 18 16:37:28 > 2011 (r226517) > +++ head/contrib/llvm/tools/clang/lib/Basic/Targets.cpp Tue Oct 18 17:37:18 > 2011 (r226518) > @@ -238,11 +238,12 @@ protected: > MacroBuilder &Builder) const { > // FreeBSD defines; list based off of gcc output > > - // FIXME: Move version number handling to llvm::Triple. > - llvm::StringRef Release = Triple.getOSName().substr(strlen("freebsd"), > 1); > + unsigned Release = Triple.getOSMajorVersion(); > + if (Release == 0U) > + Release = 8U; > > - Builder.defineMacro("__FreeBSD__", Release); > - Builder.defineMacro("__FreeBSD_cc_version", Release + "00001"); > + Builder.defineMacro("__FreeBSD__", Twine(Release)); > + Builder.defineMacro("__FreeBSD_cc_version", Twine(Release * 100000U + > 1U)); > Builder.defineMacro("__KPRINTF_ATTRIBUTE__"); > DefineStd(Builder, "unix", Opts); > Builder.defineMacro("__ELF__");
It looks like this commit broke tinderbox for multiple archs. -Garrett _______________________________________________ svn-src-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"