[patch] Fix SSA_NAME_OCCURS_IN_ABNORMAL_PHI issue in backprop

2016-02-08 Thread Eric Botcazou
e can probably create a new SSA_NAME but it's not really the spirit of the backprop pass and I'm not sure it's worth the hassle, hence the minimal attached fixlet. Tested on x86_64-suse-linux, OK for the mainline? 2016-02-08 Eric Botcazou * gimple-ssa-backprop.c (op

Re: [PATCH] Avoid bugs like PR68273 to trigger

2016-02-08 Thread Eric Botcazou
> It helps vectorization. This was specifically introduced to fix a > regression on powerpc. > > See PR65310. Indeed, the SRA code was much better before that one liner. ;-) -- Eric Botcazou

Re: [PATCH] Avoid bugs like PR68273 to trigger

2016-02-08 Thread Eric Botcazou
l type 0x76cead20> /* Now build a phi for the new variable. */ temp = make_temp_ssa_name (type, NULL, "prephitmp"); -- Eric Botcazou

Re: [PATCH] Avoid bugs like PR68273 to trigger

2016-02-08 Thread Eric Botcazou
as set -1 canonical type 0x76d333f0> arg 0 used BLK file pr68273.c line 67 col 10 size unit size align 64 context arg-type >> arg 1 constant 0>> -- Eric Botcazou

Re: [PATCH] Avoid bugs like PR68273 to trigger

2016-02-08 Thread Eric Botcazou
# lhs access alignment 32+0 MEM[(struct LorentzVector *)res_7(D) + 4B] = SR.23_43; # .MEM_54 = VDEF <.MEM_53> # lhs access alignment 64+0 MEM[(struct LorentzVector *)res_7(D) + 8B] = SR.24_42; # .MEM_55 = VDEF <.MEM_54> # lhs access alignment 32+0 MEM[(struct LorentzVector *)res_7(D) + 12B] = SR.25_41; -- Eric Botcazou

[patch] Fix timevar internal consistency failure

2016-02-10 Thread Eric Botcazou
Therefore the attached patch simply gets rid of TV_PHASE_DBGINFO (as well as of the sibling TV_PHASE_CHECK_DBGINFO which was already unused). Tested on x86_64-suse-linux, OK for the mainline? 2016-02-10 Eric Botcazou * timevar.def (TV_PHASE_DBGINFO): Delete. (TV_PHASE_CHECK_DBGIN

Re: [PR66726] Fixe regression caused by Factor conversion out of COND_EXPR

2016-02-12 Thread Eric Botcazou
warf.o differs libcpp/lex.o differs Makefile:21544: recipe for target 'compare' failed -- Eric Botcazou

Re: [PATCH] Avoid bugs like PR68273 to trigger

2016-02-14 Thread Eric Botcazou
TYPE (t) = var; SET_SSA_NAME_VAR_OR_IDENTIFIER (t, NULL_TREE); } else -- Eric Botcazou

Re: [PATCH] Avoid bugs like PR68273 to trigger

2016-02-14 Thread Eric Botcazou
for 2 decades for some of them and the compiler worked just fine, so I can easily see how disabling the tree-sra change can help in the short term. As for calling it an improvement, just look at the audit trail, it's a quick change papering over a deficiency in the IR... -- Eric Botcazou

Re: [PATCH] Avoid bugs like PR68273 to trigger

2016-02-14 Thread Eric Botcazou
ple, whether the proper fix is not in the middle-end instead, because adding a dozen of TYPE_MAIN_VARIANT (...) in a dozen of back-ends is IMO not a good example of robust engineering. -- Eric Botcazou

[Ada] Define LANG_HOOKS_ENUM_UNDERLYING_BASE_TYPE

2016-02-16 Thread Eric Botcazou
The fix for PR debug/16063 slightly disturbed the debug info in Ada by adding bogus base types to enumeration types; the latter are base types in Ada. Tested on x86_64-suse-linux, applied on the mainline and 5 branch. 2016-02-16 Eric Botcazou * gcc-interface/misc.c

[Ada] Fix debug info glitches for character indexes

2016-02-16 Thread Eric Botcazou
This is another regression in the debug info, this time introduced on the mainline by my patch toggling the signedness of Character in Ada. Tested on x86_64-suse-linux, applied on the mainline. 2016-02-16 Eric Botcazou * gcc-interface/gigi.h (maybe_debug_type): New inline function

[Ada] Fix ICE on element of array with enumeration index

2016-02-17 Thread Eric Botcazou
on x86_64-suse-linux, applied on the mainline. 2016-02-17 Eric Botcazou * gcc-interface/utils2.c (gnat_protect_expr): Make a SAVE_EXPR only for fat pointer or scalar types. 2016-02-17 Eric Botcazou * gnat.dg/discr46.ad[sb]: New test. -- Eric BotcazouIndex: gcc

[Ada] Fix missing synchronization for Atomic_Components on array object

2016-02-17 Thread Eric Botcazou
ed on x86_64-suse-linux, applied on the mainline and 5 branch. 2016-02-17 Eric Botcazou * exp_ch4.adb (Expand_N_Indexed_Component): Active synchronization if the prefix denotes an entity which Has_Atomic_Components. * gcc-interface/trans.c (node_is_atomic): Return true i

[visium] Tidy up support of machine-specific libfuncs

2016-02-17 Thread Eric Botcazou
This adds an internal table instead of regenerating naked symbols each time the libfuncs are used. Tested on visium-elf, applied on the mainline. 2016-02-17 Eric Botcazou * config/visium/visium.c (machine_libfunc_index): New enum. (machine_libfuncs): New structure

[testsuite] Skip gcc.dg/ifcvt-4.c on Visium

2016-02-17 Thread Eric Botcazou
Same reason as for ARM. Tested on visium-elf, applied on the mainline. 2016-02-17 Eric Botcazou * gcc.dg/ifcvt-4.c: Skip on Visium. -- Eric BotcazouIndex: gcc.dg/ifcvt-4.c === --- gcc.dg/ifcvt-4.c (revision 233448

Re: [PATCH] Avoid bugs like PR68273 to trigger

2016-02-19 Thread Eric Botcazou
ler setup to > investigate. I'm just using Jeff's reduced testcase for MIPS. -- Eric Botcazou

Re: [PATCH][GCC7] Remove scaling of COMPONENT_REF/ARRAY_REF ops 2/3

2016-02-19 Thread Eric Botcazou
Adacore can evaluate this patch code-generation > wise. I will, this looks like a valuable simplification to me. -- Eric Botcazou

Re: [PATCH] combine: Delete EQ* notes when pseudo mode changes (PR60818)

2016-02-19 Thread Eric Botcazou
add or move these notes during combine, so we can > + still use the DF info as it was at the start of combine to find all > + such notes. */ The comment is wrong, or at least confusing, since distribute_notes does deal with REG_EQUAL and REG_EQUIV notes. -- Eric Botcazou

Re: [PATCH] combine: Delete EQ* notes when pseudo mode changes (PR60818)

2016-02-19 Thread Eric Botcazou
> Do you have something smaller in mind that still works? I'm all ears. Try to adjust the notes instead of dropping them? > But it never adds or moves these notes. It even says so :-) Right, but try_combine can do it, see line 4294 and below. -- Eric Botcazou

[ping] Enable -mstackrealign with SSE on 32-bit Windows

2016-02-19 Thread Eric Botcazou
Any (global or platform) maintainer willing to approve this for GCC6? https://gcc.gnu.org/ml/gcc-patches/2015-12/msg01458.html We switched to SSE2 by default on Windows 32-bit at AdaCore and we ran into really nasty stability issues before applying this patch. -- Eric Botcazou

Re: [PATCH] combine: Delete EQ* notes when pseudo mode changes (PR60818)

2016-02-19 Thread Eric Botcazou
. No big deal I agree. -- Eric Botcazou

Re: [ping] Enable -mstackrealign with SSE on 32-bit Windows

2016-02-19 Thread Eric Botcazou
e manual. Note that the issue is present on Solaris 9 and was fixed this way. -- Eric Botcazou

Re: [PATCH] combine: Delete EQ* notes when pseudo mode changes (PR60818)

2016-02-19 Thread Eric Botcazou
ugh. It looks like we > do have a problem if i2 is a parallel with only one SET; but we already > had a problem anyway? The REG_EQ* is put on the wrong insn? Possibly indeed, we might need to filter them out during the move. -- Eric Botcazou

Re: [PATCHES, PING*5] Enhance standard DWARF for Ada

2016-02-25 Thread Eric Botcazou
ady don't care about the regular gnat.dg testsuite, I think that literally nobody will about gnat.dg/guality. Given that only AdaCore's folks work on Ada debug info issues in practice and that they run the GDB testsuite, I don't see any real need for it. -- Eric Botcazou

Re: [ping] Enable -mstackrealign with SSE on 32-bit Windows

2016-02-28 Thread Eric Botcazou
;s ok for 32-bit > Windows as well. > > So consider the patch approved, Thanks, now applied. I presume I need to add a blurb to changes.html. -- Eric Botcazou

Re: [PATCH][SPARC] sparc: switch -fasynchronous-unwind-tables on by default.

2016-02-28 Thread Eric Botcazou
mmon.c: opts->x_flag_asynchronous_unwind_tables = 1; In particular, the 2 means that it's overridden by USE_IX86_FRAME_POINTER, i.e. the frame pointer is always enabled instead (e.g on Solaris). What's the problem exactly here? Simple non-DWARF unwinders usually work fine with the SPARC architecture thanks to the calling conventions. -- Eric Botcazou

[Ada] Fix spurious error on renaming of component of return value

2016-02-29 Thread Eric Botcazou
mainline. 2016-02-29 Eric Botcazou * gcc-interface/ada-tree.h (DECL_RETURN_VALUE_P): New macro. * gcc-interface/gigi.h (gigi): Remove useless attribute. (gnat_gimplify_expr): Likewise. (gnat_to_gnu_external): Declare. * gcc-interface/decl.c

[Ada] Fix unexpectedly large frame with calls manipulating strings

2016-02-29 Thread Eric Botcazou
. Tested on x86_64-suse-linux, applied on the mainline. 2016-02-29 Eric Botcazou * gcc-interface/trans.c (finalize_nrv_r): Remove obsolete code. (build_return_expr): Likewise. (Call_to_gnu): If this is a function call and there is no target, create a temporary

[Ada] Fix crash in ASIS mode on concurrent types

2016-02-29 Thread Eric Botcazou
This one is a very recent regression introduced on the mainline in ASIS mode. Tested on x86_64-suse-linux, applied on the mainline. 2016-02-29 Eric Botcazou * gcc-interface/decl.c (gnat_to_gnu_entity) : In ASIS mode, fully lay out the minimal record type. -- Eric

[Ada] Fix infinite recursion on circular type in with'ed unit

2016-02-29 Thread Eric Botcazou
-linux, applied on the mainline. 2016-02-29 Eric Botcazou * gcc-interface/decl.c (gnat_to_gnu_entity) : Retrofit handling of unconstrained array types as designated types into common processing. Also handle array types as incomplete designated types. 2016-02-29 Eric

[SPARC] Fix PR target/69706

2016-02-29 Thread Eric Botcazou
Bootstrapped/regtested on SPARC64/Solaris and also compat-regtested (both bugs are rare enough as to go unnoticed by the compat testsuite). I also verified manually that GCC is now compatible with Sun CC in this case too. I'll document the ABI change in changes.html separately. 2016-02-29 Eric

[wwwdocs] Document 3 changes in GCC 6

2016-02-29 Thread Eric Botcazou
Hi, this documents the following changes: - new scalar_storage_order type attribute in C, - ABI change for SPARC 64-bit, - automatic enabling of -mstackrealign with SSE for Windows 32-bit. OK to apply? -- Eric BotcazouIndex: htdocs/gcc-6/changes.html =

Re: [SPARC] Fix PR target/69706

2016-02-29 Thread Eric Botcazou
> +/* Number of words (partially) occupied for a given size in units. */ > +#define NWORDS_UP(SIZE) (((SIZE) + UNITS_PER_WORD - 1) / UNITS_PER_WORD) > > -#define ROUND_ADVANCE(SIZE) (((SIZE) + UNITS_PER_WORD - 1) / > UNITS_PER_WORD) > > You can use CEIL macro from system.h here. Good idea, than

Re: [Ada] Fix unexpectedly large frame with calls manipulating strings

2016-03-01 Thread Eric Botcazou
> This new test fails for me with -m32. Thanks for the heads up, fixed thusly, applied. 2016-03-01 Eric Botcazou * gnat.dg/stack_usage3.adb: Robustify and enable for all targets. -- Eric BotcazouIndex: gnat.dg/stack_usage3.

Reinstate generic stack checking warning with LRA

2016-03-01 Thread Eric Botcazou
er PR ada/70017. Therefore the attached patch moves it to the end of do_reload and also streamlines it a bit. Tested on x86_64-suse-linux, applied on the mainline as obvious. 2016-03-01 Eric Botcazou PR ada/70017 * ira.c (do_reload): Issue warning for generic stac

Fix PR rtl-optimization/70007

2016-03-01 Thread Eric Botcazou
because it only considers REG_EQUAL notes attached to SET patterns. Here it's a PARALLEL with a single SET and that's allowed by set_for_reg_notes. Tested on x86_64-suse-linux, applied on all active branches. 2016-03-01 Eric Botcazou PR rtl-optimization/70007 * gcse.

Re: [wwwdocs] Document 3 changes in GCC 6

2016-03-01 Thread Eric Botcazou
> How about saying "It specifies the storage order..."? > > And "in structures and unions"? OK. > How about "...is passed to a subprogram in slot #15..."? OK. > Okay with the changes above. Thanks! -- Eric Botcazou

Re: Fix PR rtl-optimization/70007

2016-03-02 Thread Eric Botcazou
MI2 ISA support Applied, thanks. -- Eric Botcazou

Re: [PATCH] Fix PR67278, x86 target part

2016-03-02 Thread Eric Botcazou
FLOAT; > else You lost one of the '=' though. -- Eric Botcazou

Re: Reinstate generic stack checking warning with LRA

2016-03-03 Thread Eric Botcazou
the threshold is around 4KB, feel free to add a few more HUNDREDs. -- Eric Botcazou

Re: Reinstate generic stack checking warning with LRA

2016-03-03 Thread Eric Botcazou
> This works though, ok for trunk? > > 2016-03-03 Jakub Jelinek > > PR ada/70017 > * gcc.dg/pr70017.c (foo): Store 0 to first element of each array. Sure, thanks. -- Eric Botcazou

[testsuite] Skip gcc.dg/Wno-frame-address.c on IA-64

2016-03-04 Thread Eric Botcazou
Same reason as for the other architectures. Tested on ia64-suse-linux, applied on the mainline as obvious. 2016-03-04 Eric Botcazou * gcc.dg/Wno-frame-address.c: Skip on IA-64. -- Eric BotcazouIndex: gcc.dg/Wno-frame-address.c

Re: [PATCH] Remove "keep_aligning" from get_inner_reference

2013-11-27 Thread Eric Botcazou
mbination for which it is exercised. If you cannot do that, then please back it out. More generally speaking, it's not acceptable to make cleanup changes like that in the RTL expander without extreme care, which of course starts with proper testing. The patch should not have been approved either for that reason. -- Eric Botcazou

Re: [PATCH] Remove "keep_aligning" from get_inner_reference

2013-11-27 Thread Eric Botcazou
any trouble, I can revert that change of course. You might want to take a look at PR middle-end/17746, it took about 3 months almost a decade ago to find something plausible to fix this fundamental issue for Ada on strict-aligmnent platforms so I'd rather not go through this again. -- Eric Botcazou

Re: [PATCH] Remove "keep_aligning" from get_inner_reference

2013-11-27 Thread Eric Botcazou
PE_ALIGN_OK on 4.1 and 4.9 trees, you get exactly the same 4 occurrences in the middle-end. -- Eric Botcazou

Patch ping (stage1-ish patches)

2013-11-27 Thread Eric Botcazou
as quickly as possible. Improve debug info for small structures (2) http://gcc.gnu.org/ml/gcc-patches/2013-10/msg02007.html -- Eric Botcazou

Re: [PATCH] Remove "keep_aligning" from get_inner_reference

2013-11-27 Thread Eric Botcazou
ECL_ALIGN (exp); known_alignment = true; } - else if (TREE_CODE (exp) == VIEW_CONVERT_EXPR) -{ - align = TYPE_ALIGN (TREE_TYPE (exp)); -} else if (TREE_CODE (exp) == INDIRECT_REF || TREE_CODE (exp) == MEM_REF || TREE_CODE (exp) == TARGET_MEM_REF) -- Eric Botcazou

Re: wide-int, rtl

2013-11-27 Thread Eric Botcazou
HOST_BITS_PER_DOUBLE_INT); +#endif Can't we be more forgiving here and in the other similar places? + /* We support any size mode. */ + max_bitsize = MAX (GET_MODE_BITSIZE (outermode), +GET_MODE_BITSIZE (innermode)); max_bitsize = MAX (GET_MODE_BITSIZE (outermode), GET_MODE_BITSIZE (innermode)); -- Eric Botcazou

Re: [PATCH] Don't create out-of-bounds BIT_FIELD_REFs

2013-11-28 Thread Eric Botcazou
> Ok if testing succeeds there but please leave out the checking bits. Yes, they (perhaps unsurprisingly) trigger in Ada, I'll investigate. -- Eric Botcazou

Re: [PATCH] Don't create out-of-bounds BIT_FIELD_REFs

2013-11-29 Thread Eric Botcazou
> PR59338, I have a fix in testing (restrict checking to non-aggregates). This will be sufficient for Ada I think, this occurs only when downcasting because of the infamous VIEW_CONVERT_EXPRs used to implement it (yes, the ones which carry the TYPE_ALIGN_OK flag). -- Eric Botcazou

Re: [patch] Fix PR middle-end/59138

2013-11-29 Thread Eric Botcazou
e, tmps[i]); > the parameter BITREGION_END is wrong. > it should be: > ssize * BITS_PER_UNIT - 1 This won't change anything since you cannot access one bit without accessing its unit but yes, it's more correct. Feel free to change it on both branches. -- Eric Botcazou

Re: [PATCH] Fix PR59338

2013-11-29 Thread Eric Botcazou
hed testcase, whose failure has also been fixed by your patch. 2013-11-29 Eric Botcazou * gnat.dg/opt29.ad[sb]: New test. -- Eric Botcazou-- { dg-do compile } -- { dg-options "-O" } package body Opt29 is procedure Proc (T : Rec) is begin if Derived2 (T.F2.

Fix PR ada/59346

2013-11-29 Thread Eric Botcazou
It's a fallout of the changes made for PR ada/54040. Hopefully I didn't miss one the affected specifications. Applied on the mainline. 2013-11-29 Eric Botcazou PR ada/54040 PR ada/59346 * s-osinte-hpux.ads (timespec): Change type of tv_nsec field

Re: [PATCH] fix combine.c:reg_nonzero_bits_for_combine where last_set_mode is narrower than mode

2013-11-30 Thread Eric Botcazou
> 2013-11-29 Paulo Matos > Eric Botcazou > > * combine.c (reg_nonzero_bits_for_combine): Apply mask transformation > as applied to nonzero_sign_valid fixing bug when last_set_mode has > less precision than mode. Applied, thanks. -- Eric Botcazou

Re: [PATCH] Fix up cmove expansion (PR target/58864)

2013-11-30 Thread Eric Botcazou
&comparison, &cmode); [...] delete_insns_since (last); return NULL_RTX; but apparently not, so why not delete the stack adjustment as well and restore the state afterwards? -- Eric Botcazou

[patch] Fix failure of ACATS c52102c

2013-11-30 Thread Eric Botcazou
on x86_64-suse-linux, OK for the mainline? 2013-11-30 Eric Botcazou * tree-dfa.h (get_addr_base_and_unit_offset_1) : Do the offset computation using the precision of the index type. 2013-11-30 Eric Botcazou * gnat.dg/opt30.adb: New test. -- Eric BotcazouInd

Re: [patch] Fix PR middle-end/59138

2013-12-01 Thread Eric Botcazou
> Ok, committed as obvious, in both branches, after regression-testing. Thanks for spotting and fixing it. -- Eric Botcazou

Fix -g3 on Windows

2013-12-01 Thread Eric Botcazou
med_section. This is a (somewhat old) regression, tested on i686-pc-mingw32, applied on all active branches as obvious. 2013-12-01 Eric Botcazou * config/i386/winnt.c (i386_pe_asm_named_section): Be prepared for an identifier node. -- Eric BotcazouInd

Re: wide-int, rtl-2

2013-12-02 Thread Eric Botcazou
> Richi has asked the we break the wide-int patch so that the individual port > and front end maintainers can review their parts without have to go through > the entire patch.This patch covers the half of the rtl code. This looks OK to me. -- Eric Botcazou

Re: [ARM] Fix register r3 wrongly used to save ip in nested APCS frame

2013-12-02 Thread Eric Botcazou
> My apologies for taking so long to look at this. No problem, all the more so that... > > 2013-09-05 Eric Botcazou > > > > * config/arm/arm.c (arm_expand_prologue): In a nested APCS frame with > > arguments to push onto the stack and no varargs, save ip i

Re: [PATCH] Fix C++0x memory model for -fno-strict-volatile-bitfields on ARM

2013-12-02 Thread Eric Botcazou
e size is a multiple of System.Storage_Unit and whose alignment is nonzero, should be implemented by accessing exactly the bits of the object and no others." so the answer is (theoritically) yes for volatile fields. But, in practice, we probably reject the potentially problematic volatile

Re: [PATCH] Strict volatile bit-fields clean-up

2013-12-03 Thread Eric Botcazou
se Program_error; > end if; >end loop; > end; > > > This Ada test case causes either wrong code generation or an ICE at compile > time, if the -fstrict-volatile-bitfields option is either given by the > user, or by the target-specific default as it is on ARM for instance > (which is completely pointless on Ada, I know!)... The test indeed raises Program_Error on x86-64. -- Eric Botcazou

Re: [PATCH] Strict volatile bit-fields clean-up

2013-12-03 Thread Eric Botcazou
> Yes. I somehow did expect DECL_BIT_FIELD to be something simple, > without dependency on if -fstrict-volatile-bitfields is given, or what > Language front-end generated it, or if STRICT_ALIGNMENT is defined. Yes, it should be that way, and everything else is a bug. -- Eric Botcazou

Re: [PATCH] Strict volatile bit-fields clean-up

2013-12-03 Thread Eric Botcazou
> I tried something like this, and it did boot-strap, but failed in some acats > tests: Am I supposed to guess which ones? Note that you can have non-byte-aligned aggregate fields in Ada, i.e. arrays, so ARRAY_REFs can presumably reach here. -- Eric Botcazou

Re: [REPOST] Invalid Code when reading from unaligned zero-sized array

2013-12-03 Thread Eric Botcazou
ddle-end. Moreover there is not a _single_ line of explanation in it. If we really want to go for a hack instead of fixing the underlying issue, it should be restricted to the cases where stor-layout.c goes wrong. -- Eric Botcazou

Re: [PATCH] Fix force_to_mode not to modify in place the passed rtl (PR rtl-optimization/58726)

2013-12-04 Thread Eric Botcazou
LSE. > > * gcc.c-torture/execute/pr58726.c: New test. IMO it's the best fix at this point of the release cycles. -- Eric Botcazou

Re: [PATCH] Fix force_to_mode not to modify in place the passed rtl (PR rtl-optimization/58726)

2013-12-04 Thread Eric Botcazou
issues in the combiner because of the way it's designed, but they are quite rare in practice. -- Eric Botcazou

[Ada] Fix corrupted string with case expression and concatenation

2013-12-04 Thread Eric Botcazou
mainline. 2013-12-04 Eric Botcazou * gcc-interface/trans.c (Case_Statement_to_gnu): Do not push a binding level for each branch if this is a case expression in Ada 2012. (gnat_to_gnu) : Adjust comment. -- Eric BotcazouIndex: gcc-interface/trans.c

[Ada] Fix layout of packed record type with zero-sized component

2013-12-04 Thread Eric Botcazou
-suse-linux, applied on the mainline. 2013-12-04 Eric Botcazou * gcc-interface/decl.c (components_to_record): Add specific handling for fields with zero size and no representation clause. 2013-12-04 Eric Botcazou * gnat.dg/pack19.adb: New test. -- Eric Botcazou

[Ada] Fix PR ada/59382

2013-12-04 Thread Eric Botcazou
. 2013-12-04 Eric Botcazou PR ada/59382 gnattools/ * configure.ac (target parameterization): Rewrite. * configure: Regenerate. gcc/ada/ * indepsw-darwin.adb: New file. -- Eric BotcazouIndex: configure.ac

[SPARC] Fix PR target/59316

2013-12-05 Thread Eric Botcazou
ch at some point. Tested on SPARC/Solaris. Joseph, do you have any comments? 2013-12-05 Eric Botcazou PR target/59316 * config/sparc/sparc.h (SPARC_LOW_FE_EXCEPT_VALUES): Define. * config/sparc/sol2.h (SPARC_LOW_FE_EXCEPT_VALUES): Redefine. * config/sparc/sp

Re: [SPARC] Fix PR target/59316

2013-12-05 Thread Eric Botcazou
cc0 target). Would that be safe? In the meantime, it occurred to me that I very likely don't need to mask the value of tmp3_var before calling __atomic_feraiseexcept on it. glibc does it but this looks unnecessary even there. -- Eric Botcazou

Re: [SPARC] Fix PR target/59316

2013-12-05 Thread Eric Botcazou
t exception bits, so no masking is needed. OK, thanks for confirming. -- Eric Botcazou

Re: [REPOST] Invalid Code when reading from unaligned zero-sized array

2013-12-06 Thread Eric Botcazou
> one test case is this one: > > pr57748-3.c: > /* PR middle-end/57748 */ > /* { dg-do run } */ > /* wrong code in expand_expr_real_1. */ > > #include > > extern void abort (void); > > typedef long long V > __attribute__ ((vector_size (2 * sizeof (long long)), may_alias)); > > typedef stru

Re: [REPOST] Invalid Code when reading from unaligned zero-sized array

2013-12-06 Thread Eric Botcazou
> Here's the Correct Fix(tm). We may or may not decide to go for it because > of concerns about ABI changes; in the latter case, any kludge that we'll > put in place instead must be restricted to the cases caught by this patch. > > > * stor-layout.c (compute_record_mode): Return BLKmode fo

Re: [REPOST] Invalid Code when reading from unaligned zero-sized array

2013-12-07 Thread Eric Botcazou
; } > > has SImode, we accept all trailing arrays as possibly extending beyond the > struct declaration. > > Alternatively all structs with aggregate members should not have a > mode != BLKmode. This could work as well, although I'd restrict this to arrays, recursively. -- Eric Botcazou

Re: [REPOST] Invalid Code when reading from unaligned zero-sized array

2013-12-07 Thread Eric Botcazou
estcases using non-portable code. -- Eric Botcazou

Re: [REPOST] Invalid Code when reading from unaligned zero-sized array

2013-12-07 Thread Eric Botcazou
the appropriate types when support_trailing_arrays is true, 4. modifying expr.c along the lines of Bernd's latest idea to avoid returning anything but a MEM for objects with a type on which the flag is set? -- Eric Botcazou

[patch] Fix gnat.dg/pack19.adb on some platforms

2013-12-09 Thread Eric Botcazou
is always 0 independently of the target. Tested on x86/Linux and PowerPC/Linux, OK for the mainline? 2013-12-09 Eric Botcazou * expr.c (expand_expr_real_1) : Always return 0 for the extraction of a bit-field of null size. -- Eric BotcazouInd

[patch] Fix small oddity in gen_int_libfunc

2013-12-09 Thread Eric Botcazou
comparison with a comparison on GET_MODE_BITSIZE. Tested on x86/Linux and PowerPC/Linux, OK for the mainline? 2013-12-09 Eric Botcazou * optabs.c (gen_int_libfunc): Do not compare modes directly. -- Eric BotcazouInde

[testsuite] Skip gcc.dg/vect/vect-reduc-pattern-3.c on SPARC

2013-12-09 Thread Eric Botcazou
Hi, the test requires vect_int, but it seems to me that it should require vect_int_mult instead. Tested on x86/Linux and SPARC/Solaris, OK for the mainline? 2013-12-09 Eric Botcazou * gcc.dg/vect/vect-reduc-pattern-3.c: Require vect_int_mult. -- Eric BotcazouIndex: gcc.dg/vect

[testsuite] XFAIL gcc.dg/vect/pr58508.c

2013-12-09 Thread Eric Botcazou
Hi, the test doesn't pass on SPARC because of unaligned objects. Tested on x86/Linux and SPARC/Solaris, OK for the mainline? 2013-12-09 Eric Botcazou * gcc.dg/vect/pr58508.c: XFAIL for vect_no_align. -- Eric BotcazouIndex: gcc.dg/vect/pr58

Re: [patch] Fix gnat.dg/pack19.adb on some platforms

2013-12-09 Thread Eric Botcazou
So this boils down to an implementation choice: either we specifically detect this case up in the chain or we let it flow down as usual. But since we handle the stores in an uniform way, I think that it could make sense to do the same for the loads. -- Eric Botcazou

Re: [patch] Fix gnat.dg/pack19.adb on some platforms

2013-12-09 Thread Eric Botcazou
clear how we can reach here though, I could add a comment if I find. :-) -- Eric Botcazou

Fix PR rtl-optimization/58295

2013-12-09 Thread Eric Botcazou
well. Tested on x86-64/Linux, PowerPC/Linux and IA-64/Linux. As reported by Kyrill, this fixes gcc.target/arm/unsigned-extend-1.c on the ARM. Comments? 2013-12-09 Eric Botcazou PR rtl-optimization/58295 * simplify-rtx.c (simplify_truncation): Restrict the distribution for

Re: [REPOST] Invalid Code when reading from unaligned zero-sized array

2013-12-10 Thread Eric Botcazou
whether we want to risk more accidental ABI changes if they are not supported throughout the compiler. -- Eric Botcazou

Re: [REPOST] Invalid Code when reading from unaligned zero-sized array

2013-12-10 Thread Eric Botcazou
ve BLKmode, otherwise you need to add very ugly code in the RTL expander to mask the lie. -- Eric Botcazou

Re: [patch] Fix gnat.dg/pack19.adb on some platforms

2013-12-10 Thread Eric Botcazou
> :-) From a cleanup standpoint, I think the expansion code is ripe for > someone to spend (condsiderable) time killing dead code. I suspect > there's still significant gcc-1.91 (or even older) bits in there that > have been dead for at least a decade. The existing test was added for Ada a decad

Re: Fix PR rtl-optimization/58295

2013-12-10 Thread Eric Botcazou
ne and 4.8 branch, after testing on PowerPC/Linux for the latter. -- Eric Botcazou

Re: [ARM] Fix register r3 wrongly used to save ip in nested APCS frame

2013-12-11 Thread Eric Botcazou
o the stack and no varargs, save ip into the last > stack slot if r3 isn't available on entry. No problems detected for the patch on arm-vxworks or arm-eabi. -- Eric Botcazou

Re: Two build != host fixes

2013-12-11 Thread Eric Botcazou
> I have some more fixes for Ada cross-builds that Eric commented on but need > a little more work - will try to re-test this evening and re-post tomorrow. It's also PR ada/55946. Would mind trying the attached patch? -- Eric BotcazouIndex: gnattools/Makefile.in

Re: [REPOST] Invalid Code when reading from unaligned zero-sized array

2013-12-11 Thread Eric Botcazou
> Yes we do, even for struct { struct { int a; char a[1] } }; (note the not > really "trailing" as there is padding after the trailing array). We do > take size limitations from a DECL (if we see one) into account to limit the > effect of this trailing-array-supporting, so it effectively only appl

Re: Two build != host fixes

2013-12-12 Thread Eric Botcazou
S)" \ "ADA_CFLAGS=$(ADA_CFLAGS)" \ "INCLUDES=$(INCLUDES_FOR_SUBDIR)" \ "ADA_INCLUDES=-I$(RTS_DIR)../adainclude -I$(RTS_DIR) Could you post the command line for the compilation of one of the problematic units for the gnattools? -- Eric Botcazou

Re: Two build != host fixes

2013-12-12 Thread Eric Botcazou
t? Presumably not, but you could try to run gnat.dg instead. -- Eric Botcazou

Re: Two build != host fixes

2013-12-12 Thread Eric Botcazou
> arm-linux-gnueabihf-gcc -c -I./ > -I/home/ed/gnu/x/arm-linux-gnueabihf-linux64/lib/gcc/arm-linux-gnueabihf/4. > 9.0/adalib/../adainclude > -I/home/ed/gnu/x/arm-linux-gnueabihf-linux64/lib/gcc/arm-linux-gnueabihf/4. > 9.0/adalib/ -I. -I/home/ed/gnu/x/gcc-4.9-20131208/gcc/ada -g -O2 -W -Wall > -gna

Re: Two build != host fixes

2013-12-12 Thread Eric Botcazou
(LDFLAGS). It was actually already passed in the native case... -- Eric Botcazou

Re: [REPOST] Invalid Code when reading from unaligned zero-sized array

2013-12-12 Thread Eric Botcazou
atched compiler. As well as on ARM/EABI w/ and w/o -mfloat-abi=hard. -- Eric Botcazou

Re: Two build != host fixes

2013-12-12 Thread Eric Botcazou
> adalib ))) -endif > ADA_TOOLS_FLAGS_TO_PASS=\ > CC="$(CC)" \ > CXX="$(CXX)" \ That's tempting indeed, but we still support the old --disable-libada and these bits are required to make it work. -- Eric Botcazou

Re: Two build != host fixes

2013-12-12 Thread Eric Botcazou
> .. then does the second block need hoisting to bracket the two cases with > host!=build? This code works fine so I don't think that we really need to do anything. -- Eric Botcazou

<    1   2   3   4   5   6   7   8   9   10   >