Jan Hubicka [Sat, 28 Jun 2014 23:30:58 +0000 (01:30 +0200)]
objc-act.c (objc_xref_basetypes): Set TYPE_BINFO of type variants, too.
* objc-act.c (objc_xref_basetypes): Set TYPE_BINFO of type variants,
too.
From-SVN: r212112
Jan Hubicka [Sat, 28 Jun 2014 23:22:56 +0000 (01:22 +0200)]
tree-inline.c (remap_type_1): Do not duplicate fields that are shared in between type and its main variant.
* tree-inline.c (remap_type_1): Do not duplicate fields
that are shared in between type and its main variant.
From-SVN: r212111
Richard Biener [Sat, 28 Jun 2014 21:08:21 +0000 (21:08 +0000)]
* gennews: Use gcc-3.0/index.html.
From-SVN: r212109
Jan Hubicka [Sat, 28 Jun 2014 18:29:32 +0000 (20:29 +0200)]
ipa-prop.c (ipa_set_jf_known_type): Record always the main variant of the type.
* ipa-prop.c (ipa_set_jf_known_type): Record always the main variant
of the type.
(ipa_set_ancestor_jf) Likewise.
(check_stmt_for_type_change): Check that we work on main variant.
(detect_type_change): Look into main variant.
(compute_known_type_jump_func): Check that main variant has BINFO.
From-SVN: r212108
Jan Hubicka [Sat, 28 Jun 2014 18:26:12 +0000 (20:26 +0200)]
ipa-devirt.c (set_type_binfo): New function.
* ipa-devirt.c (set_type_binfo): New function.
(add_type_duplicate): Use it.
(get_odr_type): Sanity check that binfos points to main variants.
(get_class_context): Be sure the context's outer_type is main variant.
(contains_type_p): Walk main variant.
(get_polymorphic_call_info_for_decl): Set outer_type to be main variant.
(get_polymorphic_call_info): Likewise.
(possible_polymorphic_call_targets): Sanity check that we operate on main
variant.
From-SVN: r212107
Jan Hubicka [Sat, 28 Jun 2014 18:19:50 +0000 (20:19 +0200)]
stor-layout.c (finish_builtin_struct): Copy fields into the variants.
* stor-layout.c (finish_builtin_struct): Copy fields into
the variants.
From-SVN: r212106
Paolo Carlini [Sat, 28 Jun 2014 15:53:30 +0000 (15:53 +0000)]
revert: [multiple changes]
2014-06-28 Paolo Carlini <paolo.carlini@oracle.com>
Revert:
2014-06-18 Paolo Carlini <paolo.carlini@oracle.com>
Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
PR libstdc++/61536
* config/abi/pre/gnu.ver: Adjust for out of line comparisons.
2014-06-08 Paolo Carlini <paolo.carlini@oracle.com>
* config/abi/pre/gnu.ver: Tighten some patterns; tidy.
From-SVN: r212104
Francois-Xavier Coudert [Sat, 28 Jun 2014 14:17:41 +0000 (14:17 +0000)]
re PR fortran/29383 (Fortran 2003/F95[TR15580:1999]: Floating point exception (IEEE) support)
PR fortran/29383
gcc/fortran/
* gfortran.h (gfc_simplify_ieee_selected_real_kind): New prototype.
* libgfortran.h (GFC_FPE_*): Use simple integer values, valid in
both C and Fortran.
* expr.c (gfc_check_init_expr): Simplify IEEE_SELECTED_REAL_KIND.
* simplify.c (gfc_simplify_ieee_selected_real_kind): New function.
* module.c (mio_symbol): Keep track of symbols which came from
intrinsic modules.
(gfc_use_module): Keep track of the IEEE modules.
* trans-decl.c (gfc_get_symbol_decl): Adjust code since
we have new intrinsic modules.
(gfc_build_builtin_function_decls): Build decls for
ieee_procedure_entry and ieee_procedure_exit.
(is_from_ieee_module, is_ieee_module_used, save_fp_state,
restore_fp_state): New functions.
(gfc_generate_function_code): Save and restore floating-point
state on procedure entry/exit, when IEEE modules are used.
* intrinsic.texi: Document the IEEE modules.
libgfortran/
* configure.host: Add checks for IEEE support, rework priorities.
* configure.ac: Define IEEE_SUPPORT, check for fpsetsticky and
fpresetsticky.
* configure: Regenerate.
* Makefile.am: Build new ieee files, install IEEE_* modules.
* Makefile.in: Regenerate.
* gfortran.map (GFORTRAN_1.6): Add new symbols.
* libgfortran.h (get_fpu_trap_exceptions, set_fpu_trap_exceptions,
support_fpu_trap, set_fpu_except_flags, support_fpu_flag,
support_fpu_rounding_mode, get_fpu_state, set_fpu_state): New
prototypes.
* config/fpu-*.h (get_fpu_trap_exceptions,
set_fpu_trap_exceptions, support_fpu_trap, set_fpu_except_flags,
support_fpu_flag, support_fpu_rounding_mode, get_fpu_state,
set_fpu_state): New functions.
* ieee/ieee_features.F90: New file.
* ieee/ieee_exceptions.F90: New file.
* ieee/ieee_arithmetic.F90: New file.
* ieee/ieee_helper.c: New file.
gcc/testsuite/
* lib/target-supports.exp (check_effective_target_fortran_ieee):
New function.
* gfortran.dg/ieee/ieee.exp: New file.
* gfortran.dg/ieee/ieee_1.F90: New file.
* gfortran.dg/ieee/ieee_2.f90: New file.
* gfortran.dg/ieee/ieee_3.f90: New file.
* gfortran.dg/ieee/ieee_4.f90: New file.
* gfortran.dg/ieee/ieee_5.f90: New file.
* gfortran.dg/ieee/ieee_6.f90: New file.
* gfortran.dg/ieee/ieee_7.f90: New file.
* gfortran.dg/ieee/ieee_rounding_1.f90: New file.
From-SVN: r212102
Ulrich Weigand [Sat, 28 Jun 2014 10:23:53 +0000 (10:23 +0000)]
rs6000.c (rs6000_aggregate_candidate): Revert accidental change due to wide-int branch merge.
2014-06-28 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
* config/rs6000/rs6000.c (rs6000_aggregate_candidate): Revert
accidental change due to wide-int branch merge.
From-SVN: r212100
Jonathan Wakely [Sat, 28 Jun 2014 07:45:27 +0000 (08:45 +0100)]
DR 1579 PR c++/58051
gcc/cp:
DR 1579
PR c++/58051
* typeck.c (check_return_expr): Lookup as an rvalue even when the
types aren't the same.
gcc/testsuite:
* g++.dg/cpp0x/elision_conv.C: New.
From-SVN: r212099
GCC Administrator [Sat, 28 Jun 2014 00:16:59 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r212096
Jason Merrill [Fri, 27 Jun 2014 21:38:24 +0000 (17:38 -0400)]
re PR c++/61433 (ICE: SIGSEGV in friend_accessible_p (search.c:778) with -std=gnu++11 -O -fcompare-debug -fno-inline -fno-ipa-pure-const -fipa-sra)
PR c++/61433
* error.c (dump_template_bindings): Don't tsubst in a clone.
From-SVN: r212091
Paolo Carlini [Fri, 27 Jun 2014 20:03:26 +0000 (20:03 +0000)]
2014-06-27 Paolo Carlini <paolo.carlini@oracle.com>
* Revert r212046 and r212054.
From-SVN: r212085
Bill Schmidt [Fri, 27 Jun 2014 16:48:51 +0000 (16:48 +0000)]
nint_2.f90: Don't XFAIL for powerpc64le-*-linux*.
2014-06-27 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* gfortran.dg/nint_2.f90: Don't XFAIL for powerpc64le-*-linux*.
From-SVN: r212075
Paolo Carlini [Fri, 27 Jun 2014 14:04:28 +0000 (14:04 +0000)]
re PR c++/61614 (Bogus error: taking address of temporary array)
/cp
2014-06-27 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/61614
* semantics.c (finish_compound_literal): Revert r204228.
/testsuite
2014-06-27 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/61614
* g++.dg/ext/complit14.C: New.
From-SVN: r212073
Rainer Orth [Fri, 27 Jun 2014 13:48:54 +0000 (13:48 +0000)]
Support compressed debug sections
* configure.ac (gcc_cv_as_compress_debug): Check for assembler
compressed debug support.
(gcc_cv_ld_compress_debug): Check for linker compressed debug
support.
* configure: Regenerate.
* config.in: Regenerate.
* common.opt (compressed_debug_sections): New enum.
(gz, gz=): New options.
* gcc.c (LINK_COMPRESS_DEBUG_SPEC, ASM_COMPRESS_DEBUG_SPEC):
Define.
(LINK_COMMAND_SPEC): Invoke LINK_COMPRESS_DEBUG_SPEC.
(asm_options): Invoke ASM_COMPRESS_DEBUG_SPEC.
* config/darwin.h (LINK_COMMAND_SPEC_A): Invoke
LINK_COMPRESS_DEBUG_SPEC.
* config/i386/djgpp.h (LINK_COMMAND_SPEC): Likewise.
* opts.c (common_handle_option): Handle OPT_gz, OPT_gz_.
* doc/invoke.texi (Option Summary, Debugging Options): Add
-gz[=type].
(Debugging Options): Document -gz[=type].
From-SVN: r212072
Martin Jambor [Fri, 27 Jun 2014 13:29:09 +0000 (15:29 +0200)]
re PR ipa/61160 (wrong code with -O3 (or ICE: verify_cgraph_node failed: edge points to wrong declaration))
2014-06-27 Martin Jambor <mjambor@suse.cz>
PR ipa/61160
* cgraphclones.c (duplicate_thunk_for_node): Removed parameter
args_to_skip, use those from node instead. Copy args_to_skip and
combined_args_to_skip from node to the new thunk.
(redirect_edge_duplicating_thunks): Removed parameter args_to_skip.
(cgraph_create_virtual_clone): Moved computation of
combined_args_to_skip...
(cgraph_clone_node): ...here, simplify it to bitmap_ior..
testsuite/
* g++.dg/ipa/pr61160-2.C: New test.
* g++.dg/ipa/pr61160-3.C: Likewise.
From-SVN: r212071
Trevor Saunders [Fri, 27 Jun 2014 10:53:38 +0000 (10:53 +0000)]
remove broken and redundant diagnostic in i386_pe_section_type_flags
varasm.c is the only caller of this target hook, and it correctly uses a
htab to check if the flags returned by the hook are the same as the
flags it has for the section, and emit a error if not.
gccc/
* config/i386/winnt.c (i386_pe_section_type_flags): Remove
redundant diagnostic machinary.
From-SVN: r212069
Richard Biener [Fri, 27 Jun 2014 10:03:51 +0000 (10:03 +0000)]
tree-ssa-math-opts.c (bswap_replace): Fix SLOW_UNALIGNED_ACCESS test to only apply to unaligned object.
2014-06-27 Richard Biener <rguenther@suse.de>
* tree-ssa-math-opts.c (bswap_replace): Fix
SLOW_UNALIGNED_ACCESS test to only apply to unaligned object.
From-SVN: r212068
Martin Liska [Fri, 27 Jun 2014 09:24:45 +0000 (11:24 +0200)]
Fix for devirtualization dump functions
* gimple.h (gimple_location_safe): New function introduced.
* cgraphunit.c (walk_polymorphic_call_targets): Usage
of gimple_location_safe replaces gimple_location.
(gimple_fold_call): Likewise.
* ipa-devirt.c (ipa_devirt): Likewise.
* ipa-prop.c (ipa_make_edge_direct_to_target): Likewise.
* ipa.c (walk_polymorphic_call_targets): Likewise.
* tree-ssa-pre.c (eliminate_dom_walker::before_dom_children): Likewise.
From-SVN: r212067
Paolo Carlini [Fri, 27 Jun 2014 07:46:04 +0000 (07:46 +0000)]
parser.c (cp_parser_compound_literal_p): New.
2014-06-27 Paolo Carlini <paolo.carlini@oracle.com>
* parser.c (cp_parser_compound_literal_p): New.
(cp_parser_postfix_expression, cp_parser_sizeof_operand): Use it.
From-SVN: r212064
Jakub Jelinek [Fri, 27 Jun 2014 07:03:50 +0000 (09:03 +0200)]
re PR tree-optimization/57233 (Vector lowering of LROTATE_EXPR pessimizes code)
PR tree-optimization/57233
PR tree-optimization/61299
* tree-vect-generic.c (get_compute_type, count_type_subparts): New
functions.
(expand_vector_operations_1): Use them. If {L,R}ROTATE_EXPR
would be lowered to scalar shifts, check if corresponding
shifts and vector BIT_IOR_EXPR are supported and don't lower
or lower just to narrower vector type in that case.
* expmed.c (expand_shift_1): Fix up handling of vector
shifts and rotates.
* gcc.dg/pr57233.c: New test.
* gcc.target/i386/pr57233.c: New test.
* gcc.target/i386/sse2-pr57233.c: New test.
* gcc.target/i386/avx-pr57233.c: New test.
* gcc.target/i386/avx2-pr57233.c: New test.
* gcc.target/i386/avx512f-pr57233.c: New test.
* gcc.target/i386/xop-pr57233.c: New test.
From-SVN: r212063
Sebastian Huber [Fri, 27 Jun 2014 06:52:18 +0000 (06:52 +0000)]
c-parser.c (c_parser_declaration_or_fndef): Discard all type qualifiers in __auto_type for atomic types.
* c-parser.c (c_parser_declaration_or_fndef): Discard all type
qualifiers in __auto_type for atomic types.
(c_parser_typeof_specifier): Discard all type qualifiers in
__typeof__ for atomic types.
* gcc.dg/typeof-2.c: New testcase.
From-SVN: r212062
Marek Polacek [Fri, 27 Jun 2014 05:42:11 +0000 (05:42 +0000)]
bounds-2.c: Adjust dg-output.
* c-c++-common/ubsan/bounds-2.c: Adjust dg-output.
(fn1): Remove store to out-of-bounds location. Add memory barrier.
(fn2): Likewise.
(fn5): Likewise.
(fn6): Likewise.
(fn7): Likewise.
(fn8): Likewise.
(fn9): Likewise.
(fn11): Likewise.
* c-c++-common/ubsan/bounds-5.c (fn1): Remove store to out-of-bounds
location. Add memory barrier.
(fn2): Likewise.
(fn3): Likewise.
(fn4): Likewise.
(fn5): Likewise.
* c-c++-common/ubsan/bounds-7.c: New test.
From-SVN: r212061
Jerry DeLisle [Fri, 27 Jun 2014 04:26:51 +0000 (04:26 +0000)]
re PR libfortran/61499 (Internal read of negative integer broken)
2014-06-26 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/61499
* gfortran.dg/arrayio_15.f90: New test.
From-SVN: r212060
Jerry DeLisle [Fri, 27 Jun 2014 04:23:36 +0000 (04:23 +0000)]
re PR libfortran/61499 (Internal read of negative integer broken)
2014-06-26 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/61499
* io/list_read.c (eat_spaces): Use a 'for' loop instead of
'while' loop to skip the loop if there are no bytes left in the
string. Only seek if actual spaces can be skipped.
From-SVN: r212059
GCC Administrator [Fri, 27 Jun 2014 00:16:52 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r212058
François Dumont [Thu, 26 Jun 2014 20:44:46 +0000 (20:44 +0000)]
Fix a comment.
From-SVN: r212054
Uros Bizjak [Thu, 26 Jun 2014 20:23:34 +0000 (22:23 +0200)]
re PR target/61586 (ICE on alpha in alpha_handle_trap_shadows, at config/alpha/alpha.c:8724)
PR target/61586
* config/alpha/alpha.c (alpha_handle_trap_shadows): Handle BARRIER RTX.
testsuite/ChangeLog:
2014-06-26 Uros Bizjak <ubizjak@gmail.com>
PR target/61586
* gcc.target/alpha/pr61586.c: New test.
From-SVN: r212053
Paolo Carlini [Thu, 26 Jun 2014 19:38:36 +0000 (19:38 +0000)]
re PR c++/57573 ([C++1y] bogus "taking address of temporary" error)
2014-06-26 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/57573
* g++.dg/template/pr57573.C: New.
From-SVN: r212052
Jan Hubicka [Thu, 26 Jun 2014 18:50:24 +0000 (20:50 +0200)]
invoke.texi (-fsemantic-interposition): Document.
* doc/invoke.texi (-fsemantic-interposition): Document.
* common.opt (fsemantic-interposition): New flag.
* varasm.c (decl_replaceable_p): Use it.
* gcc.dg/tree-ssa/interposition.c: New testcase.
From-SVN: r212049
Bill Schmidt [Thu, 26 Jun 2014 18:47:52 +0000 (18:47 +0000)]
re PR target/61542 ([4.8/4.9/trunk] vect-nop-move.c fails on powerpc64le-unknown-linux-gnu)
2014-06-26 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
PR target/61542
* config/rs6000/vsx.md (vsx_extract_v4sf): Fix bug with element
extraction other than index 3.
From-SVN: r212047
François Dumont [Thu, 26 Jun 2014 18:42:41 +0000 (18:42 +0000)]
2014-06-26 François Dumont <fdumont@gcc.gnu.org>
* testsuite/util/testsuite_allocator.h
(tracker_allocator_counter::allocate): Remove new invocation, only
collect information.
(tracker_allocator_counter::deallocate): Remove delete invocation, only
collect information.
(check_inconsistent_alloc_value_type): New.
(tracker_allocator): Transform as a facade for any allocator type.
(uneq_allocator): Likewise.
(propagating_allocator): Likewise.
* testsuite/23_containers/forward_list/debug/move_assign_neg.cc: Use an
explicitly non propagating allocator.
* testsuite/23_containers/map/debug/move_assign_neg.cc: Likewise.
* testsuite/23_containers/multimap/debug/move_assign_neg.cc: likewise.
* testsuite/23_containers/multiset/debug/move_assign_neg.cc: Likewise.
* testsuite/23_containers/set/debug/move_assign_neg.cc: Likewise.
* testsuite/23_containers/unordered_map/debug/move_assign_neg.cc:
Likewise.
* testsuite/23_containers/unordered_multimap/debug/move_assign_neg.cc:
Likewise.
* testsuite/23_containers/unordered_multiset/debug/move_assign_neg.cc:
Likewise.
* testsuite/23_containers/unordered_set/debug/move_assign_neg.cc:
Likewise.
* testsuite/23_containers/vector/debug/move_assign_neg.cc: Likewise.
From-SVN: r212046
Jason Merrill [Thu, 26 Jun 2014 18:15:42 +0000 (14:15 -0400)]
parser.c (cp_parser_for_init_statement): Change range-for error to pedwarn.
* parser.c (cp_parser_for_init_statement): Change range-for error
to pedwarn.
From-SVN: r212044
Jason Merrill [Thu, 26 Jun 2014 18:15:36 +0000 (14:15 -0400)]
N3994 Ranged-based for-loops: The Next Generation
N3994 Ranged-based for-loops: The Next Generation
* parser.c (cp_lexer_nth_token_is): New.
(cp_parser_for_init_statement): Allow "for (id : init)".
From-SVN: r212043
Jason Merrill [Thu, 26 Jun 2014 18:15:29 +0000 (14:15 -0400)]
c-common.h (enum cxx_dialect): Add cxx1z.
* c-common.h (enum cxx_dialect): Add cxx1z.
* c.opt (std=c++1z, std=c++17, std=gnu++1z, std=gnu++17): New.
* c-opts.c (c_common_handle_option, set_std_cxx1z): Handle it.
From-SVN: r212042
Teresa Johnson [Thu, 26 Jun 2014 17:54:19 +0000 (17:54 +0000)]
c-common.h (get_dump_info): Declare.
2014-06-26 Teresa Johnson <tejohnson@google.com>
* c-family/c-common.h (get_dump_info): Declare.
* c-family/c-gimplify.c (c_genericize): Use saved dump files.
* c-family/c-opts.c (c_common_parse_file): Begin and end dumps
once around parsing invocation.
(get_dump_info): New function.
* cp/class.c (dump_class_hierarchy): Use saved dump files.
(dump_vtable): Ditto.
(dump_vtt): Ditto.
From-SVN: r212041
Teresa Johnson [Thu, 26 Jun 2014 17:45:52 +0000 (17:45 +0000)]
invoke.texi: Fix typo.
2014-06-26 Teresa Johnson <tejohnson@google.com>
* doc/invoke.texi: Fix typo.
* dumpfile.c: Add support for documented -fdump-* options
optimized/missed/note/optall.
From-SVN: r212040
Paolo Carlini [Thu, 26 Jun 2014 15:34:59 +0000 (15:34 +0000)]
re PR c++/56633 (Overload selection error for non-static data member initialization with initializer list in template class)
2014-06-26 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/56633
* g++.dg/cpp0x/deleted8.C: New.
From-SVN: r212037
Martin Jambor [Thu, 26 Jun 2014 14:54:59 +0000 (16:54 +0200)]
2014-06-26 Martin Jambor <mjambor@suse.cz>
* params.def (PARAM_ALLOW_LOAD_DATA_RACES)
(PARAM_ALLOW_PACKED_LOAD_DATA_RACES)
(PARAM_ALLOW_PACKED_STORE_DATA_RACES): Removed.
(PARAM_ALLOW_STORE_DATA_RACES): Set default to zero.
* opts.c (default_options_optimization): Set
PARAM_ALLOW_STORE_DATA_RACES to one at -Ofast.
* doc/invoke.texi (allow-load-data-races)
(allow-packed-load-data-races, allow-packed-store-data-races):
Removed.
(allow-store-data-races): Document the new default.
testsuite/
* g++.dg/simulate-thread/bitfields-2.C: Remove allow-load-data-races
parameter.
* g++.dg/simulate-thread/bitfields.C: Likewise.
* gcc.dg/simulate-thread/strict-align-global.c: Remove
allow-packed-store-data-races parameter.
* gcc.dg/simulate-thread/subfields.c: Likewise.
* gcc.dg/tree-ssa/
20050314-1.c: Set parameter allow-store-data-races
to one.
From-SVN: r212034
Martin Liska [Thu, 26 Jun 2014 14:24:34 +0000 (14:24 +0000)]
Removed file marked as removed in r211987.
From-SVN: r212031
Martin Liska [Thu, 26 Jun 2014 13:07:29 +0000 (13:07 +0000)]
ChangeLog entry splitted to gcc/ChangeLog and gcc/lto/ChangeLog.
From-SVN: r212029
Martin Jambor [Thu, 26 Jun 2014 12:55:40 +0000 (14:55 +0200)]
ipa-prop.c (ipa_impossible_devirt_target): No longer static, renamed to ipa_impossible_devirt_target.
2014-06-26 Martin Jambor <mjambor@suse.cz>
* ipa-prop.c (ipa_impossible_devirt_target): No longer static,
renamed to ipa_impossible_devirt_target. Fix typo.
* ipa-prop.h (ipa_impossible_devirt_target): Declare.
* ipa-cp.c (ipa_get_indirect_edge_target_1): Use
ipa_impossible_devirt_target.
testsuite/
* g++.dg/ipa/pr60600.C: Fix typo.
* g++.dg/ipa/devirt-25.C: Likewise.
* g++.dg/ipa/pr61540.C: Likewise.
From-SVN: r212028
Jonathan Wakely [Thu, 26 Jun 2014 12:43:59 +0000 (13:43 +0100)]
shared_ptr_base.h (__shared_ptr::_Deleter): Fix parameter type.
* include/bits/shared_ptr_base.h (__shared_ptr::_Deleter): Fix
parameter type.
From-SVN: r212027
Richard Biener [Thu, 26 Jun 2014 11:29:34 +0000 (11:29 +0000)]
re PR tree-optimization/61607 (DOM missed jump threading and destroyed loops)
2014-06-26 Richard Biener <rguenther@suse.de>
PR tree-optimization/61607
* tree-ssa-copy.c (copy_prop_visit_phi_node): Adjust comment
explaining why we restrict copies on loop depth.
* tree-ssa-dom.c (cprop_operand): Remove restriction on
on loop depth.
(record_equivalences_from_phis): Instead add it here.
* gcc.dg/tree-ssa/ssa-dom-thread-5.c: New testcase.
From-SVN: r212026
Vidya Praveen [Thu, 26 Jun 2014 10:35:47 +0000 (11:35 +0100)]
inline-22.c: Add bind_pic_locally.
gcc/testsuite/
* gcc.dg/inline-22.c: Add bind_pic_locally.
* gcc.dg/inline_4.c: Ditto.
* gcc.dg/fail_always_inline.c: Ditto.
* g++.dg/ipa/devirt-25.C: Ditto.
From-SVN: r212024
Vidya Praveen [Thu, 26 Jun 2014 10:25:12 +0000 (11:25 +0100)]
target-support.exp (bind_pic_locally): Save the flags to 'flags_to_postpone' instead of appending to 'flags'.
gcc/testsuite/
* lib/target-support.exp (bind_pic_locally): Save the flags to
'flags_to_postpone' instead of appending to 'flags'.
* lib/gcc.exp (gcc_target_compile): Append board_info's multilib_flags
with flags_to_postpone and revert after target_compile.
* lib/g++.exp (g++_target_compile): Ditto.
* lib/gfortran.exp (gfortran_target_compile): Ditto.
From-SVN: r212023
Alan Lawrence [Thu, 26 Jun 2014 09:46:58 +0000 (09:46 +0000)]
Correct ChangeLog entries (dates and missing files)
From-SVN: r212022
Bernd Schmidt [Thu, 26 Jun 2014 09:16:28 +0000 (09:16 +0000)]
Part 2 of the collect-utils library, now also used for collect2.
* Makefile.in (COLLECT2_OBJS): Add collect-utils.o.
(LTO_WRAPPER_OBJS): New variable.
(lto-wrapper$(exeext)): Use it.
* collect2.c: Include "collect-utils.h".
(verbose, debug): Remove variables.
(at_file_supplied): No longer static.
(tool_name): New variable.
(do_wait, fork_execute, maybe_unlink): Don't declare.
(tool_cleanup): No longer static.
(notice): Remove function.
(maybe_run_lto_and_relink, main, do_dsymutil): Add new arg to
fork_execute calls.
(collect_wait, do_wait, collect_execute): Remove functions.
(maybe_unlink): No longer static.
* collect2.h (verbose, debug): Don't declare.
(at_file_supplied): Declare.
* collect-utils.c (utils_cleanup): New arg from_signal. All callers
changed.
(collect_execute): Replace with implementation from collect2, plus a
new arg use_atfile. All callers changed.
(collect_wait): Replace with implementation from collect2.
(maybe_unlink_file): Remove function.
(fork_execute): Replace with implementation from collect2, plus a
new arg use_atfile. All callers changed.
(do_wait): Add call to utils_cleanup to the error path.
* collect-utils.h (collect_execute, fork_execute, utils_cleanup,
tool_cleanup): Adjust declarations.
* lto-wrapper.c (tool_cleanup): Add unused bool argument.
* tlink.c: Include "collect-utils.h".
(tlink_execute): New arg use_atfile. All callers changed.
(tlink_init, tlink_execute): Remove declarations.
From-SVN: r212020
Bernd Schmidt [Thu, 26 Jun 2014 09:16:19 +0000 (09:16 +0000)]
Small cleanups before making collect2 use collect-utils.
* collect-utils.c (save_temps): New variable.
(do_wait): Use it instead of debug. Use fatal_error.
* collect-utils.h (save_temps): Declare.
* collect2.c (verbose): Rename from vflag. All uses changed.
(tool_cleanup): New function, copied from collect_atexit.
(collect_atexit, handler): Just call it.
* collect2.h (verbose): Declaration renamed from vflag.
* lto-wrapper.c (maybe_unlink, run_gcc): Use save_temps instead of
debug.
From-SVN: r212019
Bernd Schmidt [Thu, 26 Jun 2014 09:16:11 +0000 (09:16 +0000)]
Make a collect-utils library for use by tools like collect2 and lto-wrapper.
* Makefile.in (ALL_HOST_BACKEND_OBJS): Add collect-utils.o.
(lto-wrapper$(exeext)): Link with collect-utils.o.
* collect-utils.c: New file.
* collect-utils.h: New file.
* lto-wrapper.c: Include "collect-utils.h".
(args_name): Delete variable.
(tool_name): New variable.
(tool_cleanup): New function.
(maybe_unlink): Renamed from maybe_unlink_file. All callers changed.
(lto_wrapper_cleanup, fatal_signal, collect_execute, collect_wait,
fork_execute): Remove functions.
From-SVN: r212018
Nick Clifton [Thu, 26 Jun 2014 09:10:02 +0000 (09:10 +0000)]
* config/frv/frv.c (frv_in_small_data_p): Remove redundant assert.
From-SVN: r212017
Nick Clifton [Thu, 26 Jun 2014 09:03:54 +0000 (09:03 +0000)]
target-supports.exp (check_effective_target_trapping): Fix typo.
* lib/target-supports.exp (check_effective_target_trapping): Fix
typo.
From-SVN: r212016
Nick Clifton [Thu, 26 Jun 2014 09:00:06 +0000 (09:00 +0000)]
extend.texi (Function Attributes): Fix typo in description of RX vector attribute.
* doc/extend.texi (Function Attributes): Fix typo in description
of RX vector attribute.
From-SVN: r212015
James Greenhalgh [Thu, 26 Jun 2014 08:27:05 +0000 (08:27 +0000)]
[ARM] Error if overriding --with-tune by --with-cpu
gcc/
* config.gcc (supported_defaults): Error when passing either
--with-tune or --with-arch in conjunction with --with-cpu for ARM.
From-SVN: r212014
Richard Biener [Thu, 26 Jun 2014 07:56:10 +0000 (07:56 +0000)]
tree-ssa-dom.c (cprop_operand): Remove restriction on propagating volatile pointers.
2014-06-26 Richard Biener <rguenther@suse.de>
* tree-ssa-dom.c (cprop_operand): Remove restriction on
propagating volatile pointers.
From-SVN: r212013
Richard Biener [Thu, 26 Jun 2014 07:44:10 +0000 (07:44 +0000)]
re PR tree-optimization/61607 (DOM missed jump threading and destroyed loops)
2014-06-26 Richard Biener <rguenther@suse.de>
PR tree-optimization/61607
* tree-ssa-threadupdate.c (ssa_redirect_edges): Cancel the
loop if we redirected its latch edge.
(thread_block_1): Do not cancel loops prematurely.
From-SVN: r212011
Adam Butcher [Thu, 26 Jun 2014 05:12:52 +0000 (06:12 +0100)]
re PR c++/61537 (template parameter lists wrongly detected on "struct" or "class" keyword on parameters)
Fix PR c++/61537
* parser.c (cp_parser_elaborated_type_specifier): Only consider template
parameter lists outside of function parameter scope.
* g++.dg/template/pr61537.C: New testcase.
From-SVN: r212008
Jan Hubicka [Thu, 26 Jun 2014 02:28:37 +0000 (04:28 +0200)]
toplev.c (backend_init_target): Move init_emit_regs and init_regs to...
* toplev.c (backend_init_target): Move init_emit_regs and init_regs to...
(backend_init) ... here; skip ira_init_once and backend_init_target.
(target_reinit) ... and here; clear this_target_rtl->lang_dependent_initialized.
(lang_dependent_init_target): Clear this_target_rtl->lang_dependent_initialized;
break out rtl initialization to ...
(initialize_rtl): ... here; call also backend_init_target and ira_init_once.
* toplev.h (initialize_rtl): New function.
* function.c: Include toplev.h
(init_function_start): Call initialize_rtl.
* rtl.h (target_rtl): Add target_specific_initialized,
lang_dependent_initialized.
From-SVN: r212007
GCC Administrator [Thu, 26 Jun 2014 00:17:01 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r212006
Jonathan Wakely [Wed, 25 Jun 2014 23:05:58 +0000 (00:05 +0100)]
alloc.cc: Fix use of test allocator.
* testsuite/20_util/shared_ptr/creation/alloc.cc: Fix use of test
allocator.
* testsuite/20_util/shared_ptr/creation/no_rtti.cc: Likewise.
* testsuite/30_threads/promise/cons/alloc.cc: Likewise.
From-SVN: r212003
Bill Schmidt [Wed, 25 Jun 2014 22:27:10 +0000 (22:27 +0000)]
default_format_denormal_2.f90: Remove xfail for powerpc*-*-linux*.
2014-06-25 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* gfortran.dg/default_format_denormal_2.f90: Remove xfail for
powerpc*-*-linux*.
From-SVN: r212000
Paul Gortmaker [Wed, 25 Jun 2014 21:21:12 +0000 (21:21 +0000)]
gcc.c (set_multilib_dir): Malloc "." pointer as well.
2014-06-25 Paul Gortmaker <paul.gortmaker@windriver.com>
Jakub Jelinek <jakub@redhat.com>
* gcc.c (set_multilib_dir): Malloc "." pointer as well.
Co-Authored-By: Jakub Jelinek <jakub@redhat.com>
From-SVN: r211997
Jonathan Wakely [Wed, 25 Jun 2014 20:54:46 +0000 (21:54 +0100)]
Makefile.am: Add new header.
* include/Makefile.am: Add new header.
* include/Makefile.in: Regenerate.
* include/bits/allocated_ptr.h (__allocated_ptr, __allocate_guarded):
New RAII utilities for working with allocators.
* include/bits/shared_ptr_base.h (_Sp_counted_deleter): Define
__allocator_type typedef and use new __allocated_ptr type.
(_Sp_counted_ptr_inplace): Likewise.
(__shared_count::__shared_count, __shared_ptr::__shared_ptr): Use
__allocate_guarded to to simplify exception handling.
* include/experimental/any (any::_Manager_alloc::_S_alloc): Likewise.
* include/std/future (_Result_alloc::_M_destroy): Likewise.
(_Result_alloc::_S_allocate_result): Likewise.
* testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust line number.
* testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
* testsuite/20_util/shared_ptr/creation/no_rtti.cc: New.
* testsuite/20_util/shared_ptr/creation/alloc.cc: Test allocator
with fancy pointer.
* testsuite/30_threads/promise/cons/alloc.cc: Likewise.
From-SVN: r211996
Jonathan Wakely [Wed, 25 Jun 2014 20:54:34 +0000 (21:54 +0100)]
alloc_traits.h (__alloc_rebind): Define alias template.
* include/bits/alloc_traits.h (__alloc_rebind): Define alias template.
* include/bits/forward_list.h (_Fwd_list_base): Use __alloc_rebind.
* include/bits/hashtable_policy.h (_Insert_base, _Hashtable_alloc):
Likewise.
* include/ext/alloc_traits.h: Fix comment.
From-SVN: r211995
Tobias Burnus [Wed, 25 Jun 2014 20:33:38 +0000 (22:33 +0200)]
interface.c (check_intents): Fix diagnostic with coindexed coarrays.
gcc/fortran/
2014-06-25 Tobias Burnus <burnus@net-b.de>
* interface.c (check_intents): Fix diagnostic with
coindexed coarrays.
gcc/testsuite/
2014-06-25 Tobias Burnus <burnus@net-b.de>
* gfortran.dg/coarray_33.f90: New.
From-SVN: r211994
Tobias Burnus [Wed, 25 Jun 2014 20:31:32 +0000 (22:31 +0200)]
resolve.c (resolve_ordinary_assign): Don't invoke caf_send when assigning a coindexed RHS scalar to a noncoindexed...
2014-06-25 Tobias Burnus <burnus@net-b.de>
fortran/
* resolve.c (resolve_ordinary_assign): Don't invoke caf_send
when assigning a coindexed RHS scalar to a noncoindexed LHS
array.
* trans-intrinsic.c (conv_caf_send): Do numeric type conversion
for a noncoindexed scalar RHS.
gcc/testsuite/
* gfortran.dg/coarray/coindexed_1.f90: New.
libgfortran/
* caf/single.c (assign_char4_from_char1,
* assign_char1_from_char4,
convert_type): New static functions.
(_gfortran_caf_get, _gfortran_caf_send): Use them.
From-SVN: r211993
Tobias Burnus [Wed, 25 Jun 2014 20:26:42 +0000 (22:26 +0200)]
check.c (check_co_minmaxsum): Add definable check.
gcc/fortran/
2014-06-25 Tobias Burnus <burnus@net-b.de>
* check.c (check_co_minmaxsum): Add definable check.
* expr.c (gfc_check_vardef_context): Fix context == NULL case.
* trans-expr.c (get_scalar_to_descriptor_type): Handle pointer
arguments.
* trans-intrinsic.c (gfc_conv_intrinsic_caf_get): Fix generation
of temporary strings.
gcc/testsuite/
2014-06-25 Tobias Burnus <burnus@net-b.de>
* gfortran.dg/coarray_collectives_7.f90: New.
From-SVN: r211992
Tom de Vries [Wed, 25 Jun 2014 19:23:02 +0000 (19:23 +0000)]
Remove superfluous clobber of cc in arm_emit_call_insn
2014-06-25 Tom de Vries <tom@codesourcery.com>
* config/arm/arm.c (arm_emit_call_insn): Remove clobber of CC_REGNUM.
From-SVN: r211990
Bernd Edlinger [Wed, 25 Jun 2014 17:24:34 +0000 (17:24 +0000)]
tree-ssa-forwprop.c (associate_plusminus): For widening conversions check for undefined overflow in (T)(P + A) - (T)P -> (T)A.
2014-06-25 Bernd Edlinger <bernd.edlinger@hotmail.de>
* tree-ssa-forwprop.c (associate_plusminus): For widening conversions
check for undefined overflow in (T)(P + A) - (T)P -> (T)A.
Issue a strict overflow warning if appropriate.
testsuite:
2014-06-25 Bernd Edlinger <bernd.edlinger@hotmail.de>
* gcc.c-torture/execute/
20140622-1.c: New test.
From-SVN: r211988
Martin Liska [Wed, 25 Jun 2014 16:55:46 +0000 (18:55 +0200)]
IPA REF refactoring
* Makefile.in: Removed header file (ipa-ref-inline.h).
* cgraph.c (cgraph_turn_edge_to_speculative): New IPA REF function
called.
(cgraph_speculative_call_info): Likewise.
(cgraph_for_node_thunks_and_aliases): Likewise.
(cgraph_for_node_and_aliases): Likewise.
(verify_cgraph_node): Likewise.
* cgraph.h: Batch of IPA REF functions become member functions of
symtab_node: add_reference, maybe_add_reference, clone_references,
clone_referring, clone_reference, find_reference,
remove_stmt_references, remove_all_references,
remove_all_referring, dump_references, dump_referring,
has_alias_p, iterate_reference, iterate_referring.
* cgraphbuild.c (record_reference): New IPA REF function used.
(record_type_list): Likewise.
(record_eh_tables): Likewise.
(mark_address): Likewise.
(mark_load): Likewise.
(mark_store): Likewise.
(pass_build_cgraph_edges): Likewise.
(rebuild_cgraph_edge): Likewise.
(cgraph_rebuild_references): Likewise.
(pass_remove_cgraph_callee_edges): Likewise.
* cgraphclones.c (cgraph_clone_node): Likewise.
(cgraph_create_virtual_clone): Likewise.
(cgraph_materialize_clone): Likewise.
(cgraph_materialize_all_clones): Likewise.
* cgraphunit.c (cgraph_reset_node): Likewise.
(cgraph_reset_node): Likewise.
(analyze_function): Likewise.
(assemble_thunks_and_aliases): Likewise.
(expand_function): Likewise.
* ipa-comdats.c (propagate_comdat_group): Likewise.
(enqueue_references): Likewise.
* ipa-cp.c (ipcp_discover_new_direct_edges): Likewise.
(create_specialized_node): Likewise.
* ipa-devirt.c (referenced_from_vtable_p): Likewise.
* ipa-inline-transform.c (can_remove_node_now_p_1): Likewise.
* ipa-inline.c (reset_edge_caches): Likewise.
(update_caller_keys): Likewise.
(execute): Likewise.
* ipa-prop.c (remove_described_reference): Likewise.
(propagate_controlled_uses): Likewise.
(ipa_edge_duplication_hook): Likewise.
(ipa_modify_call_arguments): Likewise.
* ipa-pure-const.c (propagate_pure_const): Likewise.
* ipa-ref-inline.h: Header file removed, functions moved
to symtab_node class.
* ipa-ref.c (remove_reference): New class member function.
(cannot_lead_to_return): New class member function.
(referring_ref_list): Likewise.
(referred_ref_list): Likewise.
Rest of functions moved to symtab_node class.
* ipa-ref.h: New member functions remove_reference,
cannot_lead_to_return, referring_ref_list, referred_ref_list added
to ipa_ref class.
ipa_ref_list class has new member functions: first_reference,
first_referring, clear, nreferences.
* ipa-reference.c (analyze_function): New IPA REF function used.
(write_node_summary_p): Likewise.
(ipa_reference_write_optimization_summary): Likewise.
* ipa-split.c (split_function): Likewise.
* ipa-utils.c (ipa_reverse_postorder): Likewise.
* ipa-visibility.c (cgraph_non_local_node_p_1): Likewise.
(function_and_variable_visibility): Likewise.
* ipa.c (has_addr_references_p): Likewise.
(process_references): Argument type changed.
(symtab_remove_unreachable_nodes): New IPA REF function used.
(process_references): Likewise.
(set_writeonly_bit): Likewise.
* lto-cgraph.c: Implementation of new symtab_node member functions
that uses new IPA REF functions.
* lto-streamer-in.c (fixup_call_stmt_edges_1): New IPA REF function used.
* lto-streamer-out.c (output_symbol_p): Likewise.
* lto-streamer.h (referenced_from_this_partition_p): Argument type
changed.
* lto/lto-partition.c (add_references_to_partition): New IPA REF function
used.
(add_symbol_to_partition_1): Likewise.
(lto_balanced_map): Likewise.
* lto/lto-symtab.c (lto_cgraph_replace_node): Likewise.
* symtab.c: Implementation of new IPA REF API.
* trans-mem.c (ipa_tm_create_version_alias): New IPA REF function used.
(ipa_tm_create_version): Likewise.
(ipa_tm_execute): Likewise.
* tree-emutls.c (gen_emutls_addr): Likewise.
* tree-inline.c (copy_bb): Likewise.
(delete_unreachable_blocks_update_callgraph): Likewise.
* varpool.c (varpool_remove_unreferenced_decls): Likewise.
(varpool_for_node_and_aliases): Likewise.
From-SVN: r211987
Trevor Saunders [Wed, 25 Jun 2014 16:36:49 +0000 (16:36 +0000)]
fix typo in winnt.c
gcc/
PR c/61612
* config/i386/winnt.c (i386_find_on_wrapper_list): Fix typo.
From-SVN: r211986
Trevor Saunders [Wed, 25 Jun 2014 16:02:04 +0000 (16:02 +0000)]
fix checking=fold
gcc/
PR bootstrap/61598
* fold-const.c (fold_checksum_tree): Use a hash_table of const
tree_node * instead of tree_node *.
(fold): Adjust.
(print_fold_checksum): Likewise.
(fold_check_failed): Likewise.
(debug_fold_checksum): Likewise.
(fold_build1_stat_loc): Likewise.
(fold_build2_stat_loc): Likewise.
(fold_build3_stat_loc): Likewise.
(fold_build_call_array_loc): Likewise.
From-SVN: r211985
David Edelsohn [Wed, 25 Jun 2014 14:46:08 +0000 (14:46 +0000)]
xcoff.h (ASM_DECLARE_FUNCTION_NAME): Replace implementation with call to...
* config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Replace
implementation with call to...
* config/rs6000/rs6000.c (rs6000_xcoff_declare_function_name): New
function.
* config/rs6000/rs6000-protos.h (rs6000_xcoff_declare_function_name):
Declare.
From-SVN: r211982
Paolo Carlini [Wed, 25 Jun 2014 14:27:35 +0000 (14:27 +0000)]
DR 178 PR c++/49132
/cp
2014-06-25 Paolo Carlini <paolo.carlini@oracle.com>
DR 178
PR c++/49132
* typeck2.c (process_init_constructor_record): Do not complain about
uninitialized const members, because within aggregate-initialization,
members without explicit initializers are value-initialized.
/testsuite
2014-06-25 Paolo Carlini <paolo.carlini@oracle.com>
DR 178
PR c++/49132
* g++.dg/cpp0x/aggr1.C: New.
* g++.dg/cpp0x/aggr2.C: Likewise.
* g++.dg/init/aggr11.C: Likewise.
* g++.dg/init/aggr12.C: Likewise.
From-SVN: r211981
Martin Jambor [Wed, 25 Jun 2014 13:35:24 +0000 (15:35 +0200)]
pr61540.C: Remove dumping test.
2014-06-25 Martin Jambor <mjambor@suse.cz>
* g++.dg/ipa/pr61540.C: Remove dumping test.
From-SVN: r211980
Marek Polacek [Wed, 25 Jun 2014 12:43:05 +0000 (12:43 +0000)]
re PR c/61162 (possibly bad error location with -Wc++-compat)
PR c/61162
* c-parser.c (c_parser_statement_after_labels): Pass the location of
the return expression to c_finish_return.
* gcc.dg/pr61162.c: Adjust dg-warning.
* gcc.dg/pr61162-2.c: New test.
From-SVN: r211978
Marc Glisse [Wed, 25 Jun 2014 12:27:13 +0000 (14:27 +0200)]
re PR tree-optimization/57742 (memset(malloc(n),0,n) -> calloc(n,1))
2014-06-25 Marc Glisse <marc.glisse@inria.fr>
PR tree-optimization/57742
gcc/
* tree-ssa-strlen.c (handle_builtin_memset): Update strinfo
after replacing the statement.
gcc/testsuite/
* gcc.dg/tree-ssa/calloc-3.c: New file.
From-SVN: r211977
Nick Clifton [Wed, 25 Jun 2014 09:21:59 +0000 (09:21 +0000)]
v850.c (GHS_default_section_names): Change to const char * type.
* config/v850/v850.c (GHS_default_section_names): Change to const
char * type.
(GHS_current_section_names): Likewise.
(v850_insert_attributes): Do not build strings, just assign the
names directly. Change the type of 'chosen_section' to const
char*.
* config/v850/v850-c.c (ghs_pragma_section): Assign the alias
directly to the array entry.
* config/v850/v850.h (GHS_default_section_names): Change to const
char * type.
(GHS_current_section_names): Likewise.
From-SVN: r211972
Jakub Jelinek [Wed, 25 Jun 2014 09:16:12 +0000 (11:16 +0200)]
langhooks-def.h (LANG_HOOKS_OMP_CLAUSE_LINEAR_CTOR): Define.
* langhooks-def.h (LANG_HOOKS_OMP_CLAUSE_LINEAR_CTOR): Define.
(LANG_HOOKS_DECLS): Add it.
* gimplify.c (gimplify_omp_for): Make sure OMP_CLAUSE_LINEAR_STEP
has correct type.
* tree.h (OMP_CLAUSE_LINEAR_ARRAY): Define.
* langhooks.h (struct lang_hooks_for_decls): Add
omp_clause_linear_ctor hook.
* omp-low.c (lower_rec_input_clauses): Set max_vf even if
OMP_CLAUSE_LINEAR_ARRAY is set. Don't fold_convert
OMP_CLAUSE_LINEAR_STEP. For OMP_CLAUSE_LINEAR_ARRAY in
combined simd loop use omp_clause_linear_ctor hook.
gcc/c/
* c-typeck.c (c_finish_omp_clauses): Make sure
OMP_CLAUSE_LINEAR_STEP has correct type.
gcc/cp/
* semantics.c (finish_omp_clauses): Make sure
OMP_CLAUSE_LINEAR_STEP has correct type.
gcc/fortran/
* trans.h (gfc_omp_clause_linear_ctor): New prototype.
* trans-openmp.c (gfc_omp_linear_clause_add_loop,
gfc_omp_clause_linear_ctor): New functions.
(gfc_trans_omp_clauses): Make sure OMP_CLAUSE_LINEAR_STEP has
correct type. Set OMP_CLAUSE_LINEAR_ARRAY flag if needed.
* f95-lang.c (LANG_HOOKS_OMP_CLAUSE_LINEAR_CTOR): Redefine.
libgomp/
* testsuite/libgomp.fortran/simd5.f90: New test.
* testsuite/libgomp.fortran/simd6.f90: New test.
* testsuite/libgomp.fortran/simd7.f90: New test.
From-SVN: r211971
Richard Biener [Wed, 25 Jun 2014 08:37:37 +0000 (08:37 +0000)]
re PR testsuite/61560 (FAIL: gcc.dg/tree-ssa/ssa-fre-32.c on arm)
2014-06-25 Richard Biener <rguenther@suse.de>
PR testsuite/61560
* gcc.dg/tree-ssa/ssa-fre-32.c: Change to avoid differences
for targets that return _Complex float in memory.
From-SVN: r211970
Ramana Radhakrishnan [Wed, 25 Jun 2014 08:24:23 +0000 (08:24 +0000)]
Adjust options for use of Neon with multilib testing.
2014-06-25 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
* gcc.target/arm/vect-noalign.c: Adjust options.
From-SVN: r211969
Cong Hou [Wed, 25 Jun 2014 02:58:43 +0000 (22:58 -0400)]
tree-vect-patterns.c (vect_recog_sad_pattern): New function for SAD pattern recognition.
2014-06-24 Cong Hou <congh@google.com>
* tree-vect-patterns.c (vect_recog_sad_pattern): New function for SAD
pattern recognition.
(type_conversion_p): PROMOTION is true if it's a type promotion
conversion, and false otherwise. Return true if the given expression
is a type conversion one.
* tree-vectorizer.h: Adjust the number of patterns.
* tree.def: Add SAD_EXPR.
* optabs.def: Add sad_optab.
* cfgexpand.c (expand_debug_expr): Add SAD_EXPR case.
* expr.c (expand_expr_real_2): Likewise.
* gimple-pretty-print.c (dump_ternary_rhs): Likewise.
* gimple.c (get_gimple_rhs_num_ops): Likewise.
* optabs.c (optab_for_tree_code): Likewise.
* tree-cfg.c (estimate_operator_cost): Likewise.
* tree-ssa-operands.c (get_expr_operands): Likewise.
* tree-vect-loop.c (get_initial_def_for_reduction): Likewise.
* config/i386/sse.md: Add SSE2 and AVX2 expand for SAD.
* doc/generic.texi: Add document for SAD_EXPR.
* doc/md.texi: Add document for ssad and usad.
2014-06-24 Cong Hou <congh@google.com>
* gcc.dg/vect/vect-reduc-sad.c: New.
* lib/target-supports.exp (check_effective_target_vect_usad_char): New.
From-SVN: r211966
GCC Administrator [Wed, 25 Jun 2014 00:16:48 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r211965
Trevor Saunders [Wed, 25 Jun 2014 00:13:17 +0000 (00:13 +0000)]
Fixup const qualification of the argument passed to hash_table::find_slot
gcc/
* config/i386/winnt.c (i386_pe_section_type_flags): Fixup const
qualification.
From-SVN: r211962
Ian Lance Taylor [Tue, 24 Jun 2014 23:52:47 +0000 (23:52 +0000)]
runtime: add missing benchmark input files to the repository
From-SVN: r211961
Jan Hubicka [Tue, 24 Jun 2014 23:14:26 +0000 (01:14 +0200)]
class.c (check_methods, [...]): Guard VINDEX checks by FUNCTION_DECL check.
* class.c (check_methods, create_vtable_ptr, determine_key_method,
add_vcall_offset_vtbl_entries_1): Guard VINDEX checks by FUNCTION_DECL check.
* cp-tree.h (lang_decl_ns): Add ns_using and ns_users.
(DECL_NAMESPACE_USING, DECL_NAMESPACE_USERS): Use lang_decl_ns.
(DECL_NAMESPACE_ASSOCIATIONS): Use DECL_INITIAL.
(DECL_TEMPLATE_INSTANTIATIONS): Use DECL_SIZE_UNIT.
* tree.c (find_decls_types_r): Do not check DECL_VINDEX for TYPE_DECL.
* tree.h (DECL_VINDEX, DECL_SAVED_TREE): Restrict to DECL_FUNCTION.
* tree-core.h (tree_decl_non_common): Move saved_tree and vindex...
(tree_function_decl): ... here.
* tree-streamer-out.c (write_ts_decl_non_common_tree_pointers): Move
streaming of vindex to ...
(write_ts_function_decl_tree_pointers): ... here.
* tree-streamer-in.c (lto_input_ts_decl_non_common_tree_pointers):
Do not stream DECL_VINDEX.
(lto_input_ts_function_decl_tree_pointers): Stream it here.
* lto.c (mentions_vars_p_decl_non_common): Move DECL_VINDEX check to ..
(mentions_vars_p_function): ... here.
(compare_tree_sccs_1): Update VINDEX checks.
(lto_fixup_prevailing_decls): Likewise.
From-SVN: r211960
Catherine Moore [Tue, 24 Jun 2014 22:07:39 +0000 (18:07 -0400)]
mips.c (mips_order_regs_for_local_alloc): Delete.
2014-06-24 Catherine Moore <clm@codesourcery.com>
Sandra Loosemore <sandra@codesourcery.com>
gcc/
* config/mips/mips.c (mips_order_regs_for_local_alloc): Delete.
* config/mips/mips.h (ADJUST_REG_ALLOC_ORDER): Delete.
* config/mips/mips-protos.h (mips_order_regs_for_local_alloc): Delete.
Co-Authored-By: Sandra Loosemore <sandra@codesourcery.com>
From-SVN: r211959
Dehao Chen [Tue, 24 Jun 2014 21:12:48 +0000 (21:12 +0000)]
Add me to MAINTAINERS.
From-SVN: r211958
Marc Glisse [Tue, 24 Jun 2014 19:09:57 +0000 (21:09 +0200)]
invoke.texi (Warning Options): Remove duplicated -Wmaybe-uninitialized.
2014-06-24 Marc Glisse <marc.glisse@inria.fr>
* doc/invoke.texi (Warning Options): Remove duplicated
-Wmaybe-uninitialized.
From-SVN: r211957
Marc Glisse [Tue, 24 Jun 2014 18:50:00 +0000 (20:50 +0200)]
re PR tree-optimization/57742 (memset(malloc(n),0,n) -> calloc(n,1))
2014-06-24 Marc Glisse <marc.glisse@inria.fr>
PR tree-optimization/57742
gcc/
* tree-ssa-strlen.c (get_string_length): Ignore malloc.
(handle_builtin_malloc, handle_builtin_memset): New functions.
(strlen_optimize_stmt): Call them.
* passes.def: Move strlen after loop+dom but before vrp.
gcc/testsuite/
* g++.dg/tree-ssa/calloc.C: New testcase.
* gcc.dg/tree-ssa/calloc-1.c: Likewise.
* gcc.dg/tree-ssa/calloc-2.c: Likewise.
* gcc.dg/strlenopt-9.c: Adapt.
From-SVN: r211956
Yufeng Zhang [Tue, 24 Jun 2014 16:33:45 +0000 (16:33 +0000)]
Make the AAPCS64 function return tests more robust.
gcc/testsuite
* gcc.target/aarch64/aapcs64/abitest-2.h (saved_return_address): New
global variable.
(FUNC_VAL_CHECK): Update to call myfunc via the 'ret' instruction,
instead of calling sequentially in the C code.
* gcc.target/aarch64/aapcs64/abitest.S (LABEL_TEST_FUNC_RETURN): Store
saved_return_address to the stack frame where LR register was stored.
(saved_return_address): Declare weak.
From-SVN: r211954
Jonathan Wakely [Tue, 24 Jun 2014 15:44:17 +0000 (16:44 +0100)]
functexcept.h (__throw_out_of_range_fmt): Change attribute to __gnu_printf__ archetype to prevent warnings for "%zu".
* include/bits/functexcept.h (__throw_out_of_range_fmt): Change
attribute to __gnu_printf__ archetype to prevent warnings for "%zu".
* include/bits/locale_facets_nonio.tcc (time_get::do_get_weekday):
Remove unused typedef.
(time_get::do_get_monthname): Likewise.
* include/bits/stl_tree.h: Add system_header pragma.
* include/ext/stdio_sync_filebuf.h (stdio_sync_filebuf::file): Remove
redundant const-qualifier.
* include/std/complex (complex::__rep): Use _GLIBCXX_CONSTEXPR macro
instead of _GLIBCXX_USE_CONSTEXPR.
From-SVN: r211951
Jakub Jelinek [Tue, 24 Jun 2014 14:58:19 +0000 (16:58 +0200)]
re PR target/61570 (-march=native CPU you selected does not support x86-64 instruction under QEMU)
PR target/61570
* config/i386/driver-i386.c (host_detect_local_cpu): For unknown
model family 6 CPU with has_longmode never use a CPU without
64-bit support.
From-SVN: r211945
Paolo Carlini [Tue, 24 Jun 2014 14:47:42 +0000 (14:47 +0000)]
re PR c++/33972 (Cannot declare operator() using function typedef)
/cp
2014-06-24 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/33972
* decl.c (grokdeclarator): Do not early check for operator-function-id
as non-function.
/testsuite
2014-06-24 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/33972
* g++.dg/other/operator3.C: New.
* g++.dg/template/operator8.C: Adjust.
* g++.dg/template/operator9.C: Likewise.
From-SVN: r211944
H.J. Lu [Tue, 24 Jun 2014 14:46:18 +0000 (14:46 +0000)]
Revert the last change on driver-i386.c
PR target/61570
* config/i386/driver-i386.c (host_detect_local_cpu): Revert
the last change.
From-SVN: r211943
Trevor Saunders [Tue, 24 Jun 2014 13:22:11 +0000 (13:22 +0000)]
add hash_map class
gcc/
* alloc-pool.c (alloc_pool_hash): Use hash_map instead of hash_table.
* dominance.c (iterate_fix_dominators): Use hash_map instead of
pointer_map.
* hash-map.h: New file.
* ipa-comdats.c: Use hash_map instead of pointer_map.
* ipa.c: Likewise.
* lto-section-out.c: Adjust.
* lto-streamer.h: Replace pointer_map with hash_map.
* symtab.c (verify_symtab): Likewise.
* tree-ssa-strlen.c (decl_to_stridxlist_htab): Likewise.
* tree-ssa-uncprop.c (val_ssa_equiv): Likewise.
* tree-streamer.h: Likewise.
* tree-streamer.c: Adjust.
* pointer-set.h: Remove pointer_map.
gcc/lto/
* lto.c (canonical_type_hash_cache): Use hash_map instead of
pointer_map.
From-SVN: r211938
Trevor Saunders [Tue, 24 Jun 2014 13:21:53 +0000 (13:21 +0000)]
allow storing values directly in hash tables
gcc/
* hash-table.h: Add a template arg to choose between storing values
and storing pointers to values, and then provide partial
specializations for both.
* tree-browser.c (tree_upper_hasher): Provide the type the hash table
should store, not the type values should point to.
* tree-into-ssa.c (var_info_hasher): Likewise.
* tree-ssa-dom.c (expr_elt_hasher): Likewise.
* tree-complex.c: Adjust.
* tree-hasher.h (int_tree_hasher): store int_tree_map in the hash
table instead of int_tree_map *.
* tree-parloops.c: Adjust.
* tree-ssa-reassoc.c (ocount_hasher): Don't lie to hash_map about what
type is being stored.
* tree-vectorizer.c: Adjust.
From-SVN: r211937
Trevor Saunders [Tue, 24 Jun 2014 13:21:35 +0000 (13:21 +0000)]
Remove a layer of indirection from hash_table
gcc/
* hash-table.h: Remove a layer of indirection from hash_table so that
it contains the hash table's data instead of a pointer to the data.
* alloc-pool.c, asan.c, attribs.c, bitmap.c, cfg.c,
config/arm/arm.c, config/i386/winnt.c, config/ia64/ia64.c,
config/mips/mips.c, config/sol2.c, coverage.c, cselib.c,
data-streamer-out.c, dse.c, dwarf2cfi.c, dwarf2out.c, except.c,
fold-const.c, gcse.c, ggc-common.c,
gimple-ssa-strength-reduction.c, gimplify.c,
graphite-clast-to-gimple.c, graphite-dependences.c,
graphite-htab.h, graphite.c, haifa-sched.c, ipa-devirt.c,
ipa-profile.c, ira-color.c, ira-costs.c, loop-invariant.c,
loop-iv.c, loop-unroll.c, lto-streamer-in.c, lto-streamer-out.c,
lto-streamer.c, lto-streamer.h, passes.c, plugin.c,
postreload-gcse.c, sese.c, statistics.c, store-motion.c,
trans-mem.c, tree-browser.c, tree-cfg.c, tree-complex.c,
tree-eh.c, tree-into-ssa.c, tree-parloops.c, tree-sra.c,
tree-ssa-ccp.c, tree-ssa-coalesce.c, tree-ssa-dom.c,
tree-ssa-live.c, tree-ssa-loop-im.c,
tree-ssa-loop-ivopts.c, tree-ssa-phiopt.c, tree-ssa-pre.c,
tree-ssa-reassoc.c, tree-ssa-sccvn.c, tree-ssa-strlen.c,
tree-ssa-structalias.c, tree-ssa-tail-merge.c,
tree-ssa-threadupdate.c, tree-ssa-uncprop.c,
tree-vect-data-refs.c, tree-vect-loop.c, tree-vectorizer.c,
tree-vectorizer.h, valtrack.c, valtrack.h, var-tracking.c,
vtable-verify.c, vtable-verify.h: Adjust.
gcc/c/
* c-decl.c: Adjust.
gcc/cp/
* class.c, semantics.c, tree.c, vtable-class-hierarchy.c:
Adjust.
gcc/java/
* jcf-io.c: Adjust.
gcc/lto/
* lto.c: Adjust.
gcc/objc/
* objc-act.c: Adjust.
From-SVN: r211936
Alan Lawrence [Tue, 24 Jun 2014 11:38:02 +0000 (11:38 +0000)]
singleton_intrinsics_1.c: Save temps and cleanup.
* gcc.target/aarch64/singleton_intrinsics_1.c: Save temps and cleanup.
From-SVN: r211934