[Patch, Fortran] PR40276/PR57711 - improve generic diagnostic

2013-06-26 Thread Tobias Burnus
This patch attempts to improve the diagnostic for generic matches, if a dummy procedure is used which has nonmatching characteristics. Before the patch: call gen(sub) 1 Error: There is no specific subroutine for the generic 'gen' at (1) After the patch: call

Re: [Patch, Fortran] Add end-of-scope finalization (Part 2 of 2)

2013-06-26 Thread Dominique Dhumieres
Dear Tobias, Failures in 32 bit mode again!-( With your patch, I get the following failures with -m32: FAIL: gfortran.dg/class_48.f90 -O2 (test for excess errors) FAIL: gfortran.dg/class_48.f90 -Os (test for excess errors) FAIL: gfortran.dg/finalize_18.f90 -O scan-tree-dump-times original

Re: [PATCH, ARM] Fix unrecognizable vector comparisons

2013-06-26 Thread Zhenqiang Chen
On 18 June 2013 17:41, Ramana Radhakrishnan ramra...@arm.com wrote: On 06/18/13 09:50, Zhenqiang Chen wrote: Hi, During expand, function vcondmodemode inverses some CMP, e.g. a LE b - b GE a But if b is CONST0_RTX, b GE a will be an illegal insn. (insn 933 932 934 113 (set (reg:V4SI

Re: [Patch ARM] Add Cortex A15 neon scheduler

2013-06-26 Thread Tom de Vries
On 18/10/12 18:48, Ramana Radhakrishnan wrote: +(define_insn_reservation cortex_a15_vfp_adds_subs 6 + (and (eq_attr tune cortexa15) + (eq_attr type fadds)) + ca15_issue1,ca15_cx_vfp) Ramana, I noticed you use here the fadds value for the type attribute to activate this rule. This

Re: [PATCH] Cilk Plus Array Notation for C++

2013-06-26 Thread Aldy Hernandez
On 06/25/13 13:42, Iyer, Balaji V wrote: What remaining obstacles are there to sharing most of the expansion code between C and C++? That can be a separate patch, of course. Jason ??

[c++-concepts] class template constraints

2013-06-26 Thread Andrew Sutton
I changed the method by which class (and alias) template constraints are checked. Rather than waiting until instantiation, they are now checked after computing the binding in lookup_class template. Actually, after the hashtable lookup so we don't re-check constraints for previously instantiated

[Patch, Fortran] PR57721 - improve out-of-bounds error message for components

2013-06-26 Thread Tobias Burnus
The patch changes the out-of-bounds message for k==11 z(i)%y(j)%x(k)=0 from: Fortran runtime error: Index '11' of dimension 1 of array 'z' above upper bound of 10 to Fortran runtime error: Index '11' of dimension 1 of array 'z%y%x' above upper bound of 10 (For j out of bounds, it would

[patch] documentation: clarify that Cilk Plus implementation is incomplete

2013-06-26 Thread Aldy Hernandez
This is a small cleanup to the Cilk Plus mention in our documentation, but more importantly, it clarifies that the Cilk Plus implementation in GCC is only partial. OK for trunk? * doc/invoke.texi (-fcilkplus): Clarify that implementation is incomplete. diff --git

Re: [C++] DR1473 - let literal operators be defined with empty user-defined string literal

2013-06-26 Thread Ed Smith-Rowland
On 06/25/2013 08:50 AM, Jason Merrill wrote: I had missed a few files in my patch anyway (I was doing too much at once). On 06/25/2013 08:27 AM, Ed Smith-Rowland wrote: + else if (token-type == CPP_KEYWORD) +{ + error (unexpected keyword; + Remove space between quotes

Re: Document __builtin_isinf_sign more precisely

2013-06-26 Thread Marc Glisse
Ping http://gcc.gnu.org/ml/gcc-patches/2013-06/msg00475.html On Sun, 9 Jun 2013, Marc Glisse wrote: Hello, this patch documents that __builtin_isinf_sign returns +-1 for +-Inf. This builtin was created so it could be used by a libc that has a stronger guarantee than the standard, and for

Re: [C++] Fix __builtin_shuffle

2013-06-26 Thread Marc Glisse
Ping http://gcc.gnu.org/ml/gcc-patches/2013-06/msg00470.html On Sun, 9 Jun 2013, Marc Glisse wrote: Hello, when porting __builtin_shuffle from C to C++, I ignored all the C++ specificities and added some extra bugs. This should improve things a bit. Bootstrap+testsuite on x86_64-linux-gnu.

Re: [x86] Remove 2 builtins

2013-06-26 Thread Marc Glisse
Ping http://gcc.gnu.org/ml/gcc-patches/2013-06/msg00478.html On Sun, 9 Jun 2013, Marc Glisse wrote: Hello, this patch removes 2 builtins that are undocumented, unused, and have confusing semantics. Bootstrap+testsuite on x86_64-linux-gnu. 2013-06-10 Marc Glisse marc.gli...@inria.fr

Re: [omp4/cilkplus] jumps in/out-of #pragma simd for

2013-06-26 Thread Aldy Hernandez
This is a followup for the C++ changes (your pt.c suggested changes, etc). Only a few minor changes are needed, since c_finish_cilk_simd_loop() is shared between C/C++ and it creates the appropriate CILK_SIMD tree node. Is this what you had in mind? commit

Re: Use unsigned(-1) for lshift

2013-06-26 Thread Marc Glisse
Ping (re-attaching the patch) 2013-06-26 Marc Glisse marc.gli...@inria.fr PR other/57324 * hwint.h (HOST_WIDE_INT_UC, HOST_WIDE_INT_1U, HOST_WIDE_INT_M1, HOST_WIDE_INT_M1U): New macros. * fold-const.c (sign_bit_p, build_range_check, fold_unary_loc,

Re: [Patch, Fortran] PR57721 - improve out-of-bounds error message for components

2013-06-26 Thread Thomas Koenig
Hi Tobias, The patch changes the out-of-bounds message for k==11 z(i)%y(j)%x(k)=0 from: Fortran runtime error: Index '11' of dimension 1 of array 'z' above upper bound of 10 to Fortran runtime error: Index '11' of dimension 1 of array 'z%y%x' above upper bound of 10 (For j out of

Re: [omp4/cilkplus] jumps in/out-of #pragma simd for

2013-06-26 Thread Jakub Jelinek
On Wed, Jun 26, 2013 at 09:44:03AM -0500, Aldy Hernandez wrote: This is a followup for the C++ changes (your pt.c suggested changes, etc). Only a few minor changes are needed, since c_finish_cilk_simd_loop() is shared between C/C++ and it creates the appropriate CILK_SIMD tree node. Is

Go patch committed: Don't permit global variables named init

2013-06-26 Thread Ian Lance Taylor
The Go language does not permit global variables named init. That name is reserved for functions that run when the program starts. This patch, from Rémy Oudompheng, implements that restriction in gccgo. Bootstrapped and ran Go testsuite on x86_64-unknown-linux-gnu. Committed to mainline and 4.8

Re: [PATCH, PR 57208] Add ipa-cp created references to the symbol table

2013-06-26 Thread Martin Jambor
Hi, On Tue, Jun 25, 2013 at 03:14:47PM +0200, Jan Hubicka wrote: the patch reportedly fixes an issue when LTO building chromium. It adds references that are created by IPA-CP when propagating references from aggregates (the scalar case is handled by the call graph infrastructure).

Re: [PATCH][ARM][testsuite] Add 'dg-require-effective-target sync_*' to some atomic tests

2013-06-26 Thread Meador Inge
Ping. On 06/12/2013 11:46 AM, Meador Inge wrote: Hi All, This patch adds the needed 'dg-require-effective-target sync_*' lines to some of the atomic tests so that they will not be run if the appropriate atomic support is not available. OK for trunk? 2013-06-12 Meador Inge

Re: [omp4/cilkplus] jumps in/out-of #pragma simd for

2013-06-26 Thread Aldy Hernandez
On 06/26/13 10:33, Jakub Jelinek wrote: On Wed, Jun 26, 2013 at 09:44:03AM -0500, Aldy Hernandez wrote: This is a followup for the C++ changes (your pt.c suggested changes, etc). Only a few minor changes are needed, since c_finish_cilk_simd_loop() is shared between C/C++ and it creates the

[PATCH] Fix vectorizable_store

2013-06-26 Thread Jakub Jelinek
Hi! On the gomp4 branch I've noticed a miscompilation of the simd-3.C testcase I'm adding there, but even say int a[1024] __attribute__((aligned (32))) = { 1 }; int b[1024] __attribute__((aligned (32))) = { 1 }; unsigned short c[1024] __attribute__((aligned (32))) = { 1 };

Re: [PATCH] Cilk Plus Array Notation for C++

2013-06-26 Thread Jason Merrill
On 06/26/2013 01:31 PM, Iyer, Balaji V wrote: Attached, please find a fixed patch and ChangeLog entries: This patch seems to be missing some hunks that are described in the ChangeLog and were present in the previous patch, such as * cp-array-notation.c

Re: [C++] Fix __builtin_shuffle

2013-06-26 Thread Jason Merrill
On 06/09/2013 07:09 AM, Marc Glisse wrote: + arg0 = build_non_dependent_expr (arg0); + arg1 = build_non_dependent_expr (arg1); + arg2 = build_non_dependent_expr (arg2); +} + return c_build_vec_perm_expr (loc, arg0, arg1, arg2, complain tf_error); This is wrong; the places

Re: [Patch, Fortran] Coarrays: Don't (free)/alloc LHS coarray components on assignment

2013-06-26 Thread Tobias Burnus
Tobias Burnus wrote: With coarrays, allocation/deallocation of coarrays requires a synchronization with all other images. Thus, the standard restricts changing the allocation status to: ALLOCATE and DEALLOCATE statements plus end-of-scope deallocation. In particular, with intrinsic

Re: [C++] DR1473 - let literal operators be defined with empty user-defined string literal

2013-06-26 Thread Jason Merrill
On 06/26/2013 09:43 AM, Ed Smith-Rowland wrote: + if (bad_encoding_prefix) + error (invalid encoding prefix in literal operator); + { + tree string_tree = USERDEF_LITERAL_VALUE (token-u.value); No need to open a nested block for a declaration now that we're compiling as

Re: GCC's -fsplit-stack disturbing Mach's vm_allocate

2013-06-26 Thread Thomas Schwinge
Hi! On Sat, 22 Jun 2013 08:15:46 -0700, Ian Lance Taylor i...@google.com wrote: Go can work without split stack. In that case libgo will use much larger stacks for goroutines, to reduce the chance of running out of stack space (see StackMin in libgo/runtime/proc.c). So the number of

Re: Hurd port for GCC Go

2013-06-26 Thread Thomas Schwinge
Hi! On Fri, 14 Jun 2013 16:42:06 +0200, I wrote: I have now pushed my working branch to tschwinge/t/hurd/go, and will update this from time to time, both for integrating further changes (my own as well as those that you send me), and merge in GCC trunk changes. On that branch, use something

[C++] Implement DR1164

2013-06-26 Thread Marc Glisse
Hello, this patch tries to implement DR1164. It passes bootstrap+testsuite on x86_64-unknown-linux-gnu. 2013-06-27 Marc Glisse marc.gli...@inria.fr PR c++/57172 gcc/cp/ * pt.c (more_specialized_fn): If both arguments are references, give priority to an lvalue.

[Patch, AArch64, ILP32] 0/5 Add support for ILP32

2013-06-26 Thread Yufeng Zhang
Hi, A set of five patches will be sent shortly as the gcc part of changes that add support for ILP32 in the AArch64 baremetal toolchain. The five patches will be organized as the following: 1. Configury changes; 2. AArch64 backend changes that add necessary instruction patterns and update

[Patch, AArch64, ILP32] 1/5 Initial support - configury changes

2013-06-26 Thread Yufeng Zhang
This patch adds the configuration changes to the AArch64 GCC to support: * -milp32 and -mlp64 options in the compiler and the driver * multilib of ilp32 and/or lp64 libraries * differentiation of basic types in the compiler backend The patch enables --with-multilib-list configuration option for

[Patch, AArch64, ILP32] 2/5 More backend changes and support for small absolute and small PIC addressing models

2013-06-26 Thread Yufeng Zhang
This patch updates the AArch64 backend to support the small absolute and small PIC addressing models for ILP32; it also updates a number of other backend macros and hooks in order to support ILP32. OK for the trunk? Thanks, Yufeng gcc/ * config/aarch64/aarch64.c (POINTER_BYTES):

[Patch, AArch64, ILP32] 3/5 Minor change in function.c:assign_parm_find_data_types()

2013-06-26 Thread Yufeng Zhang
This patch updates assign_parm_find_data_types to assign passed_mode and nominal_mode with the mode of the built pointer type instead of the hard-coded Pmode in the case of pass-by-reference. This is in line with the assignment to passed_mode and nominal_mode in other cases inside the

[Patch, AArch64, ILP32] 4/5 Change tests to be ILP32-friendly

2013-06-26 Thread Yufeng Zhang
The attached patch fixes a few gcc test cases. Thanks, Yufeng gcc/testsuite/ * gcc.dg/20020219-1.c: Skip the test on aarch64*-*-* in ilp32. * gcc.target/aarch64/aapcs64/test_18.c (struct y): Change the field type from long to long long. *

Go patch committed: Division by constant integer 0 is a compile error

2013-06-26 Thread Ian Lance Taylor
In Go 1 division by an integer constant 0 was changed from a runtime error to a compile time error. This patch from Rémy Oudompheng implements that in gccgo. This required updating a couple of tests to new copies from the master sources. Bootstrapped and ran Go testsuite on

[Patch, AArch64, ILP32] 5/5 Define _ILP32 and __ILP32__

2013-06-26 Thread Yufeng Zhang
This patch defines _ILP32 and __ILP32__ for the AArch64 port when the ILP32 ABI is in use. This helps libraries, e.g. libgloss and glibc, recognize which model is being compiled. OK for the trunk? Thanks, Yufeng gcc/ * config/aarch64/aarch64.h (TARGET_CPU_CPP_BUILTINS): Define

Go patch committed: Disallow fallthrough at end of switch

2013-06-26 Thread Ian Lance Taylor
In Go 1 the fallthrough statement is no longer permitted in the last case of a switch, as there is no code to which to fall through. This patch from Rémy Oudompheng implements this restriction in gccgo. Bootstrapped and ran Go testsuite on x86_64-unknown-linux-gnu. Committed to mainline and 4.8

Re: [Patch, AArch64, ILP32] 1/5 Initial support - configury changes

2013-06-26 Thread Andrew Pinski
On Wed, Jun 26, 2013 at 3:33 PM, Yufeng Zhang yufeng.zh...@arm.com wrote: This patch adds the configuration changes to the AArch64 GCC to support: * -milp32 and -mlp64 options in the compiler and the driver * multilib of ilp32 and/or lp64 libraries * differentiation of basic types in the

Re: [google/gcc-4_8] Port -Wreal-conversion warning

2013-06-26 Thread Xinliang David Li
The warn_type should also be guarded with float type check: warn_type = (warn_real_conversion (FLOAT_TYPE_P (type) || FLOAT_TYPE_P (expr_type))) ? OPT_Wreal_conversion : OPT_Wconversion; Also why did you put the warn_type code inside the default? David On Mon, Jun 24, 2013 at 10:03 PM,

Re: [Patch, AArch64, ILP32] 3/5 Minor change in function.c:assign_parm_find_data_types()

2013-06-26 Thread Andrew Pinski
On Wed, Jun 26, 2013 at 3:39 PM, Yufeng Zhang yufeng.zh...@arm.com wrote: This patch updates assign_parm_find_data_types to assign passed_mode and nominal_mode with the mode of the built pointer type instead of the hard-coded Pmode in the case of pass-by-reference. This is in line with the

Re: [Patch, AArch64, ILP32] 3/5 Minor change in function.c:assign_parm_find_data_types()

2013-06-26 Thread Yufeng Zhang
On 06/27/13 00:04, Andrew Pinski wrote: On Wed, Jun 26, 2013 at 3:39 PM, Yufeng Zhangyufeng.zh...@arm.com wrote: This patch updates assign_parm_find_data_types to assign passed_mode and nominal_mode with the mode of the built pointer type instead of the hard-coded Pmode in the case of

Re: [Patch, AArch64, ILP32] 3/5 Minor change in function.c:assign_parm_find_data_types()

2013-06-26 Thread Andrew Pinski
On Wed, Jun 26, 2013 at 4:41 PM, Yufeng Zhang yufeng.zh...@arm.com wrote: On 06/27/13 00:04, Andrew Pinski wrote: On Wed, Jun 26, 2013 at 3:39 PM, Yufeng Zhangyufeng.zh...@arm.com wrote: This patch updates assign_parm_find_data_types to assign passed_mode and nominal_mode with the mode of

Re: [Patch, AArch64, ILP32] 3/5 Minor change in function.c:assign_parm_find_data_types()

2013-06-26 Thread Andrew Pinski
On Wed, Jun 26, 2013 at 4:51 PM, Andrew Pinski pins...@gmail.com wrote: On Wed, Jun 26, 2013 at 4:41 PM, Yufeng Zhang yufeng.zh...@arm.com wrote: On 06/27/13 00:04, Andrew Pinski wrote: On Wed, Jun 26, 2013 at 3:39 PM, Yufeng Zhangyufeng.zh...@arm.com wrote: This patch updates

Re: [google/gcc-4_8] Port -Wreal-conversion warning

2013-06-26 Thread Sharad Singhai
Sorry, my port was bad. I am going to revert this patch and redo it. Thanks, Sharad On Wed, Jun 26, 2013 at 4:03 PM, Xinliang David Li davi...@google.com wrote: The warn_type should also be guarded with float type check: warn_type = (warn_real_conversion (FLOAT_TYPE_P (type) ||

Re: [Patch, AArch64, ILP32] 3/5 Minor change in function.c:assign_parm_find_data_types()

2013-06-26 Thread Yufeng Zhang
On 06/27/13 00:51, Andrew Pinski wrote: On Wed, Jun 26, 2013 at 4:41 PM, Yufeng Zhangyufeng.zh...@arm.com wrote: On 06/27/13 00:04, Andrew Pinski wrote: On Wed, Jun 26, 2013 at 3:39 PM, Yufeng Zhangyufeng.zh...@arm.com wrote: This patch updates assign_parm_find_data_types to assign

Re: [Patch, AArch64, ILP32] 3/5 Minor change in function.c:assign_parm_find_data_types()

2013-06-26 Thread Yufeng Zhang
On 06/27/13 00:57, Andrew Pinski wrote: On Wed, Jun 26, 2013 at 4:51 PM, Andrew Pinskipins...@gmail.com wrote: On Wed, Jun 26, 2013 at 4:41 PM, Yufeng Zhangyufeng.zh...@arm.com wrote: On 06/27/13 00:04, Andrew Pinski wrote: On Wed, Jun 26, 2013 at 3:39 PM, Yufeng Zhangyufeng.zh...@arm.com

Re: [Patch, AArch64, ILP32] 5/5 Define _ILP32 and __ILP32__

2013-06-26 Thread Joseph S. Myers
On Wed, 26 Jun 2013, Yufeng Zhang wrote: This patch defines _ILP32 and __ILP32__ for the AArch64 port when the ILP32 ABI is in use. This helps libraries, e.g. libgloss and glibc, recognize which model is being compiled. GCC already defines _LP64 and __LP64__ in architecture-independent

Re: [C++] Implement DR1164

2013-06-26 Thread Jason Merrill
OK. Jason

C++ PATCH for c++/57408 (ICE with invalid VLA capture)

2013-06-26 Thread Jason Merrill
We already added a helpful error message for this case, but we should also avoid crashing. Tested x86_64-pc-linux-gnu, applying to trunk. commit b87fed16be1aad58770349909ab8045088ed28ff Author: Jason Merrill ja...@redhat.com Date: Fri Jun 21 08:28:49 2013 -0400 PR c++/57408 *

C++ PATCH to handling of overflow in in-class static member initializers

2013-06-26 Thread Jason Merrill
A question from a student of a committee member led me to notice that we were handling overflow in a class model of Fibonacci numbers oddly: C++11 says that arithmetic overflow causes an expression to not be constant, but instead of enforcing that on the actual affected variable

[PATCH] Improve jump threading using VRP information

2013-06-26 Thread Jeff Law
Just something else I saw while analyzing dumps from an unrelated set of changes. It's relatively common to see sequences like this: # parent_1 = PHI parent_7(3), parent_6(D)(4), parent_6(D)(5) _11 = single_tree_10(D) != 0; _12 = parent_1 == 0B; _13 = _11 _12; if (_13 != 0)

Re: [google/gcc-4_8] Port -Wreal-conversion warning

2013-06-26 Thread Sharad Singhai
I reverted the earlier broken patch. I am including an updated patch which warns only for real conversion, not for integral conversions. I also updated the test case to include an integral conversion (int to char) which doesn't emit the warning with the -Wreal-conversion flag. Bootstrapped and

Re: [google/gcc-4_8] Port -Wreal-conversion warning

2013-06-26 Thread Xinliang David Li
Ok. David On Wed, Jun 26, 2013 at 10:16 PM, Sharad Singhai sing...@google.com wrote: I reverted the earlier broken patch. I am including an updated patch which warns only for real conversion, not for integral conversions. I also updated the test case to include an integral conversion (int to