This is a regression present on the mainline: gigi gets confused translating a
volatile access type whose designated type has its elaboration delayed.
Fixed thusly, tested on x86_64-suse-linux, applied on the mainline.
2015-03-20 Eric Botcazou
PR ada/65451
* gcc-interface
> The nios2 back end didn't previously implement TARGET_ASM_OUTPUT_MI_THUNK.
Then backends.html needs to be adjusted, done thusly, installed.
--
Eric BotcazouIndex: backends.html
===
RCS file: /cvs/gcc/wwwdocs/htdocs/backends.html,v
h Y as
> the pointer.
Can you elaborate a bit about Ada here? Front-ends don't fiddle directly with
RTL for years so I'm a little at a loss here.
--
Eric Botcazou
> For now it will blow up with a GCC error in the back end, which does
> not know about this attribute yet.
I guess that we don't want to have a half-backed implementation so I have
installed the gigi part. Tested on x86_64-suse-linux.
2015-03-26 Eric Botcazou
* gc
-suse-linux, applied on the mainline.
2015-04-08 Eric Botcazou
* gcc-interface/decl.c (gnat_to_gnu_entity) : Do not make
a function returning an unconstrained type 'const' for the middle-end.
2015-04-08 Eric Botcazou
* gnat.dg/opt48.adb: New test.
> I'll look into cross-building some embedded targets and see if any
> further issues surface.
SPARC is also broken, see my message and the tescase under the PR.
--
Eric Botcazou
a blatantly out-of-bounds array
access that is unreachable, so you can avoid it if you avoid generating
nonsensical code with your code generator.
--
Eric Botcazou
x_extend_sp32 is OK.
Tested on SPARC/Solaris 10, applied on mainline, 5 and 4.9 branches.
2015-06-11 Eric Botcazou
PR bootstrap/66252
* config/sparc/sparc.c (hard_regno_mode_classes): Add ??? comment.
* config/sparc/sparc.md (*zero_extendsidi2_insn_sp32): Use
-APCS frames, ARM and Thumb-2 modes. We
have been using it at AdaCore for a couple of years on Linux and VxWorks.
Tested on arm-eabi and arm-linux-gnueabi, OK for the mainline?
2015-06-11 Eric Botcazou
PR middle-end/65958
* config/arm/linux-elf.h (STACK_CHECK_STATIC_BUILTIN
Add query for template-dependent arguments to -fdump-ada-spec:
http://gcc.gnu.org/ml/gcc-patches/2015-06/msg00403.html
Get rid of assembly file with -fdump-ada-spec:
http://gcc.gnu.org/ml/gcc-patches/2015-06/msg00420.html
Thanks in advance.
--
Eric Botcazou
a little weak: what
> about indirect jumps, jumps with match_operand sources, or jumps in
> PARALLELs? That for another day though. At least this patch means
> we'll only have to update one place rather than two.
Agreed.
--
Eric Botcazou
.
--
Eric Botcazou
This is the Ada front-end (in fact gigi) part.
ada/
* gcc-interface/gigi.h (set_reverse_storage_order_on_pad_type): Declare
* gcc-interface/decl.c (gnat_to_gnu_entity) : Set the
storage order on the enclosing record for a packed array type.
: Set the storage order.
This is the C front-end + C family part.
* doc/extend.texi (type attributes): Document scalar_storage_order.
* doc/invoke.texi (Warnings): Document -Wno-scalar-storage-order.
c-family/
* c-common.c (c_common_attributes): Add scalar_storage_order.
(handle_scalar_stor
This is the C++ front-end part, probably incomplete but passes the testsuite.
cp/
* class.c (finish_struct_1): If structure has reverse scalar storage
order, rewrite the type of array fields with scalar component.
* semantics.c (reduced_constant_expression_p) : Deal with
This is the bulk of the implementation.
* calls.c (store_unaligned_arguments_into_pseudos): Adjust calls to
extract_bit_field and store_bit_field.
(initialize_argument_information): Adjust call to store_expr.
(load_register_parameters): Adjust call to extract_bit_fi
This is the rest of the implementation.
* asan.c (instrument_derefs): Adjust call to get_inner_reference.
* builtins.c (get_object_alignment_2): Likewise.
* cfgexpand.c (expand_debug_expr): Adjust call to get_inner_reference
and get_ref_base_and_extent.
* db
be adjusted as well,
i.e. regrename_do_replace should now return a boolean.
--
Eric Botcazou
related instructions can be moved up to before the instruction.
> Additionally please add
>
> (set_attr "conds" "clob")
>
> to this pattern so that the CCFSM state machine doesn't go awry in any
> of these cases.
Also done.
--
Eric Botcazou
ifying
> the lane ordering up front would be helpful especially as we now allow
> indexing into short vectors.
That's reasonable, and the name would sort of imply it, although the current
implementation doesn't do that (but wasn't really tested with vector types).
--
Eric Botcazou
cumented in the Index.
But the standard for C doesn't, so I'll change the wording, thanks.
--
Eric Botcazou
ructure.
Mixing bitfields with different endianness is simply not possible, they would
be non-contiguous in one of the orders. The endianness can only be flipped on
storage unit boundaries, which is automatically enforced in the C family of
languages by the aggregate type constraint (but not in Ada, so we have a
specific check to that effect in the Ada compiler).
--
Eric Botcazou
>
> > };
>
> The compiler accepts it, but apparently discards the attribute silently,
> which looks like a bug to me. Let me investigate.
This looks like an existing hole, the following is also silently accepted:
struct S1 { int i; };
struct S2 { struct __attribute__((unknown_attribute)) S1 s1; };
--
Eric Botcazou
iants with unqualified element type, and the versions with qualified
> element type. See c_build_qualified_type.
I see, will adjust, thanks for the tip.
--
Eric Botcazou
This adjusts the type adjustment code for array components in the C and C++
front-ends as per Joseph's remark, fixes a couple of documentation glitches
and adds 3 more testcases following Richard's questions.
Joseph, is that what you had in mind?
Tested on x86_64-suse-linux.
* doc/ext
pport.
Tested on x86_64-suse-linux, applied on the mainline.
2015-06-19 Eric Botcazou
* gcc-interface/decl.c (gnat_to_gnu_entity) : Make sure
the size of a padding type built around the return type is positive.
* gcc-interface/trans.c (gnat_to_gnu) :
Use INIT
linux, applied on the mainline.
2015-06-19 Eric Botcazou
* gcc-interface/misc.c (LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL): Define.
--
Eric BotcazouIndex: gcc-interface/misc.c
===
--- gcc-interface/misc.c (revision 224602)
++
tion time and this is now broken.
Tested on x86_64-suse-linux, applied on the mainline.
2015-06-19 Eric Botcazou
* gcc-interface/gigi.h (record_builtin_type): Adjust comment.
(tree create_type_decl): Likewise.
(create_var_decl_1): Add artificial_p and debug_in
> Yes, something like that.
Thanks, installed on the branch.
--
Eric Botcazou
t count as canonicalization. */
+ if (cmp != 1)
+ not_canonical = 1;
and
+ /* If nothing changed, fail. */
+ if (!not_canonical)
+return NULL_RTX;
Both are rather confusing now so the renaming isn't really a progress IMO.
--
Eric Botcazou
Add query for template-dependent arguments to -fdump-ada-spec:
http://gcc.gnu.org/ml/gcc-patches/2015-06/msg00403.html
Get rid of assembly file with -fdump-ada-spec:
http://gcc.gnu.org/ml/gcc-patches/2015-06/msg00420.html
Thanks in advance.
--
Eric Botcazou
Hi,
when you pass a response file at link time and you use the GNU linker, then
collect2 creates another, temporary response file and passes it to the linker.
But it fails to delete the file after it is done. This can easily be seen
with the following manipulation:
eric@polaris:~/build/gcc/nat
head comment to regrename_do_replace.
--
Eric Botcazou
> Yes, the patch is OK, modulo...
But you also need the approval of an ARM maintainer.
--
Eric Botcazou
ght to have a target
> hook that says so.
ARM both has "borderline" insns (in fact insns with match_parallel are enough)
and benefits from the regrename pass so this doesn't seem to be really doable.
--
Eric Botcazou
> Tested with --enable-languages=all. Ada had other issues, so I skipped it.
What other issues exactly? It's fine at r224930 for example.
--
Eric Botcazou
This fixes a few typos and formatting glitches, i.e. no functional change.
Tested on x86_64-suse-linux, applied on the mainline as obvious.
2015-06-25 Eric Botcazou
* lto-streamer-out.c (DFS::hash_scc): Fix typos and formatting glitches.
--
Eric BotcazouIndex: lto-streamer-out.c
> There were some defined but not used warnings (??) that caused it to
> fail, especially since I didn't configure with --disable-werror.
Weird. I bootstrap the compiler in default mode every day and I haven't had a
bootstrap failure for at least a month.
--
Eric Botcazou
EON to leon3.
--
Eric Botcazou
> Early variants of LEON3, revision 0, do not support the CASA instruction.
> This patch adds two new targets, leon3r0 and leon3r0v7, that are equivalent
> to leon3 and leon3v7, except that they do not support CASA.
Why not use leon instead of leon3 for them?
--
Eric Botcazou
r mode?
--
Eric Botcazou
Eric Botcazou
* gcc-interface/trans.c (loop_info_d): Add low_bound, high_bound,
artificial, has_checks and warned_aggressive_loop_optimizations.
(gigi): Set warn_aggressive_loop_optimizations to 0.
(inside_loop_p): New inline predicate.
(push_range_check_info
Mainly for the set of create_* functions in utils.c.
Tested on x86_64-suse-linux, applied on the mainline.
2015-06-26 Eric Botcazou
* gcc-interface/gigi.h (create_var_decl_1): Rename into...
(create_var_decl): ...this. Add default value for last parameter
In gigi we defer the generation of debug info for global types, so we need
to arrange to emit (again) the debug info for global variables after that,
otherwise the debug info can be incorrect.
2015-06-26 Eric Botcazou
* gcc-interface/gigi.h (note_types_used_by_globals): Delete
shared since it is
created too late (it is created at the end of the pass when optimization is
disabled after the change for PR debug/53927).
Fixed by teaching convert_local_omp_clauses about this case, tested on x86_64-
suse-linux, OK for the mainline and 5 branch?
2015-06-26 Eric Botcazou
g stuff, but I guess that the code ought not to
do anything if there aren't pre-existing nested functions in the sources.
Tested on x86_64-suse-linux, OK for the mainline and 5 branch?
2015-06-29 Eric Botcazou
PR middle-end/66633
* tree-nested.c (convert_nonlocal_omp_cl
This fixes the -fcompare-debug bootstrap failure reported by Jakub.
Tested on x86_64-suse-linux, applied on the mainline.
2015-06-29 Eric Botcazou
PR ada/63310
* gcc-interface/utils.c (gnat_write_global_declarations): Always
build the dummy global variable if code
iable warnings do not occur. */
#define gcc_assert(EXPR) ((void)(0 && (EXPR)))
so you really need to use a separate variable.
--
Eric Botcazou
passed.
As for binutils, they don't even know about leon3, eveything is leon for them.
--
Eric Botcazou
uld not need to change flag when compiling user or kernel code.
Thanks, OK for mainline, 5 branch and 4.9 branch.
--
Eric Botcazou
so there is no guaranteee that this will yield the same result
because DFS_write_tree will behave differently.
Fixed by passing the THIS_REF_P and REF_P parameters for FIRST to hash_scc.
Tested on x86_64-suse-linux, OK for the mainline?
2015-06-30 Eric Botcazou
* lto-streamer-ou
> Yes, there is only one optimization trick for the scheduler that requires
> leon3, but it doesn't affect correctness. We could easily change that, i.e.
> enable the trick for leon too if -mfix-ut699 is passed.
Like this, applied on all branches.
2015-06-30 Eric Botcazou
> Ok (I suppose this also affects the GCC 5 branch?)
Thanks. Yes, it does, but I'm not sure if we need to backport it immediately.
--
Eric Botcazou
ree-eh.c.) Seems like
> lousy design to me especially since proper usage doesn't seem to be
> documented anywhere.
... but not this one though.
> Anyway, I think the attached patch is what's required to fix the
> instance that's my fault. OK?
Yes, it's obviously OK.
--
Eric Botcazou
> Given there is no PR to track this I'll count on you remembering to
> backport it then ;)
OK.
> If you'd want it in 5.2 then you'd need to backport it by this Friday
> morning.
No thanks. :-)
--
Eric Botcazou
Jakub,
> 2015-06-29 Eric Botcazou
>
> PR middle-end/66633
> * tree-nested.c (convert_nonlocal_omp_clauses): Initialize need_chain
> to true if the function is nested and if not optimizing.
> (convert_local_omp_clauses): Initialize need_fr
This adds a #pragma scalar_storage_order directive to the C family of
languages that makes it possible to specify a default SSO.
Tested on x86_64-suse-linux. applied on the branch.
* doc/extend.texi (Structure-Packing Pragmas): Rename into...
( Structure-Layout Pragmas): ...this
This adds a -fsso-struct switch to the C family of languages that makes it
possible to change the default scalar storage order (a nice way of shooting
oneself in the foot if you ask me, but the Ada compiler has its own version of
this, so that's sort of fair). It is modelled on #pragma pack/-fp
> the timing.
One could add a -mtune-fpu switch. Did you look at other architectures in the
GCC tree that would have similar requirements?
--
Eric Botcazou
od specified by the pass_by_reference
hook (and large array types by reference).
--
Eric Botcazou
(convert? (bit_not @0)) INTEGER_CST@1)
(bit_xor (convert @0) (bit_not @1)))
That's incorrect if the types don't have the same precision, as in the other
cases, and is responsible for PR tree-optimization/66757.
Tested on x86_64-suse-linux, OK for the mainline?
2015-07-05 Eric Bot
, but I know how convincing C testcases can be. :-)
--
Eric Botcazou
> Please consider incorporating the patch into trunk.
Applied with ChangeLog sent privately.
--
Eric Botcazou
adjust_address (result, TARGET_ARCH64 ? TFmode :
> DFmode, 8)); + emit_use (valreg2);
> + }
Superfluous spaces around TARGET_FPU here.
--
Eric Botcazou
> 2015-06-26 Daniel Cederman
>
> * config/sparc/sparc.md: Window save takes a single integer
This will probably break in 64-bit mode, the operand can be a DImode register.
--
Eric Botcazou
> 2015-07-03 Daniel Cederman
>
> * config/sparc/sparc.c (struct processor_costs): Set div cost
> for leon to match UT699 and AT697F. Set mul cost for leon3 to
> match standard leon3.
So UT699 is not a standard LEON3?
--
Eric Botcazou
> Bootstrap+testsuite on powerpc64le-unknown-linux-gnu (it looks like
> *-match.c takes about 10 minutes to compile in stage2 these days).
Yeah, it has already taken back all the speedup brought by the rewrite of the
RTL gen* stuff by Richard S. :-(
--
Eric Botcazou
to add a 32-bit and a 64-bit variant of window_save?
Sort of, you can use the P mode iterator, but the name of the pattern will
vary so you'll need to adjust the callers.
--
Eric Botcazou
The Ada side doesn't know what to do with the move constructors of C++11 so
the attached patch makes -fdump-ada-spec skip them.
Tested on x86_64-suse-linux, applied on the mainline as obvious.
2015-07-07 Eric Botcazou
c-family/
* c-ada-spec.h (cpp_operation)
We need to skip the constexpr default constructors.
Tested on x86_64-suse-linux, applied on the mainline as obvious.
2015-07-08 Eric Botcazou
c-family/
* c-ada-spec.h (cpp_operation): Add IS_CONSTEXPR.
* c-ada-spec.c (print_ada_declaration): Skip constexpr constructors.
cp
after set_ld_library_path_env_vars is invoked (this procedure invokes in turn
set_gcc_exec_prefix_env_var), both in c-torture.exp and in gcc-dg.exp.
Tested on x86_64-suse-linux and visium-elf, OK for the mainline?
2015-01-15 Eric Botcazou
* lib/c-torture.exp: Compute LTO_TORTURE_OP
> This was really just a formality given Eric's existing maintainer
> positions ;-)
>
> I'm pleased to announce that Eric Botcazou has been appointed as the
> maintainer for the Visium port.
Thanks! As per an earlier discussion, I updated the MAINTAINERS file wh
It contains only 8 tests that were written for specific features.
Tested on visium-elf, applied on the mainline.
2015-01-16 Eric Botcazou
* gcc.target/visium: New directory.
--
Eric BotcazouIndex: gcc.target/visium/loop_clear.c
ger as the compare-elim pass, which means that only aarch64, mn10300, rx
and visium are potentially affected; now among them only visium has delay
slots so the patch actually affects visium only.
Tested on visium-elf. Any objections to me applying it now?
2015-01-16 Eric Botcazou
> > It would be nice to only have to write the set+set version, and do
> > some markup to say which of the clobber variants should be generated,
> > yes.
>
> define_subst should be able to do that.
The Visium port uses that (but the other way around).
--
Eric Botcazou
> For the moxie, nvptx, rl178 and rx ports, maintainers can send me the string
> as Sandra did for the nios2 port and I'll update the document.
DJ kindly sent them for both ports so I have installed them.
--
Eric BotcazouIndex: backends.html
==
... to match the just submitted newlib port. Applied on the mainline.
2015-01-20 Eric Botcazou
* config/visium/visium.h (LIB_SPEC): Adjust in default case.
--
Eric BotcazouIndex: config/visium/visium.h
===
--- config
> the attached patch removes obsolete ports (c4x, m68hc11 and ms1), toggles
> the 'p' letter and adjust accordingly (only avr, fr30, m68k, mcore, rs6000
> and sh still use define_peephole) and removes trailing spaces.
Same treatment for the 'b' letter, the ports that uses '"* ..."' notation for
o
n't use the DFA scheduler don't use the scheduler at all.
Yes, this makes sense, I'll do it (if you don't beat me to it), thanks.
--
Eric Botcazou
> Seems like the thread might have died down, so just wanted to ping it.
> As Marcus says, this is holding up other patches so it'd be good to get
> something in soon. Would it be OK to commit the original patch or should
> we wait?
Yes, go ahead, but add a FIXME or ??? c
> Perhaps 'd' should just go away completely. It was intended to
> distinguish between ports using the old scheduler description and
> ports using the DFA model.
Applied.
--
Eric BotcazouIndex: backends.html
===
RCS file: /cvs/gcc/w
and_mult and expand_mult_highpart_adjust are declared in emit-rtl.h?
--
Eric Botcazou
ed on x86_64-suse-linux, OK for the mainline?
2015-01-22 Eric Botcazou
* fold-const.c (fold_binary_loc): Do not call const_binop on MEM_REF.
--
Eric BotcazouIndex: fold-const.c
===
--- fold-const.c (revision 219928)
+++
> Thanks, moved them to expmed.h.
> Boostrapped on x86_64-unknown-linux-gnu with languages: all, testing
> in progress.
> Build on all targets in config-list.mk in progress.
> Assuming it goes fine, OK to commit ?
You can install it under the obvious rule once successfully te
te_bb_for_insn at the beginning? Or do the affected ports
need the BB info all the way down to final?
--
Eric Botcazou
> For the second half we really need to fix SPARC to be a vect64
> target (the testcase is vectorized with v8qi).
Yes, that makes sense in conjunction with the options used for vectorization.
--
Eric Botcazou
It's an uninitialized variable in a testcase I added back in 2008 that had
been silent until we started to generate overflow checks by default.
Tested on x86_64-suse-linux, applied on the mainline and 4.9 branch.
2015-01-26 Eric Botcazou
PR testsuite/64712
* gn
> Here's what I had in my local tree during last weekend's bootstraps: it
> worked fine indeed.
>
> Rainer
>
>
> 2015-01-23 Rainer Orth
>
> * lib/target-supports.exp (check_effective_target_vect64): Add
> sparc*-*-*.
Fine with me then, thanks.
--
Eric Botcazou
> Yes, they do, that is why it crashed during final.
OK. Why wouldn't it work to call reorder_insns instead of reorder_insns_nobb?
--
Eric Botcazou
nup_barrier for this back-end.
--
Eric Botcazou
> Changed in my copy to
> /* One plus the highest pseudo for which we track REG_N_SETS. */
>
> Ok with that change?
OK if you also add (part of) the explanation you wrote down in the opening
message to the above comment.
--
Eric Botcazou
/sparc/sparc.h
hunk being a no-op (because TARGET_V8PLUS => TARGET_DEPRECATED_V8_INSNS).
Tested on SPARC/Solaris and SPARC64/Solaris, applied on the mainline.
2015-02-03 Eric Botcazou
PR target/62631
* config/sparc/sparc.h (TARGET_HARD_MUL): Remove TARGET_V8P
orture/execute/pr64756.c: New test.
OK if you factor out the common code with the similar block for 'dest' above
into an invalidate_dest function (note that the MEM_P case is identical to the
REG_P and SUBREG cases) and invoke it on 'dest' and SET_DEST (sets[i].rtl).
--
Eric Botcazou
t of the function between SPARC
and SPARC64 for the same source code. OK for mainline after testing?
* tree-ssa-loop-ivopts.c (get_address_cost): Use proper mode for offset.
--
Eric Botcazou
It's probably there for a long time: the TARGET_LEGITIMATE_ADDRESS_P hook
rejects the last allowed positive offset in the reg+off addressing mode.
Tested on SPARC/Solaris, applied on the mainline.
2015-02-04 Eric Botcazou
* config/sparc/sparc.c (RTX_OK_FOR_OFFSET_P): Fix off-b
t and (add_cost + shift_cost) for the cost of
the shift-add operation.
Tested on x86-64, SPARC and SPARC64, OK for the mainline?
2015-02-05 Eric Botcazou
PR target/62631
* tree-ssa-loop-ivopts.c (get_shiftadd_cost): Use the mininum of costs
of shift-add and (add + sh
because you know this stuff much better than me.
To sum up, if you think that the patch is a plausible kludge, then go ahead.
--
Eric Botcazou
This adds an early assertion that the context of subprograms is in keeping
with their scope, to avoid obscure segfaults later if this isn't the case.
Tested on x86_64-suse-linux, applied on the mainline.
2015-02-08 Eric Botcazou
* gcc-interface/utils.c (begin_subprog_body): A
This makes it so that the special code dealing with alias sets for derived
types is skipped for subprogram types
Tested on x86_64-suse-linux, applied on the mainline.
2015-02-08 Eric Botcazou
* gcc-interface/decl.c (gnat_to_gnu_entity): Do not bother about alias
sets in
Gigi fails to set the "thiscall" calling convention on a method imported from
C++ if the class has no virtual member functions on the C++ side.
Tested on x86-windows, applied on the mainline.
2015-02-08 Eric Botcazou
* gcc-interface/decl.c (is_cplusplus_method): Use Is
1601 - 1700 of 4609 matches
Mail list logo