[MacPorts] #33361: properly fix mpfr to restore clang usage

MacPorts noreply at macports.org
Sun Feb 26 07:21:35 PST 2012


#33361: properly fix mpfr to restore clang usage
--------------------------------------+-------------------------------------
 Reporter:  howarth@…                 |       Owner:  macports-tickets@…                   
     Type:  defect                    |      Status:  new                                  
 Priority:  Normal                    |   Milestone:  MacPorts 2.0.4                       
Component:  ports                     |     Version:  2.0.3                                
 Keywords:  devel                     |        Port:  mpfr                                 
--------------------------------------+-------------------------------------
 The breakage in mpfr with the Xcode 4.2.0 release was mishandled in
 macports. The actual cause of the breakage was due to a clang bug which
 was exposed in when tis support was enabled in clang in the Xcode 4.2.0
 release. The mpfr 3.1.0 release tickles this bug because it supports tis
 if present in the compiler. The possible fixes for this problem is either
 to require Xcode 4.2.1 or later which has this tis code generation bug
 fixed,

 radr://10291355, "Xcode 4.2 miscompiles tls support in MPFR 3.1.0"

 by back porting the fix from llvm.org (r142553 ) for the same issue...

 http://llvm.org/bugs/show_bug.cgi?id=11111

 The attached Portfile.diff fixes this issue as we have in fink by passing
 --disable-thread-safe to configure. This has no impact on the build with
 non-clang compilers as none of them have ever supported tis code
 generation. For clang, it restores the previous build behavior prior to
 Xcode 4.2.0 where tis support wasn't available.

 Testing on x86_64-apple-darwin11 with Xcode 4.3 shows...

 /usr/bin/make  check-TESTS
 [tversion] GMP: header 5.0.4, library 5.0.4
 [tversion] MPFR tuning parameters from src/x86_64/core2/mparam.h
 PASS: tversion
 PASS: tinternals
 PASS: tinits
 PASS: tisqrt
 PASS: tsgn
 PASS: tcheck
 PASS: tisnan
 PASS: texceptions
 PASS: tset_exp
 PASS: tset
 PASS: mpf_compat
 PASS: mpfr_compat
 PASS: reuse
 PASS: tabs
 PASS: tacos
 PASS: tacosh
 PASS: tadd
 PASS: tadd1sp
 PASS: tadd_d
 PASS: tadd_ui
 PASS: tagm
 PASS: tai
 PASS: tasin
 PASS: tasinh
 PASS: tatan
 PASS: tatanh
 PASS: taway
 PASS: tbuildopt
 PASS: tcan_round
 PASS: tcbrt
 PASS: tcmp
 PASS: tcmp2
 PASS: tcmp_d
 PASS: tcmp_ld
 PASS: tcmp_ui
 PASS: tcmpabs
 PASS: tcomparisons
 PASS: tconst_catalan
 PASS: tconst_euler
 PASS: tconst_log2
 PASS: tconst_pi
 PASS: tcopysign
 PASS: tcos
 PASS: tcosh
 PASS: tcot
 PASS: tcoth
 PASS: tcsc
 PASS: tcsch
 PASS: td_div
 PASS: td_sub
 PASS: tdigamma
 PASS: tdim
 PASS: tdiv
 PASS: tdiv_d
 PASS: tdiv_ui
 PASS: teint
 PASS: teq
 PASS: terf
 PASS: texp
 PASS: texp10
 PASS: texp2
 PASS: texpm1
 PASS: tfactorial
 PASS: tfits
 PASS: tfma
 PASS: tfmod
 PASS: tfms
 PASS: tfprintf
 PASS: tfrac
 PASS: tfrexp
 PASS: tgamma
 PASS: tget_flt
 PASS: tget_d
 PASS: tget_d_2exp
 PASS: tget_f
 PASS: tget_ld_2exp
 SKIP: tget_set_d64
 PASS: tget_sj
 PASS: tget_str
 PASS: tget_z
 PASS: tgmpop
 PASS: tgrandom
 PASS: thyperbolic
 PASS: thypot
 PASS: tinp_str
 PASS: tj0
 PASS: tj1
 PASS: tjn
 PASS: tl2b
 PASS: tlgamma
 PASS: tli2
 PASS: tlngamma
 PASS: tlog
 PASS: tlog10
 PASS: tlog1p
 PASS: tlog2
 PASS: tmin_prec
 PASS: tminmax
 PASS: tmodf
 PASS: tmul
 PASS: tmul_2exp
 PASS: tmul_d
 PASS: tmul_ui
 PASS: tnext
 PASS: tout_str
 PASS: toutimpl
 PASS: tpow
 PASS: tpow3
 PASS: tpow_all
 PASS: tpow_z
 PASS: tprintf
 PASS: trandom
 PASS: trec_sqrt
 PASS: tremquo
 PASS: trint
 PASS: troot
 PASS: tround_prec
 PASS: tsec
 PASS: tsech
 PASS: tset_d
 PASS: tset_f
 PASS: tset_ld
 PASS: tset_q
 PASS: tset_si
 PASS: tset_sj
 PASS: tset_str
 PASS: tset_z
 PASS: tset_z_exp
 PASS: tsi_op
 PASS: tsin
 PASS: tsin_cos
 PASS: tsinh
 PASS: tsinh_cosh
 PASS: tsprintf
 PASS: tsqr
 PASS: tsqrt
 PASS: tsqrt_ui
 PASS: tstckintc
 PASS: tstdint
 PASS: tstrtofr
 PASS: tsub
 PASS: tsub1sp
 PASS: tsub_d
 PASS: tsub_ui
 PASS: tsubnormal
 PASS: tsum
 PASS: tswap
 PASS: ttan
 PASS: ttanh
 PASS: ttrunc
 PASS: tui_div
 PASS: tui_pow
 PASS: tui_sub
 PASS: turandom
 PASS: tvalist
 PASS: ty0
 PASS: ty1
 PASS: tyn
 PASS: tzeta
 PASS: tzeta_ui
 [tversion] GMP: header 5.0.4, library 5.0.4
 [tversion] MPFR tuning parameters from src/x86_64/core2/mparam.h
 PASS: tversion
 ====================
 All 160 tests passed
 (1 test was not run)
 ====================
 Making check in tune

-- 
Ticket URL: <https://trac.macports.org/ticket/33361>
MacPorts <http://www.macports.org/>
Ports system for Mac OS


More information about the macports-tickets mailing list