Hi,
the following two patches aim at improving GCC's diagnostics to help
the user to get rid of old-style casts. While old-style pointer casts
are really bad and need to be weeded out quickly, old-style casts between
arithmetic types are IMHO much more tolerable. The patches allow to
easily distin
Hi!
As mentioned in the PR and can be seen on the testcase (too large for
testsuite, with lots of delta reduction I got 48KB *.f90 file still using
a dozen of modules), we miscompile it because we have mem(sp+64) memory
(what %st is loaded from) and are checking whether it is safe to move
earlier
Hi!
As the patch I've just posted is probably too dangerous for 7.1, here
is a more localized version of the fix, which doesn't change reg_set_p/
modified_in_p/modified_between_p etc. behavior that is used in many spots,
but just changes emit_swap_insn that has seen that problem (this code in
emit
All of patches are concerned with 64-bit Microsoft ABI functions that
call System V ABI function which clobbers RSI, RDI and XMM6-15 and are
aimed at improving performance and .text size of Wine 64. I had
previously submitted these as separate patch sets, but have combined
them for simplicity.
Add the fields sp_realigned and sp_realigned_offset to struct
machine_frame_state. We now have the concept of the stack pointer being
re-aligned rather than invalid. The inline functions sp_valid_at and
fp_valid_at are added to test if a given location relative to the CFA
can be accessed with the
Add new fields to struct ix86_frame to track where we started the stack
re-alignment and what we need to allocate prior to re-alignment. In
ix86_compute_frame_layout, we do the stack frame re-alignment
computation prior to computing the SSE save area so that it we have an
aligned SSE save area.
T
For the sake of clarity, I've separated out these minor refactoring
changes from the remainder of this patch set.
Signed-off-by: Daniel Santos
---
gcc/config/i386/i386.c | 21 ++---
gcc/config/i386/i386.h | 4 +++-
2 files changed, 13 insertions(+), 12 deletions(-)
diff --git a
Add an optional `align' parameter to choose_baseaddr, allowing the
caller to request an address that is aligned to some boundary. Modify
ix86_emit_save_regs_using_mov and ix86_emit_restore_regs_using_mov use
optimally aligned memory when such a base register is available.
Signed-off-by: Daniel Sa
Adds the options -mcall-ms2sysv-xlogues to i386.opt and i386.c and
documentation to invoke.texi. Using -mcall-ms2sysv-xlogues on SEH
targets is currently unsupported and will result in a sorry (). SEH
targets can be supported, but it would require adding support for
CFA_REG_EXPRESSION to the SEH
Adds the predicates save_multiple and restore_multiple to predicates.md,
which are used by following patterns in sse.md:
* save_multiple - insn that calls a save stub
* restore_multiple - call_insn that calls a save stub and returns to the
function to allow a sibling call (which should typically
Add new header libgcc/config/i386/i386-asm.h to manage common cpp and
gas macros. Add new stubs. Stubs use the following naming convention:
__ms64[f][x]_
Save or restore
ms64Avoid possible name collisions with future stubs
(specific to 64-bit msabi --> sysv
ix86_compute_frame_layout will now populate fields added to structs
machine_function and ix86_frame and modify the frame layout specifics to
facilitate the use of save & restore stubs. This is also where we init
stub_managed_regs to track which register saves & restores are being
managed by the ou
Of the new fields added to struct machine_function, call_ms2sysv is
initially set in ix86_expand_call, but may later be cleared when
ix86_compute_frame_layout is called (both of these are in subsequent
patch). If it is not cleared, then the remaining new fields will be
set in ix86_compute_frame_la
Add HARD_REG_SET stub_managed_regs to track which registers will be
managed by the pro/epilogue stubs for the function.
Add a third parameter bool ignore_outlined to ix86_save_reg to specify
rather or not the count should include registers marked in
stub_managed_regs. All call sites are modified.
Add functions emit_outlined_ms2sysv_save and
emit_outlined_ms2sysv_restore, which are called from
ix86_expand_prologue and ix86_expand_epilogue, respectively. Also adds
the code to ix86_expand_call that enables the optimization (setting the
machine_function's outline_ms_sysv field).
Signed-off-by
A comprehensive program for testing x86_64 ms_abi functions that call
sysv_abi functions to help validate -mcall-ms2sysv-xlogues and use of
aligned SSE MOVs after a (non-DRAP) realigned stack.
Signed-off-by: Daniel Santos
---
gcc/Makefile.in| 2 +
.../gcc.ta
Hi,
This patch adds missing intrinsics for ADDSD, ADDSS, SUBSD and SUBSS
instructions.
gcc/
* config/i386/avx512fintrin.h (_mm_mask_add_round_sd,
_mm_maskz_add_round_sd, _mm_mask_add_round_ss,
_mm_maskz_add_round_ss, _mm_mask_sub_round_sd,
_mm_maskz_sub_round_sd,
On 04/26/2017 01:57 PM, Jakub Jelinek wrote:
On Wed, Apr 26, 2017 at 01:48:03PM +0200, Tom de Vries wrote:
[ reposting with patch removed, was too big for gcc-patches@ ]
I see in various tests you've ended up with ... { target ... } . }
I think it would be better to just use ... { target ... }
This patch removes a spurious visibility error on a reference to a formal T
of a formal package, when T is declared as a formal derived type and there
is no corresponding actual for T in the formal package declaration, that is
to say it is covered by an (others => <>) clause.
Compiling c.adb must
This patch has several effects:
1) The management of the secondary stack is now "tighter". A transient block
created for the purpose of managing the secondary stack will do so unless
the block appears within a function returning on the secondary stack or when
2) is in effect. Previously,
On Wed, Apr 26, 2017 at 6:02 PM, Tamar Christina
wrote:
> Hi all,
>
> r245676 (PR/79665) introduced a change to calculate the costs of signed
> and unsigned div operations independently and when both are possible to
> allow you to specify a preference via cost mode.
>
> From the cover letter https
This patch corrects a crash that was produced when comparing "null" to an
allocator due to type Any_Access being improperly setup with no designated
type. Because both operands require a specific type from context such a case
will now emit the proper "ambiguous operands" error.
-- Sou
This patch introduces new children of Ada.Containers. They provide
functional, mathematical like containers, which can be used as high
level models when specifying data structures.
Tested on x86_64-pc-linux-gnu, committed on trunk
2017-04-27 Claire Dross
* a-cofuba.ads, a-cofuba.adb (
On Thu, 27 Apr 2017, Jakub Jelinek wrote:
> Hi!
>
> As the patch I've just posted is probably too dangerous for 7.1, here
> is a more localized version of the fix, which doesn't change reg_set_p/
> modified_in_p/modified_between_p etc. behavior that is used in many spots,
> but just changes emit_
On Wed, 26 Apr 2017, Martin Sebor wrote:
> On 04/26/2017 01:59 AM, Richard Biener wrote:
> > On Tue, 25 Apr 2017, Martin Sebor wrote:
> >
> > > On 04/24/2017 05:25 AM, Richard Biener wrote:
> > > >
> > > > The following makes signed overflow undefined for all (non-)optimization
> > > > levels.
This patch adds a diagnostic to detect an illegal quantified expression which
is masquerading as an iterated component association.
-- Source --
-- proc.adb
with Ada.Containers;
with Ada.Containers.Hashed_Sets;
procedure Proc is
function Hash (X : Integer) return A
Names of Ghost entities are now prefixed by "___ghost_" (three leading
underscores) to make it possible to independently check the presence of
ghost code in an object file or an executable.
Tested on x86_64-pc-linux-gnu, committed on trunk
2017-04-27 Yannick Moy
* exp_dbug.adb, exp_db
This patch fixes a bug in which Ada.Directories.Current_Directory
returns invalid data if the current directory does not exist.
The following test should run silently:
rm -rf bug7550
mkdir -p bug7550
cd bug7550
cp ../bug7550.adb .
gnatmake -q -f bug7550.adb -o bug7550
./bug7550 &
cd ..
sleep 1
rm
This patch modifies the management of secondary stack within transient blocks
by allowing "relaxed management" to be the default. In this mode a block will
not manage the secondary stack if there exists an enclosing scope which already
does that. "Strict management" can be enforced by means of swit
SCEV analysis requires us to be in loop-closed SSA form to be able
to compute overall effects of inner loops when required. Unfortunately
we have too many places it is used where we are not in loop-closed SSA
form. The following patch makes us more conservative in two places
where we previously
Primitives of doubly linked lists are now annotated with precise
contracts which can be used for formal verification with GNATprove.
Tested on x86_64-pc-linux-gnu, committed on trunk
2017-04-27 Claire Dross
* a-cfdlli.adb, a-cfdlli.ads (=): Generic parameter removed to
allow t
On Thu, Apr 27, 2017 at 10:25 AM, Richard Biener wrote:
>
> SCEV analysis requires us to be in loop-closed SSA form to be able
> to compute overall effects of inner loops when required. Unfortunately
> we have too many places it is used where we are not in loop-closed SSA
> form. The following p
This patch removes a spurious error from a function call when the return type
of the function is an incomplete type. This can be the case if the type is a
generic formal, or a limited view. It can also happen when the function
declaration appears before the full view of the type (which is legal in
This patch fixes a bug in which 'Type_Key on a subtype or derived type
could sometimes access the wrong source buffer. The following test
should compile and run silently.
package P is
type My_Int is range 1 .. 10;
for My_Int'Size use 10;
end P;
with P; use P;
package Q is
type New_My_Int
This change has no user-visible effect except when Gnat2scil is running.
Tested on x86_64-pc-linux-gnu, committed on trunk
2017-04-27 Steve Baird
* exp_attr.adb (Expand_N_Attribute_Reference):
Don't expand Image, Wide_Image, Wide_Wide_Image attributes
for CodePeer.
In
When set_mem_attributes_minus_bitpos computes the MEM_EXPR for MEM RTXen
it strips outermost ARRAY_REFs (for historic efficiency reasons).
Nowadays a MEM_EXPR has to be conservative with respect to alias
analysis which means it has to cover the original access. This means
we may _not_ end up with
This patch corrects the visibility machinery to properly infer the original
visibility of a use-visible entity defined within a nested package within a
generic when the generic is instantiated and there is already another use-
visible entity which satisfies the referenced.
-- Source -
On Thu, 27 Apr 2017, Bin.Cheng wrote:
> On Thu, Apr 27, 2017 at 10:25 AM, Richard Biener wrote:
> >
> > SCEV analysis requires us to be in loop-closed SSA form to be able
> > to compute overall effects of inner loops when required. Unfortunately
> > we have too many places it is used where we ar
This patch corrects an issue whereby variant records with controlled components
would skip generation of finalization routines due to a counter (Num_Comps)
improperly being reset.
-- Source --
-- map_leak.adb
with Ada.Strings.Hash;
with Ada.Containers.Indefinite_Hashed
GNATprove relies on side-effects being removed and value being fixed from
renamings, which was not the case for the renaming of a qualified
expression. Now done.
Tested on x86_64-pc-linux-gnu, committed on trunk
2017-04-27 Yannick Moy
* exp_util.ads, exp_util.adb (Evaluate_Name): Forc
This is a backport of the ARM ABI fix, except that it doesn't change code,
only adds the ABI warning.
So there were four changes, three of them are changing "else if (res < 0)"
to "if (res != 0)" and the fourth was the "res != 0" change in
arm_function_arg_boundary.
I've verified on a testcase th
The wrappers introduced to handle correctly calls to overridden primitives
in class-wide contracts of inherited primitives need to be introduced for
compilation (whether SPARK_Mode is On or Off) but not formal verification
(when GNATprove_Mode is True).
Tested on x86_64-pc-linux-gnu, committed on
Static analysis tools benefit from some evaluations being done in
frontend, in particular comparisons between values of universal types
which are supposed to be evaluated at compile time and which static
analysis tools like GNATprove may not support. Restore such evaluation
during semantic analysis
This patch suppresses the generation of elaboration counters and access-before-
elaboration checks for GNATprove compilations.
-- Source --
-- dic.ads
package Dic with Elaborate_Body Is
G : Integer;
type T is private with Default_Initial_Condition => Foo (T);
On 04/26/2017 12:34 PM, David Malcolm wrote:
Thanks - yes; that gives information on the const vs non-const of the
"this" parameter, but doesn't say whether the argument was const vs non
-const.
However, within:
int test_const_ptr (const t1 *ptr)
{
return ptr->m_color;
}
from which we can
On 04/27/2017 03:29 AM, Volker Reichelt wrote:
Hi,
the following two patches aim at improving GCC's diagnostics to help
the user to get rid of old-style casts. While old-style pointer casts
are really bad and need to be weeded out quickly, old-style casts between
arithmetic types are IMHO much m
On Wed, Apr 26, 2017 at 10:39:12PM -0500, Peter Bergner wrote:
> +/* Returns true if the basic block BB has no successors and only contains
> + a call to __builtin_unreachable (). */
so
return EDGE_COUNT (bb->succs) == 0
&& (gsi = gsi_last_nondebug_bb (bb))
&& !gsi_end_p (gsi)
&&
This patch fixes the regression caused by the changes to add square root
estimation when compiling for xgene-1 or exynos-m1 targets.
The issue is that the expand path for the reciprocal estimate square
root pattern assumes that pattern cannot fail once it has been decided
that this expansion path
On 27/04/17 11:44, Marek Polacek wrote:
> This is a backport of the ARM ABI fix, except that it doesn't change code,
> only adds the ABI warning.
>
> So there were four changes, three of them are changing "else if (res < 0)"
> to "if (res != 0)" and the fourth was the "res != 0" change in
> arm_fu
On Thu, Apr 27, 2017 at 01:37:02PM +0100, Richard Earnshaw (lists) wrote:
> > + if (ncrn & 1)
> > +{
> > + int res = arm_needs_doubleword_align (mode, type);
> > + /* Only warn during RTL expansion of call stmts, otherwise we would
> > +warn e.g. during gimplification even on fun
Glibc 2.17 made __secure_getenv an officially supported function, and
renamed it secure_getenv. The libgfortran configure has checked for
both of these, per
https://sourceware.org/glibc/wiki/Tips_and_Tricks/secure_getenv.
Unfortunately, while the dynamical library (libc.so) retains the
__secure_ge
On Thu, Apr 27, 2017 at 03:50:19PM +0300, Janne Blomqvist wrote:
> Glibc 2.17 made __secure_getenv an officially supported function, and
> renamed it secure_getenv. The libgfortran configure has checked for
> both of these, per
> https://sourceware.org/glibc/wiki/Tips_and_Tricks/secure_getenv.
>
>
On Thu, Apr 27, 2017 at 02:46:23PM +0200, Jakub Jelinek wrote:
> On Thu, Apr 27, 2017 at 01:37:02PM +0100, Richard Earnshaw (lists) wrote:
> > > + if (ncrn & 1)
> > > +{
> > > + int res = arm_needs_doubleword_align (mode, type);
> > > + /* Only warn during RTL expansion of call stmts
This patch introduces a new access-before-elaboration check which attempts to
detect an indirect call to a primitive of a tagged type through dispatching
where the body of the primitive has not been elaborated yet. The check uses a
flag which is set after the body of the primitive is elaborated and
Hi!
As mentioned in the PR, stor-layout.c (layout_type) can set
TYPE_TYPELESS_STORAGE flag on ARRAY_TYPE that didn't have it before,
which breaks ARRAY_TYPE hashing in build_array_type_1/type_hash_canon.
We have 2 cases, one is ARRAY_TYPE with non-AGGREGATE_TYPE_P element type
(note: TYPE_TYPELES
On Thu, Apr 27, 2017 at 01:32:11PM +0100, Richard Earnshaw (lists) wrote:
> This patch fixes the regression caused by the changes to add square root
> estimation when compiling for xgene-1 or exynos-m1 targets.
>
> The issue is that the expand path for the reciprocal estimate square
> root pattern
On Thu, 27 Apr 2017, Jakub Jelinek wrote:
> Hi!
>
> As mentioned in the PR, stor-layout.c (layout_type) can set
> TYPE_TYPELESS_STORAGE flag on ARRAY_TYPE that didn't have it before,
> which breaks ARRAY_TYPE hashing in build_array_type_1/type_hash_canon.
>
> We have 2 cases, one is ARRAY_TYPE w
This patch is a partial implementation of the semantics mandated in AI12-0195
concerning class-wide preconditions on dispatching calls: the precondition
that applies is that of the denoted subprogram entity, not that of the body
that is actually executed.
Tested in ACATS test C611A03
Tested on x8
This refactors register_edge_assert_for_* so that EVRP can use the
"advanced" extraction of ranges from conditions. It is a re-send
of one part of a series from last December, third part first (and
thus slightly different).
Bootstrapped on x86_64-unknown-linux-gnu, testing in progress.
Richard.
The following makes intersecting [-INF, +10] and [a + -1, +INF]
to [10, a + -1] possible with the chance that for a <= 10 the
resulting range will be empty (but not trivially visible as so).
Bootstrap / regtest running on x86_64-unknown-linux-gnu.
I'll add a testcase later.
Richard.
2017-04-27
This implements a warning on the questionable placement of specific sorts
of components in record types, more specifically those with non-fixed size
or those with a fixed size that is not a mutiple of the storage unit. It
is enabled by -gnatw.q (and disabled by -gnatw.Q) only for the time being.
On 27/04/17 14:26, Jakub Jelinek wrote:
> On Thu, Apr 27, 2017 at 01:32:11PM +0100, Richard Earnshaw (lists) wrote:
>> This patch fixes the regression caused by the changes to add square root
>> estimation when compiling for xgene-1 or exynos-m1 targets.
>>
>> The issue is that the expand path for
The patch looks good to me.
Thanks,
Sebastian
On Thu, Apr 27, 2017 at 4:25 AM, Richard Biener wrote:
>
> SCEV analysis requires us to be in loop-closed SSA form to be able
> to compute overall effects of inner loops when required. Unfortunately
> we have too many places it is used where we are
On Thu, Apr 27, 2017 at 2:49 PM, Richard Biener wrote:
>
> The following makes intersecting [-INF, +10] and [a + -1, +INF]
> to [10, a + -1] possible with the chance that for a <= 10 the
> resulting range will be empty (but not trivially visible as so).
Hi,
I noticed operand_less_p is quite simple
On 04/26/2017 03:38 PM, Bernd Edlinger wrote:
> I think however, that only one extra call frame can ever
> be seen, because the stack frames are only created by instrumentation
> at instrumented function begin and end statements.
>
> So probably the test expectations could be more strict than in t
On Thu, Apr 27, 2017 at 04:11:36PM +0200, Martin Liška wrote:
> On 04/26/2017 03:38 PM, Bernd Edlinger wrote:
> > I think however, that only one extra call frame can ever
> > be seen, because the stack frames are only created by instrumentation
> > at instrumented function begin and end statements.
On April 27, 2017 4:06:48 PM GMT+02:00, "Bin.Cheng"
wrote:
>On Thu, Apr 27, 2017 at 2:49 PM, Richard Biener
>wrote:
>>
>> The following makes intersecting [-INF, +10] and [a + -1, +INF]
>> to [10, a + -1] possible with the chance that for a <= 10 the
>> resulting range will be empty (but not tri
On 4/27/17 6:57 AM, Bernhard Reutner-Fischer wrote:
> On Wed, Apr 26, 2017 at 10:39:12PM -0500, Peter Bergner wrote:
>> +/* Returns true if the basic block BB has no successors and only contains
>> + a call to __builtin_unreachable (). */
>
> so
> return EDGE_COUNT (bb->succs) == 0
> && (
Hi,
PR 78687 is a reported SRA missed-optimization issue. The problem, in
its simplest form, happens when we have two big local non-addressable
structures, we initialize only small portions of the first one and
then assign all of it it to the second one, where we still only work
with the initial
On Thu, 27 Apr 2017, Richard Biener wrote:
> struct q { int n; long o[100]; };
> struct r { int n; long o[0]; };
>
> union {
> struct r r;
> struct q q;
> } u;
>
> int foo (int i, int j)
> {
> long *q = u.r.o;
> u.r.o[i/j] = 1;
> return q[2];
> }
>
> but nothing convinced schedulin
static_cast and const_cast are meaningless when T is
not a class type, because the result is a prvalue and prvalues of
non-class type are unqualified. I'm removing these pointless
const-qualifications now, because I'm experimenting with a patch to
make the front-end warn about this.
* inc
On 04/26/2017 06:58 AM, Richard Biener wrote:
On Tue, Apr 18, 2017 at 12:44 PM, Bin Cheng
wrote:
Hi, This patch handles more cheap cases in function
force_expr_to_var_cost, specifically, TRUNC_DIV_EXPR, BIT_AND_EXPR,
BIT_IOR_EXPR, RSHIFT_EXPR and BIT_NOT_EXPR.
Is it OK?
I wonder if using add
On 04/26/2017 05:31 AM, Richard Biener wrote:
The following removes the third state we had apart from signed integer
overflow wrapping and being undefined. It makes signed integer overflow
undefined, consistently at all optimization levels. -fno-strict-overflow
stays as a backward compatible w
On Thu, Apr 27, 2017 at 4:30 PM, Jeff Law wrote:
> On 04/26/2017 06:58 AM, Richard Biener wrote:
>>
>> On Tue, Apr 18, 2017 at 12:44 PM, Bin Cheng
>> wrote:
>>>
>>> Hi, This patch handles more cheap cases in function
>>> force_expr_to_var_cost, specifically, TRUNC_DIV_EXPR, BIT_AND_EXPR,
>>> BIT_
On 04/27/2017 01:29 AM, Volker Reichelt wrote:
Hi,
the following two patches aim at improving GCC's diagnostics to help
the user to get rid of old-style casts. While old-style pointer casts
are really bad and need to be weeded out quickly, old-style casts between
arithmetic types are IMHO much m
On 04/27/2017 01:32 AM, Jakub Jelinek wrote:
Hi!
As mentioned in the PR and can be seen on the testcase (too large for
testsuite, with lots of delta reduction I got 48KB *.f90 file still using
a dozen of modules), we miscompile it because we have mem(sp+64) memory
(what %st is loaded from) and a
On 04/26/2017 06:50 AM, Hurugalawadi, Naveen wrote:
Hi Wilco,
Thanks for reviewing the patch.
The return false seems incorrect - it means a core can either have
FUSE_CMP_BRANCH or FUSE_ALU_BRANCH but not both.
Thanks for pointing out about the confusion.
Modified the code as required.
Bootst
This is probably not the best way to do this, but it seems to work.
I also tried to add a warning like EDG's (see the PR) but it gave a
false positive for direct-list-init of scoped enums (P0138R2, r240449)
because that code goes through build_c_cast to perform the conversion,
so looks like a cas
The aarch_forward_to_shift_is_not_shifted_reg bypass always returns true
on AArch64 shifted instructions. This causes the bypass to activate in
too many cases, resulting in slower execution on Cortex-A53 like reported
in PR79665.
This patch uses the arm_no_early_alu_shift_dep condition instead wh
I probably should have mentioned that these are all for GCC8.
Hi again,
On 26/04/2017 12:32, Paolo Carlini wrote:
Hi,
in 2013 (2013-09-16) Adam added two slightly obscure functions and I
can't find much around in terms of rationale, etc:
/* Returns true iff TYPE is a TEMPLATE_TYPE_PARM representing 'auto',
'decltype(auto)' or a concept. */
bool
is
Hi
Here is the patch to registers Printers depending on activation of
versioned namespace.
2017-04-27 François Dumont
* python/Makefile.am [ENABLE_SYMVERS_GNU_NAMESPACE]
(user_versioned_namespace): New.
(gdb.py): Adapt target.
* python/Makefile.in: Regenerate.
* pyt
On 27/04/17 20:12 +0200, François Dumont wrote:
Hi
Here is the patch to registers Printers depending on activation of
versioned namespace.
2017-04-27 François Dumont
* python/Makefile.am [ENABLE_SYMVERS_GNU_NAMESPACE]
(user_versioned_namespace): New.
(gdb.py): Adapt target.
Hi,
On 27/04/2017 18:59, Jonathan Wakely wrote:
This is probably not the best way to do this, but it seems to work.
Eventually, if this is the way to go, a small maybe_strip_* helper could
tidy a bit the code...
Paolo.
The main change is s/overflown/overflowed/ but I made a couple of
other minor grammatical fixes.
Committed to trunk as obvious.
commit 6c664e18a926ea60d253001e78fe9e6828416884
Author: Jonathan Wakely
Date: Thu Apr 27 19:42:52 2017 +0100
* doc/extend.texi (Object Size Checking): Impr
Glibc 2.17 made __secure_getenv an officially supported function, and
renamed it secure_getenv. The libgfortran configure has checked for
both of these, per
https://sourceware.org/glibc/wiki/Tips_and_Tricks/secure_getenv.
Unfortunately, while the dynamical library (libc.so) retains the
__secure_ge
On Thu, Apr 27, 2017 at 9:50 PM, Janne Blomqvist
wrote:
[snip]
And on top of that patch this simple typo fix:
diff --git a/libgfortran/runtime/environ.c b/libgfortran/runtime/environ.c
index 969dcdf..f488e87 100644
--- a/libgfortran/runtime/environ.c
+++ b/libgfortran/runtime/environ.c
@@ -46,7
Yet another missing converts caused that BIT_XOR_EXPRs with incompatible
arguments have gotten into the gimplifier. Fixed thus. This patch also
improves readability by using a temporary, the current style wasn't very
readable especially because of the wrong formatting caused by adding the
*_loc v
On 27/04/2017 20:32, Jonathan Wakely wrote:
On 27/04/17 20:12 +0200, François Dumont wrote:
Hi
Here is the patch to registers Printers depending on activation of
versioned namespace.
2017-04-27 François Dumont
* python/Makefile.am [ENABLE_SYMVERS_GNU_NAMESPACE]
(user_versioned_n
Hello Paul,
The attached fixes the problem withPR51218 and bootstraps and regtests
on FC23/x86_64 - OK for trunk?
I threw as many test cases at this as I could, and the patch worked
very well.
So, yes, OK for trunk. And thanks a lot for the patch!
Regards
Thomas
Hi!
AIX with -fPIC emits especially for __attribute__((constructor)) functions
symbol names with random seed in it, which breaks bootstrap comparison.
libstdc++ uses -frandom-seed=$@ everywhere, libgomp on HPUX uses
-frandom-seed=fixed-string (should be eventually changed to $@), this patch
adds i
Hi!
This is something that fails bootstrap newly in GCC 7 and only with
(now on the branch default --enable-checking=release (or
--disable-checking)). The problem is that the *-tests.c and selftest*.c
sources after including some headers have the whole body guarded with
#if CHECKING_P
and with re
Volker's patch for -Wold-style-cast inspired me to add a fix-it hint
for when this warning fires, which converts the C-style cast to
a C++-style cast.
It tries to find a legal C++-style cast, trying them in the order:
const_cast, static_cast, reinterpret_cast. It doesn't try
dynamic_cast. It cal
On 04/26/2017 08:29 AM, Peryt, Sebastian wrote:
Hi,
This patch updates x86 family machine constraints section in '16.8.5
Constraints for Particular Machines' section to match the ones in
'config/i386/constraints.md'.
gcc/
* doc/md.texi (Machine Constraints): Update x86 family machine
* David Malcolm:
> gcc/testsuite/ChangeLog:
> * g++.dg/other/old-style-cast-fixits.C: New test case.
Would it make sense to add a test cases for the non-fixable cases?
That would be:
void test_1 (const void *ptr)
{
foo *f = (foo *)ptr;
}
And:
const bar b_inst;
foo *f = (fo
On Thu, Apr 27, 2017 at 09:17:44PM +0200, Marek Polacek wrote:
> Yet another missing converts caused that BIT_XOR_EXPRs with incompatible
> arguments have gotten into the gimplifier. Fixed thus. This patch also
> improves readability by using a temporary, the current style wasn't very
> readable
On Thu, Apr 27, 2017 at 05:10:24PM -0400, David Malcolm wrote:
> + /* First try const_cast. */
> + trial = build_const_cast (dst_type, orig_expr, 0 /* complain */);
> + if (trial != error_mark_node)
> +return "const_cast";
> +
> + /* If that fails, try static_cast. */
> + trial = build_s
On 04/26/2017 04:34 PM, Jakub Jelinek wrote:
On Wed, Apr 26, 2017 at 10:26:56PM +, Joseph Myers wrote:
On Wed, 26 Apr 2017, Martin Sebor wrote:
Testing my solution for bug 77671 (missing -Wformat-overflow
sprintf with "%s") caused a regression in the charset/builtin2.c
test for bug 25120 (
I encountered an ICE when the fortran FE tries to parse an OpenACC
routine directive when the containing function has a syntax error. E.g.
integer function f1
is missing an argument list, so the fortran FE will not create a
function symbol for f1. Consequently, the OpenACC routine parser cannot
On 04/26/2017 01:57 PM, Jakub Jelinek wrote:
I guess those should be decided case by case
whether we want relative, absolute or saved line numbers. If the
diagnostic is within the same function or code block as the stuff it is
relative to, relative is fine, but if e.g. the messages are just at t
1 - 100 of 107 matches
Mail list logo