[GSoC] Addition of __isl_give to declarations
This patch adds __isl_give to declarations of the following funcions: generate_isl_context, generate_isl_schedule, scop_to_isl_ast Is it fine for trunk? -- Cheers, Roman Gareev ChangeLog_entry Description: Binary data patch Description: Binary data
Re: [GSoC] Addition of __isl_give to declarations
On 05/07/2014 08:58, Roman Gareev wrote: This patch adds __isl_give to declarations of the following funcions: generate_isl_context, generate_isl_schedule, scop_to_isl_ast Is it fine for trunk? The ChangeLog should be per-function. Otherwise LGTM. Tobias
Re: [PATCH] Fix arrays in rtx.u + add minor rtx verification
On July 4, 2014 10:50:01 PM CEST, Jakub Jelinek ja...@redhat.com wrote: On Mon, Jun 23, 2014 at 04:40:43PM +0200, Richard Biener wrote: Can we instead refactor expmed.c to avoid allocating rtx_def directly? Like by using rtx in init_expmed_rtl and allocating from an obstack (or not care and GC-allocate anyway). So like this? Bootstrapped/regtested on x86_64-linux and i686-linux, haven't seen any measurable difference in 1000x invocations of null .c file compilations. It is just 18 GC allocations + I ggc_free all of them. Yes. Thanks, Richard. 2014-07-04 Jakub Jelinek ja...@redhat.com * expmed.c (struct init_expmed_rtl): Change all fields but pow2 and cint from struct rtx_def to rtx. (init_expmed_one_conv, init_expmed_one_mode): Adjust for that change. (init_expmed): Likewise. Allocate all the 18 rtxes and ggc_free them at the end again. --- gcc/expmed.c.jj2014-07-03 16:37:50.0 +0200 +++ gcc/expmed.c 2014-07-04 17:23:54.229174101 +0200 @@ -88,24 +88,24 @@ mask_rtx (enum machine_mode mode, int bi struct init_expmed_rtl { - struct rtx_def reg; - struct rtx_def plus; - struct rtx_def neg; - struct rtx_def mult; - struct rtx_def sdiv; - struct rtx_def udiv; - struct rtx_def sdiv_32; - struct rtx_def smod_32; - struct rtx_def wide_mult; - struct rtx_def wide_lshr; - struct rtx_def wide_trunc; - struct rtx_def shift; - struct rtx_def shift_mult; - struct rtx_def shift_add; - struct rtx_def shift_sub0; - struct rtx_def shift_sub1; - struct rtx_def zext; - struct rtx_def trunc; + rtx reg; + rtx plus; + rtx neg; + rtx mult; + rtx sdiv; + rtx udiv; + rtx sdiv_32; + rtx smod_32; + rtx wide_mult; + rtx wide_lshr; + rtx wide_trunc; + rtx shift; + rtx shift_mult; + rtx shift_add; + rtx shift_sub0; + rtx shift_sub1; + rtx zext; + rtx trunc; rtx pow2[MAX_BITS_PER_WORD]; rtx cint[MAX_BITS_PER_WORD]; @@ -127,9 +127,9 @@ init_expmed_one_conv (struct init_expmed - (GET_MODE_CLASS (from_mode) == MODE_PARTIAL_INT)); /* Assume cost of zero-extend and sign-extend is the same. */ - which = (to_size from_size ? all-trunc : all-zext); + which = (to_size from_size ? all-trunc : all-zext); - PUT_MODE (all-reg, from_mode); + PUT_MODE (all-reg, from_mode); set_convert_cost (to_mode, from_mode, speed, set_src_cost (which, speed)); } @@ -142,32 +142,32 @@ init_expmed_one_mode (struct init_expmed mode_bitsize = GET_MODE_UNIT_BITSIZE (mode); - PUT_MODE (all-reg, mode); - PUT_MODE (all-plus, mode); - PUT_MODE (all-neg, mode); - PUT_MODE (all-mult, mode); - PUT_MODE (all-sdiv, mode); - PUT_MODE (all-udiv, mode); - PUT_MODE (all-sdiv_32, mode); - PUT_MODE (all-smod_32, mode); - PUT_MODE (all-wide_trunc, mode); - PUT_MODE (all-shift, mode); - PUT_MODE (all-shift_mult, mode); - PUT_MODE (all-shift_add, mode); - PUT_MODE (all-shift_sub0, mode); - PUT_MODE (all-shift_sub1, mode); - PUT_MODE (all-zext, mode); - PUT_MODE (all-trunc, mode); - - set_add_cost (speed, mode, set_src_cost (all-plus, speed)); - set_neg_cost (speed, mode, set_src_cost (all-neg, speed)); - set_mul_cost (speed, mode, set_src_cost (all-mult, speed)); - set_sdiv_cost (speed, mode, set_src_cost (all-sdiv, speed)); - set_udiv_cost (speed, mode, set_src_cost (all-udiv, speed)); + PUT_MODE (all-reg, mode); + PUT_MODE (all-plus, mode); + PUT_MODE (all-neg, mode); + PUT_MODE (all-mult, mode); + PUT_MODE (all-sdiv, mode); + PUT_MODE (all-udiv, mode); + PUT_MODE (all-sdiv_32, mode); + PUT_MODE (all-smod_32, mode); + PUT_MODE (all-wide_trunc, mode); + PUT_MODE (all-shift, mode); + PUT_MODE (all-shift_mult, mode); + PUT_MODE (all-shift_add, mode); + PUT_MODE (all-shift_sub0, mode); + PUT_MODE (all-shift_sub1, mode); + PUT_MODE (all-zext, mode); + PUT_MODE (all-trunc, mode); + + set_add_cost (speed, mode, set_src_cost (all-plus, speed)); + set_neg_cost (speed, mode, set_src_cost (all-neg, speed)); + set_mul_cost (speed, mode, set_src_cost (all-mult, speed)); + set_sdiv_cost (speed, mode, set_src_cost (all-sdiv, speed)); + set_udiv_cost (speed, mode, set_src_cost (all-udiv, speed)); - set_sdiv_pow2_cheap (speed, mode, (set_src_cost (all-sdiv_32, speed) + set_sdiv_pow2_cheap (speed, mode, (set_src_cost (all-sdiv_32, speed) = 2 * add_cost (speed, mode))); - set_smod_pow2_cheap (speed, mode, (set_src_cost (all-smod_32, speed) + set_smod_pow2_cheap (speed, mode, (set_src_cost (all-smod_32, speed) = 4 * add_cost (speed, mode))); set_shift_cost (speed, mode, 0, 0); @@ -181,13 +181,13 @@ init_expmed_one_mode (struct init_expmed n = MIN (MAX_BITS_PER_WORD, mode_bitsize); for (m = 1; m n; m++) { - XEXP (all-shift, 1) = all-cint[m]; - XEXP (all-shift_mult, 1) = all-pow2[m]; + XEXP (all-shift, 1) = all-cint[m]; + XEXP (all-shift_mult, 1) = all-pow2[m]; - set_shift_cost (speed, mode, m,
Re: [PATCH] [ARM] [RFC] Fix longstanding push_minipool_fix ICE (PR49423, lp1296601)
On 3 July 2014 15:26, Richard Earnshaw rearn...@arm.com wrote: So OK, but if you're considering back-ports, I suggest you let it bake a while on trunk first. Committed as r212303.
Re: [wwwdocs,Fortran] Announce IEEE intrinsic modules support for Fortran
On Fri, 4 Jul 2014, FX wrote: Sounds good to me. Okay; just committed per the patch below. Gerald Index: index.html === RCS file: /cvs/gcc/wwwdocs/htdocs/index.html,v retrieving revision 1.926 diff -u -r1.926 index.html --- index.html 30 Jun 2014 16:49:33 - 1.926 +++ index.html 5 Jul 2014 15:28:45 - @@ -52,6 +52,12 @@ dl class=news +dtspan class=date[2014-07-04]/spanFortran IEEE intrinsic modules/dt +ddThe Fortran compiler (gfortran) has gained support for the IEEE +intrinsic modules specified by the Fortran 2003 and Fortran 2008 +standards. The code was contributed by François-Xavier Coudert of +CNRS./dd + dtspanOpenMP v4.0/span span class=date[2014-06-30]/span/dt ddAn implementation of the a
[Patch, testsuite] PR61453 gfortran.dg/bind_c_array_params_2.f90 for targets where a call insn isn't call
Is the following patch OK for trunk? 2014-07-05 Dominique d'Humieres domi...@lps.ens.fr PR testsuite/61453 * gfortran.dg/gfortran.dg/bind_c_array_params_2.f90: Adjust regexp for more targets. --- ../_clean/gcc/testsuite/gfortran.dg/bind_c_array_params_2.f90 2014-05-24 16:17:53.0 +0200 +++ gcc/testsuite/gfortran.dg/bind_c_array_params_2.f90 2014-05-29 11:34:40.0 +0200 @@ -16,7 +16,7 @@ integer :: aa(4,4) call test(aa) end -! { dg-final { scan-assembler-times call\[^\n\r\]*myBindC 1 { target { ! { hppa*-*-hpux* } } } } } -! { dg-final { scan-assembler-times call\[^\n\r\]*myBindC,%r2 1 { target { hppa*-*-hpux* } } } } +! { dg-final { scan-assembler-times \[ \t\]\[$,_0-9\]*myBindC 1 { target { ! { hppa*-*-hpux* } } } } } +! { dg-final { scan-assembler-times \[ \t\]\[$,_0-9\]*myBindC,%r2 1 { target { hppa*-*-hpux* } } } } ! { dg-final { scan-tree-dump-times test \\\(parm\\. 1 original } } ! { dg-final { cleanup-tree-dump original } }
[PATCH, gfortran testsuite] Minor cleanup for the gfortran test suite, v2.
On Mon, 05 May 2014, I have posted https://gcc.gnu.org/ml/fortran/2014-05/msg00012.html. On IRC Tobias Burnus remarked that the *.mod file in gfortran.dg/vect/fast-math-real8-pr40801.f90 should be cleaned automatically. This is not done because the cleaning is done in gfortran-dg-runtest and not in dg-runtest, hense the submitted patch. OK for trunk? Dominique 2014-07-05 Dominique d'Humieres domi...@lps.ens.fr * gfortran.dg/list_read_12.f90: Delete the file. * gfortran.dg/vect/vect.exp: Use gfortran-dg-runtest instead of dg-runtest. --- ../_clean/gcc/testsuite/gfortran.dg/list_read_12.f902014-03-15 16:19:35.0 +0100 +++ gcc/testsuite/gfortran.dg/list_read_12.f90 2014-04-17 10:27:58.0 +0200 @@ -7,5 +7,6 @@ close(99) open(99, access='sequential', form='formatted') read(99, *, iostat=ios) i +close(99, status=delete) if (ios /= 0) call abort end --- ../_clean/gcc/testsuite/gfortran.dg/vect/vect.exp 2014-07-04 10:51:07.0 +0200 +++ gcc/testsuite/gfortran.dg/vect/vect.exp 2014-07-05 14:18:33.0 +0200 @@ -57,43 +57,43 @@ set SAVED_DEFAULT_VECTCFLAGS $DEFAULT_VE # -ffast-math tests set DEFAULT_VECTCFLAGS $SAVED_DEFAULT_VECTCFLAGS lappend DEFAULT_VECTCFLAGS -ffast-math -dg-runtest [lsort [glob -nocomplain $srcdir/$subdir/fast-math-*.\[fF\]{,90,95,03,08} ]] \ - $DEFAULT_VECTCFLAGS +gfortran-dg-runtest [lsort [glob -nocomplain $srcdir/$subdir/fast-math-*.\[fF\]{,90,95,03,08} ]] \ + $DEFAULT_VECTCFLAGS # -ffast-math tests set DEFAULT_VECTCFLAGS $SAVED_DEFAULT_VECTCFLAGS lappend DEFAULT_VECTCFLAGS -ffast-math -fdefault-real-8 -dg-runtest [lsort [glob -nocomplain $srcdir/$subdir/fast-math-real8*.\[fF\]{,90,95,03,08} ]] \ +gfortran-dg-runtest [lsort [glob -nocomplain $srcdir/$subdir/fast-math-real8*.\[fF\]{,90,95,03,08} ]] \ $DEFAULT_VECTCFLAGS # -fvect-cost-model tests set DEFAULT_VECTCFLAGS $SAVED_DEFAULT_VECTCFLAGS lappend DEFAULT_VECTCFLAGS -fvect-cost-model=dynamic -dg-runtest [lsort [glob -nocomplain $srcdir/$subdir/cost-model-*.\[fF\]{,90,95,03,08} ]] \ +gfortran-dg-runtest [lsort [glob -nocomplain $srcdir/$subdir/cost-model-*.\[fF\]{,90,95,03,08} ]] \ $DEFAULT_VECTCFLAGS # --param vect-max-version-for-alias-checks=0 tests set DEFAULT_VECTCFLAGS $SAVED_DEFAULT_VECTCFLAGS lappend DEFAULT_VECTCFLAGS --param vect-max-version-for-alias-checks=0 -dg-runtest [lsort [glob -nocomplain $srcdir/$subdir/no-vfa-*.\[fF\]{,90,95,03,08} ]] \ +gfortran-dg-runtest [lsort [glob -nocomplain $srcdir/$subdir/no-vfa-*.\[fF\]{,90,95,03,08} ]] \ $DEFAULT_VECTCFLAGS # With -O3 set DEFAULT_VECTCFLAGS $SAVED_DEFAULT_VECTCFLAGS lappend DEFAULT_VECTCFLAGS -O3 -dg-runtest [lsort [glob -nocomplain $srcdir/$subdir/O3-*.\[fF\]{,90,95,03,08} ]] \ +gfortran-dg-runtest [lsort [glob -nocomplain $srcdir/$subdir/O3-*.\[fF\]{,90,95,03,08} ]] \ $DEFAULT_VECTCFLAGS # With -Ofast set DEFAULT_VECTCFLAGS $SAVED_DEFAULT_VECTCFLAGS lappend DEFAULT_VECTCFLAGS -Ofast -dg-runtest [lsort [glob -nocomplain $srcdir/$subdir/Ofast-*.\[fF\]{,90,95,03,08} ]] \ +gfortran-dg-runtest [lsort [glob -nocomplain $srcdir/$subdir/Ofast-*.\[fF\]{,90,95,03,08} ]] \ $DEFAULT_VECTCFLAGS # With -fno-tree-copy-prop -fno-tree-fre -O3 set DEFAULT_VECTCFLAGS $SAVED_DEFAULT_VECTCFLAGS lappend DEFAULT_VECTCFLAGS -fno-tree-copy-prop -fno-tree-fre -O3 -dg-runtest [lsort [glob -nocomplain $srcdir/$subdir/no-fre-no-copy-prop-O3-*.\[fF\]{,90,95,03,08} ]] \ +gfortran-dg-runtest [lsort [glob -nocomplain $srcdir/$subdir/no-fre-no-copy-prop-O3-*.\[fF\]{,90,95,03,08} ]] \ $DEFAULT_VECTCFLAGS # Clean up.
Re: [Patch, testsuite] PR61453 gfortran.dg/bind_c_array_params_2.f90 for targets where a call insn isn't call
On 5-Jul-14, at 11:56 AM, Dominique Dhumieres wrote: Is the following patch OK for trunk? 2014-07-05 Dominique d'Humieres domi...@lps.ens.fr PR testsuite/61453 * gfortran.dg/gfortran.dg/bind_c_array_params_2.f90: Adjust regexp for more targets. --- ../_clean/gcc/testsuite/gfortran.dg/bind_c_array_params_2.f90 2014-05-24 16:17:53.0 +0200 +++ gcc/testsuite/gfortran.dg/bind_c_array_params_2.f90 2014-05-29 11:34:40.0 +0200 @@ -16,7 +16,7 @@ integer :: aa(4,4) call test(aa) end -! { dg-final { scan-assembler-times call\[^\n\r\]*myBindC 1 { target { ! { hppa*-*-hpux* } } } } } -! { dg-final { scan-assembler-times call\[^\n\r\]*myBindC,%r2 1 { target { hppa*-*-hpux* } } } } +! { dg-final { scan-assembler-times \[ \t\]\[$,_0-9\]*myBindC 1 { target { ! { hppa*-*-hpux* } } } } } +! { dg-final { scan-assembler-times \[ \t\]\[$,_0-9\]*myBindC,%r2 1 { target { hppa*-*-hpux* } } } } myBindC,%r2 will work on hppa*-*-*. I don't believe preceding stuff is needed on hppa. Dave -- John David Anglin dave.ang...@bell.net
Re: [Patch, testsuite] PR61453 gfortran.dg/bind_c_array_params_2.f90 for targets where a call insn isn't call
myBindC,%r2 will work on hppa*-*-*. I don't believe preceding stuff is needed on hppa. Sorry, the relation with -flto has been lost in my repost of this patch. Without something before 'myBindC', the symbol appears twice when compiled with -flto, once in the assembly itself and once in the addition produced by -flto. The goal of the stuff before 'myBindC' is to rule out this addition. Use something such as make -k check-gfortran RUNTESTFLAGS=dg.exp=bind_c_array_params_2.f90 --target_board=unix'{-m32,-m64,-m32/-flto,-m64/-flto}' to see the difference. Dominique
Make declaration of wide_int_storage match its definition
Farther below in wide-int.h, we define wide_int_storage as a class: class GTY(()) wide_int_storage { private: HOST_WIDE_INT val[WIDE_INT_MAX_ELTS]; unsigned int len; unsigned int precision; : The patch below, which I applied as obvious after a full bootstrap on i386-unknown-freebsd10.0, makes the declaration match the definition. Gerald 2014-07-05 Gerald Pfeifer ger...@pfeifer.com * wide-int.h (wide_int_storage): Change declaration from struct to class. Index: wide-int.h === --- wide-int.h (revision 212304) +++ wide-int.h (working copy) @@ -284,7 +284,7 @@ template typename T struct generic_wide_int; template int N struct fixed_wide_int_storage; -struct wide_int_storage; +class wide_int_storage; /* An N-bit integer. Until we can use typedef templates, use this instead. */ #define FIXED_WIDE_INT(N) \
Re: [Patch, testsuite] PR61453 gfortran.dg/bind_c_array_params_2.f90 for targets where a call insn isn't call
On 5-Jul-14, at 1:55 PM, Dominique Dhumieres wrote: myBindC,%r2 will work on hppa*-*-*. I don't believe preceding stuff is needed on hppa. Sorry, the relation with -flto has been lost in my repost of this patch. Without something before 'myBindC', the symbol appears twice when compiled with -flto, once in the assembly itself and once in the addition produced by -flto. The goal of the stuff before 'myBindC' is to rule out this addition. Use something such as make -k check-gfortran RUNTESTFLAGS=dg.exp=bind_c_array_params_2.f90 --target_board=unix'{- m32,-m64,-m32/-flto,-m64/-flto}' to see the difference. On hppa, the ,%r2 uniquely identifies the call. The test passes with -flto. Dave -- John David Anglin dave.ang...@bell.net
Re: Make declaration of wide_int_storage match its definition
On Jul 5, 2014, at 11:42 AM, Gerald Pfeifer ger...@pfeifer.com wrote: Farther below in wide-int.h, we define wide_int_storage as a class: class GTY(()) wide_int_storage { private: HOST_WIDE_INT val[WIDE_INT_MAX_ELTS]; unsigned int len; unsigned int precision; : The patch below, which I applied as obvious after a full bootstrap on i386-unknown-freebsd10.0, makes the declaration match the definition. This patch is fine but c++ allows class and struct be used interchangeable. If there is a compilers which does not it is broken and should be report to them. Yes that means clang is broken. Thanks, Andrew Gerald 2014-07-05 Gerald Pfeifer ger...@pfeifer.com * wide-int.h (wide_int_storage): Change declaration from struct to class. Index: wide-int.h === --- wide-int.h(revision 212304) +++ wide-int.h(working copy) @@ -284,7 +284,7 @@ template typename T struct generic_wide_int; template int N struct fixed_wide_int_storage; -struct wide_int_storage; +class wide_int_storage; /* An N-bit integer. Until we can use typedef templates, use this instead. */ #define FIXED_WIDE_INT(N) \
Re: Make declaration of wide_int_storage match its definition
On Sat, 5 Jul 2014, pins...@gmail.com wrote: This patch is fine but c++ allows class and struct be used interchangeable. If there is a compilers which does not it is broken and should be report to them. Yes that means clang is broken. Clang does allow for it (it actually is the stage 1 compiler on FreeBSD 10, the platform I used for my tests); it just warns about it. About 400 times. That was just one, factor, though. Declarations being consistent with definitions stroke me as A Good Thing[tm] per se. :-) Gerald
Re: Make declaration of wide_int_storage match its definition
On Sat, Jul 05, 2014 at 09:25:50PM +0200, Gerald Pfeifer wrote: On Sat, 5 Jul 2014, pins...@gmail.com wrote: This patch is fine but c++ allows class and struct be used interchangeable. If there is a compilers which does not it is broken and should be report to them. Yes that means clang is broken. Clang does allow for it (it actually is the stage 1 compiler on FreeBSD 10, the platform I used for my tests); it just warns about it. About 400 times. That doesn't change anything that the warning is very much broken. In C++ struct is simply a class with default public:, class with a default private:, when you are just forward declaring it, whether it defaults to public: or private: doesn't matter at all, therefore the warning just enforces some weirdo clang coding style. Jakub
Re: [wwwdocs,Fortran] Announce IEEE intrinsic modules support for Fortran
On Sat, 5 Jul 2014, Gerald Pfeifer wrote: Okay; just committed per the patch below. Oops. This makes it consistent with other entries. Gerald
Re: [GSoC] Addition of ISL AST generation to Graphite
Rainer Orth r...@cebitec.uni-bielefeld.de writes: Roman Gareev gareevro...@gmail.com writes: It seems the patch1/patch2 files you attach have the Content-Type: application/octet-stream. This makes it impossible to view them inline. Could you send them as text files? Just calling them patch1.patch or patch1.txt should make this work. Yes, sure. This patch broke bootstrap with --enable-cloog-backend=isl when using isl 0.10: /vol/gcc/src/hg/trunk/local/gcc/graphite-isl-ast-to-gimple.c:27:27: fatal error: isl/ast_build.h: No such file or directory compilation terminated. make[3]: *** [graphite-isl-ast-to-gimple.o] Error 1 isl/ast_build.h is missing in in isl 0.10. Seems it was introduced in 0.11, but no idea if that works. Toplevel configure.ac accepts 0.10, while install.texi states 0.12.2 is required. Configuration and/or docs should be changed to match reality. I've now commited the following patch as obvious: it requires isl 0.11 which is the first that includes isl/ast_build.h. Bootstrapped on i386-pc-solaris2.11 with isl 0.12.2. Rainer 2014-07-05 Rainer Orth r...@cebitec.uni-bielefeld.de * configure.ac: Don't accept isl 0.10. * configure: Regenerate. diff --git a/configure.ac b/configure.ac --- a/configure.ac +++ b/configure.ac @@ -1650,12 +1650,9 @@ if test x$with_isl != xno dnl with user input. ISL_INIT_FLAGS dnl The versions of ISL that work for Graphite - ISL_CHECK_VERSION(0,10) + ISL_CHECK_VERSION(0,11) if test ${gcc_cv_isl} = no ; then -ISL_CHECK_VERSION(0,11) -if test ${gcc_cv_isl} = no ; then - ISL_CHECK_VERSION(0,12) -fi +ISL_CHECK_VERSION(0,12) fi dnl Only execute fail-action, if ISL has been requested. ISL_IF_FAILED([ -- - Rainer Orth, Center for Biotechnology, Bielefeld University
RE: [PATCH, aarch64] Add prefetch support
PING! From: Gopalasubramanian, Ganesh Sent: Friday, July 04, 2014 5:57 AM To: gcc-patches@gcc.gnu.org Cc: marcus.shawcr...@arm.com; richard.earns...@arm.com Subject: [PATCH, aarch64] Add prefetch support Hi, Attached is a patch that implements * Prefetch with immediate offset in the range 0 to 32760 (multiple of 8). Added a predicate for this. * Prefetch with immediate offset - in the range -256 to 255 (Gets generated only when we have a negative offset. Generates prfum instruction). Added a predicate for this. * Prefetch with register offset. (modified for printing the locality) This patch has been already discussed on https://gcc.gnu.org/ml/gcc-patches/2014-02/msg01644.html make -k check passes. Ok for trunk? Changelog 2014-07-04 Ganesh Gopalasubramanian ganesh.gopalasubraman...@amd.com * config/aarch64/aarch64.md (define_insn *prefetch) (define_insn prefetch): New * config/aarch64/predicates.md (aarch64_prefetch_pimm) (aarch64_prefetch_unscaled): New. * config/arm/types.md (define_attr type): Add prefetch. Regards Ganesh
Re: [fortran, patch] IEEE intrinsic modules (ping)
Steve Kargl s...@troutmask.apl.washington.edu writes: On Tue, Jun 24, 2014 at 10:26:27PM +0200, FX wrote: 3. Does the attached updated patch (libgfortran only, without regenerated files) fix the problem? I'll test it when my regtesting is completed. But, a scan of the configure.host re-arrangement suggests that it should work. OK. If you have some spare cycles, could you then also check it by modifying configure.host so that it uses the updated config/fpu-sysv.h in my patch? I would like to make sure I don?t break anything, but I don?t have access to a Solaris system (and my earlier calls for someone to test it for me were unanswered, so I don?t have much hope there). Yes, I'll check the configure.host and fpu-sysv.h changes. I'm currently moving to a new flat, so not much time for GCC work. Unfortunately, while the patch works fine on Solaris/x86, it broke Solaris/SPARC bootstrap for trivial reasons: contrary to the ChangeLog, configure and config.h.in weren't regenerated, thus FPSETSTICKY wasn't defined. The following patch corrects this, at the same time fixing this warning: /fpu-target.h:451:3: warning: implicit declaration of function 'assert' [-Wimplicit-function-declaration] assert (sizeof(fpu_state_t) = GFC_FPE_STATE_BUFFER_SIZE); ^ It returns sparc-sun-solaris2.1[01] to bootstrap, thus installed as obvious. There's one testsuite failure in this configuration: FAIL: gfortran.dg/ieee/ieee_6.f90 -O0 execution test FAIL: gfortran.dg/ieee/ieee_6.f90 -O1 execution test FAIL: gfortran.dg/ieee/ieee_6.f90 -O2 execution test FAIL: gfortran.dg/ieee/ieee_6.f90 -O3 -fomit-frame-pointer execution test FAIL: gfortran.dg/ieee/ieee_6.f90 -O3 -fomit-frame-pointer -funroll-loops execution test FAIL: gfortran.dg/ieee/ieee_6.f90 -O3 -fomit-frame-pointer -funroll-all-loops -finline-functions execution test FAIL: gfortran.dg/ieee/ieee_6.f90 -O3 -g execution test FAIL: gfortran.dg/ieee/ieee_6.f90 -Os execution tes The test aborts at l.47, but unfortunately I cannot print mode in gdb 7.7. Rainer 2014-07-05 Rainer Orth r...@cebitec.uni-bielefeld.de * configure, config.h.in: Regenerate. * config/fpu-sysv.h: Include assert.h. diff --git a/libgfortran/config/fpu-sysv.h b/libgfortran/config/fpu-sysv.h --- a/libgfortran/config/fpu-sysv.h +++ b/libgfortran/config/fpu-sysv.h @@ -25,6 +25,8 @@ see the files COPYING3 and COPYING.RUNTI /* FPU-related code for SysV platforms with fpsetmask(). */ +#include assert.h + /* BSD and Solaris systems have slightly different types and functions naming. We deal with these here, to simplify the code below. */ -- - Rainer Orth, Center for Biotechnology, Bielefeld University
[wwwdocs] Rotate news
Applied. Gerald Index: index.html === RCS file: /cvs/gcc/wwwdocs/htdocs/index.html,v retrieving revision 1.928 diff -u -r1.928 index.html --- index.html 5 Jul 2014 19:46:32 - 1.928 +++ index.html 5 Jul 2014 21:14:05 - @@ -99,36 +99,6 @@ Michael Zolotukhin of Intel, Corp. /dd -dtspanAltera Nios II support/span -span class=date[2013-12-31]/span/dt -ddA port for Altera Nios II has been contributed by Mentor Graphics./dd - -dtspanToolchain Build Robot/span -span class=date[2013-11-24]/span/dt -ddThe a href=http://toolchain.lug-owl.de/buildbot/;Build Robot/a is - mass-compiling GCC (stage1 only) regularly, catching build errors early./dd - -dtspanAndes NDS32 support/span -span class=date[2013-10-31]/span/dt -ddA port for nds32, the 32-bit architecture of AndesCore families, - has been contributed by Andes Technology Corporation./dd - -dtspana href=gcc-4.8/GCC 4.8.2/a released/span -span class=date[2013-10-16]/span/dt -dd/dd - -dtspanOpenMP v4.0/span -span class=date[2013-10-11]/span/dt -ddAn implementation of the a -href=http://www.openmp.org/mp-documents/OpenMP4.0.0.pdf;OpenMP v4.0/a -parallel programming interface for so far just C, C++ has been added. -Code was contributed by Jakub Jelinek, Aldy Hernandez, Richard Henderson -of Red Hat, Inc. and Tobias Burnus./dd - -dtspana href=projects/cxx0x.htmlC++11/a lt;regexgt; support/span -span class=date[2013-10-03]/span/dt -ddRegular expression support in a href=libstdc++/libstdc++-v3/a is now available./dd - /dl div Index: news.html === RCS file: /cvs/gcc/wwwdocs/htdocs/news.html,v retrieving revision 1.144 diff -u -r1.144 news.html --- news.html 29 Jun 2014 11:31:32 - 1.144 +++ news.html 5 Jul 2014 21:14:05 - @@ -14,6 +14,36 @@ !-- ATTENTION: This page is for *OLD* news! Latest news goes first. -- +dtspanAltera Nios II support/span +span class=date[2013-12-31]/span/dt +ddA port for Altera Nios II has been contributed by Mentor Graphics./dd + +dtspanToolchain Build Robot/span +span class=date[2013-11-24]/span/dt +ddThe a href=http://toolchain.lug-owl.de/buildbot/;Build Robot/a is + mass-compiling GCC (stage1 only) regularly, catching build errors early./dd + +dtspanAndes NDS32 support/span +span class=date[2013-10-31]/span/dt +ddA port for nds32, the 32-bit architecture of AndesCore families, + has been contributed by Andes Technology Corporation./dd + +dtspana href=gcc-4.8/GCC 4.8.2/a released/span +span class=date[2013-10-16]/span/dt +dd/dd + +dtspanOpenMP v4.0/span +span class=date[2013-10-11]/span/dt +ddAn implementation of the a +href=http://www.openmp.org/mp-documents/OpenMP4.0.0.pdf;OpenMP v4.0/a +parallel programming interface for so far just C, C++ has been added. +Code was contributed by Jakub Jelinek, Aldy Hernandez, Richard Henderson +of Red Hat, Inc. and Tobias Burnus./dd + +dtspana href=projects/cxx0x.htmlC++11/a lt;regexgt; support/span +span class=date[2013-10-03]/span/dt +ddRegular expression support in a href=libstdc++/libstdc++-v3/a is now available./dd + dtspanSynopsys Designware ARC support/span span class=date[2013-10-01]/span/dt ddA port for Synopsys Designware ARC has been contributed by Embecosm and Synopsys Inc./dd
Re: [PATCH 3/5] IPA ICF pass
On Fri, 20 Jun 2014, Trevor Saunders wrote: +@item -fipa-icf +@opindex fipa-icf +Perform Identical Code Folding for functions and read-only variables. +Behavior is similar to Gold Linker ICF optimization. Symbols proved +as semantically equivalent are redirected to corresponding symbol. The pass +sensitively decides for usage of alias, thunk or local redirection. +This flag is enabled by default at @option{-O2}. I found this a bit hard to read/understand. Perhaps first describe what it does and then, before This flag is enabled... note that This is similar to the ICF optimization performed by the Gold linker. Symbols proved (plural) vs to corresponding symbol seems to miss an an a as in a corresponding symbol. Alas, how is that one determined? Is this more ...are merged into one, from the user's perspective? What does it mean to sensitively decide for usage of alias, thunk, or local redirection? Gerald
[wwwdocs] bugs/index.html: remove some links and make some relative
Ever since the following change to maintainer-scripts/gcc_release 2007-08-21 Paul Brook p...@codesourcery.com Nathan Sidwell nat...@codesourcery.com Mark Mitchell m...@codesourcery.com Joseph Myers jos...@codesourcery.com * gcc_release: Do not include copies of bugs.html in releases. * update_web_docs_svn: Set VERSION_PACKAGE and BUGURL in gcc-vers.texi. did we not require absolute links in bugs/index.html any more, nor the The latest version... boilerplate. This trims things down, and makes remainings links relative. Again with the side effect of not requiring any http-https adjustments to these links. Applied. Gerald Index: index.html === RCS file: /cvs/gcc/wwwdocs/htdocs/bugs/index.html,v retrieving revision 1.115 diff -u -r1.115 index.html --- index.html 29 Jun 2014 11:31:33 - 1.115 +++ index.html 5 Jul 2014 21:20:42 - @@ -7,11 +7,6 @@ body h1GCC Bugs/h1 -pThe latest version of this document is always available at -a href=http://gcc.gnu.org/bugs/;http://gcc.gnu.org/bugs//a./p - -hr / - h2Table of Contents/h2 ul lia href=#reportReporting Bugs/a @@ -154,17 +149,14 @@ source-file/i/code/p/blockquote pThe preprocessed source is the embasic/em requirement to fix a -bug. However, providing a a -href=http://gcc.gnu.org/bugs/minimize.html;minimal testcase/a +bug. However, providing a a href=minimize.htmlminimal testcase/a increases the chances of getting your bug fixed. The bonly/b excuses to not send us the preprocessed sources are (i) if you've -found a bug in the preprocessor, (ii) if you've a -href=http://gcc.gnu.org/bugs/minimize.html;reduced the testcase to a -small file/a that doesn't include any other file or (iii) if the bug +found a bug in the preprocessor, (ii) if you've reduced the testcase to a +small file that doesn't include any other file or (iii) if the bug appears only when using precompiled headers. If you can't post the -preprocessed sources because they're proprietary code, then try to a -href=http://gcc.gnu.org/bugs/minimize.html;create a small file/a -that triggers the same problem./p +preprocessed sources because they're proprietary code, then try to +create a small file that triggers the same problem./p pSince we're supposed to be able to re-create the assembly output (extension code.s/code), you usually should not include
Re: AARCH64 configure check for gas -mabi support
On Mon, 30 Jun 2014, Yufeng Zhang wrote: Looks good to me. Thanks for the fix. 2014-06-30 Gerald Pfeiferger...@pfeifer.com * doc/install.texi (Specific, aarch64*-*-*): Fix markup. Reword a bit. I also pushed this to the GCC 4.9 branch now. Gerald
Re: [wwwdocs,Fortran] Announce IEEE intrinsic modules support for Fortran
On Sat, 5 Jul 2014, Gerald Pfeifer wrote: Oops. This makes it consistent with other entries. Something happened when I made that edit resulting in a weird date, plus I failed to include the patch. Thanks to a friendly voice noting this to me! Gerald Index: index.html === RCS file: /cvs/gcc/wwwdocs/htdocs/index.html,v retrieving revision 1.927 retrieving revision 1.930 diff -u -r1.927 -r1.930 --- index.html 5 Jul 2014 15:29:56 - 1.927 +++ index.html 5 Jul 2014 22:25:03 - 1.930 @@ -52,7 +52,8 @@ dl class=news -dtspan class=date[2014-07-04]/spanFortran IEEE intrinsic modules/dt +dtspanFortran IEEE intrinsic modules/span +span class=date[2014-07-05]/span/dt ddThe Fortran compiler (gfortran) has gained support for the IEEE intrinsic modules specified by the Fortran 2003 and Fortran 2008 standards. The code was contributed by François-Xavier Coudert of
Re: [PATCH, libbacktrace]: fix pointer from integer without a cast
On Thu, Jul 3, 2014 at 2:34 AM, Duncan Mac-Vicar P. dmacvi...@suse.de wrote: the following patch fixes some post-build-checks from our distro build system, better to upstream it: [ 4077s] E: rust 64bit-portability-issue /home/abuild/rpmbuild/BUILD/rust-0.11.0+git.1403898616.aa1163b/src/libbacktrace/dwarf.c:2690, 2873, 3005 [ 4077s] E: rust 64bit-portability-issue /home/abuild/rpmbuild/BUILD/rust-0.11.0+git.1403898616.aa1163b/src/libbacktrace/elf.c:448, 493, 970 [ 4077s] E: rust 64bit-portability-issue /home/abuild/rpmbuild/BUILD/rust-0.11.0+git.1403898616.aa1163b/src/libbacktrace/fileline.c:75 libbacktrace/ChangeLog: 2014-07-03 Yaroslav Sidlovsky zawer...@gmail.com * dwarf.c, elf.c, fileline.c: fix pointer from integer without a cast That error doesn't make much sense and I'm not sure the patch is really right. I don't know what program is generating these messages, but does this patch fix the problem? Ian Index: internal.h === --- internal.h (revision 211658) +++ internal.h (working copy) @@ -99,7 +99,7 @@ extern void backtrace_atomic_store_int ( /* We have neither the sync nor the atomic functions. These will never be called. */ -#define backtrace_atomic_load_pointer(p) (abort(), 0) +#define backtrace_atomic_load_pointer(p) (abort(), (void *) NULL) #define backtrace_atomic_load_int(p) (abort(), 0) #define backtrace_atomic_store_pointer(p, v) abort() #define backtrace_atomic_store_size_t(p, v) abort()
Re: [PATCH 3/5] IPA ICF pass
On Fri, 20 Jun 2014, Trevor Saunders wrote: +@item -fipa-icf +@opindex fipa-icf +Perform Identical Code Folding for functions and read-only variables. I would perhaps explicitly say that the optimizations reduce code size and may disturb unwind stacks by replacing a function by equivalent one with different name. +Behavior is similar to Gold Linker ICF optimization. Symbols proved Perhaps tell a bit more here. The optimization works more effectively with link time optimization enabled and that the Gold and GCC ICF works on different levels and thus are not equivalent optimizations - there are equivallences that are found only by GCC and equivalences found only by Gold. +as semantically equivalent are redirected to corresponding symbol. The pass +sensitively decides for usage of alias, thunk or local redirection. +This flag is enabled by default at @option{-O2}. Probably at -Os too. I found this a bit hard to read/understand. Perhaps first describe what it does and then, before This flag is enabled... note that This is similar to the ICF optimization performed by the Gold linker. Symbols proved (plural) vs to corresponding symbol seems to miss an an a as in a corresponding symbol. Alas, how is that one determined? Is this more ...are merged into one, from the user's perspective? What does it mean to sensitively decide for usage of alias, thunk, or local redirection? I think this is just a technical detail of the implementation. I would not put that into user manual. It means that for some functions you can make alias, for others you need thunk (so addresses stay different) Gerald
[wwwdocs,Java] java/news.html
2014-07-06 Gerald Pfeifer ger...@pfeifer.com * news.html: Avoid link into our SVN repository. Fix grammar. Applied. Index: news.html === RCS file: /cvs/gcc/wwwdocs/htdocs/java/news.html,v retrieving revision 1.18 retrieving revision 1.19 diff -u -r1.18 -r1.19 --- news.html 2 Jul 2014 15:40:11 - 1.18 +++ news.html 6 Jul 2014 00:16:47 - 1.19 @@ -471,8 +471,7 @@ The libgcj sources have a href=https://gcc.gnu.org/ml/java/2000-12/msg00102.html; migrated/a to the gcc repository. We've imported a href=http://sourceforge.net/projects/fastjar/;fastjar/a in our -a href=http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/fastjar/;tree/a -and use it as a replacement to zip. /dd +tree and use it as a replacement for zip./dd dtDecember 8, 2000/dt dd
Re: [wwwdocs] Buildstat update for 4.7
On Thu, 3 Jul 2014, Tom G. Christensen wrote: Testresults for 4.7.4: i386-pc-solaris2.8 i386-pc-solaris2.9 sparc-sun-solaris2.8 sparc-sun-solaris2.9 sparc64-sun-solaris2.8 x86_64-apple-darwin13.2.0 x86_64-pc-linux-gnu Applied, thank you! Gerald
[PATCH] gcc/config/microblaze/microblaze.md: Remove redundant '@' to avoid compiling warning
* microblaze/microblaze.md: Remove redundant '@' to avoid compiling warning. The related warning: ../../gcc/gcc/config/microblaze/microblaze.md:516: '@' is redundant for output template with single alternative Signed-off-by: Chen Gang gang.chen.5...@gmail.com --- gcc/config/microblaze/microblaze.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md index 7945d96..2bd5d72 100644 --- a/gcc/config/microblaze/microblaze.md +++ b/gcc/config/microblaze/microblaze.md @@ -518,8 +518,7 @@ (minus:DI (match_operand:DI 1 register_operand d) (match_operand:DI 2 arith_operand32 d)))] - @ - rsub\t%L0,%L2,%L1\;rsubc\t%M0,%M2,%M1 + rsub\t%L0,%L2,%L1\;rsubc\t%M0,%M2,%M1 [(set_attr typedarith) (set_attr mode DI) (set_attr length 8)]) -- 1.7.11.7