Ian Lance Taylor [Fri, 7 Mar 2014 05:04:37 +0000 (05:04 +0000)]
runtime: Fix GC bug caused by Entersyscall modifying reg.
This patch fixes a rare but serious bug. The Go garbage
collector only examines Go stacks. When Go code calls a
function that is not written in Go, it first calls
syscall.Entersyscall. Entersyscall records the position of
the Go stack pointer and saves a copy of all the registers.
If the garbage collector runs while the thread is executing
the non-Go code, the garbage collector fetches the stack
pointer and registers from the saved location.
Entersyscall saves the registers using the getcontext
function. Unfortunately I didn't consider the possibility
that Entersyscall might itself change a register before
calling getcontext. This only matters for callee-saved
registers, as caller-saved registers would be visible on the
saved stack. And it only matters if Entersyscall is compiled
to save and modify a callee-saved register before it calls
getcontext. And it only matters if a garbage collection
occurs while the non-Go code is executing. And it only
matters if the only copy of a valid Go pointer happens to be
in the callee-saved register when Entersyscall is called.
When all those conditions are true, the Go pointer might get
collected incorrectly, leading to memory corruption.
This patch tries to avoid the problem by splitting
Entersyscall into two functions. The first is a simple
function that just calls getcontext and then calls the rest of
Entersyscall. This should fix the problem, provided the
simple Entersyscall function does not itself modify any
callee-saved registers before calling getcontext. That seems
to be true on the systems I checked. But since the argument
to getcontext is an offset from a TLS variable, it won't be
true on a system which needs to save callee-saved registers in
order to get the address of a TLS variable. I don't know why
any system would work that way, but I don't know how to rule
it out. I think that on any such system this will have to be
implemented in assembler. I can't put the ucontext_t
structure on the stack, because this function can not split
stacks, and the ucontext_t structure is large enough that it
could cause a stack overflow.
From-SVN: r208390
GCC Administrator [Fri, 7 Mar 2014 00:16:53 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r208389
Paul Thomas [Thu, 6 Mar 2014 21:45:31 +0000 (21:45 +0000)]
re PR fortran/51976 ([F2003] Support deferred-length character components of derived types (allocatable string length))
2014-03-06 Paul Thomas <pault@gcc.gnu.org>
Janus Weil <janus@gcc.gnu.org>
PR fortran/51976
* gfortran.h (symbol_attribute): Add deferred_parameter attribute.
* primary.c (build_actual_constructor): It is not an error if
a missing component has the deferred_parameter attribute;
equally, if one is given a value, it is an error.
* resolve.c (resolve_fl_derived0): Remove error for deferred
character length components. Add the hidden string length
field to the structure. Give it the deferred_parameter
attribute.
* trans-array.c (duplicate_allocatable): Add a strlen field
which is used as the element size if it is non-null.
(gfc_duplicate_allocatable, gfc_copy_allocatable_data): Pass a
NULL to the new argument in duplicate_allocatable.
(structure_alloc_comps): Set the hidden string length as
appropriate. Use it in calls to duplicate_allocatable.
(gfc_alloc_allocatable_for_assignment): When a deferred length
backend declaration is variable, use that; otherwise use the
string length from the expression evaluation.
* trans-expr.c (gfc_conv_component_ref): If this is a deferred
character length component, the string length should have the
value of the hidden string length field.
(gfc_trans_subcomponent_assign): Set the hidden string length
field for deferred character length components. Allocate the
necessary memory for the string.
(alloc_scalar_allocatable_for_assignment): Same change as in
gfc_alloc_allocatable_for_assignment above.
* trans-stmt.c (gfc_trans_allocate): Likewise.
* trans-intrinsic (size_of_string_in_bytes): Make non-static.
* trans-types.c (gfc_get_derived_type): Set the tree type for
a deferred character length component.
* trans.c (gfc_deferred_strlen): New function.
* trans.h (size_of_string_in_bytes,gfc_deferred_strlen): New prototypes.
2014-03-06 Paul Thomas <pault@gcc.gnu.org>
Janus Weil <janus@gcc.gnu.org>
PR fortran/51976
* gfortran.dg/deferred_type_component_1.f90 : New test.
* gfortran.dg/deferred_type_component_2.f90 : New test.
Co-Authored-By: Janus Weil <janus@gcc.gnu.org>
From-SVN: r208386
Matthias Klose [Thu, 6 Mar 2014 14:16:49 +0000 (14:16 +0000)]
Makefile.in (s-mlib): Only pass MULTIARCH_DIRNAME if MULTILIB_OSDIRNAMES is not defined.
2014-03-06 Matthias Klose <doko@ubuntu.com>
* Makefile.in (s-mlib): Only pass MULTIARCH_DIRNAME if
MULTILIB_OSDIRNAMES is not defined.
From-SVN: r208383
Marek Polacek [Thu, 6 Mar 2014 13:41:46 +0000 (13:41 +0000)]
re PR c/60197 (ICE with _Cilk_spawn in expression)
PR c/60197
c-family/
* cilk.c (contains_cilk_spawn_stmt): New function.
(contains_cilk_spawn_stmt_walker): Likewise.
(recognize_spawn): Give error on invalid use of _Cilk_spawn.
* c-common.h (contains_cilk_spawn_stmt): Add declaration.
c/
* c-typeck.c (c_finish_return): Call contains_cilk_spawn_stmt instead
of checking tree code.
cp/
* typeck.c (check_return_expr): Call contains_cilk_spawn_stmt instead
of checking tree code.
testsuite/
* c-c++-common/cilk-plus/CK/pr60197.c: New test.
* c-c++-common/cilk-plus/CK/pr60197-2.c: New test.
From-SVN: r208382
Rainer Orth [Thu, 6 Mar 2014 12:24:11 +0000 (12:24 +0000)]
Don't install vtv_*.o unless --enable-vtable-verify (PR libgcc/59339)
PR libgcc/59339
* config.host (*-*-linux*, frv-*-*linux*, *-*-kfreebsd*-gnu)
(*-*-knetbsd*-gnu, *-*-gnu*, *-*-kopensolaris*-gnu): Only add
vtv_*.o to extra_parts if enable_vtable_verify.
From-SVN: r208381
Jakub Jelinek [Thu, 6 Mar 2014 12:07:07 +0000 (13:07 +0100)]
re PR target/58595 (internal compiler error: in gen_movsi when compiling on arm some files of lttng-tools with -fPIE)
PR target/58595
* config/arm/arm.c (arm_tls_symbol_p): Remove.
(arm_legitimize_address): Call legitimize_tls_address for any
arm_tls_referenced_p expression, handle constant addend. Call it
before testing for !TARGET_ARM.
(thumb_legitimize_address): Don't handle arm_tls_symbol_p here.
* gcc.dg/tls/pr58595.c: New test.
Co-Authored-By: Meador Inge <meadori@codesourcery.com>
From-SVN: r208380
Richard Biener [Thu, 6 Mar 2014 11:19:13 +0000 (11:19 +0000)]
re PR middle-end/60445 (473.astar miscompares with -Ofast)
2014-03-06 Richard Biener <rguenther@suse.de>
PR middle-end/60445
PR lto/60424
PR lto/60427
Revert
2014-03-04 Paulo Matos <paulo@matos-sorge.com>
* tree-streamer.c (record_common_node): Assert we don't record
nodes with type double.
(preload_common_node): Skip type double, complex double and
double pointer since it is now frontend dependent due to
fshort-double option.
* gcc.dg/lto/pr55113_0.c: New testcase.
From-SVN: r208379
Paolo Carlini [Thu, 6 Mar 2014 09:40:06 +0000 (09:40 +0000)]
parser.c (cp_lexer_set_source_position): New.
2014-03-06 Paolo Carlini <paolo.carlini@oracle.com>
* parser.c (cp_lexer_set_source_position): New.
(cp_parser_mem_initializer): Use it.
(cp_parser_postfix_open_square_expression): Likewise.
(cp_parser_parenthesized_expression_list): Likewise.
(cp_parser_new_initializer): Likewise.
(cp_parser_jump_statement): Likewise.
(cp_parser_initializer): Likewise.
(cp_parser_functional_cast): Likewise.
From-SVN: r208378
Richard Biener [Thu, 6 Mar 2014 08:48:01 +0000 (08:48 +0000)]
gcc.c (PLUGIN_COND): Always enable unless -fno-use-linker-plugin or -fno-lto is specified and the...
2014-03-06 Richard Biener <rguenther@suse.de>
* gcc.c (PLUGIN_COND): Always enable unless -fno-use-linker-plugin
or -fno-lto is specified and the linker has full plugin support.
* collect2.c (lto_mode): Default to LTO_MODE_WHOPR if LTO is
enabled.
(main): Remove -flto processing, adjust lto_mode using
use_plugin late.
* lto-wrapper.c (merge_and_complain): Merge compile-time
optimization levels.
(run_gcc): And pass it through to the link options.
From-SVN: r208375
Nick Clifton [Thu, 6 Mar 2014 08:35:40 +0000 (08:35 +0000)]
t-msp430 (LIB2ADD): Add lib2hw_mul.S
* config/msp430/t-msp430 (LIB2ADD): Add lib2hw_mul.S
* config/msp430/lib2hw_mul.S: New: Hardware multiply routines.
From-SVN: r208374
Alexandre Oliva [Thu, 6 Mar 2014 07:04:47 +0000 (07:04 +0000)]
re PR debug/60381 (ICE: in vt_expand_var_loc_chain, at var-tracking.c:8245)
PR debug/60381
Revert:
2014-02-28 Alexandre Oliva <aoliva@redhat.com>
PR debug/59992
* cselib.c (remove_useless_values): Skip to avoid quadratic
behavior if the condition moved from...
(cselib_process_insn): ... here holds.
From-SVN: r208361
Ed Smith-Rowland [Thu, 6 Mar 2014 01:31:39 +0000 (01:31 +0000)]
[libstdc++,docs] After the latest batch of papers came out I updated the status docs.
From-SVN: r208358
GCC Administrator [Thu, 6 Mar 2014 00:16:40 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r208357
Jakub Jelinek [Wed, 5 Mar 2014 20:07:50 +0000 (21:07 +0100)]
re PR testsuite/59308 (gcc.dg/tree-ssa/ssa-ifcombine-ccmp-[1456] tests fail on arm cortex-a5)
PR testsuite/59308
* gcc.dg/pr46309.c: Don't compile on logical_op_short_circuit targets
other than mips/avr. Use -mbranch-cost=2 even for i?86/x86_64.
* gcc.dg/tree-ssa/reassoc-32.c: Use -mbranch-cost=2 even for
s390*/i?86/x86_64.
* gcc.dg/tree-ssa/reassoc-33.c: Likewise.
* gcc.dg/tree-ssa/reassoc-34.c: Likewise.
* gcc.dg/tree-ssa/reassoc-35.c: Likewise.
* gcc.dg/tree-ssa/reassoc-36.c: Likewise.
* gcc.dg/tree-ssa/ssa-ifcombine-ccmp-1.c: Don't compile on
logical_op_short_circuit targets other than avr. Use -mbranch-cost=2
even for mips*/s390*/i?86/x86_64.
* gcc.dg/tree-ssa/ssa-ifcombine-ccmp-2.c: Likewise.
* gcc.dg/tree-ssa/ssa-ifcombine-ccmp-3.c: Likewise.
* gcc.dg/tree-ssa/ssa-ifcombine-ccmp-4.c: Likewise.
* gcc.dg/tree-ssa/ssa-ifcombine-ccmp-5.c: Likewise.
* gcc.dg/tree-ssa/ssa-ifcombine-ccmp-6.c: Likewise.
From-SVN: r208354
Jason Merrill [Wed, 5 Mar 2014 19:25:37 +0000 (14:25 -0500)]
re PR c++/60409 ([c++1y] ICE on valid with template function)
PR c++/60409
* semantics.c (force_paren_expr): Only add a PAREN_EXPR to a
dependent expression.
From-SVN: r208352
Jason Merrill [Wed, 5 Mar 2014 17:53:28 +0000 (12:53 -0500)]
re PR c++/60361 (unexpected 'use of parameter outside function body' error)
PR c++/60361
* parser.c (cp_parser_template_id): Don't set up a CPP_TEMPLATE_ID
if re-parsing might succeed.
* semantics.c (finish_id_expression): Use of a parameter outside
the function body is a parse error.
From-SVN: r208351
Jason Merrill [Wed, 5 Mar 2014 17:53:21 +0000 (12:53 -0500)]
parser.c (cp_parser_mem_initializer): Set input_location properly for init-list warning.
* parser.c (cp_parser_mem_initializer): Set input_location
properly for init-list warning.
(cp_parser_postfix_open_square_expression): Likewise.
(cp_parser_parenthesized_expression_list): Likewise.
(cp_parser_new_initializer): Likewise.
(cp_parser_jump_statement): Likewise.
(cp_parser_initializer): Likewise.
(cp_parser_functional_cast): Likewise.
From-SVN: r208350
Jakub Jelinek [Wed, 5 Mar 2014 15:06:23 +0000 (16:06 +0100)]
re PR plugins/59335 (Plugin doesn't build on trunk)
PR plugins/59335
* Makefile.in (PLUGIN_HEADERS): Add tree-phinodes.h, stor-layout.h,
ssa-iterators.h, $(RESOURCE_H) and tree-cfgcleanup.h.
From-SVN: r208346
Jakub Jelinek [Wed, 5 Mar 2014 09:52:18 +0000 (10:52 +0100)]
re PR plugins/59335 (Plugin doesn't build on trunk)
PR plugins/59335
* config/i386/t-i386 (OPTIONS_H_EXTRA): Add stringop.def.
(TM_H): Add x86-tune.def.
From-SVN: r208344
Kyrylo Tkachov [Wed, 5 Mar 2014 09:39:09 +0000 (09:39 +0000)]
aarch64.c (generic_tunings): Use cortexa57_extra_costs.
* config/aarch64/aarch64.c (generic_tunings):
Use cortexa57_extra_costs.
From-SVN: r208343
Jakub Jelinek [Wed, 5 Mar 2014 08:46:31 +0000 (09:46 +0100)]
re PR lto/60404 (wrong code by LTO on x86_64-linux-gnu)
PR lto/60404
* cfgexpand.c (expand_used_vars): Do not assume all SSA_NAMEs
of PARM/RESULT_DECLs must be coalesced with optimize && in_lto_p.
* tree-ssa-coalesce.c (coalesce_ssa_name): Use MUST_COALESCE_COST - 1
cost for in_lto_p.
* gcc.dg/lto/pr60404_0.c: New test.
* gcc.dg/lto/pr60404_1.c: New file.
* gcc.dg/lto/pr60404_2.c: New file.
From-SVN: r208340
GCC Administrator [Wed, 5 Mar 2014 00:17:10 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r208338
Jason Merrill [Tue, 4 Mar 2014 22:16:12 +0000 (17:16 -0500)]
re PR c++/60417 ([DR 1518] Bogus error on C++03 aggregate initialization)
PR c++/60417
* typeck2.c (process_init_constructor_record): Set
CONSTRUCTOR_IS_DIRECT_INIT on {} for omitted initializers.
From-SVN: r208333
Jason Merrill [Tue, 4 Mar 2014 22:16:03 +0000 (17:16 -0500)]
re PR c++/60415 (Bogus "invalid use of qualified-name")
PR c++/60415
PR c++/54359
* parser.c (cp_parser_direct_declarator): Set declarator to
cp_error_declarator on invalid qualified-id.
From-SVN: r208332
Heiher [Tue, 4 Mar 2014 21:39:50 +0000 (04:09 +0630)]
mips-cpus.def (loongson3a): Mark as a MIPS64r2 processor.
gcc/
2014-03-04 Heiher <r@hev.cc>
* config/mips/mips-cpus.def (loongson3a): Mark as a MIPS64r2 processor.
* config/mips/mips.h (MIPS_ISA_LEVEL_SPEC): Adjust accordingly.
From-SVN: r208330
Uros Bizjak [Tue, 4 Mar 2014 18:13:12 +0000 (19:13 +0100)]
predicates.md (const2356_operand): Change to ...
* config/i386/predicates.md (const2356_operand): Change to ...
(const2367_operand): ... this.
* config/i386/sse.md (avx512pf_scatterpf<mode>sf): Use
const2367_operand.
(*avx512pf_scatterpf<mode>sf_mask): Ditto.
(*avx512pf_scatterpf<mode>sf): Ditto.
(avx512pf_scatterpf<mode>df): Ditto.
(*avx512pf_scatterpf<mode>df_mask): Ditto.
(*avx512pf_scatterpf<mode>df): Ditto.
* config/i386/i386.c (ix86_expand_builtin): Update
incorrect hint operand error message.
From-SVN: r208324
Bill Schmidt [Tue, 4 Mar 2014 17:00:21 +0000 (17:00 +0000)]
extract-vsx.c: Replace "vector long" with "vector long long" throughout.
2014-03-04 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* gcc.dg/vmx/extract-vsx.c: Replace "vector long" with "vector
long long" throughout.
* gcc.dg/vmx/extract-vsx-be-order.c: Likewise.
* gcc.dg/vmx/insert-vsx.c: Likewise.
* gcc.dg/vmx/insert-vsx-be-order.c: Likewise.
* gcc.dg/vmx/ld-vsx.c: Likewise.
* gcc.dg/vmx/ld-vsx-be-order.c: Likewise.
* gcc.dg/vmx/ldl-vsx.c: Likewise.
* gcc.dg/vmx/ldl-vsx-be-order.c: Likewise.
* gcc.dg/vmx/merge-vsx.c: Likewise.
* gcc.dg/vmx/merge-vsx-be-order.c: Likewise.
* gcc.dg/vmx/st-vsx.c: Likewise.
* gcc.dg/vmx/st-vsx-be-order.c: Likewise.
* gcc.dg/vmx/stl-vsx.c: Likewise.
* gcc.dg/vmx/stl-vsx-be-order.c: Likewise.
From-SVN: r208321
Jonathan Wakely [Tue, 4 Mar 2014 12:56:10 +0000 (12:56 +0000)]
* MAINTAINERS: Update my email address.
From-SVN: r208316
Richard Biener [Tue, 4 Mar 2014 12:52:13 +0000 (12:52 +0000)]
lto-section-in.c (lto_get_section_data): Fix const cast.
2014-03-04 Richard Biener <rguenther@suse.de>
* lto-section-in.c (lto_get_section_data): Fix const cast.
From-SVN: r208315
Paulo Matos [Tue, 4 Mar 2014 11:45:06 +0000 (12:45 +0100)]
tree-streamer.c (record_common_node): Assert we don't record nodes with type double.
2014-03-04 Paulo Matos <paulo@matos-sorge.com>
* tree-streamer.c (record_common_node): Assert we don't record
nodes with type double.
(preload_common_node): Skip type double, complex double and
double pointer since it is now frontend dependent due to
fshort-double option.
2014-03-04 Paulo Matos <paulo@matos-sorge.com>
* gcc.dg/lto/pr55113_0.c: New testcase.
From-SVN: r208312
Richard Biener [Tue, 4 Mar 2014 11:25:50 +0000 (11:25 +0000)]
re PR lto/60405 (ICE in lto1 on x86_64-linux-gnu)
2014-03-04 Richard Biener <rguenther@suse.de>
PR lto/60405
* lto-streamer-in.c (lto_read_body): Remove LTO bytecode version
check.
(lto_input_toplevel_asms): Likewise.
* lto-section-in.c (lto_get_section_data): Instead do it here
for every section.
From-SVN: r208311
Paolo Carlini [Tue, 4 Mar 2014 10:52:18 +0000 (10:52 +0000)]
re PR c++/60376 ([c++1y] ICE on invalid with using declaration in template function)
/gcc/cp
2014-03-04 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/60376
* parser.c (cp_parser_using_declaration): Early return when
cp_parser_nested_name_specifier errors out.
/gcc/testsuite
2014-03-04 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/60376
* g++.dg/cpp1y/pr60376.C: New.
/libstdc++-v3
2014-03-04 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/60376
* testsuite/29_atomics/headers/atomic/types_std_c++0x_neg.cc:
Adjust dg-error directives.
From-SVN: r208309
Rainer Orth [Tue, 4 Mar 2014 10:02:17 +0000 (10:02 +0000)]
Fix g++.dg/abi/anon2.C with -std=c++98
* g++.dg/abi/anon2.C: Don't scan assembler for c++98.
From-SVN: r208307
Richard Biener [Tue, 4 Mar 2014 08:47:55 +0000 (08:47 +0000)]
re PR tree-optimization/60382 (ICE on valid code at -O3 on x86_64-linux-gnu (in vect_create_epilog_for_reduction, at tree-vect-loop.c:4352))
2014-03-04 Richard Biener <rguenther@suse.de>
PR tree-optimization/60382
* tree-vect-loop.c (vect_is_simple_reduction_1): Do not consider
dead PHIs a reduction.
* gcc.dg/vect/pr60382.c: New testcase.
From-SVN: r208305
Jerry DeLisle [Tue, 4 Mar 2014 05:46:06 +0000 (05:46 +0000)]
re PR fortran/60148 (strings in NAMELIST do not honor DELIM= in open statement)
2014-03-03 Jerry DeLisle <jvdelisle@gcc.gnu>
PR libfortran/60148
* gfortran.dg/namelist_84.f90: New test.
From-SVN: r208303
Jerry DeLisle [Tue, 4 Mar 2014 04:33:40 +0000 (04:33 +0000)]
re PR fortran/60148 (strings in NAMELIST do not honor DELIM= in open statement)
2014-03-03 Jerry DeLisle <jvdelisle@gcc.gnu>
PR libfortran/60148
* io/inquire.c (inquire_via_unit): In the case of
DELIM_UNSPECIFIED set inquire return string to "NONE".
* io/list_read.c (read_character): In the case of DELIM_NONE and
namelists, complete the character read using the namelist
variable length.
* io/open.c (new_unit): Don't set delim status to none if not
specified so that DELIM_UNSPECIFIED can be used later.
* io/transfer.c (data_transfer_init): For namelist I/O, if the
unit delim status is unspecified set the current status to quote.
Otherwise, set current status to the unit status.
* io/unit.c (get_internel_unit, init_unit): Remember to set
flags_delim initially to DELIM_UNSPECIFIED so defaults come out
correctly.
* io/write.c (write_character): Add a new function argument
"mode" to signify that raw output is to be used vs output with
delimiters. If the mode is set to DELIM (1) proceed with
delimiters. (list_formatted_write_scalar): Write the separator
only if a delimiter was previously specified. Update the call to
write_character with the mode argument given.
(namelist_write_newline): Use the mode argument. (nml_write_obj):
Use the mode argument. Remove use of tmp_delim. Write the
semi-colon or comma correctly only when needed with using
delimiters. Cleanup whitespace.
(namelist_write): If delim is not specified in namelist I/O,
default to using quotes. Get rid of the tmp_delim variable and
use the new mode argument in write_character.
From-SVN: r208302
Ian Lance Taylor [Tue, 4 Mar 2014 02:56:57 +0000 (02:56 +0000)]
go-gcc.cc (Gcc_backend::immutable_struct): If IS_COMMON, set DECL_WEAK.
* go-gcc.cc (Gcc_backend::immutable_struct): If IS_COMMON, set
DECL_WEAK.
(GCC_backend::immutable_struct_set_init): If IS_COMMON, clear
DECL_WEAK.
From-SVN: r208301
GCC Administrator [Tue, 4 Mar 2014 00:16:44 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r208299
Uros Bizjak [Mon, 3 Mar 2014 23:24:12 +0000 (00:24 +0100)]
xmmintrin.h (enum _mm_hint): Correct hint value.
* config/i386/xmmintrin.h (enum _mm_hint) <_MM_HINT_ET0>: Correct
hint value.
(_mm_prefetch): Move out of GCC target("sse") pragma.
* config/i386/prfchwintrin.h (_m_prefetchw): Move out of
GCC target("prfchw") pragma.
* config/i386/i386.md (prefetch): Emit prefetchwt1 only
for locality <= 2.
* config/i386/i386.c (ix86_option_override_internal): Enable
-mprfchw with -mprefetchwt1.
From-SVN: r208296
Joern Rennecke [Mon, 3 Mar 2014 22:09:02 +0000 (22:09 +0000)]
arc.md (casesi_load): Mark as varying.
* config/arc/arc.md (casesi_load) <length attribute alternative 0>:
Mark as varying.
From-SVN: r208294
Joern Rennecke [Mon, 3 Mar 2014 22:01:57 +0000 (22:01 +0000)]
* config/arc/arc.opt (misize): Add PchIgnore property.
From-SVN: r208293
Joern Rennecke [Mon, 3 Mar 2014 21:51:58 +0000 (21:51 +0000)]
opts.h (CL_PCH_IGNORE): Define.
* opts.h (CL_PCH_IGNORE): Define.
* targhooks.c (option_affects_pch_p):
Return false for options that have CL_PCH_IGNORE set.
* opt-functions.awk: Process PchIgnore.
* doc/options.texi: Document PchIgnore.
From-SVN: r208292
Bill Schmidt [Mon, 3 Mar 2014 20:36:56 +0000 (20:36 +0000)]
configure.tgt: Unsupported for little endian PowerPC for now.
2014-03-03 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* configure.tgt: Unsupported for little endian PowerPC for now.
From-SVN: r208290
Bill Schmidt [Mon, 3 Mar 2014 20:16:52 +0000 (20:16 +0000)]
rs6000.c (rs6000_preferred_reload_class): Disallow reload of PLUS rtx's outside of GENERAL_REGS or BASE_REGS...
2014-03-03 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* config/rs6000/rs6000.c (rs6000_preferred_reload_class): Disallow
reload of PLUS rtx's outside of GENERAL_REGS or BASE_REGS; relax
constraint on constants to permit them being loaded into
GENERAL_REGS or BASE_REGS.
From-SVN: r208287
Ian Lance Taylor [Mon, 3 Mar 2014 20:14:52 +0000 (20:14 +0000)]
libgo: Update to Go 1.2.1 release.
From-SVN: r208286
Joseph Myers [Mon, 3 Mar 2014 19:04:36 +0000 (19:04 +0000)]
be.po, [...]: Update.
* be.po, ca.po, da.po, de.po, el.po, eo.po, es.po, fi.po, fr.po,
id.po, ja.po, nl.po, pr_BR.po, ru.po, sr.po, sv.po, tr.po, uk.po,
vi.po, zh_CN.po, zh_TW.po: Update.
From-SVN: r208285
Joseph Myers [Mon, 3 Mar 2014 19:03:00 +0000 (19:03 +0000)]
be.po, [...]: Update.
* be.po, da.po, de.po, el.po, es.po, fi.po, fr.po, hr.po, id.po,
ja.po, nl.po, ru.po, sr.po, sv.po, tr.po, vi.po, zh_CN.po,
zh_TW.po: Update.
From-SVN: r208284
Nick Clifton [Mon, 3 Mar 2014 17:17:49 +0000 (17:17 +0000)]
rl78-real.md (cbranchsi4_real_signed): Add anti-cacnonical alternatives.
* config/rl78/rl78-real.md (cbranchsi4_real_signed): Add
anti-cacnonical alternatives.
(negandhi3_real): New pattern.
* config/rl78/rl78-virt.md (negandhi3_virt): New pattern.
From-SVN: r208282
Senthil Kumar Selvaraj [Mon, 3 Mar 2014 16:04:47 +0000 (16:04 +0000)]
avr-mcus.def: Remove atxmega16x1.
* config/avr/avr-mcus.def: Remove atxmega16x1.
* config/avr/avr-tables.opt: Regenerate.
* config/avr/t-multilib: Regenerate.
* doc/avr-mmcu.texi: Regenerate.
From-SVN: r208281
Kirill Yukhin [Mon, 3 Mar 2014 12:45:59 +0000 (12:45 +0000)]
avx512er-vexp2ps-2.c: Decrease exponent argument to avoid inf values.
gcc/testsuite/
* gcc.target/i386/avx512er-vexp2ps-2.c: Decrease exponent
argument to avoid inf values.
* gcc.target/i386/avx512f-vdivps-2.c: Compare results with
UNION_FP_CHECK machinery.
From-SVN: r208276
Renlin Li [Mon, 3 Mar 2014 12:06:56 +0000 (12:06 +0000)]
validate_memory.h: Move f32in64 and i32in128 cases outside special big-endian processing block.
2014-03-03 Renlin Li <Renlin.Li@arm.com>
* gcc.target/aarch64/aapcs64/validate_memory.h: Move f32in64 and
i32in128 cases outside special big-endian processing block.
From-SVN: r208275
Tobias Grosser [Mon, 3 Mar 2014 11:39:22 +0000 (11:39 +0000)]
re PR tree-optimization/58028 (Several failures in libgomp.graphite after revision 200946)
2014-03-03 Tobias Grosser <tobias@grosser.es>
Mircea Namolaru <mircea.namolaru@inria.fr>
PR tree-optimization/58028
* graphite-clast-to-gimple.c (set_cloog_options): Don't remove
scalar dimensions.
Co-Authored-By: Mircea Namolaru <mircea.namolaru@inria.fr>
From-SVN: r208273
Jakub Jelinek [Mon, 3 Mar 2014 11:12:22 +0000 (12:12 +0100)]
re PR preprocessor/60400 (ICE with trigraphs)
PR preprocessor/60400
* c-c++-common/cpp/pr60400.c: New test.
* c-c++-common/cpp/pr60400-1.h: New file.
* c-c++-common/cpp/pr60400-2.h: New file.
From-SVN: r208272
Jakub Jelinek [Mon, 3 Mar 2014 09:36:44 +0000 (10:36 +0100)]
re PR objc++/60398 (FAIL: obj-c++.dg/invalid-method-2.mm -fgnu-runtime (test for errors, line 10))
PR objc++/60398
* obj-c++.dg/invalid-method-2.mm: Adjust dg-error regexps.
From-SVN: r208270
Ramana Radhakrishnan [Mon, 3 Mar 2014 08:09:14 +0000 (08:09 +0000)]
[ARM] Legitimize addresses for movmisalign<mode> for Neon.
2014-03-03 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
* config/arm/neon.md (*movmisalign<mode>): Legitimize addresses
not handled by recognizers.
From-SVN: r208269
Jakub Jelinek [Mon, 3 Mar 2014 07:27:46 +0000 (08:27 +0100)]
c-pragma.c (c_pp_lookup_pragma): Handle PRAGMA_CILK_SIMD.
* c-pragma.c (c_pp_lookup_pragma): Handle PRAGMA_CILK_SIMD.
(init_pragma): Call cpp_register_deferred_pragma for PRAGMA_CILK_SIMD
even when flag_preprocess_only.
* c-c++-common/cilk-plus/PS/vectorlength-2.c: New test.
* c-c++-common/cilk-plus/PS/vectorlength-3.c: New test.
From-SVN: r208268
Jakub Jelinek [Mon, 3 Mar 2014 07:25:50 +0000 (08:25 +0100)]
re PR middle-end/60175 (ICE on gcc.dg/asan/nosanitize-and-inline.c)
PR middle-end/60175
* function.c (expand_function_end): Don't emit
clobber_return_register sequence if clobber_after is a BARRIER.
* cfgexpand.c (construct_exit_block): Append instructions before
return_label to prev_bb.
From-SVN: r208267
Bill Schmidt [Mon, 3 Mar 2014 01:33:24 +0000 (01:33 +0000)]
constraints.md: Document reserved use of "wc".
2014-03-02 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* config/rs6000/constraints.md: Document reserved use of "wc".
From-SVN: r208266
GCC Administrator [Mon, 3 Mar 2014 00:16:41 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r208265
Jan Hubicka [Sun, 2 Mar 2014 22:19:37 +0000 (23:19 +0100)]
re PR lto/60150 (ICE in function_and_variable_visibility, at ipa.c:1000)
PR ipa/60150
* ipa.c (function_and_variable_visibility): When dissolving comdat
group, also set all symbols to local.
* g++.dg/lto/pr60150.H: New testcase.
* g++.dg/lto/pr60150_0.C: New testcase.
* g++.dg/lto/pr60150_1.C: New testcase.
From-SVN: r208262
Jan Hubicka [Sun, 2 Mar 2014 20:51:48 +0000 (21:51 +0100)]
re PR ipa/60306 (Incorrect devirtualization "pure virtual method called")
PR ipa/60306
Revert:
2013-12-14 Jan Hubicka <jh@suse.cz>
PR middle-end/58477
* ipa-prop.c (stmt_may_be_vtbl_ptr_store): Skip clobbers.
* testsuite/g++.dg/ipa/devirt-29.C: New testcase
From-SVN: r208261
Jon Beniston [Sun, 2 Mar 2014 19:58:24 +0000 (19:58 +0000)]
re PR bootstrap/48230 (bootstrapping gcc-4.6.0-RC-
20110321 fails for lm32-rtems*)
PR bootstrap/48230
PR bootstrap/50927
PR bootstrap/52466
PR target/46898
* config/lm32/lm32.c (lm32_legitimate_constant_p): Remove, as incorrect.
(TARGET_LEGITIMATE_CONSTANT_P): Undefine, as not needed.
* config/lm32/lm32.md (movsi_insn): Add 32-bit immediate support.
(simple_return, *simple_return): New patterns
* config/lm32/predicates.md (movsi_rhs_operand): Remove as obsolete.
* configure.ac (force_sjlj_exceptions): Force sjlj exceptions for lm32.
From-SVN: r208260
Bernd Edlinger [Sun, 2 Mar 2014 18:06:49 +0000 (18:06 +0000)]
re PR fortran/60236 (gfortran.dg/vect/pr32380.f fails on ARM)
2014-03-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
PR fortran/60236
* gfortran.dg/vect/pr32380.f: Fix expected test results.
From-SVN: r208257
GCC Administrator [Sun, 2 Mar 2014 00:16:53 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r208254
Edward Smith-Rowland [Sat, 1 Mar 2014 22:51:25 +0000 (22:51 +0000)]
re PR c++/50025 ([DR 1288] C++0x initialization syntax doesn't work for class members of reference type)
2014-03-01 Edward Smith-Rowland <3dw4rd@verizon.net>
PR c++/50025
* g++.dg/cpp0x/pr50025.C: New.
From-SVN: r208251
Adam Butcher [Sat, 1 Mar 2014 21:28:18 +0000 (21:28 +0000)]
re PR c++/60377 ([c++1y] ICE with invalid function parameter in conjunction with auto parameter)
Fix PR c++/60377.
PR c++/60377
* parser.c (cp_parser_parameter_declaration_clause): Unwind generic
function scope on parse error in function parameter list.
PR c++/60377
* g++.dg/cpp1y/pr60377.C: New testcase.
From-SVN: r208250
Mikael Morin [Sat, 1 Mar 2014 21:14:54 +0000 (21:14 +0000)]
re PR fortran/60341 (ICE compiling Nonmem 6.2.0)
fortran/
PR fortran/60341
* frontend-passes.c (optimize_comparison): Guard two union
accesses with the corresponding tag checks.
testsuite/
PR fortran/60341
* gfortran.dg/str_comp_optimize_1.f90: New test.
From-SVN: r208249
Paolo Carlini [Sat, 1 Mar 2014 21:14:00 +0000 (21:14 +0000)]
method.c (implicitly_declare_fn): Remove redundant DECL_TEMPLATE_RESULT and STRIP_TEMPLATE uses.
/cp
2014-03-01 Paolo Carlini <paolo.carlini@oracle.com>
* method.c (implicitly_declare_fn): Remove redundant
DECL_TEMPLATE_RESULT and STRIP_TEMPLATE uses.
* semantics.c (is_instantiation_of_constexpr): Likewise.
* error.c (dump_function_decl): Likewise.
2014-03-01 Paolo Carlini <paolo.carlini@oracle.com>
* dwarf2out.c (gen_subprogram_die): Tidy.
From-SVN: r208248
Jason Merrill [Sat, 1 Mar 2014 19:40:33 +0000 (14:40 -0500)]
re PR c++/60379 (pugixml build failure caused by r207001)
PR c++/60379
* semantics.c (begin_maybe_infinite_loop): Use
fold_non_dependent_expr_sfinae.
From-SVN: r208247
Jason Merrill [Sat, 1 Mar 2014 14:14:25 +0000 (09:14 -0500)]
re PR c++/58845 (Operator || and && broken for vectors)
PR c++/58845
* typeck.c (cp_build_binary_op): Sorry on vector&&vector.
From-SVN: r208243
Oleg Endo [Sat, 1 Mar 2014 13:16:37 +0000 (13:16 +0000)]
re PR target/60071 ([SH] internal compiler error: in final_scan_insn, at final.c:2963)
PR target/60071
* config/sh/sh.md (*mov_t_msb_neg): Split into ...
(*mov_t_msb_neg_negc): ... this new insn.
PR target/60071
* gcc.c-torture/compile/pr60071.c: New.
From-SVN: r208242
Jason Merrill [Sat, 1 Mar 2014 00:17:09 +0000 (19:17 -0500)]
re PR c++/58678 (pykde4-4.11.2 link error (devirtualization too trigger happy))
PR c++/58678
* ipa-devirt.c (ipa_devirt): Don't choose an implicitly-declared
function.
From-SVN: r208241
GCC Administrator [Sat, 1 Mar 2014 00:17:05 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r208240
Joey Ye [Fri, 28 Feb 2014 21:53:40 +0000 (21:53 +0000)]
re PR libgcc/60166 (ARM default NAN encoding violates EABI)
2014-02-28 Joey Ye <joey.ye@arm.com>
PR libgcc/60166
* config/arm/sfp-machine.h (_FP_NANFRAC_H,
_FP_NANFRAC_S, _FP_NANFRAC_D, _FP_NANFRAC_Q):
Set to zero.
From-SVN: r208229
Janus Weil [Fri, 28 Feb 2014 21:30:04 +0000 (22:30 +0100)]
re PR fortran/60359 ([OOP] symbol `__io_MOD___copy_character_1' is already defined)
2014-02-28 Janus Weil <janus@gcc.gnu.org>
PR fortran/60359
* class.c (find_intrinsic_vtab): Prevent duplicate creation of copy
procedure for characters.
2014-02-28 Janus Weil <janus@gcc.gnu.org>
PR fortran/60359
* gfortran.dg/unlimited_polymorphic_16.f90: New.
From-SVN: r208227
Paolo Carlini [Fri, 28 Feb 2014 20:20:21 +0000 (20:20 +0000)]
re PR c++/58610 ([c++11] ICE with constexpr of class with template constructor)
/cp
2014-02-28 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/58610
* cp-tree.h (DECL_DELETED_FN): Use LANG_DECL_FN_CHECK.
* call.c (print_z_candidate): Remove STRIP_TEMPLATE use.
* lambda.c (maybe_add_lambda_conv_op): Likewise.
/testsuite
2014-02-28 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/58610
* g++.dg/cpp0x/constexpr-ice11.C: New.
From-SVN: r208226
Paolo Carlini [Fri, 28 Feb 2014 16:51:21 +0000 (16:51 +0000)]
re PR c++/60314 ([C++1y] ICE with decltype(auto) when generating debug information)
2014-02-25 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/60314
* dwarf2out.c (is_cxx_auto): Handle decltype(auto).
/testsuite
2014-02-25 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/60314
* g++.dg/cpp1y/auto-fn24.C: New.
From-SVN: r208225
Ian Bolton [Fri, 28 Feb 2014 14:27:08 +0000 (14:27 +0000)]
Define __ARM_NEON for aarch64 by default unless general_regs_only
From-SVN: r208224
Uros Bizjak [Fri, 28 Feb 2014 13:55:32 +0000 (14:55 +0100)]
* ChangeLog: Fix whitespace.
From-SVN: r208223
Richard Biener [Fri, 28 Feb 2014 13:14:23 +0000 (13:14 +0000)]
re PR tree-optimization/60280 (gcc.target/arm/ivopts.c and gcc.target/arm/ivopts-2.c failed caused by preserving loop structure.)
2014-02-28 Richard Biener <rguenther@suse.de>
PR target/60280
* tree-cfgcleanup.c (tree_forwarder_block_p): Restrict
previous fix and only allow to remove trivial pre-headers
and latches. Also honor LOOPS_MAY_HAVE_MULTIPLE_LATCHES.
(remove_forwarder_block): Properly update the latch of
a loop.
From-SVN: r208222
Alexandre Oliva [Fri, 28 Feb 2014 12:57:40 +0000 (12:57 +0000)]
re PR debug/59992 (Compilation of insn-recog.c too slow due to var-tracking)
PR debug/59992
* cselib.c (cselib_hasher::equal): Special-case VALUE lookup.
(cselib_preserved_hash_table): New.
(preserve_constants_and_equivs): Move preserved vals to it.
(cselib_find_slot): Look it up first.
(cselib_init): Initialize it.
(cselib_finish): Release it.
(dump_cselib_table): Dump it.
From-SVN: r208221
Alexandre Oliva [Fri, 28 Feb 2014 12:57:06 +0000 (12:57 +0000)]
re PR debug/59992 (Compilation of insn-recog.c too slow due to var-tracking)
PR debug/59992
* cselib.c (remove_useless_values): Skip to avoid quadratic
behavior if the condition moved from...
(cselib_process_insn): ... here holds.
From-SVN: r208220
Alexandre Oliva [Fri, 28 Feb 2014 12:45:36 +0000 (12:45 +0000)]
re PR debug/57232 (wcstol.c:213:1: internal compiler error)
PR debug/57232
* var-tracking.c (vt_initialize): Apply the same condition to
preserve the CFA base value.
From-SVN: r208219
Joey Ye [Fri, 28 Feb 2014 12:02:13 +0000 (12:02 +0000)]
PR target/PR60169
2014-02-28 Joey Ye <joey.ye@arm.com>
PR target/PR60169
* config/arm/arm.c (thumb_far_jump_used_p): Don't change
if reload in progress or completed.
testsuite:
* gcc.target/arm/thumb1-far-jump-3.c: New case.
From-SVN: r208217
GCC Administrator [Fri, 28 Feb 2014 00:16:34 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r208212
Tobias Burnus [Thu, 27 Feb 2014 23:24:20 +0000 (00:24 +0100)]
re PR middle-end/60147 (ICE with -fdump-tree-original and NAMELIST)
2014-02-28 Tobias Burnus <burnus@net-b.de>
PR middle-end/60147
* tree-pretty-print.c (dump_generic_node, print_declaration):
Handle NAMELIST_DECL.
From-SVN: r208209
Paolo Carlini [Thu, 27 Feb 2014 23:15:20 +0000 (23:15 +0000)]
re PR c++/60253 (ICE passing class object through ellipsis (...))
/cp
2014-02-27 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/60253
* call.c (convert_arg_to_ellipsis): Return error_mark_node after
error_at.
/testsuite
2014-02-27 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/60253
* g++.dg/overload/ellipsis2.C: New.
From-SVN: r208208
H.J. Lu [Thu, 27 Feb 2014 19:54:56 +0000 (19:54 +0000)]
Copy changes from doc/tm.texi to doc/tm.texi.in
* doc/tm.texi.in (Condition Code Status): Update documention for
relative locations of cc0-setter and cc0-user.
From-SVN: r208205
Jeff Law [Thu, 27 Feb 2014 19:28:40 +0000 (12:28 -0700)]
re PR rtl-optimization/52714 (ICE in fixup_reorder_chain, at cfglayout.c:880)
PR rtl-optimization/52714
* combine.c (try_combine): When splitting an unrecognized PARALLEL
into two independent simple sets, if I3 is a jump, ensure the
pattern we place into I3 is a (set (pc) ...)
PR rtl-optimization/52714
* gcc.c-torture/compile/pr52714.c: New test.
From-SVN: r208204
Mikael Pettersson [Thu, 27 Feb 2014 19:02:18 +0000 (20:02 +0100)]
re PR rtl-optimization/49847 (NULL deref in fold_rtx (prev_insn_cc0 == NULL))
PR rtl-optimization/49847
* cse.c (fold_rtx) Handle case where cc0 setter and cc0 user
are in different blocks.
* doc/tm.texi (Condition Code Status): Update documention for
relative locations of cc0-setter and cc0-user.
PR rtl-optimization/49847
* g++.dg/pr49847.C: New test.
Co-Authored-By: Jeff Law <law@redhat.com>
From-SVN: r208203
Jason Merrill [Thu, 27 Feb 2014 17:06:35 +0000 (12:06 -0500)]
re PR c++/58648 ([c++11] ICE with variadic template)
PR c++/58648
* g++.dg/cpp0x/variadic153.C: New.
From-SVN: r208202
Vladimir Makarov [Thu, 27 Feb 2014 17:06:02 +0000 (17:06 +0000)]
re PR target/59222 (gcc.c-torture/compile/
20050622-1.c ICEs at -O1 and above for aarch64-elf ILP32)
2014-02-27 Vladimir Makarov <vmakarov@redhat.com>
PR target/59222
* lra.c (lra_emit_add): Check SUBREG too.
From-SVN: r208201
Jason Merrill [Thu, 27 Feb 2014 16:20:59 +0000 (11:20 -0500)]
re PR c++/60353 (Firefox build failure #3 caused by r208157)
PR c++/60353
PR c++/55877
* decl2.c (tentative_decl_linkage): Don't mess with functions that
are not yet defined.
From-SVN: r208200
Andreas Schwab [Thu, 27 Feb 2014 11:10:55 +0000 (11:10 +0000)]
m68k.c (m68k_option_override): Disable -flive-range-shrinkage for classic m68k.
* config/m68k/m68k.c (m68k_option_override): Disable
-flive-range-shrinkage for classic m68k.
(m68k_override_options_after_change): Likewise.
From-SVN: r208198
Marek Polacek [Thu, 27 Feb 2014 08:05:21 +0000 (08:05 +0000)]
re PR middle-end/59223 (-Wmaybe-uninitialized and -Wuninitialized relationships)
PR middle-end/59223
* tree-ssa-uninit.c (gate_warn_uninitialized): Run the pass even for
-Wmaybe-uninitialized.
testsuite/
* c-c++-common/pr59223.c: New test.
From-SVN: r208196
GCC Administrator [Thu, 27 Feb 2014 00:17:10 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r208191
Alan Modra [Wed, 26 Feb 2014 22:17:39 +0000 (08:47 +1030)]
correct bug number
From-SVN: r208187
Alan Modra [Wed, 26 Feb 2014 21:57:40 +0000 (08:27 +1030)]
re PR target/57935 (ICE in rs6000_secondary_reload_inner:15181, type = load)
PR target/57935
* reload1.c (emit_input_reload_insns): When reload_override_in,
set old to rl->in_reg when rl->in_reg is a subreg.
From-SVN: r208186
Jason Merrill [Wed, 26 Feb 2014 21:44:48 +0000 (16:44 -0500)]
re PR c++/30301 (Invalid static member of anonymous class or union diagnosed too late)
PR c++/30301
* g++.dg/parse/unnamed2.C: New.
From-SVN: r208185