Jerry DeLisle [Sun, 5 Oct 2014 21:11:37 +0000 (21:11 +0000)]
re PR libfortran/63460 (Some namelists cannot be read from stdin (unit 5): Fortran runtime error: End of file)
2014-10-05 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/63460
* io/unit.c (init_units): Initialize the DELIM flag to
UNSPECIFIED for the STDIN unit so that the flag is
correctly set later.
From-SVN: r215908
Jan Hubicka [Sun, 5 Oct 2014 19:51:39 +0000 (21:51 +0200)]
ipa-prop.c (try_make_edge_direct_virtual_call): Remove overactive sanity check.
* ipa-prop.c (try_make_edge_direct_virtual_call): Remove overactive
sanity check.
From-SVN: r215907
François Dumont [Sun, 5 Oct 2014 18:44:46 +0000 (18:44 +0000)]
re PR libstdc++/63456 (unordered_map incorrectly frees _M_single_bucket. Patch Included)
2014-10-05 François Dumont <fdumont@gcc.gnu.org>
PR libstdc++/63456
* include/bits/hashtable.h (_M_uses_single_bucket(__bucket_type*)): Test
the parameter.
* testsuite/23_containers/unordered_set/63456.cc: New.
From-SVN: r215905
Jan Hubicka [Sun, 5 Oct 2014 17:40:28 +0000 (19:40 +0200)]
ipa-polymorphic-call.c (possible_placement_new): Fix condition on size.
* ipa-polymorphic-call.c (possible_placement_new): Fix condition
on size.
(ipa_polymorphic_call_context::restrict_to_inner_type): Do not walk
into vptr pointer.
(ipa_polymorphic_call_context::dump): Fix formating.
(walk_ssa_copies): Add logic avoiding loops; update uses.
* ipa-prop.c (ipa_analyze_call_uses): Compute vptr_changed.
* g++.dg/ipa/devirt-42.C: Update template.
* g++.dg/ipa/devirt-44.C: Update template.
* g++.dg/ipa/devirt-45.C: Update template.
* g++.dg/ipa/devirt-46.C: Update template.
* g++.dg/ipa/devirt-47.C: Update template.
* g++.dg/ipa/devirt-48.C: New testcase.
From-SVN: r215902
Mark Wielaard [Sun, 5 Oct 2014 15:25:03 +0000 (15:25 +0000)]
PR debug/63239 Add DWARF representation for C++11 deleted member function.
include/ChangeLog
* dwarf2.def (DW_AT_GNU_deleted): New attribute.
gcc/ChangeLog
* dwarf2out.c (gen_subprogram_die): When a member function is
explicitly deleted then add a DW_AT_GNU_deleted attribute.
* langhooks.h (struct lang_hooks_for_decls): Add
function_decl_deleted_p langhook.
* langhooks-def.h (LANG_HOOKS_FUNCTION_DECL_DELETED_P): Define.
(LANG_HOOKS_DECLS): Add LANG_HOOKS_FUNCTION_DECL_DELETED_P.
gcc/cp/ChangeLog
* cp-objcp-common.h (LANG_HOOKS_FUNCTION_DECL_DELETED_P): Define.
(cp_function_decl_deleted_p): New prototype.
* cp-objcp-common.c (cp_function_deleted_p): New function.
gcc/testsuite/ChangeLog
* g++.dg/debug/dwarf2/deleted-member-function.C: New testcase.
From-SVN: r215901
Jan Hubicka [Sun, 5 Oct 2014 05:02:19 +0000 (07:02 +0200)]
ipa-polymorphic-call.c (walk_ssa_copies): Recognize NULL pointer checks.
* ipa-polymorphic-call.c (walk_ssa_copies): Recognize
NULL pointer checks.
(ipa_polymorphic_call_context::get_dynamic_type): Return true
if type doesn't change.
* cgraph.h (cgraph_indirect_call_info): New flag.
* cgraph.c (cgraph_node::create_indirect_edge): Initialize it.
(cgraph_node::dump): Dump it.
* ipa-prop.c (ipa_analyze_call_uses): Ignore return valud
of context.get_dynamic_type.
(ipa_make_edge_direct_to_target): Do not speculate
edge that is already speuclative.
(try_make_edge_direct_virtual_call): Use VPTR_CHANGED; Do not
speculate to __builtin_unreachable
(ipa_write_indirect_edge_info, ipa_read_indirect_edge_info): Stream
vptr_changed.
* ipa-cp.c (ipa_get_indirect_edge_target_1): Use vptr_changed.
* g++.dg/ipa/devirt-47.C: New testcase.
From-SVN: r215898
Jan Hubicka [Sun, 5 Oct 2014 04:56:14 +0000 (06:56 +0200)]
re PR ipa/61144 (Invalid optimizations for extern vars with local weak definitions)
PR ipa/61144
* gcc.dg/tree-ssa/pr61144.c: New testcase.
From-SVN: r215897
GCC Administrator [Sun, 5 Oct 2014 00:16:21 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r215893
Jan Hubicka [Sat, 4 Oct 2014 18:29:03 +0000 (20:29 +0200)]
devirt-46.C: New testcase.
* g++.dg/ipa/devirt-46.C: New testcase.
* ipa-prop.c (ipa_compute_jump_functions_for_edge): Call
get_dynamic_type; drop TODO.
* ipa-polymorphic-call.c
(ipa_polymorphic_call_context::get_dynamic_type): Be ready
for otr_type to be unknown.
From-SVN: r215890
Trevor Saunders [Sat, 4 Oct 2014 14:53:41 +0000 (14:53 +0000)]
remove score-* support
libgcc/ChangeLog:
2014-10-04 Trevor Saunders <tsaunders@mozilla.com>
* config.host: Remove support for score-*.
contrib/ChangeLog:
2014-10-04 Trevor Saunders <tsaunders@mozilla.com>
* compare-all-tests: Don't test score-*.
* config-list.mk: Likewise.
gcc/ChangeLog:
2014-10-04 Trevor Saunders <tsaunders@mozilla.com>
* common/config/score/score-common.c: Remove.
* config.gcc: Remove support for score-*.
* config/score/constraints.md: Remove.
* config/score/elf.h: Remove.
* config/score/predicates.md: Remove.
* config/score/score-conv.h: Remove.
* config/score/score-generic.md: Remove.
* config/score/score-modes.def: Remove.
* config/score/score-protos.h: Remove.
* config/score/score.c: Remove.
* config/score/score.h: Remove.
* config/score/score.md: Remove.
* config/score/score.opt: Remove.
* doc/md.texi: Don't document score-*.
From-SVN: r215889
Trevor Saunders [Sat, 4 Oct 2014 13:29:26 +0000 (13:29 +0000)]
Fix dupplicate declaration of ggc_realloc in gencondmd
If vec.h is included before ggc.h it forward declares ggc_realloc with
defaulted arguments. This means ggc.h can not be included later because
it would lead to a second declaration of ggc_realloc with defaulted
arguments. In generator programs vec.h can not include ggc.h because it
may not exist yet. So generator programs must make sure they include
ggc.h before anything that includes vec.h.
gcc/ChangeLog:
2014-10-04 Trevor Saunders <tsaunders@mozilla.com>
PR pch/63429
* genconditions.c: Directly include ggc.h before rtl.h.
From-SVN: r215888
Francois-Xavier Coudert [Sat, 4 Oct 2014 10:18:07 +0000 (10:18 +0000)]
re PR fortran/36534 (Bogus: '__convert_s1_s4' at (1) is obsolescent in fortran 95)
PR fortran/36534
* resolve.c (resolve_fl_procedure): Clean up obsolescence warning.
* gfortran.dg/widechar_10.f90: New test.
From-SVN: r215887
Jan Hubicka [Sat, 4 Oct 2014 03:24:42 +0000 (05:24 +0200)]
devirt-42.C: New testcase.
* testsuite/g++.dg/ipa/devirt-42.C: New testcase.
* testsuite/g++.dg/ipa/devirt-43.C: New testcase.
* testsuite/g++.dg/ipa/devirt-44.C: New testcase.
* testsuite/g++.dg/ipa/devirt-45.C: New testcase.
* ipa-polymorphic-call.c
(ipa_polymorphic_call_context::ipa_polymorphic_call_context): Fix
code determining speculative type.
(ipa_polymorphic_call_context::combine_with): Fix speculation merge.
From-SVN: r215886
GCC Administrator [Sat, 4 Oct 2014 00:16:25 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r215885
Bill Schmidt [Fri, 3 Oct 2014 22:38:39 +0000 (22:38 +0000)]
altivec.md (altivec_lvsl): New define_expand.
[gcc]
2014-10-03 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* altivec.md (altivec_lvsl): New define_expand.
(altivec_lvsl_direct): Rename define_insn from altivec_lvsl.
(altivec_lvsr): New define_expand.
(altivec_lvsr_direct): Rename define_insn from altivec_lvsr.
* rs6000.c (rs6000_expand_builtin): Change to use
altivec_lvs[lr]_direct; remove commented-out code.
[gcc/testsuite]
2014-10-03 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* gcc.target/powerpc/lvsl-lvsr.c: New test.
From-SVN: r215882
Jan Hubicka [Fri, 3 Oct 2014 22:34:47 +0000 (22:34 +0000)]
ipa-polymorphic-call.c (decl_maybe_in_construction_p): Be ready for BASE and OUTER_TYPE being NULL.
* ipa-polymorphic-call.c (decl_maybe_in_construction_p): Be ready
for BASE and OUTER_TYPE being NULL.
(ipa_polymorphic_call_context::possible_dynamic_type_change): Add
in_poly_cdtor parameter.
From-SVN: r215881
Bill Schmidt [Fri, 3 Oct 2014 21:32:20 +0000 (21:32 +0000)]
rs6000-c.c (altivec_resolve_overloaded_builtin): Issue a warning message when vec_lvsl or vec_lvsr is used with a little endian...
[gcc]
2014-10-03 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
Issue a warning message when vec_lvsl or vec_lvsr is used with a
little endian target.
[gcc/testsuite]
2014-10-03 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* g++.dg/ext/altivec-2.C: Compile with -Wno-deprecated to avoid
failing with the new warning message.
* gcc.dg/vmx/3c-01a.c: Likewise.
* gcc.dg/vmx/ops-long-1.c: Likewise.
* gcc.dg/vmx/ops.c: Likewise.
* gcc.target/powerpc/altivec-20.c: Likewise.
* gcc.target/powerpc/altivec-6.c: Likewise.
* gcc.target/powerpc/altivec-vec-merge.c: Likewise.
* gcc.target/powerpc/vsx-builtin-8.c: Likewise.
* gcc.target/powerpc/warn-lvsl-lvsr.c: New test.
From-SVN: r215880
Manuel López-Ibáñez [Fri, 3 Oct 2014 21:22:10 +0000 (21:22 +0000)]
tree-pretty-print.c (dump_location): Make it extern.
gcc/ChangeLog:
2014-10-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
* tree-pretty-print.c (dump_location): Make it extern. Dump also
the column.
* tree-pretty-print.h (dump_location): Declare.
* gimple-pretty-print.c (dump_gimple_phi): Use dump_location.
(pp_gimple_stmt_1): Likewise.
(dump_implicit_edges): Likewise.
* gimplify.c (gimplify_call_expr): Use LOCATION_FILE and
LOCATION_LINE.
gcc/testsuite/ChangeLog:
2014-10-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
* gcc.dg/tm/debug-1.c: Update regex.
* c-c++-common/raw-string-18.c: Update regex.
* c-c++-common/raw-string-19.c: Update regex.
From-SVN: r215879
David Malcolm [Fri, 3 Oct 2014 20:25:30 +0000 (20:25 +0000)]
Fix build breakage on darwin introduced by me in r215861
gcc/ChangeLog:
* gcc.c (driver::global_initializations): Remove "const" so
that GCC_DRIVER_HOST_INITIALIZATION can modify decoded_options
and decoded_options_count.
From-SVN: r215877
Jan Hubicka [Fri, 3 Oct 2014 20:18:52 +0000 (20:18 +0000)]
ipa-polymorphic-call.c (decl_maybe_in_construction_p): Be ready for BASE and OUTER_TYPE being NULL.
* ipa-polymorphic-call.c (decl_maybe_in_construction_p): Be ready
for BASE and OUTER_TYPE being NULL.
(ipa_polymorphic_call_context::possible_dynamic_type_change): Add
in_poly_cdtor parameter.
From-SVN: r215876
Maciej W. Rozycki [Fri, 3 Oct 2014 20:15:29 +0000 (20:15 +0000)]
e500.h (HARD_REGNO_CALLER_SAVE_MODE): Remove macro.
* config/rs6000/e500.h (HARD_REGNO_CALLER_SAVE_MODE): Remove
macro.
* config/rs6000/rs6000.h (HARD_REGNO_CALLER_SAVE_MODE): Handle
TARGET_E500_DOUBLE case here.
From-SVN: r215875
Marek Polacek [Fri, 3 Oct 2014 20:14:48 +0000 (20:14 +0000)]
re PR c/63453 (Bogus warning for gnu_inline functions)
PR c/63453
* c-decl.c (pop_scope): Don't warn about "inline function declared
but never defined" for functions marked with gnu_inline attribute.
* gcc.dg/pr63453.c: New test.
From-SVN: r215874
Bill Schmidt [Fri, 3 Oct 2014 20:06:38 +0000 (20:06 +0000)]
lex.c (search_line_fast): Add new version to be used for Power8 and later targets when Altivec is enabled.
2014-10-03 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* lex.c (search_line_fast): Add new version to be used for Power8
and later targets when Altivec is enabled. Restrict the existing
Altivec version to big-endian systems so that lvsr is not used on
little endian, where it is deprecated. Remove LE-specific code
from the now-BE-only version.
From-SVN: r215873
Marc Glisse [Fri, 3 Oct 2014 19:57:01 +0000 (21:57 +0200)]
re PR c++/54427 (Expose more vector extensions)
2014-10-03 Marc Glisse <marc.glisse@inria.fr>
PR c++/54427
PR c++/57198
PR c++/58845
gcc/c-family/
* c-common.c (warn_logical_operator): Punt for vectors.
gcc/cp/
* typeck.c (cp_build_binary_op): save_expr after convert to save
redundant operations.
[TRUTH_ANDIF_EXPR, TRUTH_ORIF_EXPR]: Handle vectors.
(cp_build_unary_op) [TRUTH_NOT_EXPR]: Likewise.
gcc/
* doc/extend.texi (Vector Extensions): Document &&, ||, ! in C++.
gcc/testsuite/
* g++.dg/ext/vector9.C: Update, not an error anymore.
* g++.dg/ext/vector27.C: Replace with new test.
* g++.dg/ext/vector28.C: New file.
* g++.dg/other/error23.C: Update to a different error.
From-SVN: r215872
Jan Hubicka [Fri, 3 Oct 2014 19:52:11 +0000 (21:52 +0200)]
cgraph.h (struct indirect_call_info): Add IN_POLYMORPHIC_CDTOR
* cgraph.h (struct indirect_call_info): Add IN_POLYMORPHIC_CDTOR
* lto-cgraph.c (lto_output_edge, input_edge): Stream
in_polymorphic_cdtor
* cgraph.c (symbol_table::create_edge): Compute in_polymorphic_cdtor.
(cgraph_edge::make_speculative): Copy in_polymorphic_cdtor.
* cgraphclones.c (cgraph_edge::clone): Likewise.
* ipa-prop.c (update_jump_functions_after_inlining,
try_make_edge_direct_virtual_call): Pass in_polymorphic_cdtor
to possible_dynamic_type_change.
(decl_maybe_in_construction_p): Allow empty OUTER_TYPE and BASE.
(ipa_polymorphic_call_context::possible_dynamic_type_change): Add
IN_POLY_CDOTR argument.
From-SVN: r215871
Ian Lance Taylor [Fri, 3 Oct 2014 18:27:43 +0000 (18:27 +0000)]
compiler: Recognize 64-bit symbol tables in archives.
By Dominik Vogt.
From-SVN: r215869
Jakub Jelinek [Fri, 3 Oct 2014 18:19:12 +0000 (20:19 +0200)]
i386.c (ix86_expand_vec_perm_vpermi2): Fix up formatting.
* config/i386/i386.c (ix86_expand_vec_perm_vpermi2): Fix up formatting.
(ix86_expand_vec_perm): Only call ix86_expand_vec_perm_vpermi2 if
TARGET_AVX512F.
(expand_vec_perm_1): Likewise.
From-SVN: r215868
Jakub Jelinek [Fri, 3 Oct 2014 18:17:45 +0000 (20:17 +0200)]
vshuf-v8df.c: New test.
* gcc.dg/torture/vshuf-v8df.c: New test.
* gcc.dg/torture/vshuf-v8di.c: New test.
* gcc.dg/torture/vshuf-v16sf.c: New test.
* gcc.dg/torture/vshuf-v16si.c: New test.
* gcc.dg/torture/vshuf-v32hi.c: New test.
* gcc.dg/torture/vshuf-v64qi.c: New test.
* gcc.dg/torture/vshuf-64.inc: New file.
From-SVN: r215867
Jakub Jelinek [Fri, 3 Oct 2014 18:16:09 +0000 (20:16 +0200)]
re PR tree-optimization/61403 (An opportunity for x86 gcc vectorizer (~40% gain))
PR tree-optimization/61403
* config/i386/i386.c (expand_vec_perm_palignr): Fix a spelling
error in comment. Also optimize 256-bit vectors for AVX2
or AVX (floating vectors only), provided the first permutation
can be performed in one insn.
* gcc.dg/torture/vshuf-32.inc: Add a new test 29.
Co-Authored-By: Uros Bizjak <ubizjak@gmail.com>
From-SVN: r215866
Jing Yu [Fri, 3 Oct 2014 17:38:00 +0000 (17:38 +0000)]
Add aarch64 to list of targets that support gold.
2014-09-18 Jing Yu <jingyu@google.com>
* configure.ac: Add aarch64 to list of targets that support gold.
* configure: Regenerate.
From-SVN: r215865
Jason Merrill [Fri, 3 Oct 2014 16:48:24 +0000 (12:48 -0400)]
decl.c (start_decl): Complain about static/thread_local vars in constexpr function.
* decl.c (start_decl): Complain about static/thread_local vars
in constexpr function.
(check_for_uninitialized_const_var): Also uninitialized vars.
* parser.c (cp_parser_jump_statement): And gotos.
(cp_parser_asm_operand_list): And asm.
(cp_parser_try_block): And try.
* semantics.c (ensure_literal_type_for_constexpr_object): And
non-literal.
From-SVN: r215863
Jason Merrill [Fri, 3 Oct 2014 16:48:18 +0000 (12:48 -0400)]
semantics.c (constexpr_fn_retval): Ignore declarations in C++14.
* semantics.c (constexpr_fn_retval): Ignore declarations in C++14.
(var_in_constexpr_fn): New.
(cxx_eval_constant_expression): Look into DECL_INITIAL.
(potential_constant_expression_1): Allow constexpr-local vars.
From-SVN: r215862
David Malcolm [Fri, 3 Oct 2014 16:28:03 +0000 (16:28 +0000)]
gcc.c: Split up the driver's "main" into smaller functions
gcc/ChangeLog:
* gcc.c (class driver): New class.
(main): Reimplement in terms of driver::main, moving most of the
locals to be locals within individual methods of class driver.
The remaining locals "explicit_link_files", "decoded_options" and
"decoded_options_count" are used by multiple driver:: methods, and
so become member data. Doing so isolates the argc/argv reads and
writes. Replace "goto out" with a special exit code from
new method driver::prepare_infiles. Split out the old
implementation of main into the following...
(driver::main): New function, corresponding to the old "main"
implementation.
(driver::set_progname): New function, taken from the old
"main" implementation.
(driver::expand_at_files): Likewise.
(driver::decode_argv): Likewise.
(driver::global_initializations): Likewise.
(driver::build_multilib_strings): Likewise.
(driver::set_up_specs): Likewise.
(driver::putenv_COLLECT_GCC): Likewise.
(driver::maybe_putenv_COLLECT_LTO_WRAPPER): Likewise.
(driver::handle_unrecognized_options): Likewise.
(driver::maybe_print_and_exit): Likewise.
(driver::prepare_infiles): Likewise.
(driver::do_spec_on_infiles): Likewise.
(driver::maybe_run_linker): Likewise.
(driver::final_actions): Likewise.
(driver::get_exit_code): Likewise.
From-SVN: r215861
Jason Merrill [Fri, 3 Oct 2014 15:52:03 +0000 (11:52 -0400)]
re PR c++/63362 (The c++11 triviality-traits need front-end help)
PR c++/63362
* tree.c (strip_typedefs): Handle TREE_LIST.
From-SVN: r215860
Ian Lance Taylor [Fri, 3 Oct 2014 15:51:38 +0000 (15:51 +0000)]
re PR go/61877 (reflect: cannot use []string as type string in Call)
PR go/61877
refect: fix direct call of variadic method value
As reported in bug https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61877
gcc mainline has regressed in this. This CL adds the tests proposed
for the main Go repository:
https://codereview.appspot.com/
151280043/
https://codereview.appspot.com/
152060043/
restores the code from the amd64/386 path that makes this work and
was lost when the Go 1.3 stdlib was merged and changes the FFI path
to call into the same helper code as the amd64/386 path.
I've only tested this on amd64 but I did test a version that was
patched to unconditionally take the FFI path.
From-SVN: r215859
Ian Lance Taylor [Fri, 3 Oct 2014 15:14:50 +0000 (15:14 +0000)]
compiler: Don't insert promoted methods that conflict with fields.
From-SVN: r215856
Yury Gribov [Fri, 3 Oct 2014 14:17:28 +0000 (14:17 +0000)]
asan.c (asan_finish_file): Disable __asan_init calls for KASan; don't emit empty ctors.
2014-10-03 Yury Gribov <y.gribov@samsung.com>
* asan.c (asan_finish_file): Disable __asan_init calls for KASan;
don't emit empty ctors.
From-SVN: r215851
Jonathan Wakely [Fri, 3 Oct 2014 13:36:57 +0000 (14:36 +0100)]
re PR libstdc++/63449 (documentation of vector space overhead management)
PR libstdc++/63449
* doc/xml/manual/containers.xml: Remove outdated section.
* doc/html/*: Regenerate.
From-SVN: r215849
Marek Polacek [Fri, 3 Oct 2014 11:18:06 +0000 (11:18 +0000)]
a.35.4.c: Fix implicit declarations.
* gcc.dg/gomp/appendix-a/a.35.4.c: Fix implicit declarations.
* gcc.dg/gomp/appendix-a/a.35.5.c: Likewise.
* gcc.dg/gomp/appendix-a/a.35.6.c: Likewise.
* gcc.dg/gomp/asm-1.c: Likewise.
* gcc.dg/gomp/for-1.c: Likewise.
* gcc.dg/gomp/empty.c: Fix defaulting to int.
* gcc.dg/gomp/sharing-3.c: Likewise.
* gcc.dg/gomp/udr-3.c: Use -std=gnu89.
From-SVN: r215846
Marek Polacek [Fri, 3 Oct 2014 10:41:29 +0000 (10:41 +0000)]
pr24626-2.c: Add function declarations.
* gcc.dg/torture/pr24626-2.c: Add function declarations. Fix
defaulting to int.
* gcc.dg/torture/pr28814.c: Likewise.
* gcc.dg/torture/pr57036-1.c: Likewise.
* gcc.dg/torture/inline-1.c: Add function declarations.
* gcc.dg/torture/pr24626-1.c: Likewise.
* gcc.dg/torture/pr24626-3.c: Likewise.
* gcc.dg/torture/pr25947-1.c: Likewise.
* gcc.dg/torture/pr27409.c: Likewise.
* gcc.dg/torture/pr38948.c: Likewise.
* gcc.dg/torture/pr44807.c: Likewise.
* gcc.dg/torture/pr49603.c: Likewise.
* gcc.dg/torture/pr45865.c: Likewise.
* gcc.dg/torture/pr51071-2.c: Likewise.
* gcc.dg/torture/pr51801.c: Likewise.
* gcc.dg/torture/pr52720.c: Likewise.
* gcc.dg/torture/pr55124.c: Likewise.
* gcc.dg/torture/pr55238.c: Likewise.
* gcc.dg/torture/pr55687.c: Likewise.
* gcc.dg/torture/pr55888.c: Likewise.
* gcc.dg/torture/pr57036-2.c: Likewise.
* gcc.dg/torture/pr57147-3.c: Likewise.
* gcc.dg/torture/pr57584.c: Likewise.
* gcc.dg/torture/pr59993.c: Likewise.
* gcc.dg/torture/pr58079.c: Likewise.
* gcc.dg/torture/va-arg-25.c: Likewise.
* gcc.dg/torture/vector-2.c: Likewise.
* gcc.dg/torture/stackalign/nested-3.c: Likewise.
* gcc.dg/torture/pr31254.c: Fix defaulting to int.
* gcc.dg/torture/pr43781.c: Likewise.
* gcc.dg/torture/pr52912.c: Likewise.
* gcc.dg/torture/pr59139.c: Likewise.
* gcc.dg/torture/pr55890-1.c: Likewise.
* gcc.dg/torture/pr55890-2.c: Likewise.
* gcc.dg/torture/pr59164.c: Likewise.
* gcc.dg/torture/pr57393-2.c: Likewise.
* gcc.dg/torture/stackalign/comp-goto-1.c: Likewise.
* gcc.dg/torture/stackalign/non-local-goto-4.c: Likewise.
* gcc.dg/torture/stackalign/non-local-goto-5.c: Likewise.
* lib/target-supports.exp (check_effective_target_trapping): Likewise.
* gcc.dg/torture/pr35227.c: Use -std=gnu89. Fix defaulting to int.
* gcc.dg/torture/stackalign/builtin-apply-4.c: Use -fgnu89-inline.
From-SVN: r215844
Eric Botcazou [Fri, 3 Oct 2014 10:28:50 +0000 (10:28 +0000)]
convert.c (convert_to_integer): Do not introduce useless conversions between integral types.
* convert.c (convert_to_integer): Do not introduce useless conversions
between integral types.
From-SVN: r215843
David Sherwood [Fri, 3 Oct 2014 10:11:46 +0000 (10:11 +0000)]
ira-int.h (ira_allocno): Mark hard_regno as signed.
gcc/
2014-10-03 David Sherwood <david.sherwood@arm.com>
* ira-int.h (ira_allocno): Mark hard_regno as signed.
From-SVN: r215842
Paolo Carlini [Fri, 3 Oct 2014 08:50:26 +0000 (08:50 +0000)]
parser.c (cp_parser_assignment_expression, [...]): Add default arguments.
2014-10-03 Paolo Carlini <paolo.carlini@oracle.com>
* parser.c (cp_parser_assignment_expression,
cp_parser_constant_expression): Add default arguments.
(cp_parser_primary_expression,
cp_parser_postfix_open_square_expression,
cp_parser_parenthesized_expression_list,
cp_parser_question_colon_clause,
cp_parser_expression, cp_parser_constant_expression,
cp_parser_label_for_labeled_statement, cp_parser_static_assert,
cp_parser_template_argument, cp_parser_enumerator_definition,
cp_parser_member_declaration, cp_parser_constant_initializer,
cp_parser_noexcept_specification_opt, cp_parser_throw_expression,
cp_parser_std_attribute_spec, cp_parser_objc_message_args,
cp_parser_objc_class_ivars, cp_parser_omp_clause_collapse,
cp_parser_omp_clause_aligned, cp_parser_omp_clause_safelen,
cp_parser_omp_clause_simdlen, cp_parser_omp_clause_dist_schedule,
cp_parser_omp_for_incr, cp_parser_omp_for_loop_init,
cp_parser_cilk_simd_vectorlength, cp_parser_cilk_simd_linear): Adjust.
From-SVN: r215840
Ilya Enkovich [Fri, 3 Oct 2014 08:43:21 +0000 (08:43 +0000)]
lra-constraints.c (inherit_in_ebb): Handle calls with multiple return values.
gcc/
* lra-constraints.c (inherit_in_ebb): Handle calls with
multiple return values.
* caller-save.c (save_call_clobbered_regs): Likewise.
From-SVN: r215839
Jakub Jelinek [Fri, 3 Oct 2014 08:15:03 +0000 (10:15 +0200)]
tree-vect-data-refs.c (vect_permute_load_chain, [...]): Fix a typo in temporary var names, suffle3 to shuffle3.
* tree-vect-data-refs.c (vect_permute_load_chain,
vect_shift_permute_load_chain): Fix a typo in temporary var names,
suffle3 to shuffle3.
From-SVN: r215837
Jakub Jelinek [Fri, 3 Oct 2014 07:29:42 +0000 (09:29 +0200)]
re PR libgomp/61200 (internal compiler error: Segmentation fault, assert & openmp)
PR libgomp/61200
* omp-low.c (taskreg_contexts): New variable.
(scan_omp_parallel): Push newly created context into taskreg_contexts
vector and move record layout code to finish_taskreg_scan.
(scan_omp_task): Likewise.
(finish_taskreg_scan): New function.
(execute_lower_omp): Call finish_taskreg_scan on all taskreg_contexts
vector elements and release it.
* c-c++-common/gomp/pr61200.c: New test.
* testsuite/libgomp.c/pr61200.c: New test.
From-SVN: r215835
Jakub Jelinek [Fri, 3 Oct 2014 07:27:50 +0000 (09:27 +0200)]
re PR target/62128 (Use vpalignr for AVX2 rotation)
PR target/62128
* config/i386/i386.c (expand_vec_perm_palignr): If op1, op0 order
of palignr arguments can't be used due to min 0 or max - min
too high, try also op0, op1 order of palignr arguments.
* gcc.dg/torture/vshuf-16.inc (TESTS): Add 2 new permutations.
* gcc.dg/torture/vshuf-32.inc (TESTS): Add 5 new permutations.
From-SVN: r215834
Jan Hubicka [Fri, 3 Oct 2014 05:42:47 +0000 (07:42 +0200)]
cgraph.h (ipa_polymorphic_call_context): Turn bools into bitfields...
* cgraph.h (ipa_polymorphic_call_context):
Turn bools into bitfields; add DYNAMIC; make MAKE_SPECULATIVE
private, add POSSIBLE_DYNAMIC_TYPE_CHANGE.
* ipa-polymorphic-call.c
(ipa_polymorphic_call_context::restrict_to_inner_class): Allow accesses
past end of dynamic types.
(ipa_polymorphic_call_context::stream_out,
speculative_outer_type): Stream dynamic flag.
(ipa_polymorphic_call_context::set_by_decl): Clear DYNAMIC.
(ipa_polymorphic_call_context::ipa_polymorphic_call_context):
Clear DYNAMIC.
(ipa_polymorphic_call_context::get_dynamic_type): Use DYNAMIC;
set it.
(ipa_polymorphic_call_context::combine_with): Propagate dynamic.
* ipa-prop.c (update_jump_functions_after_inlining,
try_make_edge_direct_virtual_call): Use possible_dynamic_type_change.
From-SVN: r215833
Ian Lance Taylor [Fri, 3 Oct 2014 05:04:59 +0000 (05:04 +0000)]
runtime: Check for CPU_COUNT itself, don't check glibc version.
Fixes issue 38.
From-SVN: r215832
Teresa Johnson [Fri, 3 Oct 2014 00:46:16 +0000 (00:46 +0000)]
tree-ssa-threadupdate.c (freqs_to_counts_path): Scale frequencies up when synthesizing counts to avoid rounding errors.
2014-10-02 Teresa Johnson <tejohnson@google.com>
* tree-ssa-threadupdate.c (freqs_to_counts_path): Scale frequencies
up when synthesizing counts to avoid rounding errors.
From-SVN: r215830
GCC Administrator [Fri, 3 Oct 2014 00:17:06 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r215829
Edward Smith-Rowland [Thu, 2 Oct 2014 20:31:09 +0000 (20:31 +0000)]
feat-cxx98-neg.C: Fix double negative thinko and add many more tests.
2014-10-02 Edward Smith-Rowland <3dw4rd@verizon.net>
* g++.dg/cpp1y/feat-cxx98-neg.C: Fix double negative thinko and
add many more tests.
From-SVN: r215823
Teresa Johnson [Thu, 2 Oct 2014 20:30:11 +0000 (20:30 +0000)]
re PR middle-end/63422 (ICE in freqs_to_counts_path, at tree-ssa-threadupdate.c:981)
2014-10-01 Teresa Johnson <tejohnson@google.com>
PR middle-end/63422
* tree-ssa-threadupdate.c (freqs_to_counts_path): Remove
asserts to handle incoming insanities.
From-SVN: r215822
Segher Boessenkool [Thu, 2 Oct 2014 18:24:07 +0000 (20:24 +0200)]
dg-extract-results.py (output_variation): Always sort if do_sum.
2014-10-02 Segher Boessenkool <segher@kernel.crashing.org>
* dg-extract-results.py (output_variation): Always sort if do_sum.
From-SVN: r215817
Marek Polacek [Thu, 2 Oct 2014 18:22:09 +0000 (18:22 +0000)]
20030731-1.c: Use -std=gnu89.
* gcc.dg/tree-ssa/
20030731-1.c: Use -std=gnu89.
* gcc.dg/tree-ssa/
20030729-1.c: Likewise.
* gcc.dg/tree-ssa/
20030807-8.c: Likewise.
* gcc.dg/tree-ssa/
20040326-1.c: Likewise.
* gcc.dg/tree-ssa/vrp27.c: Likewise.
* gcc.dg/tree-ssa/ssa-ccp-2.c: Likewise.
* gcc.dg/tree-ssa/ssa-dom-thread-4.c: Likewise.
* gcc.dg/tree-ssa/
20040302-1.c: Likewise.
* gcc.dg/tree-ssa/vrp09.c: Likewise.
* gcc.dg/tree-ssa/inline-7.c: Likewise.
* gcc.dg/tree-ssa/attr-alias.c: Likewise.
* gcc.dg/tree-ssa/loadpre8.c: Likewise.
* gcc.dg/tree-ssa/
20041008-1.c: Likewise.
* gcc.dg/tree-ssa/
20030917-1.c: Likewise.
* gcc.dg/tree-ssa/
20030917-2.c: Likewise.
* gcc.dg/tree-ssa/
20030530-2.c: Add function declarations.
* gcc.dg/tree-ssa/
20030708-1.c: Likewise.
* gcc.dg/tree-ssa/
20030709-2.c: Likewise.
* gcc.dg/tree-ssa/
20030710-1.c: Likewise.
* gcc.dg/tree-ssa/
20030711-1.c: Likewise.
* gcc.dg/tree-ssa/
20030711-2.c: Likewise.
* gcc.dg/tree-ssa/
20030711-3.c: Likewise.
* gcc.dg/tree-ssa/
20030728-1.c: Likewise.
* gcc.dg/tree-ssa/
20030731-2.c: Likewise.
* gcc.dg/tree-ssa/
20030807-1.c: Likewise.
* gcc.dg/tree-ssa/
20030807-3.c: Likewise.
* gcc.dg/tree-ssa/
20030807-7.c: Likewise.
* gcc.dg/tree-ssa/
20030807-9.c: Likewise.
* gcc.dg/tree-ssa/
20030814-2.c: Likewise.
* gcc.dg/tree-ssa/
20030814-3.c: Likewise.
* gcc.dg/tree-ssa/
20030814-4.c: Likewise.
* gcc.dg/tree-ssa/
20030814-5.c: Likewise.
* gcc.dg/tree-ssa/
20030820-1.c: Likewise.
* gcc.dg/tree-ssa/
20030820-2.c: Likewise.
* gcc.dg/tree-ssa/
20030821-1.c: Likewise.
* gcc.dg/tree-ssa/
20031022-1.c: Likewise.
* gcc.dg/tree-ssa/
20040209-1.c: Likewise.
* gcc.dg/tree-ssa/
20040211-1.c: Likewise.
* gcc.dg/tree-ssa/alias-13.c: Likewise.
* gcc.dg/tree-ssa/alias-28.c: Likewise.
* gcc.dg/tree-ssa/asm-3.c: Likewise.
* gcc.dg/tree-ssa/coalesce-1.c: Likewise.
* gcc.dg/tree-ssa/foldstring-1.c: Likewise.
* gcc.dg/tree-ssa/forwprop-25.c: Likewise.
* gcc.dg/tree-ssa/forwprop-26.c: Likewise.
* gcc.dg/tree-ssa/isolate-3.c: Likewise.
* gcc.dg/tree-ssa/isolate-5.c: Likewise.
* gcc.dg/tree-ssa/loadpre7.c: Likewise.
* gcc.dg/tree-ssa/pr22117.c: Likewise.
* gcc.dg/tree-ssa/pr23744.c: Likewise.
* gcc.dg/tree-ssa/pr24117.c: Likewise.
* gcc.dg/tree-ssa/pr24840.c: Likewise.
* gcc.dg/tree-ssa/pr25734.c: Likewise.
* gcc.dg/tree-ssa/pr33723.c: Likewise.
* gcc.dg/tree-ssa/pr33920.c: Likewise.
* gcc.dg/tree-ssa/pr34146-2.c: Likewise.
* gcc.dg/tree-ssa/pr34146.c: Likewise.
* gcc.dg/tree-ssa/pr38385.c: Likewise.
* gcc.dg/tree-ssa/pr49642-1.c: Likewise.
* gcc.dg/tree-ssa/pr49642-2.c: Likewise.
* gcc.dg/tree-ssa/pr59597.c: Likewise.
* gcc.dg/tree-ssa/sra-1.c: Likewise.
* gcc.dg/tree-ssa/sra-2.c: Likewise.
* gcc.dg/tree-ssa/sra-5.c: Likewise.
* gcc.dg/tree-ssa/sra-6.c: Likewise.
* gcc.dg/tree-ssa/ssa-ccp-10.c: Likewise.
* gcc.dg/tree-ssa/ssa-ccp-31.c: Likewise.
* gcc.dg/tree-ssa/ssa-pre-14.c: Likewise.
* gcc.dg/tree-ssa/ssa-pre-29.c: Likewise.
* gcc.dg/tree-ssa/ssa-vrp-thread-1.c: Likewise.
* gcc.dg/tree-ssa/vrp46.c: Likewise.
* gcc.dg/tree-ssa/vrp56.c: Likewise.
* gcc.dg/tree-ssa/vrp67.c: Likewise.
* gcc.dg/tree-ssa/vrp72.c: Likewise.
* gcc.dg/tree-ssa/vrp73.c: Likewise.
* gcc.dg/tree-ssa/vrp75.c: Likewise.
* gcc.dg/tree-ssa/
20030611-1.c: Fix defaulting to int.
* gcc.dg/tree-ssa/
20030703-1.c: Likewise.
* gcc.dg/tree-ssa/
20030807-11.c: Likewise.
* gcc.dg/tree-ssa/
20030917-3.c: Likewise.
* gcc.dg/tree-ssa/
20040121-1.c: Likewise.
* gcc.dg/tree-ssa/
20040216-1.c: Likewise.
* gcc.dg/tree-ssa/
20040319-1.c: Likewise.
* gcc.dg/tree-ssa/
20040326-2.c: Likewise.
* gcc.dg/tree-ssa/
20040729-1.c: Likewise.
* gcc.dg/tree-ssa/attr-alias-2.c: Likewise.
* gcc.dg/tree-ssa/cunroll-1.c: Likewise.
* gcc.dg/tree-ssa/cunroll-3.c: Likewise.
* gcc.dg/tree-ssa/cunroll-5.c: Likewise.
* gcc.dg/tree-ssa/foldconst-4.c: Likewise.
* gcc.dg/tree-ssa/foldconst-5.c: Likewise.
* gcc.dg/tree-ssa/ifc-4.c: Likewise.
* gcc.dg/tree-ssa/ifc-6.c: Likewise.
* gcc.dg/tree-ssa/inline-10.c: Likewise.
* gcc.dg/tree-ssa/inline-9.c: Likewise.
* gcc.dg/tree-ssa/ipa-cp-1.c: Likewise.
* gcc.dg/tree-ssa/ipa-split-5.c: Likewise.
* gcc.dg/tree-ssa/local-pure-const.c: Likewise.
* gcc.dg/tree-ssa/nonzero-1.c: Likewise.
* gcc.dg/tree-ssa/pr23434.c: Likewise.
* gcc.dg/tree-ssa/pr33922.c: Likewise.
* gcc.dg/tree-ssa/scev-3.c: Likewise.
* gcc.dg/tree-ssa/scev-4.c: Likewise.
* gcc.dg/tree-ssa/scev-5.c: Likewise.
* gcc.dg/tree-ssa/ssa-dce-1.c: Likewise.
* gcc.dg/tree-ssa/ssa-dse-4.c: Likewise.
* gcc.dg/tree-ssa/ssa-dse-9.c: Likewise.
* gcc.dg/tree-ssa/vrp01.c: Likewise.
* gcc.dg/tree-ssa/vrp02.c: Likewise.
* gcc.dg/tree-ssa/vrp03.c: Likewise.
* gcc.dg/tree-ssa/vrp04.c: Likewise.
* gcc.dg/tree-ssa/vrp05.c: Likewise.
* gcc.dg/tree-ssa/vrp07.c: Likewise.
* gcc.dg/tree-ssa/vrp08.c: Likewise.
* gcc.dg/tree-ssa/vrp10.c: Likewise.
* gcc.dg/tree-ssa/vrp11.c: Likewise.
* gcc.dg/tree-ssa/vrp14.c: Likewise.
* gcc.dg/tree-ssa/wholeprogram-1.c: Likewise.
* gcc.dg/tree-ssa/writeonly.c: Likewise.
* gcc.dg/tree-ssa/
20030807-2.c: Add function declarations. Fix
defaulting to int.
* gcc.dg/tree-ssa/
20030814-1.c: Likewise.
* gcc.dg/tree-ssa/
20050719-1.c: Likewise.
* gcc.dg/tree-ssa/
20070302-1.c: Likewise.
* gcc.dg/tree-ssa/builtin-expect-1.c: Likewise.
* gcc.dg/tree-ssa/builtin-expect-2.c: Likewise.
* gcc.dg/tree-ssa/builtin-expect-3.c: Likewise.
* gcc.dg/tree-ssa/builtin-expect-4.c: Likewise.
* gcc.dg/tree-ssa/builtin-expect-5.c: Likewise.
* gcc.dg/tree-ssa/cunroll-2.c: Likewise.
* gcc.dg/tree-ssa/cunroll-4.c: Likewise.
* gcc.dg/tree-ssa/cunroll-9.c: Likewise.
* gcc.dg/tree-ssa/foldconst-2.c: Likewise.
* gcc.dg/tree-ssa/foldconst-3.c: Likewise.
* gcc.dg/tree-ssa/forwprop-28.c: Likewise.
* gcc.dg/tree-ssa/inline-5.c: Likewise.
* gcc.dg/tree-ssa/inline-6.c: Likewise.
* gcc.dg/tree-ssa/ipa-split-1.c: Likewise.
* gcc.dg/tree-ssa/ipa-split-2.c: Likewise.
* gcc.dg/tree-ssa/ivopts-2.c: Likewise.
* gcc.dg/tree-ssa/ivopts-3.c: Likewise.
* gcc.dg/tree-ssa/loop-20.c: Likewise.
* gcc.dg/tree-ssa/loop-38.c: Likewise.
* gcc.dg/tree-ssa/pr20913.c: Likewise.
* gcc.dg/tree-ssa/pr21582.c: Likewise.
* gcc.dg/tree-ssa/pr24670.c: Likewise.
* gcc.dg/tree-ssa/ssa-ccp-12.c: Likewise.
* gcc.dg/tree-ssa/vrp06.c: Likewise.
* gcc.dg/tree-ssa/vrp12.c: Likewise.
* gcc.dg/tree-ssa/vrp13.c: Likewise.
* gcc.dg/tree-ssa/vrp23.c: Likewise.
* gcc.dg/tree-ssa/vrp24.c: Likewise.
* gcc.dg/tree-ssa/vrp25.c: Likewise.
* gcc.dg/tree-ssa/vrp55.c: Likewise.
* gcc.dg/tree-ssa/recip-6.c: Fix typo.
From-SVN: r215816
Marek Polacek [Thu, 2 Oct 2014 18:17:04 +0000 (18:17 +0000)]
20091013.c: Fix defaulting to int.
* gcc.dg/tm/
20091013.c: Fix defaulting to int.
* gcc.dg/tm/
20091221.c: Likewise.
* gcc.dg/tm/debug-1.c: Likewise.
* gcc.dg/tm/irrevocable-1.c: Likewise.
* gcc.dg/tm/irrevocable-2.c: Likewise.
* gcc.dg/tm/irrevocable-3.c: Likewise.
* gcc.dg/tm/irrevocable-4.c: Likewise.
* gcc.dg/tm/memopt-1.c: Likewise.
* gcc.dg/tm/pr52173-1.c: Likewise.
* gcc.dg/tm/props-1.c: Likewise.
* gcc.dg/tm/props-2.c: Likewise.
* gcc.dg/tm/props-3.c: Likewise.
* gcc.dg/tm/
20100125.c: Fix implicit declarations.
* gcc.dg/tm/memopt-11.c: Likewise.
* gcc.dg/tm/memopt-12.c: Likewise.
* gcc.dg/tm/memopt-16.c: Likewise.
* gcc.dg/tm/memopt-3.c: Likewise.
* gcc.dg/tm/memopt-4.c: Likewise.
* gcc.dg/tm/memopt-5.c: Likewise.
* gcc.dg/tm/memopt-6.c: Likewise.
* gcc.dg/tm/wrap-4.c: Likewise.
From-SVN: r215815
Marek Polacek [Thu, 2 Oct 2014 18:14:27 +0000 (18:14 +0000)]
pr24049.c: Fix implicit declarations.
* gcc.dg/vect/pr24049.c: Fix implicit declarations.
* gcc.dg/vect/pr37730.c: Likewise.
* gcc.dg/vect/pr52870.c: Likewise.
* gcc.dg/vect/pr60092-2.c: Likewise.
* gcc.dg/vect/pr60092.c: Likewise.
* gcc.dg/vect/vect-reduc-sad.c: Likewise.
* gcc.dg/vect/pr26359.c: Fix defaulting to int.
* gcc.dg/vect/pr31041.c: Likewise.
* gcc.dg/vect/pr32216.c: Likewise.
* gcc.dg/vect/pr32224.c: Likewise.
* gcc.dg/vect/pr32366.c: Likewise.
* gcc.dg/vect/pr33866.c: Likewise.
* gcc.dg/vect/pr43430-2.c: Likewise.
* gcc.dg/vect/pr43842.c: Likewise.
* gcc.dg/vect/vect-1.c: Likewise.
* gcc.dg/vect/vect-1-big-array.c: Likewise.
* gcc.dg/vect/vect-93.c: Likewise.
* gcc.dg/vect/pr28952.c: Fix implicit declarations and
defaulting to int.
From-SVN: r215814
Paolo Carlini [Thu, 2 Oct 2014 18:05:55 +0000 (18:05 +0000)]
re PR c++/53025 ([C++11] noexcept operator depends on copy-elision)
/cp
2014-10-02 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/53025
* cp-tree.h (struct saved_scope): Add noexcept_operand.
(cp_noexcept_operand): Define.
* call.c (build_over_call): Use it.
* parser.c (cp_parser_unary_expression, [RID_NOEXCEPT]): Likewise.
* pt.c (tsubst_copy_and_build, [NOEXCEPT_EXPR]): Likewise.
/testsuite
2014-10-02 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/53025
* g++.dg/cpp0x/noexcept23.C: New.
* g++.dg/cpp0x/noexcept24.C: Likewise.
From-SVN: r215813
Marek Polacek [Thu, 2 Oct 2014 17:57:01 +0000 (17:57 +0000)]
20020130-1.c: Use -std=gnu89.
* gcc.dg/noncompile/
20020130-1.c: Use -std=gnu89.
* gcc.dg/noncompile/
20050120-1.c: Likewise.
* gcc.dg/noncompile/old-style-parm-2.c: Likewise.
* gcc.dg/noncompile/920616-2.c: Fix defaulting to int.
* gcc.dg/noncompile/930301-1.c: Likewise.
* gcc.dg/noncompile/930622-1.c: Likewise.
* gcc.dg/noncompile/930622-2.c: Likewise.
* gcc.dg/noncompile/950825-1.c: Likewise.
* gcc.dg/noncompile/invalid_asm.c: Likewise.
* gcc.dg/noncompile/scope.c: Likewise.
* gcc.dg/noncompile/va-arg-1.c: Likewise.
* gcc.dg/noncompile/920923-1.c: Fix implicit declarations.
* gcc.dg/noncompile/971104-1.c: Likewise.
From-SVN: r215811
Ian Lance Taylor [Thu, 2 Oct 2014 17:56:50 +0000 (17:56 +0000)]
re PR go/61880 (Linking with external functions in C does not work in GO when using gccgo, while it works in gc)
PR go/61880
compiler: symbol names should have '.' replaced with '_'
Package and symbol names issued by the cgo tool and compiler
should be the same for the object files to link.
A minimal change to fix only:
https://code.google.com/p/gofrontend/issues/detail?id=36
and
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61880
From-SVN: r215810
Marek Polacek [Thu, 2 Oct 2014 17:55:51 +0000 (17:55 +0000)]
crossmodule-indircall-1.c: Fix defaulting to int.
* gcc.dg/tree-prof/crossmodule-indircall-1.c: Fix defaulting to int.
* gcc.dg/tree-prof/crossmodule-indircall-1a.c: Likewise.
* gcc.dg/tree-prof/merge_block.c: Likewise.
* gcc.dg/tree-prof/peel-1.c: Likewise.
* gcc.dg/tree-prof/stringop-1.c: Likewise.
* gcc.dg/tree-prof/stringop-2.c: Likewise.
* gcc.dg/tree-prof/unroll-1.c: Likewise.
* gcc.dg/tree-prof/update-cunroll-2.c: Likewise.
* gcc.dg/tree-prof/val-prof-1.c: Likewise.
* gcc.dg/tree-prof/val-prof-2.c: Likewise.
* gcc.dg/tree-prof/val-prof-3.c: Likewise.
* gcc.dg/tree-prof/val-prof-4.c: Likewise.
* gcc.dg/tree-prof/val-prof-5.c: Likewise.
* gcc.dg/tree-prof/val-prof-6.c: Likewise.
* gcc.dg/tree-prof/cmpsf-1.c: Likewise.
* gcc.dg/tree-prof/inliner-1.c: Use -fgnu89-inline. Fix defaulting
to int.
From-SVN: r215809
Martin Jambor [Thu, 2 Oct 2014 16:49:14 +0000 (18:49 +0200)]
re PR rtl-optimization/63375 (reordering of reads across fences)
2014-10-02 Martin Jambor <mjambor@suse.cz>
PR tree-optimization/63375
* tree-sra.c (build_access_from_expr_1): Disqualify volatile
references.
From-SVN: r215804
Jonathan Wakely [Thu, 2 Oct 2014 15:52:24 +0000 (16:52 +0100)]
ctgmath: Include <complex>.
* include/c_global/ctgmath: Include <complex>.
* testsuite/26_numerics/headers/ctgmath/complex.cc: New.
* doc/xml/manual/status_cxx2011.xml: Update.
* doc/html/manual/status.html: Regenerate.
From-SVN: r215803
Segher Boessenkool [Thu, 2 Oct 2014 13:40:53 +0000 (15:40 +0200)]
Add file I forgot to add before.
From-SVN: r215802
Edward Smith-Rowland [Thu, 2 Oct 2014 12:38:41 +0000 (12:38 +0000)]
stl_function.h: Generic associative lookup feature is not supported.
2014-10-02 Edward Smith-Rowland <3dw4rd@verizon.net>
* include/bits/stl_function.h: Generic associative lookup feature
is not supported.
* testsuite/experimental/feat-lib-fund.cc: <experimental/any> is
actually available.
* testsuite/experimental/feat-cxx14.cc: Add test for __cpp_lib_is_final.
* testsuite/20_util/declval/requirements/1_neg.cc: Adjust.
* testsuite/20_util/duration/literals/range.cc: Adjust.
* testsuite/20_util/duration/requirements/typedefs_neg1.cc: Adjust.
* testsuite/20_util/duration/requirements/typedefs_neg2.cc: Adjust.
* testsuite/20_util/duration/requirements/typedefs_neg3.cc: Adjust.
* testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust.
* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Adjust.
* testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust.
* testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
Adjust.
From-SVN: r215801
Olivier Hainque [Thu, 2 Oct 2014 09:44:20 +0000 (09:44 +0000)]
Makefile.in (CROSS): Define, to @CROSS@.
2014-10-02 Olivier Hainque <hainque@adacore.com>
* Makefile.in (CROSS): Define, to @CROSS@.
From-SVN: r215799
Marek Polacek [Thu, 2 Oct 2014 09:37:53 +0000 (09:37 +0000)]
20000120-2.c: Use -fgnu89-inline.
* gcc.c-torture/compile/
20000120-2.c: Use -fgnu89-inline.
* gcc.c-torture/compile/
20011119-1.c: Likewise.
* gcc.c-torture/compile/
20011119-2.c: Likewise.
* gcc.c-torture/compile/
20021120-1.c: Likewise.
* gcc.c-torture/compile/
20021120-2.c: Likewise.
* gcc.c-torture/compile/
20050215-1.c: Likewise.
* gcc.c-torture/compile/
20050215-2.c: Likewise.
* gcc.c-torture/compile/
20050215-3.c: Likewise.
* gcc.c-torture/compile/pr37669.c: Likewise.
* gcc.c-torture/execute/
20020107-1.c: Likewise.
* gcc.c-torture/execute/restrict-1.c: Likewise.
* gcc.c-torture/compile/
20090721-1.c: Fix defaulting to int.
* gcc.c-torture/execute/930529-1.c: Likewise.
* gcc.c-torture/execute/920612-1.c: Likewise.
* gcc.c-torture/execute/920711-1.c: Likewise.
* gcc.c-torture/execute/990127-2.c: Likewise.
* gcc.c-torture/execute/pr40386.c: Likewise.
* gcc.c-torture/execute/pr57124.c: Likewise.
* gcc.c-torture/compile/pr34808.c: Add function declarations.
* gcc.c-torture/compile/pr42299.c: Likewise.
* gcc.c-torture/compile/pr48517.c: Use -std=gnu89.
* gcc.c-torture/compile/simd-6.c: Likewise.
* gcc.c-torture/execute/pr53645-2.c: Likewise.
* gcc.c-torture/execute/pr53645.c: Likewise.
* gcc.c-torture/execute/
20001121-1.c: Use -fgnu89-inline. Add function
declarations.
* gcc.c-torture/execute/980608-1.c: Likewise.
* gcc.c-torture/execute/bcp-1.c: Likewise.
* gcc.c-torture/execute/p18298.c: Likewise.
* gcc.c-torture/execute/unroll-1.c: Likewise.
* gcc.c-torture/execute/va-arg-7.c: Likewise.
* gcc.c-torture/execute/va-arg-8.c: Likewise.
* gcc.c-torture/execute/930526-1.c: Use -fgnu89-inline. Add function
declarations. Fix defaulting to int.
* gcc.c-torture/execute/961223-1.c: Likewise.
* gcc.c-torture/execute/loop-2c.c: Use -fgnu89-inline and
-Wno-pointer-to-int-cast. Fix defaulting to int.
From-SVN: r215798
Jakub Jelinek [Thu, 2 Oct 2014 07:29:49 +0000 (09:29 +0200)]
re PR target/62128 (Use vpalignr for AVX2 rotation)
PR target/62128
* config/i386/i386.c (expand_vec_perm_1): Try expand_vec_perm_palignr
if it expands to a single insn only.
(expand_vec_perm_palignr): Add SINGLE_INSN_ONLY_P argument. If true,
fail unless in_order is true. Add forward declaration.
(expand_vec_perm_vperm2f128): Fix up comment about which permutation
is useful for one_operand_p.
(ix86_expand_vec_perm_const_1): Adjust expand_vec_perm_palignr caller.
From-SVN: r215796
Jan Hubicka [Thu, 2 Oct 2014 07:07:04 +0000 (09:07 +0200)]
cgraphclones.c (build_function_type_skip_args): Do not make new type variant of old.
* cgraphclones.c (build_function_type_skip_args): Do not make new
type variant of old.
From-SVN: r215795
Jan Hubicka [Thu, 2 Oct 2014 07:03:15 +0000 (09:03 +0200)]
ipa-prop.h (ipa_get_controlled_uses): Add hack to avoid ICE when speculation is added.
* ipa-prop.h (ipa_get_controlled_uses): Add hack to avoid ICE
when speculation is added.
(ipa_edge_args): Add polymorphic_call_contexts.
(ipa_get_ith_polymorhic_call_context): New accesor.
(ipa_make_edge_direct_to_target): Add SPECULATIVE parameter.
* ipa-prop.c (ipa_print_node_jump_functions_for_edge): Print contexts.
(ipa_compute_jump_functions_for_edge): Compute contexts.
(update_jump_functions_after_inlining): Update contexts.
(ipa_make_edge_direct_to_target): Add SPECULATIVE argument;
update dumping; add speculative edge creation.
(try_make_edge_direct_virtual_call): Add CTX_PTR parameter; handle
context updating.
(update_indirect_edges_after_inlining): Pass down context.
(ipa_edge_duplication_hook): Duplicate contexts.
(ipa_write_node_info): Stream out contexts.
(ipa_read_node_info): Stream in contexts.
* ipa-devirt.c (type_all_derivations_known_p): Avoid ICE on non-ODR
types.
(try_speculative_devirtualization): New function.
* ipa-utils.h (try_speculative_devirtualization): Declare.
From-SVN: r215794
Andrew Pinski [Thu, 2 Oct 2014 06:35:49 +0000 (06:35 +0000)]
gcc/testsuite/
2014-10-01 Andrew Pinski <apinski@cavium.com>
Max Ostapenko <m.ostapenko@partner.samsung.com>
* lib/ubsan-dg.exp
(check_effective_target_fsanitize_address): New function.
(ubsan_init): Save off ALWAYS_CXXFLAGS.
(ubsan_finish): Restore ALWAYS_CXXFLAGS correctly.
* lib/asan-dg.exp
(check_effective_target_faddress_sanitizer): Rename to ...
(check_effective_target_fsanitize_address): ... this. Change to creating
an executable.
(asan_init): Save off ALWAYS_CXXFLAGS.
(asan_finish): Restore ALWAYS_CXXFLAGS correctly.
* lib/tsan-dg.exp
(check_effective_target_fthread_sanitizer): Rename to ...
(check_effective_target_fsanitize_thread): ... this. Change to creating
an executable.
(tsan_init): Save off ALWAYS_CXXFLAGS.
(tsan_finish): Restore ALWAYS_CXXFLAGS correctly. Set dg-do-what-default
to run as a default behaviour.
* gcc.dg/ubsan/ubsan.exp: Don't check the return value of ubsan_init.
Check check_effective_target_fsanitize_undefined before running the
tests.
* g++.dg/ubsan/ubsan.exp: Likewise.
* gcc.dg/asan/asan.exp: Don't check the return value of asan_init.
check_effective_target_fsanitize_address too early.
Check check_effective_target_fsanitize_address before running the tests.
* g++.dg/asan/asan.exp: Likewise.
* gcc.dg/tsan/tsan.exp: Don't check the return value of tsan_init.
check_effective_target_fsanitize_thread too early.
Check check_effective_target_fsanitize_thread before running the tests.
* g++.dg/tsan/tsan.exp: Likewise.
Co-Authored-By: Max Ostapenko <m.ostapenko@partner.samsung.com>
From-SVN: r215793
Jan Hubicka [Thu, 2 Oct 2014 05:49:32 +0000 (07:49 +0200)]
ipa.c (walk_polymorphic_call_targets): Avoid ICE when dumping during WPA.
* ipa.c (walk_polymorphic_call_targets): Avoid ICE when
dumping during WPA.
From-SVN: r215792
Jan Hubicka [Thu, 2 Oct 2014 05:34:21 +0000 (05:34 +0000)]
ipa-prop.c (ipa_modify_formal_parameters): Do not merge type variants.
* ipa-prop.c (ipa_modify_formal_parameters): Do not merge
type variants.
From-SVN: r215791
Jan Hubicka [Thu, 2 Oct 2014 04:45:44 +0000 (04:45 +0000)]
* ipa-polymorphic-call.c
(ipa_polymorphic_call_context::restrict_to_inner_class):
Rename EXPECTED_TYPE to OTR_TYPE; Validate speculation late;
use speculation_consistent_p to do so; Add CONSDER_BASES
and CONSIDER_PLACEMENT_NEW parameters.
(contains_type_p): Add CONSDER_PLACEMENT_NEW and CONSIDER_BASES;
short circuit obvious cases.
(ipa_polymorphic_call_context::dump): Improve formatting.
(ipa_polymorphic_call_context::ipa_polymorphic_call_context): Use
combine_speculation_with to record speculations; Do not ICE when
object is located in pointer type decl; do not ICE for methods
of UNION_TYPE; do not record nonpolymorphic types.
(ipa_polymorphic_call_context::speculation_consistent_p): New method.
(ipa_polymorphic_call_context::combine_speculation_with): New method.
(ipa_polymorphic_call_context::combine_with): New method.
(ipa_polymorphic_call_context::make_speculative): Move here; use
combine speculation.
* cgraph.h (ipa_polymorphic_call_context): Update
restrict_to_inner_class prototype; add offset_by, make_speculative,
combine_with, useless_p, combine_speculation_with and
speculation_consistent_p methods.
(ipa_polymorphic_call_context::offset_by): New method.
(ipa_polymorphic_call_context::useless_p): New method.
From-SVN: r215790
Segher Boessenkool [Thu, 2 Oct 2014 02:18:01 +0000 (04:18 +0200)]
re PR rtl-optimization/62151 (wrong code at -O2 and -O3 on x86_64-linux-gnu)
2014-10-01 Segher Boessenkool <segher@kernel.crashing.org>
gcc/
PR rtl-optimization/62151
* combine.c (can_combine_p): Allow the destination register of INSN
to be clobbered in I3.
(subst): Do not substitute into clobbers of registers.
gcc/testsuite/
* gcc.dg/combine-clobber.c: New.
From-SVN: r215789
GCC Administrator [Thu, 2 Oct 2014 00:16:20 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r215788
Bernd Edlinger [Thu, 2 Oct 2014 00:06:28 +0000 (00:06 +0000)]
charset.c (convert_no_conversion): Reallocate memory with 25% headroom.
2014-10-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
Jeff Law <law@redhat.com>
* charset.c (convert_no_conversion): Reallocate memory with 25%
headroom.
Co-Authored-By: Jeff Law <law@redhat.com>
From-SVN: r215785
Jakub Jelinek [Wed, 1 Oct 2014 20:51:34 +0000 (22:51 +0200)]
re PR debug/63342 (ICE in loc_list_from_tree, at dwarf2out.c:14698)
PR debug/63342
* dwarf2out.c (loc_list_from_tree): Handle MEM_REF with non-zero
offset, TARGET_MEM_REF and SSA_NAME.
* gcc.dg/pr63342.c: New test.
From-SVN: r215782
Jakub Jelinek [Wed, 1 Oct 2014 20:42:23 +0000 (22:42 +0200)]
re PR c++/63306 (ICE: Segmentation fault in analyze_functions())
PR c++/63306
* g++.dg/ipa/pr63306.C: New test.
From-SVN: r215779
Jakub Jelinek [Wed, 1 Oct 2014 20:41:37 +0000 (22:41 +0200)]
i386.c (expand_vec_perm_palignr): Handle 256-bit vectors for TARGET_AVX2.
* config/i386/i386.c (expand_vec_perm_palignr): Handle
256-bit vectors for TARGET_AVX2.
From-SVN: r215778
Jakub Jelinek [Wed, 1 Oct 2014 20:41:05 +0000 (22:41 +0200)]
i386.c (expand_vec_perm_vperm2f128): Canonicalize dfirst permutation.
* config/i386/i386.c (expand_vec_perm_vperm2f128): Canonicalize
dfirst permutation.
From-SVN: r215777
Jakub Jelinek [Wed, 1 Oct 2014 20:40:29 +0000 (22:40 +0200)]
re PR target/63428 (vshuf-v4di.c miscompilation)
PR target/63428
* config/i386/i386.c (expand_vec_perm_pshufb): Fix up rperm[0]
argument to avx2_permv2ti.
* gcc.dg/torture/vshuf-4.inc: Move test 122 from EXPTESTS
to test 24 in TESTS.
From-SVN: r215776
François Dumont [Wed, 1 Oct 2014 19:24:23 +0000 (19:24 +0000)]
printers.py (StdDebugIteratorPrinter.to_string): Adapt to latest modifications on debug iterators.
2014-10-01 François Dumont <fdumont@gcc.gnu.org>
* python/libstdcxx/v6/printers.py (StdDebugIteratorPrinter.to_string):
Adapt to latest modifications on debug iterators.
From-SVN: r215775
Jason Merrill [Wed, 1 Oct 2014 17:21:08 +0000 (13:21 -0400)]
re PR c++/63362 (The c++11 triviality-traits need front-end help)
PR c++/63362
* method.c (constructible_expr): Handle value-init of non-class.
* parser.c (cp_parser_trait_expr): Allow pack expansion.
* pt.c (tsubst_copy_and_build): Handle pack expansion.
From-SVN: r215772
Jason Merrill [Wed, 1 Oct 2014 17:21:01 +0000 (13:21 -0400)]
re PR c++/63362 (The c++11 triviality-traits need front-end help)
PR c++/63362
* class.c (type_has_non_user_provided_default_constructor): Rename
from type_has_user_provided_default_constructor, reverse sense.
(default_init_uninitialized_part, explain_non_literal_class): Adjust.
(check_bases_and_members): Set TYPE_HAS_COMPLEX_DFLT.
* call.c (build_new_method_call_1): Adjust.
* cp-tree.h: Adjust.
* decl.c (grok_special_member_properties): Don't set
TYPE_HAS_COMPLEX_DFLT.
* init.c (build_value_init_noctor): Don't use
type_has_user_provided_default_constructor.
From-SVN: r215771
Kyrylo Tkachov [Wed, 1 Oct 2014 13:12:37 +0000 (13:12 +0000)]
[PATCH][ARM] Disable store_minmaxsi pattern for arm_restrict_i
* config/arm/arm.md (*store_minmaxsi): Disable for arm_restrict_it.
From-SVN: r215760
Bernhard Reutner-Fischer [Wed, 1 Oct 2014 13:08:37 +0000 (15:08 +0200)]
testsuite: error out with tested condition instead of FOO
Use the (abbreviated) proprocessor condition for #error instead of FOO
so one can see the test issued.
2012-12-01 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
* lib/target-supports.exp: error out with preprocessor condition
instead of FOO everywhere.
From-SVN: r215759
Edward Smith-Rowland [Wed, 1 Oct 2014 11:59:29 +0000 (11:59 +0000)]
type_traits: Add is_final<> type trait for C++14.
2014-10-01 Edward Smith-Rowland <3dw4rd@verizon.net>
* include/std/type_traits: Add is_final<> type trait for C++14.
* testsuite/util/testsuite_tr1.h: Add
* testsuite/20_util/is_final/requirements/
explicit_instantiation.cc: New.
* testsuite/20_util/is_final/requirements/typedefs.cc: New.
* testsuite/20_util/is_final/value.cc: New.
* testsuite/20_util/declval/requirements/1_neg.cc: Adjust.
* testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust.
* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Adjust.
From-SVN: r215753
Edward Smith-Rowland [Wed, 1 Oct 2014 11:49:23 +0000 (11:49 +0000)]
Implement SD-6: SG10 Feature Test Recommendations
2014-10-01 Edward Smith-Rowland <3dw4rd@verizon.net>
Implement SD-6: SG10 Feature Test Recommendations
* internal.h (lexer_state, spec_nodes): Add in__has_include__.
* directives.c: Support __has_include__ builtin.
* expr.c (parse_has_include): New function to parse __has_include__
builtin; (eval_token()): Use it.
* files.c (_cpp_has_header()): New funtion to look for header;
(open_file_failed()): Not an error to not find a header file for
__has_include__.
* identifiers.c (_cpp_init_hashtable()): Add entry for __has_include__.
* pch.c (cpp_read_state): Lookup __has_include__.
* traditional.c (enum ls, _cpp_scan_out_logical_line()): Walk through
__has_include__ statements.
2014-10-01 Edward Smith-Rowland <3dw4rd@verizon.net>
Implement SD-6: SG10 Feature Test Recommendations
* c-cppbuiltin.c (c_cpp_builtins()): Define language feature
macros and the __has_header macro.
2014-10-01 Edward Smith-Rowland <3dw4rd@verizon.net>
Implement SD-6: SG10 Feature Test Recommendations
* include/bits/basic_string.h: Add __cpp_lib feature test macro.
* include/bits/stl_algobase.h: Ditto.
* include/bits/stl_function.h: Ditto.
* include/bits/unique_ptr.h: Ditto.
* include/std/chrono: Ditto.
* include/std/complex: Ditto.
* include/std/iomanip: Ditto.
* include/std/shared_mutex: Ditto.
* include/std/tuple: Ditto.
* include/std/type_traits: Ditto.
* include/std/utility: Ditto.
* testsuite/experimental/feat-cxx14.cc: New.
* testsuite/experimental/feat-lib-fund.cc: New.
* testsuite/20_util/declval/requirements/1_neg.cc: Adjust.
* testsuite/20_util/duration/literals/range.cc: Adjust.
* testsuite/20_util/duration/requirements/typedefs_neg1.cc: Adjust.
* testsuite/20_util/duration/requirements/typedefs_neg2.cc: Adjust.
* testsuite/20_util/duration/requirements/typedefs_neg3.cc: Adjust.
* testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust.
* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Adjust.
* testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust.
* testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
Adjust.
2014-10-01 Edward Smith-Rowland <3dw4rd@verizon.net>
Implement SD-6: SG10 Feature Test Recommendations
* g++.dg/cpp1y/feat-cxx11-neg.C: New.
* g++.dg/cpp1y/feat-cxx11.C: New.
* g++.dg/cpp1y/feat-cxx14.C: New.
* g++.dg/cpp1y/feat-cxx98.C: New.
* g++.dg/cpp1y/feat-cxx98-neg.C: New.
* g++.dg/cpp1y/phoobhar.h: New.
* g++.dg/cpp1y/testinc/phoobhar.h: New.
From-SVN: r215752
GCC Administrator [Wed, 1 Oct 2014 00:16:51 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r215747
Janne Blomqvist [Tue, 30 Sep 2014 21:23:40 +0000 (00:23 +0300)]
Fix typo in ChangeLog
From-SVN: r215743
Janne Blomqvist [Tue, 30 Sep 2014 21:15:58 +0000 (00:15 +0300)]
Fix -Wmaybe-uninitialized warnings.
2014-10-01 Janne Blomqvist <jb@gcc.gnu.org>
* intrinsics/pack_generic.c (pack_s_internal): Fix
-Wmaybe-uninitialized warning.
* m4/unpack.m4 (unpack0_'rtype_code`): Likewise.
(unpack1_'rtype_code`): Likewise.
* generated/unpack_*.m4: Regenerated.
From-SVN: r215742
Janne Blomqvist [Tue, 30 Sep 2014 20:05:33 +0000 (23:05 +0300)]
Add -Werror=implicit-function-declaration to AM_CFLAGS.
2014-09-30 Janne Blomqvist <jb@gcc.gnu.org>
* configure.ac (AM_CFLAGS): Add
-Werror=implicit-function-declaration.
* Makefile.in: Regenerated.
* aclocal.m4: Regenerated.
* configure: Regenerated.
From-SVN: r215741
Uros Bizjak [Tue, 30 Sep 2014 18:25:19 +0000 (20:25 +0200)]
i386.md (fmodxf3): Enable for flag_finite_math_only only.
* config/i386/i386.md (fmodxf3): Enable for flag_finite_math_only only.
(fmod<mode>3): Ditto.
(fpremxf4_i387): Ditto.
(reminderxf3): Ditto.
(reminder<mode>3): Ditto.
(fprem1xf4_i387): Ditto.
From-SVN: r215740
Teresa Johnson [Tue, 30 Sep 2014 18:19:59 +0000 (18:19 +0000)]
Redesign jump threading profile updates to avoid introducing insanities.
gcc:
2014-09-30 Teresa Johnson <tejohnson@google.com>
* tree-ssa-threadupdate.c (struct ssa_local_info_t): New
duplicate_blocks bitmap.
(remove_ctrl_stmt_and_useless_edges): Ditto.
(create_block_for_threading): Ditto.
(compute_path_counts): New function.
(update_profile): Ditto.
(recompute_probabilities): Ditto.
(update_joiner_offpath_counts): Ditto.
(freqs_to_counts_path): Ditto.
(clear_counts_path): Ditto.
(ssa_fix_duplicate_block_edges): Update profile info.
(ssa_create_duplicates): Pass new parameter.
(ssa_redirect_edges): Remove old profile update.
(thread_block_1): New duplicate_blocks bitmap,
remove old profile update.
(thread_single_edge): Pass new parameter.
gcc/testsuite:
2014-09-30 Teresa Johnson <tejohnson@google.com>
* testsuite/gcc.dg/tree-prof/
20050826-2.c: New test.
* testsuite/gcc.dg/tree-prof/cmpsf-1.c: Ditto.
From-SVN: r215739
Jason Merrill [Tue, 30 Sep 2014 17:13:10 +0000 (13:13 -0400)]
c-common.h (enum rid): Add RID_IS_TRIVIALLY_ASSIGNABLE and RID_IS_TRIVIALLY_CONSTRUCTIBLE.
c-family/
* c-common.h (enum rid): Add RID_IS_TRIVIALLY_ASSIGNABLE and
RID_IS_TRIVIALLY_CONSTRUCTIBLE.
* c-common.c (c_common_reswords): Add __is_trivially_copyable.
cp/
* cp-tree.h (cp_trait_kind): Add CPTK_IS_TRIVIALLY_ASSIGNABLE and
CPTK_IS_TRIVIALLY_CONSTRUCTIBLE.
* cxx-pretty-print.c (pp_cxx_trait_expression): Likewise.
* parser.c (cp_parser_primary_expression): Likewise.
(cp_parser_trait_expr): Likewise. Handle variadic trait.
* semantics.c (trait_expr_value): Likewise.
(finish_trait_expr): Likewise.
(check_trait_type): Handle variadic trait. Return bool.
* method.c (build_stub_object): Add rvalue reference here.
(locate_fn_flags): Not here.
(check_nontriv, assignable_expr, constructible_expr): New.
(is_trivially_xible): New.
From-SVN: r215738
Jason Merrill [Tue, 30 Sep 2014 17:12:49 +0000 (13:12 -0400)]
c-common.h (enum rid): Add RID_IS_TRIVIALLY_COPYABLE.
c-family/
* c-common.h (enum rid): Add RID_IS_TRIVIALLY_COPYABLE.
* c-common.c (c_common_reswords): Add __is_trivially_copyable.
cp/
* cp-tree.h (cp_trait_kind): Add CPTK_IS_TRIVIALLY_COPYABLE.
* cxx-pretty-print.c (pp_cxx_trait_expression): Likewise.
* parser.c (cp_parser_primary_expression): Likewise.
(cp_parser_trait_expr): Likewise.
* semantics.c (trait_expr_value): Likewise.
(finish_trait_expr): Likewise.
From-SVN: r215737
Jason Merrill [Tue, 30 Sep 2014 17:12:29 +0000 (13:12 -0400)]
method.c (build_stub_object): Use CONVERT_EXPR.
* method.c (build_stub_object): Use CONVERT_EXPR.
* tree.c (build_dummy_object): Likewise.
(is_dummy_object): Adjust.
From-SVN: r215736
Jason Merrill [Tue, 30 Sep 2014 17:12:06 +0000 (13:12 -0400)]
c-common.h (enum rid): Remove RID_IS_CONVERTIBLE_TO.
c-family/
* c-common.h (enum rid): Remove RID_IS_CONVERTIBLE_TO.
* c-common.c (c_common_reswords): Remove __is_convertible_to.
cp/
* cp-tree.h (cp_trait_kind): Remove CPTK_IS_CONVERTIBLE_TO.
* cxx-pretty-print.c (pp_cxx_trait_expression): Likewise.
* semantics.c (trait_expr_value): Likewise.
(finish_trait_expr): Likewise.
* parser.c (cp_parser_primary_expression): Likewise.
(cp_parser_trait_expr): Likewise. Remove redundant grokdeclarator.
From-SVN: r215735
Paolo Carlini [Tue, 30 Sep 2014 17:11:38 +0000 (17:11 +0000)]
re PR c++/16564 (g++ seems to go into an infinite loop after errors)
cp/
2014-09-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
PR c++/16564
* error.c (print_instantiation_context): Delete.
* typeck2.c (build_x_arrow): Record location when pushing
template instantiation.
* pt.c (push_tinst_level): Make it a wrapper around ...
(push_tinst_level_loc): ... this. New function. Make excessive
template instantiation depth a fatal error. Record location. Use
bool as return type.
(instantiate_pending_templates): Make excessive
template instantiation depth a fatal error.
(problematic_instantiation_changed): Use bool as return type.
* cp-tree.h (print_instantiation_context): Delete.
(push_tinst_level): Update declaration.
(problematic_instantiation_changed): Likewise.
(push_tinst_level_loc): New.
testsuite/
2014-09-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
PR c++/16564
* lib/gcc.exp: Accept "fatal error:" as error prefix.
* lib/g++.exp: Likewise.
* lib/obj-c++.exp: Likewise.
* lib/objc.exp: Likewise.
* g++.dg/template/pr16564.C: New test.
2014-09-30 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/16564
* g++.dg/cpp0x/decltype26.C: Adjust.
* g++.dg/cpp0x/decltype28.C: Likewise.
* g++.dg/cpp0x/decltype29.C: Likewise.
* g++.dg/cpp0x/decltype32.C: Likewise.
* g++.dg/cpp0x/enum11.C: Likewise.
* g++.dg/template/arrow1.C: Likewise.
* g++.dg/template/pr23510.C: Likewise.
* g++.dg/template/recurse.C: Likewise.
* g++.dg/template/recurse2.C: Likewise.
* g++.dg/template/vtable2.C: Likewise.
* g++.old-deja/g++.pt/infinite1.C: Likewise.
From-SVN: r215734