platform/upstream/linaro-gcc.git
9 years ago2014-12-22 Tobias Burnus <burnus@net-b.de>
burnus [Mon, 22 Dec 2014 21:53:53 +0000 (21:53 +0000)]
2014-12-22  Tobias Burnus  <burnus@net-b.de>

        * trans-intrinsic.c (gfc_conv_intrinsic_caf_get, conv_caf_send):
        Fix vector handling.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@219034 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2014-12-22 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Mon, 22 Dec 2014 18:58:44 +0000 (18:58 +0000)]
2014-12-22  Paolo Carlini  <paolo.carlini@oracle.com>

* include/bits/basic_string.h: Fix _S_local_capacity for
large sizeof(_CharT).

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@219031 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agogcc/testsuite/
olegendo [Mon, 22 Dec 2014 18:53:44 +0000 (18:53 +0000)]
gcc/testsuite/
PR target/58314
* gcc.target/sh/torture/pr58314-2.c: New.
* gcc.target/sh/torture/pr58314.c: Don't set -Os option.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@219030 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2014-12-22 Janus Weil <janus@gcc.gnu.org>
janus [Mon, 22 Dec 2014 18:15:08 +0000 (18:15 +0000)]
2014-12-22  Janus Weil  <janus@gcc.gnu.org>

PR fortran/63363
* check.c (gfc_check_kind): Reject polymorphic and non-data arguments.

2014-12-22  Janus Weil  <janus@gcc.gnu.org>

PR fortran/63363
* gfortran.dg/kind_1.f90: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@219027 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR libstdc++/37522
redi [Mon, 22 Dec 2014 16:41:39 +0000 (16:41 +0000)]
PR libstdc++/37522
* include/bits/basic_string.h (stod, stof, stoi, stol, stold, stoll,
stoul, stoull, to_string): Only use _GLIBCXX_HAVE_BROKEN_VSWPRINTF
to guard definition of to_wstring.
* testsuite/21_strings/basic_string/numeric_conversions/char/dr1261.cc:
Do not use dg-require-string-conversions.
* testsuite/21_strings/basic_string/numeric_conversions/char/stod.cc:
Likewise.
* testsuite/21_strings/basic_string/numeric_conversions/char/stof.cc:
Likewise.
* testsuite/21_strings/basic_string/numeric_conversions/char/stoi.cc:
Likewise.
* testsuite/21_strings/basic_string/numeric_conversions/char/stol.cc:
Likewise.
* testsuite/21_strings/basic_string/numeric_conversions/char/stold.cc:
Likewise.
* testsuite/21_strings/basic_string/numeric_conversions/char/stoll.cc:
Likewise.
* testsuite/21_strings/basic_string/numeric_conversions/char/stoul.cc:
Likewise.
* testsuite/21_strings/basic_string/numeric_conversions/char/
stoull.cc: Likewise.
* testsuite/21_strings/basic_string/numeric_conversions/char/
to_string.cc: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@219019 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agogcc/testsuite/
olegendo [Mon, 22 Dec 2014 16:19:11 +0000 (16:19 +0000)]
gcc/testsuite/
PR target/52933
* gcc.target/sh/sh/pr52933-3.c: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@219017 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2014-12-22 Ville Voutilainen <ville.voutilainen@gmail.com>
redi [Mon, 22 Dec 2014 16:00:16 +0000 (16:00 +0000)]
2014-12-22  Ville Voutilainen  <ville.voutilainen@gmail.com>

PR libstdc++/60271
C++14 constexpr min, max, minmax, min_element, max_element
and minmax_element. Also constexpr for 20.9.5-20.9.9,
aka various library functors.
* include/bits/c++config: Add _GLIBCXX14_CONSTEXPR.
* include/bits/algorithmfwd.h (min, max, minmax, min_element,
max_element): Use it.
* include/bits/predefined_ops.h (_Iter_less_iter, __iter_less_iter,
_Iter_comp_iter, __iter_comp_iter): Likewise.
* include/bits/stl_algo.h (minmax, __minmax_element, minmax_element,
min, max, __min_element, min_element, __max_element, max_element)
Likewise.
* include/bits/stl_algobase.h (min, max): Likewise.
* include/bits/stl_function.h (plus, minus, multiplies, divides,
modulus, negate, equal_to, not_equal_to, greater, less, greater_equal,
less_equal, logical_and, logical_or, logical_not, bit_and, bit_or,
bit_xor, bit_not, unary_negate, not1, binary_negate, not2): Likewise.
* testsuite/20_util/function_objects/constexpr.cc: New.
* testsuite/25_algorithms/max/constexpr.cc: Likewise.
* testsuite/25_algorithms/max_element/constexpr.cc: Likewise.
* testsuite/25_algorithms/min/constexpr.cc: Likewise.
* testsuite/25_algorithms/min_element/constexpr.cc: Likewise.
* testsuite/25_algorithms/minmax/constexpr.cc: Likewise.
* testsuite/25_algorithms/minmax_element/constexpr.cc: Likewise.
* testsuite/ext/profile/mutex_extensions_neg.cc: Adjust dg-error.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@219015 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * doc/xml/manual/status_cxx2011.xml: Update.
redi [Mon, 22 Dec 2014 14:49:09 +0000 (14:49 +0000)]
* doc/xml/manual/status_cxx2011.xml: Update.
* doc/html/manual/status.html: Regenerate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@219014 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2014-12-22 Rüdiger Sonderfeld <ruediger@c-plusplus.de>
redi [Mon, 22 Dec 2014 13:45:52 +0000 (13:45 +0000)]
2014-12-22  Rüdiger Sonderfeld  <ruediger@c-plusplus.de>

PR libstdc++/54354
* include/std/iomanip (_Get_time): New struct.
(get_time): New manipulator.
(operator<<): New overloaded function.
* testsuite/27_io/manipulators/extended/get_time/char/1.cc: New.
* testsuite/27_io/manipulators/extended/get_time/char/2.cc: New.
* testsuite/27_io/manipulators/extended/get_time/wchar_t/1.cc: New.
* testsuite/27_io/manipulators/extended/get_time/wchar_t/2.cc: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@219013 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2014-12-22 Rüdiger Sonderfeld <ruediger@c-plusplus.de>
redi [Mon, 22 Dec 2014 13:45:44 +0000 (13:45 +0000)]
2014-12-22  Rüdiger Sonderfeld  <ruediger@c-plusplus.de>
    Jonathan Wakely  <jwakely@redhat.com>

PR libstdc++/60396
* config/abi/pre/gnu.ver: Add new exports.
* include/bits/locale_facets_nonio.h (time_get::get): New overloads.
(time_get::do_get):  New virtual function.
* include/bits/locale_facets_nonio.tcc (time_get::get): Define.
(time_get::do_get): Define.
* src/c++11/string-inst.cc (time_get::get, time_get::do_get): Add
C++11-only instantiations.
* testsuite/22_locale/time_get/get/char/1.cc: New.
* testsuite/22_locale/time_get/get/char/2.cc: New.
* testsuite/22_locale/time_get/get/wchar_t/1.cc: New.
* testsuite/22_locale/time_get/get/wchar_t/2.cc: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@219012 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * gnat.dg/nan_max.adb: New test.
ebotcazou [Mon, 22 Dec 2014 11:05:18 +0000 (11:05 +0000)]
* gnat.dg/nan_max.adb: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@219011 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * gcc-interface/trans.c (Attribute_to_gnu) <Attr_{Min,Max}>: If the
ebotcazou [Mon, 22 Dec 2014 11:04:42 +0000 (11:04 +0000)]
* gcc-interface/trans.c (Attribute_to_gnu) <Attr_{Min,Max}>: If the
type is a floating-point type, implement the semantics of the C99
f{min,max} routines with regard to NaNs.
(gnat_to_gnu): Call builtin_decl_implicit.
* gcc-interface/utils2.c (compare_arrays): Adjust comments.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@219010 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * gcc-interface/decl.c (gnat_to_gnu_field): Post the error message
ebotcazou [Mon, 22 Dec 2014 10:35:11 +0000 (10:35 +0000)]
* gcc-interface/decl.c (gnat_to_gnu_field): Post the error message
for parent overlapping on the position instead of on the first bit.
For a field that needs strict alignment, issue the error for the
position first and, for the size, issue an error if it is too large
only for the atomic and aliased cases.  Issue a specific error if
the size is not a multiple of a byte in the volatile and the stric
alignment cases.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@219009 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR rtl-optimization/62151
amker [Mon, 22 Dec 2014 10:25:10 +0000 (10:25 +0000)]
PR rtl-optimization/62151
* combine.c (try_combine): New local variables local_elim_i1
and local_elim_i0.  Set elim_i1 and elim_i0 using the local
version variables.  Distribute notes from i0notes or i1notes
using the local variables.

gcc/testsuite/ChangeLog
PR rtl-optimization/62151
* gcc.c-torture/execute/pr62151.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@219008 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * gcc-interface/decl.c (check_ok_for_atomic): Rename into...
ebotcazou [Mon, 22 Dec 2014 10:12:05 +0000 (10:12 +0000)]
* gcc-interface/decl.c (check_ok_for_atomic): Rename into...
(check_ok_for_atomic_type): ...this.  When checking the mode, also
check that the type is sufficient aligned.  Remove useless code and
tidy up implementation.
(gnat_to_gnu_entity): Adjust to above renaming.
(gnat_to_gnu_component_type): Likewise.
(gnat_to_gnu_field): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@219007 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agosymbol_summary is used for inline_summary.
marxin [Mon, 22 Dec 2014 09:33:05 +0000 (09:33 +0000)]
symbol_summary is used for inline_summary.

* lto-partition.c (add_symbol_to_partition_1): New inline_summaries
is used.
(undo_partition): Likewise.
(lto_balanced_map): Likewise.
* cgraphunit.c (symbol_table::process_new_functions): New inline_summaries
is used.
* ipa-cp.c (ipcp_cloning_candidate_p): Likewise.
(devirtualization_time_bonus): Likewise.
(estimate_local_effects): Likewise.
(ipcp_propagate_stage): Likewise.
* ipa-inline-analysis.c (evaluate_conditions_for_known_args): Likewise.
(evaluate_properties_for_edge): Likewise.
(inline_summary_alloc): Likewise.
(reset_inline_summary): New inline_summary argument is introduced.
(inline_summary_t::remove): New function.
(inline_summary_t::duplicate): Likewise.
(dump_inline_edge_summary): New inline_summaries is used.
(dump_inline_summary): Likewise.
(estimate_function_body_sizes): Likewise.
(compute_inline_parameters): Likewise.
(estimate_edge_devirt_benefit): Likewise.
(estimate_node_size_and_time): Likewise.
(inline_update_callee_summaries): Likewise.
(inline_merge_summary): Likewise.
(inline_update_overall_summary): Likewise.
(simple_edge_hints): Likewise.
(do_estimate_edge_time): Likewise.
(estimate_time_after_inlining): Likewise.
(estimate_size_after_inlining): Likewise.
(do_estimate_growth): Likewise.
(growth_likely_positive): Likewise.
(inline_generate_summary): Likewise.
(inline_read_section): Likewise.
(inline_read_summary): Likewise.
(inline_write_summary): Likewise.
(inline_free_summary): Likewise.
* ipa-inline-transform.c (clone_inlined_nodes): Likewise.
(inline_call): Likewise.
* ipa-inline.c (caller_growth_limits): Likewise.
(can_inline_edge_p): Likewise.
(want_early_inline_function_p): Likewise.
(compute_uninlined_call_time): Likewise.
(compute_inlined_call_time): Likewise.
(big_speedup_p): Likewise.
(want_inline_small_function_p): Likewise.
(edge_badness): Likewise.
(update_caller_keys): Likewise.
(update_callee_keys): Likewise.
(recursive_inlining): Likewise.
(inline_small_functions): Likewise.
(inline_to_all_callers): Likewise.
(dump_overall_stats): Likewise.
(early_inline_small_functions): Likewise.
* ipa-inline.h: New class inline_summary_t replaces
vec<inline_summary_t>.
* ipa-split.c (execute_split_functions): New inline_summaries is used.
* ipa.c (walk_polymorphic_call_targets): Likewise.
* tree-sra.c (ipa_sra_preliminary_function_checks): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@219006 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoipa-prop uses symbol_summary class.
marxin [Mon, 22 Dec 2014 09:19:09 +0000 (09:19 +0000)]
ipa-prop uses symbol_summary class.

* lto-partition.c: Include of symbol-summary.h is added.
* lto-symtab.c: Likewise.
* lto.c: Likewise.
* auto-profile.c: Include of symbol-summary.h is added.
* cgraph.c: Likewise.
* cgraphbuild.c: Likewise.
* cgraphclones.c: Likewise.
* cgraphunit.c: Likewise.
* ipa-cp.c: Likewise.
* ipa-devirt.c: Likewise.
* ipa-icf.c: Likewise.
* ipa-inline-analysis.c (evaluate_properties_for_edge): New
ipa_node_params_sum data structure is used.
(inline_node_duplication_hook): Likewise.
(estimate_function_body_sizes): Likewise.
(remap_edge_change_prob): Likewise.
(inline_merge_summary): Likewise.
* ipa-inline-transform.c: Include of symbol-summary.h is added.
* ipa-inline.c (early_inliner): New ipa_node_params_sum data structure
is used.
* ipa-polymorphic-call.c: Include of symbol-summary.h is added.
* ipa-profile.c: Include of symbol-summary.h is added.
* ipa-prop.c (ipa_propagate_indirect_call_infos): New ipa_node_params_sum
data structure is used.
(ipa_node_params::~ipa_node_params): New function.
(ipa_free_all_node_params): Destruction is simplified.
(ipa_node_removal_hook): Removed.
(ipa_add_new_function): Renamed from ipa_node_duplication_hook.
(ipa_node_params_t::duplicate): New function.
(ipa_register_cgraph_hooks): Few hooks are removed.
(ipa_unregister_cgraph_hooks): Likewise.
(ipa_prop_write_jump_functions): New ipa_node_params_sum is used.
* ipa-prop.h (struct ipa_node_params): Destructor introduced for
the structure.
(ipa_check_create_node_params): Vector for ipa_node_params is replaced
with function_summary.
* ipa-split.c: Include of symbol-summary.h is added.
* ipa-utils.c: Include of symbol-summary.h is added.
* ipa.c: Include of symbol-summary.h is added.
* omp-low.c: Include of symbol-summary.h is added.
* tree-inline.c: Include of symbol-summary.h is added.
* tree-sra.c: Include of symbol-summary.h is added.
* tree-ssa-pre.c: Include of symbol-summary.h is added.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@219005 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoNew symbol_summary class introduced.
marxin [Mon, 22 Dec 2014 08:54:19 +0000 (08:54 +0000)]
New symbol_summary class introduced.

* cgraph.h (symbol_table::allocate_cgraph_symbol): Summary UID
is filled up.
* symbol-summary.h: New file.
* gengtype.c (open_base_files): Add symbol-summary.h.
* toplev.c (general_init): Call constructor of symbol_table.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@219004 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoAdd myself to RTEMS Ports maintainers.
sh [Mon, 22 Dec 2014 06:09:21 +0000 (06:09 +0000)]
Add myself to RTEMS Ports maintainers.

ChangeLog
* MAINTAINERS (RTEMS Ports): Add myself.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@219003 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoDaily bump.
gccadmin [Mon, 22 Dec 2014 00:16:53 +0000 (00:16 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@219002 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agogcc/
olegendo [Sun, 21 Dec 2014 23:37:42 +0000 (23:37 +0000)]
gcc/
PR target/55212
* config/sh/sh.md (*addsi3_compact): Add parentheses around &&
condition.  Add comments.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218999 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agogcc/testsuite/
olegendo [Sun, 21 Dec 2014 22:36:33 +0000 (22:36 +0000)]
gcc/testsuite/
PR target/17280
* gcc.target/sh/torture/pr17280.c: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218998 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR libstdc++/64367
redi [Sun, 21 Dec 2014 15:16:08 +0000 (15:16 +0000)]
PR libstdc++/64367
* include/std/stdexcept: Don't use non-static member in sizeof.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218997 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR c++/64359
jason [Sun, 21 Dec 2014 05:00:43 +0000 (05:00 +0000)]
PR c++/64359
* pt.c (iterative_hash_template_arg): Hash alias specializations
differently from their TYPE_CANONICAL.
(alias_template_specialization_p): Optimize.
(template_args_equal): Optimize alias handling.
(dependent_alias_template_spec_p): Only check innermost args.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218995 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoDaily bump.
gccadmin [Sun, 21 Dec 2014 00:16:36 +0000 (00:16 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218994 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2014-12-20 François Dumont <fdumont@gcc.gnu.org>
fdumont [Sat, 20 Dec 2014 19:16:03 +0000 (19:16 +0000)]
2014-12-20  François Dumont  <fdumont@gcc.gnu.org>

* include/debug/vector (std::__debug::vector<>::clear()): Do not reset
guaranteed capacity.
* testsuite/23_containers/vector/bool/allocator/swap.cc: Move
propagating_allocator equality and inequality operators to __gnu_test
namespace.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218991 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2014-12-20 François Dumont <fdumont@gcc.gnu.org>
fdumont [Sat, 20 Dec 2014 16:09:45 +0000 (16:09 +0000)]
2014-12-20  François Dumont  <fdumont@gcc.gnu.org>

* testsuite/ext/profile/mutex_extensions_neg.cc: Adjust dg-error.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218990 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR target/64358
segher [Sat, 20 Dec 2014 15:37:06 +0000 (15:37 +0000)]
PR target/64358
* config/rs6000/rs6000.c (rs6000_split_logical_inner): Swap the
input operands if only the second is inverted.
* config/rs6000/rs6000.md (*boolc<mode>3_internal1 for BOOL_128):
Swap BOOL_REGS_OP1 and BOOL_REGS_OP2.  Correct arguments to
rs6000_split_logical.
(*boolc<mode>3_internal2 for TI2): Swap operands[1] and operands[2].

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218989 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2014-12-20 François Dumont <fdumont@gcc.gnu.org>
fdumont [Sat, 20 Dec 2014 08:37:02 +0000 (08:37 +0000)]
2014-12-20  François Dumont  <fdumont@gcc.gnu.org>

* include/bits/c++config: inline __cxx11 namespace within namespace
__cxx1998.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218988 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * g++.dg/cpp1y/lambda-generic-variadic2.C: Fix.
jason [Sat, 20 Dec 2014 01:42:51 +0000 (01:42 +0000)]
* g++.dg/cpp1y/lambda-generic-variadic2.C: Fix.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218987 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoc-family/
emsr [Sat, 20 Dec 2014 01:21:15 +0000 (01:21 +0000)]
c-family/

2014-12-20  Edward Smith-Rowland  <3dw4rd@verizon.net>

* c-cppbuiltin.c (__cpp_sized_deallocation): Uncomment and move macro.
Control macro with flag_sized_deallocation.

testsuite/

2014-12-20  Edward Smith-Rowland  <3dw4rd@verizon.net>

* g++.dg/cpp1y/feat-cxx98-neg.C: Enable __cpp_sized_deallocation test.
* g++.dg/cpp1y/feat-cxx14.C: Ditto.
* g++.dg/cpp1y/feat-cxx11-neg.C: Ditto and move tests for consistent
order.
* g++.dg/cpp1y/feat-sized-dealloc-neg.C: New.
* g++.dg/cpp1y/feat-sized-dealloc.C: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218986 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2014-12-20 Martin Uecker <uecker@eecs.berkeley.edu>
jsm28 [Sat, 20 Dec 2014 00:29:16 +0000 (00:29 +0000)]
2014-12-20  Martin Uecker <uecker@eecs.berkeley.edu>

* doc/invoke.texi: Document -Wdiscarded-array-qualifiers.
* doc/extend.texi: Document new behavior for pointers to arrays
with qualifiers.

c/
* c-typeck.c: New behavious for pointers to arrays with qualifiers
        (common-pointer-type): For pointers to arrays take qualifiers from
element type.
        (build_conditional_expr): Add warnings for lost qualifiers.
(comp-target-types): Allow pointers to arrays with different qualifiers.
        (convert-for-assignment): Adapt warnings for discarded qualifiers. Add
WARNING_FOR_QUALIFIERS macro and rename WARN_FOR_QUALIFIERS
        to PEDWARN_FOR_QUALIFIERS.

c-family/
* c.opt (Wdiscarded-array-qualifiers): New option.

testsuite/
* gcc.dg/Wwrite-strings-1.c: Change dg-warning.
* gcc.dg/array-quals-1.c: Use -Wno-discarded-array-qualifiers.
* gcc.dg/array-quals-2.c: Change dg-options, dg-warning.
* gcc.dg/pointer-array-atomic.c: New test.
* gcc.dg/pointer-array-quals-1.c: New test.
* gcc.dg/pointer-array-quals-2.c: New test (-pedantic-errors).
* gcc.dg/qual-component-1.c: Change dg-options, dg-warnings.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218985 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoFix duplicate symbol errors in Darwin bootstrap.
redi [Sat, 20 Dec 2014 00:19:40 +0000 (00:19 +0000)]
Fix duplicate symbol errors in Darwin bootstrap.

* src/c++98/locale-inst.cc (__add_grouping, __pad, __int_to_char):
Only compile for old ABI.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218984 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoDaily bump.
gccadmin [Sat, 20 Dec 2014 00:16:48 +0000 (00:16 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218983 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agocompiler: Add temporaries required in cases of interface conversion.
ian [Fri, 19 Dec 2014 22:21:01 +0000 (22:21 +0000)]
compiler: Add temporaries required in cases of interface conversion.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218979 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoFix casting non-"int" to bool.
dmalcolm [Fri, 19 Dec 2014 20:34:39 +0000 (20:34 +0000)]
Fix casting non-"int" to bool.

gcc/jit/ChangeLog:
* jit-playback.c (gcc::jit::playback::context::build_cast): In
case BOOLEAN_TYPE, don't assume that the source expression is
of type "int".

gcc/testsuite/ChangeLog:
* jit.dg/test-expressions.c (make_tests_of_casts): Add tests of
casting between "long" and "bool".
(verify_casts): Verify these new test cases.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218977 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * hash-table.h (struct pointer_hash): Fix formating.
hubicka [Fri, 19 Dec 2014 20:27:53 +0000 (20:27 +0000)]
* hash-table.h (struct pointer_hash): Fix formating.
(hash_table_higher_prime_index): Declare pure.
(hash_table_mod2, hash_table_mod1, mul_mod): Move inline;
assume that uint64_t always exists.
(hash_table<Descriptor, Allocator, false>): Use gcc_checking_assert.
(hash_table<Descriptor, Allocator, false>::expand ()): Fix formating.
(hash_table<Descriptor, Allocator, false>::clear_slot (value_type **slot)):
Use checking assert.
* hash-table.c: Remove #if 0 code.
(hash_table_higher_prime_index): Use gcc_assert.
(mul_mod, hash-table_mod1, hash_table_mod2): move to hash-table.h

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218976 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoMIPSR6: mips-img-elf mips-img-linux-gnu triplets and vendor updates
mpf [Fri, 19 Dec 2014 20:18:08 +0000 (20:18 +0000)]
MIPSR6: mips-img-elf mips-img-linux-gnu triplets and vendor updates

gcc/

* config.gcc: Support mips*-img-linux* and mips*-img-elf*.
* config/mips/mti-linux.h: Support mips32r6 as being the default arch.
* config/mips/t-img-elf: New.
* config/mips/t-img-linux: New.

gcc/testsuite/

* gcc.target/mips/pr37362.c: Skip for mips-img-elf.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218975 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * go-gcc.cc (array_constructor_expression): Don't construct arrays
ian [Fri, 19 Dec 2014 20:17:42 +0000 (20:17 +0000)]
* go-gcc.cc (array_constructor_expression): Don't construct arrays
of zero-sized values.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218974 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoMIPS32R6 and MIPS64R6 support
mpf [Fri, 19 Dec 2014 20:17:36 +0000 (20:17 +0000)]
MIPS32R6 and MIPS64R6 support

gcc/

* config.gcc: Add mipsisa64r6 and mipsisa32r6 cpu support.
* config/mips/constraints.md (ZD): Add r6 restrictions.
* config/mips/gnu-user.h (DRIVER_SELF_SPECS): Add MIPS_ISA_LEVEL_SPEC.
* config/mips/loongson.md
(<u>div<mode>3, <u>mod<mode>3): Move to mips.md.
* config/mips/mips-cpus.def (mips32r6, mips64r6): Define.
* config/mips/mips-modes.def (CCF): New mode.
* config/mips/mips-protos.h
(mips_9bit_offset_address_p): New prototype.
* config/mips/mips-tables.opt: Regenerate.
* config/mips/mips.c (MIPS_JR): Use JALR $, <reg> for R6.
(mips_rtx_cost_data): Add pseudo-processors W32 and W64.
(mips_9bit_offset_address_p): New function.
(mips_rtx_costs): Account for R6 multiply and FMA instructions.
(mips_emit_compare): Implement R6 FPU comparisons.
(mips_expand_conditional_move): Implement R6 selects.
(mips_expand_conditional_trap): Account for removed trap immediate.
(mips_expand_block_move): Disable inline move when LWL/LWR are removed.
(mips_print_float_branch_condition): Update for R6 FPU branches.
(mips_print_operand): Handle CCF mode compares.
(mips_interrupt_extra_call_saved_reg_p): Do not attempt to callee-save
MD_REGS for R6.
(mips_hard_regno_mode_ok_p): Support CCF mode.
(mips_mode_ok_for_mov_fmt_p): Likewise.
(mips_secondary_reload_class): CCFmode can be loaded directly.
(mips_set_fast_mult_zero_zero_p): Account for R6 multiply instructions.
(mips_option_override): Ensure R6 is used with fp64.  Set default
mips_nan modes.  Check for mips_nan support.  Prevent DSP with R6.
(mips_conditional_register_usage): Disable MD_REGS for R6. Disable
FPSW for R6.
(mips_mulsidi3_gen_fn): Support R6 multiply instructions.
* config/mips/mips.h (ISA_MIPS32R6, ISA_MIPS64R6): Define.
(TARGET_CPU_CPP_BUILTINS): Rework for mips32/mips64.
(ISA_HAS_JR): New macro.
(ISA_HAS_HILO): New macro.
(ISA_HAS_R6MUL): Likewise.
(ISA_HAS_R6DMUL): Likewise.
(ISA_HAS_R6DIV): Likewise.
(ISA_HAS_R6DDIV): Likewise.
(ISA_HAS_CCF): Likewise.
(ISA_HAS_SEL): Likewise.
(ISA_HAS_COND_TRAPI): Likewise.
(ISA_HAS_FP_MADDF_MSUBF): Likewise.
(ISA_HAS_LWL_LWR): Likewise.
(ISA_HAS_IEEE_754_LEGACY): Likewise.
(ISA_HAS_IEEE_754_2008): Likewise.
(ISA_HAS_PREFETCH_9BIT): Likewise.
(MIPSR6_9BIT_OFFSET_P): New macro.
(BASE_DRIVER_SELF_SPECS): Use MIPS_ISA_DRIVER_SELF_SPECS.
(DRIVER_SELF_SPECS): Use MIPS_ISA_LEVEL_SPEC.
(MULTILIB_ISA_DEFAULT): Handle mips32r6 and mips64r6.
(MIPS_ISA_LEVEL_SPEC): Likewise.
(MIPS_ISA_SYNCI_SPEC): Likewise.
(ISA_HAS_64BIT_REGS): Likewise.
(ISA_HAS_BRANCHLIKELY): Likewise.
(ISA_HAS_MUL3): Likewise.
(ISA_HAS_DMULT): Likewise.
(ISA_HAS_DDIV): Likewise.
(ISA_HAS_DIV): Likewise.
(ISA_HAS_MULT): Likewise.
(ISA_HAS_FP_CONDMOVE): Likewise.
(ISA_HAS_8CC): Likewise.
(ISA_HAS_FP4): Likewise.
(ISA_HAS_PAIRED_SINGLE): Likewise.
(ISA_HAS_MADD_MSUB): Likewise.
(ISA_HAS_FP_RECIP_RSQRT): Likewise.
* config/mips/mips.md (processor): Add w32 and w64.
(FPCC): New mode iterator.
(reg): Add CCF mode.
(fpcmp): New mode attribute.
(fcond): Add ordered, ltgt and ne codes.
(fcond): Update code attribute.
(sel): New code attribute.
(selinv): Likewise.
(ctrap<mode>4): Update condition.
(*conditional_trap_reg<mode>): New define_insn.
(*conditional_trap<mode>): Update condition.
(mul<mode>3): Expand R6 multiply instructions.
(<su>mulsi3_highpart): Likewise.
(<su>muldi3_highpart): Likewise.
(mul<mode>3_mul3_loongson): Rename...
(mul<mode>3_mul3_hilo): To this.  Add R6 mul instruction.
(<u>mulsidi3_32bit_r6): New expander.
(<u>mulsidi3_32bit): Restrict to pre-r6 multiplies.
(<u>mulsidi3_32bit_r4000): Likewise.
(<u>mulsidi3_64bit): Likewise.
(<su>mulsi3_highpart_internal): Likewise.
(mulsidi3_64bit_r6dmul): New instruction.
(<su>mulsi3_highpart_r6): Likewise.
(<su>muldi3_highpart_r6): Likewise.
(fma<mode>4): Likewise.
(movccf): Likewise.
(*sel<code><GPR:mode>_using_<GPR2:mode>): Likewise.
(*sel<mode>): Likewise.
(<u>div<mode>3): Moved from loongson.md.  Add R6 instructions.
(<u>mod<mode>3): Likewise.
(extvmisalign<mode>): Require ISA_HAS_LWL_LWR.
(extzvmisalign<mode>): Likewise.
(insvmisalign<mode>): Likewise.
(mips_cache): Account for R6 displacement field sizes.
(*branch_fp): Rename...
(*branch_fp_<mode>): To this.  Add CCFmode support.
(*branch_fp_inverted): Rename...
(*branch_fp_inverted_<mode>): To this.  Add CCFmode support.
(s<code>_<mode>): Rename...
(s<code>_<SCALARF:mode>_using_<FPCC:mode>): To this.  Add FCCmode
condition support.
(s<code>_<mode> swapped): Rename...
(s<code>_<SCALARF:mode>_using_<FPCC:mode> swapped): To this. Add
CCFmode condition support.
(mov<mode>cc GPR): Expand R6 selects.
(mov<mode>cc FPR): Expand R6 selects.
(*tls_get_tp_<mode>_split): Do not .set push for >= mips32r2.
* config/mips/netbsd.h (TARGET_CPU_CPP_BUILTINS): Update similarly to
mips.h.
(ASM_SPEC): Add mips32r6, mips64r6.
* config/mips/t-isa3264 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES): Update
for mips32r6/mips64r6.
* doc/invoke.texi: Document -mips32r6,-mips64r6.
* doc/md.texi: Update comment for ZD constraint.

libgcc/

* config.host: Support mipsisa32r6 and mipsisa64r6.
* config/mips/mips16.S: Do not build for R6.

gcc/testsuite/

* gcc.dg/torture/mips-hilo-2.c: Unconditionally pass for R6 onwards.
* gcc.dg/torture/pr19683-1.c: Likewise.
* gcc.target/mips/branch-cost-2.c: Require MOVN.
* gcc.target/mips/movcc-1.c: Likewise.
* gcc.target/mips/movcc-2.c: Likewise.
* gcc.target/mips/movcc-3.c: Likewise.
* gcc.target/mips/call-saved-4.c: Require LDC.
* gcc.target/mips/dmult-1.c: Require R5 or earlier.
* gcc.target/mips/fpcmp-1.c: Likewise.
* gcc.target/mips/fpcmp-2.c: Likewise.
* gcc.target/mips/neg-abs-2.c: Likewise.
* gcc.target/mips/timode-1.c: Likewise.
* gcc.target/mips/unaligned-1.c: Likewise.
* gcc.target/mips/madd-3.c: Require MADD.
* gcc.target/mips/madd-9.c: Likewise.
* gcc.target/mips/maddu-3.c: Likewise.
* gcc.target/mips/msub-3.c: Likewise.
* gcc.target/mips/msubu-3.c: Likewise.
* gcc.target/mips/mult-1.c: Require INS and not DMUL.
* gcc.target/mips/mips-ps-type-2.c: Require MADD.PS.
* gcc.target/mips/mips.exp (mips_option_groups): Add ins, dmul, ldc,
movn, madd, maddps.
(mips-dg-options): INS available from R2.  LDC available from MIPS II,
DMUL is present in octeon.  Describe all features removed from R6.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218973 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoFix issue with string options and nested gcc_jit_contexts
dmalcolm [Fri, 19 Dec 2014 20:11:16 +0000 (20:11 +0000)]
Fix issue with string options and nested gcc_jit_contexts

gcc/jit/ChangeLog:
* jit-recording.c (gcc::jit::recording::context::context): When
copying string options from a parent context, take a copy of the
underlying buffers, rather than simply copying the pointer.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218972 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR target/64268
segher [Fri, 19 Dec 2014 19:55:32 +0000 (19:55 +0000)]
PR target/64268
* combine.c (try_combine): Immediately return if any of I0,I1,I2
are the same insn.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218971 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoHandle NULL in gcc_jit_context_set_str_option
dmalcolm [Fri, 19 Dec 2014 19:33:29 +0000 (19:33 +0000)]
Handle NULL in gcc_jit_context_set_str_option

gcc/jit/ChangeLog:
* jit-recording.c (gcc::jit::recording::context::set_str_option):
Handle NULL.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218969 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2014-12-19 Janus Weil <janus@gcc.gnu.org>
janus [Fri, 19 Dec 2014 19:28:57 +0000 (19:28 +0000)]
2014-12-19  Janus Weil  <janus@gcc.gnu.org>

PR fortran/64209
* trans-expr.c (gfc_trans_class_array_init_assign): Check if _def_init
component is non-NULL.
(gfc_trans_class_init_assign): Ditto.

2014-12-19  Janus Weil  <janus@gcc.gnu.org>

PR fortran/64209
* gfortran.dg/unlimited_polymorphic_19.f90: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218968 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoNew std::string implementation.
redi [Fri, 19 Dec 2014 18:16:39 +0000 (18:16 +0000)]
New std::string implementation.

* acinclude.m4 (GLIBCXX_ENABLE_LIBSTDCXX_CXX11_ABI): Remove.
(GLIBCXX_ENABLE_LIBSTDCXX_DUAL_ABI, GLIBCXX_DEFAULT_ABI): Add.
* configure.ac: Use new macros.
* configure: Regenerate.
* Makefile.in: Regenerate.
* doc/Makefile.in: Regenerate.
* libsupc++/Makefile.in: Regenerate.
* po/Makefile.in: Regenerate.
* src/Makefile.in: Regenerate.
* testsuite/Makefile.in: Regenerate.
* include/Makefile.am: Set _GLIBCXX_USE_DUAL_ABI.
* include/Makefile.in: Regenerate.
* config/abi/pre/gnu.ver: Export symbols related to new std::string.
Tighten old patterns to not match new symbols.
* config/locale/generic/monetary_members.cc: Guard some definitions
to not compile with new ABI.
* config/locale/gnu/monetary_members.cc: Likewise.
* config/locale/gnu/numeric_members.cc: Prevent double-free.
* config/os/gnu-linux/ldbl-extra.ver: Add new __gnu_cxx_ldbl128
exports. Tighten old patterns.
* doc/xml/manual/configure.xml: Document new configure options.
* doc/html/*: Regenerate.
* include/bits/basic_string.h (__cxx11::basic_string): Define new
non-reference-counted implementation in inline namespace __cxx11.
(stoi, stol, stoll, stof, stod, stold, to_string): Conditionally use
inline namespace.
(literals::string_literals::operator"): Conditionally use abi-tag.
* include/bits/basic_string.tcc (__cxx11::basic_string): Define.
* include/bits/c++config: Define _GLIBCXX_USE_DUAL_ABI and
LDBL_CXX11_ABI namespace macros.
* include/bits/locale_classes.h (locale::name()): Use abi_tag when
new ABI is in use.
(locale::_S_twinned_facets): New static member.
(locale::facet::__shim): Declare new type.
(locale::_facet::_M_sso_shim, locale::_facet::_M_cow_shim): New
functions for creating shims.
(locale::_Impl::_M_facet_unchecked): New member function for use
during construction.
(locale::_Impl::_M_init_extra): New member functions to create second
version of some facets.
(collate, collate_byname): Use abi_tag when new ABI is in use.
* include/bits/locale_facets.h: Add _GLIBCXX_NUM_CXX11_FACETS macro.
(numpunct, numpunct_byname): Use __cxx11 namespace.
(num_get::_M_extract_float, num_get::_M_extract_int): Use abi_tag
when new ABI is in use.
(num_get::__do_get, num_put::__do_put): Do not declare long double
compat functions for new ABI.
* include/bits/locale_facets.tcc (num_get, num_put): Use abi_tag on
definitions.
(numpunct, numpunct_byname): Qualify explicit instantiations.
* include/bits/locale_facets_nonio.h (time_get, time_get_byname,
moneypunct, moneypunct_byname, money_get, money_put, messages,
messages_byname): Use new inline namespace macros.
(money_get::__do_get, money_put::__do_put): Do not declare long
double compat functions for new ABI.
* include/bits/locale_facets_nonio.tcc (money_get, money_put): Use
new namespace macros.
(money_get::__do_get, money_put::__do_put): Do not define for new ABI.
* include/bits/localefwd.h (numpunct, numpunct_byname, collate,
collate_byname, time_get, time_get_byname, moneypunct,
moneypunct_byname, money_get, money_put, messages, messages_byname):
Use new namespace macros.
* include/bits/regex.h: Use inline namespace macros.
* include/bits/stl_list.h (_List_base, list): Use inline namespace
instead of abi-tag.
* include/bits/stringfwd.h (basic_string): Use namespace macros.
* include/std/iosfwd (basic_stringbuf, basic_istringstream,
basic_ostringstream, basic_stringstream): Likewise.
* include/std/sstream: Likewise.
(basic_stringbuf::__xfer_bufptrs): Update streambuf pointers on move.
* include/std/stdexcept (__cow_string, __sso_string): New types for
indirectly using std::string with either ABI.
(logic_error, runtime_error): Replace std::string member with
__cow_string when new ABI is in use. Declare non-inline copy
constructor and assignment operator. Declare const char* constructors.
(domain_error, invalid_argument, length_error, out_of_range,
range_error, overflow_error, underflow_error): Declare const char*
constructors.
* include/std/system_error (error_category): Replace with new
definition in inline namespace _V2.
(error_code::message, error_condition::message): Use abi_tag on
functions returning std::string.
* python/libstdcxx/v6/printers.py (StdStringPrinter): Handle new ABI.
* src/c++11/Makefile.am: Add new files.
* src/c++11/Makefile.in: Regenerate.
* src/c++11/compatibility-c++0x.cc: Compile with old std::string ABI.
Define old error_category symbols.
* src/c++11/cow-fstream-inst.cc: New. Instantiate fstream members
using old std::string ABI.
* src/c++11/cow-locale_init.cc (locale::_Impl::_M_init_extra): Define.
* src/c++11/cow-shim_facets.cc: Define shim facets using old ABI.
* src/c++11/cow-sstream-inst.cc: Instantiate stringstreams using old
std::string ABI.
* src/c++11/cow-stdexcept.cc: Define new constructors and assignment
operators.
(__cow_string, error_category::_M_message): Define.
* src/c++11/cow-string-inst.cc: Explicit instantiations using old
std::string. Include src/c++98/istream-string.cc.
* src/c++11/cow-wstring-inst.cc: Explicit instantiations using old
std::wstring.
* src/c++11/cxx11-hash_tr1.cc: Explicit instantiations using new
string.
* src/c++11/cxx11-ios_failure.cc: Add sanity check.
* src/c++11/cxx11-locale-inst.cc: Instantiate facets using new
std::string.
* src/c++11/cxx11-shim_facets.cc: Define shim facets using new ABI.
* src/c++11/cxx11-stdexcept.cc: Define constructors taking new
std::string.
* src/c++11/cxx11-wlocale-inst.cc: Instantiate facets using
new std::wstring.
* src/c++11/fstream-inst.cc: Compile with new ABI.
* src/c++11/functexcept.cc: Compile with old ABI.
* src/c++11/random.cc: Compile with new ABI.
* src/c++11/sstream-inst.cc: Compile with new ABI.
* src/c++11/string-inst.cc: Explicit instantiations for new string.
* src/c++11/system_error.cc (__sso_string, error_category::_M_message):
Define.
* src/c++11/wstring-inst.cc: Compile with new ABI.
* src/c++98/Makefile.am: Compile some host files twice for old and
new std::string. Add new files.
* src/c++98/Makefile.in: Regenerate.
* src/c++98/compatibility-ldbl.cc: Compile with old ABI.
* src/c++98/compatibility.cc: Likewise.
* src/c++98/concept-inst.cc: Likewise.
* src/c++98/hash_tr1.cc: Likewise.
* src/c++98/istream-string.cc: New file defining functions that
work with istream and std::string moved from ...
* src/c++98/istream.cc: ... here.
* src/c++98/cow-istream-string.cc: Recompile istream-string.cc with
old ABI.
* src/c++98/locale-inst.cc: Adjust facet instantiations to work for
either ABI.
* src/c++98/locale.cc (locale::_M_install_facet,
locale::_M_install_cache): Handle twinned facets.
* src/c++98/locale-facets.cc: Compile with old std::string ABI.
(__verify_grouping): Define new overload and old std::string version.
* src/c++98/locale_init.cc: Initialize twinned facets.
* src/c++98/localename.cc: Likewise.
* src/c++98/misc-inst.cc: Instantiate C++98-only std::string members.
(__verify_grouping): Define new std::string version.
* src/c++98/stdexcept.cc: Compile with old std::string ABI.
* src/c++98/wlocale-inst.cc: Likewise.
* testsuite/18_support/50594.cc: Adjust to work with SSO strings.
* testsuite/21_strings/basic_string/capacity/1.cc: Likewise.
* testsuite/21_strings/basic_string/capacity/char/1.cc: Likewise.
* testsuite/21_strings/basic_string/capacity/char/18654.cc: Likewise.
* testsuite/21_strings/basic_string/capacity/char/2.cc: Likewise.
* testsuite/21_strings/basic_string/capacity/wchar_t/1.cc: Likewise.
* testsuite/21_strings/basic_string/capacity/wchar_t/18654.cc:
Likewise.
* testsuite/21_strings/headers/string/synopsis.cc: Use inline
namespace macros.
* testsuite/23_containers/headers/list/synopsis.cc: Likewise.
* testsuite/27_io/basic_ios/copyfmt/char/1.cc: Set dg-options so
correct exception type can be caught.
* testsuite/27_io/basic_ios/exceptions/char/1.cc: Likewise.
* testsuite/27_io/basic_istream/extractors_arithmetic/char/
exceptions_failbit.cc: Likewise.
* testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
exceptions_failbit.cc: Likewise.
* testsuite/27_io/basic_istream/extractors_other/char/
exceptions_null.cc: Likewise.
* testsuite/27_io/basic_istream/extractors_other/wchar_t/
exceptions_null.cc: Likewise.
* testsuite/27_io/basic_istream/sentry/char/12297.cc: Likewise.
* testsuite/27_io/basic_istream/sentry/wchar_t/12297.cc: Likewise.
* testsuite/27_io/basic_ostream/inserters_other/char/
exceptions_null.cc: Likewise.
* testsuite/27_io/basic_ostream/inserters_other/wchar_t/
exceptions_null.cc: Likewise.
* testsuite/27_io/ios_base/storage/2.cc: Likewise.
* testsuite/27_io/ios_base/failure/cxx11.cc: Disable for old ABI.
* testsuite/ext/profile/mutex_extensions_neg.cc: Adjust dg-error.
* testsuite/libstdc++-prettyprinters/libfundts.cc: Use old ABI.
* testsuite/libstdc++-prettyprinters/simple.cc: Likewise.
* testsuite/libstdc++-prettyprinters/simple11.cc: Likewise.
* testsuite/libstdc++-prettyprinters/whatis.cc: Likewise.
* testsuite/util/exception/safety.h: Adjust member function types
for new std::string.
* testsuite/util/testsuite_abi.cc: Add new version and ignore
__float128 symbols in __cxx11 namespace.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218964 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2014-12-19 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Fri, 19 Dec 2014 18:16:00 +0000 (18:16 +0000)]
2014-12-19  Paolo Carlini  <paolo.carlini@oracle.com>

* Tweak ChangeLog.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218963 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * g++.dg/template/using30.C: Move ...
ktietz [Fri, 19 Dec 2014 18:03:20 +0000 (18:03 +0000)]
    * g++.dg/template/using30.C: Move ...
        * g++.dg/cpp0x/alias-decl-45.C: ... here.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218962 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago[AArch64 3/3] Fix XOR_one_cmpl pattern; add SIMD-reg variants for BIC,ORN,EON
alalaw01 [Fri, 19 Dec 2014 17:59:23 +0000 (17:59 +0000)]
[AArch64 3/3] Fix XOR_one_cmpl pattern; add SIMD-reg variants for BIC,ORN,EON

gcc/:

* config/aarch64/aarch64.c (<LOGICAL:optab>_one_cmpl<mode>3):
Reparameterize to...
(<NLOGICAL:optab>_one_cmpl<mode>3): with extra SIMD-register variant.
(xor_one_cmpl<mode>3): New define_insn_and_split.

* config/aarch64/iterators.md (NLOGICAL): New define_code_iterator.

gcc/testsuite/:

* gcc.target/aarch64/eon_1.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218961 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago[AArch64 2/3] Add SIMD-reg variants of logical operators and/ior/xor/not
alalaw01 [Fri, 19 Dec 2014 17:48:15 +0000 (17:48 +0000)]
[AArch64 2/3] Add SIMD-reg variants of logical operators and/ior/xor/not

* config/aarch64/aarch64.md (<optab><mode>3, one_cmpl<mode>2):
Add SIMD-register variant.
* config/aarch64/iterators.md (Vbtype): Add value for SI.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218960 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2014-12-19 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Fri, 19 Dec 2014 17:47:58 +0000 (17:47 +0000)]
2014-12-19  Paolo Carlini  <paolo.carlini@oracle.com>

* g++.dg/template/using30.C: Move...
* g++.dg/cpp0x/alias-decl-45.C: ... here.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218959 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago[AArch64 1/3] Don't disparage add/sub in SIMD registers
alalaw01 [Fri, 19 Dec 2014 17:44:36 +0000 (17:44 +0000)]
[AArch64 1/3] Don't disparage add/sub in SIMD registers

        * config/aarch64/aarch64.md (subdi3, adddi3_aarch64): Don't penalize
        SIMD reg variant.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218958 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2014-12-19 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Fri, 19 Dec 2014 16:50:31 +0000 (16:50 +0000)]
2014-12-19  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/60493
* g++.dg/template/crash120.C: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218957 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR c++/61198
ktietz [Fri, 19 Dec 2014 16:47:59 +0000 (16:47 +0000)]
PR c++/61198
* g++.dg/template/using30.C: New file.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218956 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR c++/61198
ktietz [Fri, 19 Dec 2014 16:44:15 +0000 (16:44 +0000)]
PR c++/61198
* pt.c (most_general_template): Don't break for template-alias.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218955 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agocompiler: More cases that need a temporary for interface conversion.
ian [Fri, 19 Dec 2014 16:14:01 +0000 (16:14 +0000)]
compiler: More cases that need a temporary for interface conversion.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218952 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoFix for PR ipa/63569.
marxin [Fri, 19 Dec 2014 12:40:50 +0000 (12:40 +0000)]
Fix for PR ipa/63569.

PR ipa/63569
* gcc.dg/ipa/pr63569.c: New test.
PR ipa/63569
* ipa-icf-gimple.c (func_checker::compare_operand): Add missing
comparison for volatile flag.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218949 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR preprocessor/63831
jakub [Fri, 19 Dec 2014 12:20:58 +0000 (12:20 +0000)]
PR preprocessor/63831
* c-cppbuiltin.c (c_cpp_builtins): Don't define __has_attribute
and __has_cpp_attribute here.
* c-ppoutput.c (init_pp_output): Set cb->has_attribute to
c_common_has_attribute.
* c-common.h (c_common_has_attribute): New prototype.
* c-lex.c (init_c_lex): Set cb->has_attribute to
c_common_has_attribute instead of cb_has_attribute.
(get_token_no_padding): New function.
(cb_has_attribute): Renamed to ...
(c_common_has_attribute): ... this.  No longer static.  Use
get_token_no_padding, require ()s, don't build TREE_LIST
unnecessarily, fix up formatting, adjust diagnostics, call
init_attributes.

* directives.c (lex_macro_node): Remove __has_attribute__ handling.
* internal.h (struct spec_node): Remove n__has_attribute__ field.
(struct lexer_state): Remove in__has_attribute__ field.
* macro.c (_cpp_builtin_macro_text): Handle BT_HAS_ATTRIBUTE.
* identifiers.c (_cpp_init_hashtable): Remove __has_attribute__
handling.
* init.c (builtin_array): Add __has_attribute and __has_cpp_attribute.
(cpp_init_special_builtins): Don't initialize __has_attribute
or __has_cpp_attribute if CLK_ASM or pfile->cb.has_attribute is NULL.
* traditional.c (enum ls): Remove ls_has_attribute,
ls_has_attribute_close.
(_cpp_scan_out_logical_line): Remove __has_attribute__ handling.
* include/cpplib.h (enum cpp_builtin_type): Add BT_HAS_ATTRIBUTE.
* pch.c (cpp_read_state): Remove __has_attribute__ handling.
* expr.c (eval_token): Likewise.
(parse_has_attribute): Removed.

* c-c++-common/cpp/pr63831-1.c: New test.
* c-c++-common/cpp/pr63831-2.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218948 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago[ARM][doc] Remove mention of Advanced RISC Machines
ktkachov [Fri, 19 Dec 2014 10:20:07 +0000 (10:20 +0000)]
[ARM][doc] Remove mention of Advanced RISC Machines

* doc/invoke.texi (ARM options): Remove mention of Advanced RISC
Machines.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218897 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoFix ChangeLog typo in 218895
jgreenhalgh [Fri, 19 Dec 2014 09:41:13 +0000 (09:41 +0000)]
Fix ChangeLog typo in 218895

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218896 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago[PATCH][ARM] Fix reservation pattern in cortex-a9-neon.md
jgreenhalgh [Fri, 19 Dec 2014 09:39:55 +0000 (09:39 +0000)]
[PATCH][ARM] Fix reservation pattern in cortex-a9-neon.md

gcc/

* config/arm/cortex-a9-neon.md (cortex_a9_neon_vmov): Change
reservation to cortex_a9_neon_dp.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218895 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago* [SH] Split QI/HImode load/store via r0 when LRA is enabled.
kkojima [Fri, 19 Dec 2014 04:56:26 +0000 (04:56 +0000)]
* [SH] Split QI/HImode load/store via r0 when LRA is enabled.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218892 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago* [SH] Add splitter to addsi3_compact.
kkojima [Fri, 19 Dec 2014 04:53:57 +0000 (04:53 +0000)]
* [SH] Add splitter to addsi3_compact.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218891 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago* [SH] Modify movsi_ie and movsf_ie patterns for LRA.
kkojima [Fri, 19 Dec 2014 04:51:53 +0000 (04:51 +0000)]
* [SH] Modify movsi_ie and movsf_ie patterns for LRA.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218890 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago* [SH] Miscellaneous changes for LRA.
kkojima [Fri, 19 Dec 2014 04:49:16 +0000 (04:49 +0000)]
* [SH] Miscellaneous changes for LRA.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218889 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago* [SH] Add -mlra option.
kkojima [Fri, 19 Dec 2014 04:47:18 +0000 (04:47 +0000)]
* [SH] Add -mlra option.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218888 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago* Add TARGET_LEGITIMIZE_ADDRESS_DISPLACEMENT target macro.
kkojima [Fri, 19 Dec 2014 04:43:11 +0000 (04:43 +0000)]
* Add TARGET_LEGITIMIZE_ADDRESS_DISPLACEMENT target macro.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218887 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago* Add TARGET_CANNOT_SUBSTITUTE_MEM_EQUIV target macro.
kkojima [Fri, 19 Dec 2014 04:40:11 +0000 (04:40 +0000)]
* Add TARGET_CANNOT_SUBSTITUTE_MEM_EQUIV target macro.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218886 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago* lra-constraints.c (process_address_1): Swap base_term and index_term
kkojima [Fri, 19 Dec 2014 04:36:54 +0000 (04:36 +0000)]
* lra-constraints.c (process_address_1): Swap base_term and index_term
  if INDEX_REG_CLASS is assigned to base_term already when INDEX_REG_CLASS
  is a single register class.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218885 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agocompiler: Avoid multiple evaluations in interface conversions.
ian [Fri, 19 Dec 2014 04:05:59 +0000 (04:05 +0000)]
compiler: Avoid multiple evaluations in interface conversions.

Added assertions for cases that might lead to multiple
evaluations, and fixed all the problems I saw.

Test case already in master Go testsuite
(https://go-review.googlesource.com/#/c/1710/).

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218884 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoDaily bump.
gccadmin [Fri, 19 Dec 2014 00:16:27 +0000 (00:16 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218883 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2014-12-18 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Fri, 19 Dec 2014 00:02:05 +0000 (00:02 +0000)]
2014-12-18  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/63723
* g++.dg/cpp0x/sfinae54.C: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218880 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR c++/64105
jason [Thu, 18 Dec 2014 23:53:15 +0000 (23:53 +0000)]
PR c++/64105
* parser.c (cp_parser_simple_type_specifier): Make auto parameter
before -std=c++14 an error.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218879 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2014-12-18 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Thu, 18 Dec 2014 23:43:46 +0000 (23:43 +0000)]
2014-12-18  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/59204
* g++.dg/cpp0x/sfinae53.C: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218878 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR c++/64352
jason [Thu, 18 Dec 2014 22:22:42 +0000 (22:22 +0000)]
PR c++/64352
* pt.c (tsubst_copy_and_build): Pass complain to mark_used.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218877 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR c++/64251
jason [Thu, 18 Dec 2014 22:22:36 +0000 (22:22 +0000)]
PR c++/64251
* decl2.c (mark_used): Don't mark if in_template_function.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218876 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2014-12-18 Vladimir Makarov <vmakarov@redhat.com>
vmakarov [Thu, 18 Dec 2014 21:50:48 +0000 (21:50 +0000)]
2014-12-18  Vladimir Makarov  <vmakarov@redhat.com>

* lra-constraints.c (lra-constraints.c): Exchange places of sclass
and dclass.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218875 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2014-12-18 Vladimir Makarov <vmakarov@redhat.com>
vmakarov [Thu, 18 Dec 2014 20:49:44 +0000 (20:49 +0000)]
2014-12-18  Vladimir Makarov  <vmakarov@redhat.com>

PR rtl-optimization/64291
* lra-remat.c (bad_for_rematerialization_p): Add UNPSEC_VLOATILE.
(create_cands): Process only output reload insn with potential
cands.

2014-12-18  Vladimir Makarov  <vmakarov@redhat.com>

PR rtl-optimization/64291
* testsuite/gcc.target/i386/pr64291-[12].c: New tests.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218874 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago/cp
paolo [Thu, 18 Dec 2014 17:53:55 +0000 (17:53 +0000)]
/cp
2014-12-18  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/60955
* pt.c (struct warning_sentinel): Move it...
* cp-tree.h: ... here.
* semantics.c (force_paren_expr): Use it.

/testsuite
2014-12-18  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/60955
* g++.dg/warn/register-parm-1.C: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218871 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoX86-64: Add -mskip-rax-setup
hjl [Thu, 18 Dec 2014 17:35:45 +0000 (17:35 +0000)]
X86-64: Add -mskip-rax-setup

The Linux kernel never passes floating point arguments around, vararg
functions or not. Hence no vector registers are ever used when calling a
vararg function.  But gcc still dutifully emits an "xor %eax,%eax" before
each and every call of a vararg function.  Since no callee use that for
anything, these instructions are redundant.

This patch adds the -mskip-rax-setup option to skip setting up RAX
register when SSE is disabled and there are no variable arguments passed
in vector registers.  Since RAX register is used to avoid unnecessarily
saving vector registers on stack when passing variable arguments, the
impacts of this option are callees may waste some stack space, misbehave
or jump to a random location.  GCC 4.4 or newer don't those issues,
regardless the RAX register value since they don't check the RAX register
value when SSE is disabled.

gcc/

* config/i386/i386.c (ix86_expand_call): Skip setting up RAX
register for -mskip-rax-setup when there are no parameters
passed in vector registers.
* config/i386/i386.opt (mskip-rax-setup): New option.
* doc/invoke.texi: Document -mskip-rax-setup.

gcc/testsuite/

* gcc.target/i386/amd64-abi-7.c: New tests.
* gcc.target/i386/amd64-abi-8.c: Likwise.
* gcc.target/i386/amd64-abi-9.c: Likwise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218870 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago[AArch64] Simplify+improve patterns for ushr(d?)_n_u64 intrinsic
alalaw01 [Thu, 18 Dec 2014 15:20:11 +0000 (15:20 +0000)]
[AArch64] Simplify+improve patterns for ushr(d?)_n_u64 intrinsic

gcc/:
* config/aarch64/aarch64-simd.md (aarch64_lshr_simddi): Handle shift
by 64 by moving const0_rtx.
(aarch64_ushr_simddi): Delete.

* config/aarch64/aarch64.md (enum unspec): Delete UNSPEC_USHR64.

gcc/testsuite/:

        * gcc.target/aarch64/ushr64_1.c: Remove scan-assembler "ushr...64".

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218868 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago[AArch64] Simplify patterns for sshr_n_[us]64 intrinsic
alalaw01 [Thu, 18 Dec 2014 15:00:51 +0000 (15:00 +0000)]
[AArch64] Simplify patterns for sshr_n_[us]64 intrinsic

        * config/aarch64/aarch64.md (enum "unspec"): Remove UNSPEC_SSHR64.

        * config/aarch64/aarch64-simd.md (aarch64_ashr_simddi): Change shift
        amount to 63 if was 64.
        (aarch64_sshr_simddi): Remove.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218867 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago[AArch64] Add TARGET_MIN_DIVISIONS_FOR_RECIP_MUL
jiwang [Thu, 18 Dec 2014 13:48:34 +0000 (13:48 +0000)]
[AArch64] Add TARGET_MIN_DIVISIONS_FOR_RECIP_MUL

2014-12-18  Wilco Dijkstra  <wilco.dijkstra@arm.com>

* gcc/config/aarch64/aarch64.c (TARGET_MIN_DIVISIONS_FOR_RECIP_MUL):
Define.
(aarch64_min_divisions_for_recip_mul): New function.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218866 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago[AArch64] Generalize code alignment
jiwang [Thu, 18 Dec 2014 13:46:22 +0000 (13:46 +0000)]
[AArch64] Generalize code alignment

2014-12-18  Wilco Dijkstra  <wilco.dijkstra@arm.com>

* config/aarch64/aarch64-protos.h (tune-params): Add code alignment
tuning parameters.
* gcc/config/aarch64/aarch64.c (generic_tunings): Add code alignment
tuning parameters.
(cortexa53_tunings): Likewise.
(cortexa57_tunings): Likewise.
(thunderx_tunings): Likewise.
(aarch64_override_options): Use new alignment tunings.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218865 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoFix for PR64330.
marxin [Thu, 18 Dec 2014 13:32:18 +0000 (13:32 +0000)]
Fix for PR64330.

PR tree-optimization/64330
* ipa-icf.c (sem_variable::parse): Add checking
for externally visible symbols and do not introduce
an alias for an external declaration.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218864 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoFix for PR bootstrap/63573.
marxin [Thu, 18 Dec 2014 12:06:34 +0000 (12:06 +0000)]
Fix for PR bootstrap/63573.

PR bootstrap/63573
* tree-inline.c (remap_gimple_stmt): Handle gimple_call_from_thunk_p
predicate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218861 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoFix for PR ipa/64146
marxin [Thu, 18 Dec 2014 12:02:22 +0000 (12:02 +0000)]
Fix for PR ipa/64146

PR ipa/64146
* ipa-icf.c (sem_function::merge): Check for
decl_binds_to_current_def_p is newly added to merge operation.
* g++.dg/ipa/pr64146.C: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218860 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoChange mpx effective-target test into link test
ro [Thu, 18 Dec 2014 11:54:40 +0000 (11:54 +0000)]
Change mpx effective-target test into link test

* lib/mpx-dg.exp (check_effective_target_mpx): Change into link test.
Add main.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218859 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoInclude target-utils.exp in boehm-gc testing
ro [Thu, 18 Dec 2014 09:42:22 +0000 (09:42 +0000)]
Include target-utils.exp in boehm-gc testing

* testsuite/lib/boehm-gc.exp: Load target-utils.exp.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218857 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoAdd myself to MAINTAINERS under Writer After Approval
prathamesh3492 [Thu, 18 Dec 2014 06:19:33 +0000 (06:19 +0000)]
Add myself to MAINTAINERS under Writer After Approval

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218856 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR tree-optimization/62178
amker [Thu, 18 Dec 2014 02:53:42 +0000 (02:53 +0000)]
PR tree-optimization/62178
* tree-ssa-loop-ivopts.c (cheaper_cost_with_cand): New function.
(iv_ca_replace): New function.
(try_improve_iv_set): New parameter try_replace_p.
Break local optimal fixed-point by calling iv_ca_replace.
(find_optimal_iv_set_1): Pass new argument to try_improve_iv_set.

gcc/testsuite/ChangeLog
PR tree-optimization/62178
* gcc.target/aarch64/pr62178.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218855 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agogcc/ChangeLog:
dehao [Thu, 18 Dec 2014 00:19:24 +0000 (00:19 +0000)]
gcc/ChangeLog:
2014-12-17  Dehao Chen  <dehao@google.com>

        * auto-profile.c (afdo_annotate_cfg): Invoke update_ssa in the right
        place.
        (auto_profile): Recompute inline summary after processing cgraph node.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218854 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoDaily bump.
gccadmin [Thu, 18 Dec 2014 00:16:36 +0000 (00:16 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218853 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agogcc/
olegendo [Wed, 17 Dec 2014 23:08:14 +0000 (23:08 +0000)]
gcc/
PR target/51244
* config/sh/sh_treg_combine.cc (is_conditional_insn): New function.
(cbranch_trace): Add member rtx* condition_rtx_in_insn, initialize it
accordingly in constructor.
(cbranch_trace::branch_condition_rtx_ref): New function.
(cbranch_trace::branch_condition_rtx): Use branch_condition_rtx_ref.
(sh_treg_combine::try_invert_branch_condition): Invert condition rtx
in insn using reversed_comparison_code and validate_change instead of
invert_jump_1.
(sh_treg_combine::execute): Look for conditional insns in basic blocks
in addition to conditional branches.
* config/sh/sh.md (*movsicc_div0s): Remove combine patterns.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218850 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agogcc/
olegendo [Wed, 17 Dec 2014 22:52:21 +0000 (22:52 +0000)]
gcc/
PR target/51244
* config/sh/sh_treg_combine.cc (sh_treg_combine::try_optimize_cbranch):
Combine ccreg inversion and cbranch into inverted cbranch.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218847 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2014-12-17 Sergio Durigan Junior <sergiodj@redhat.com>
mrs [Wed, 17 Dec 2014 22:35:04 +0000 (22:35 +0000)]
2014-12-17  Sergio Durigan Junior  <sergiodj@redhat.com>

* dg-extract-results.sh: Use --text with grep to avoid issues with
  binary files.  Fall back to cat -v, if that doesn't work.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218843 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoFix typo in changelog.
vmakarov [Wed, 17 Dec 2014 21:29:01 +0000 (21:29 +0000)]
Fix typo in changelog.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218836 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2014-12-17 Vladimir Makarov <vmakarov@redhat.com>
vmakarov [Wed, 17 Dec 2014 21:25:18 +0000 (21:25 +0000)]
2014-12-17  Vladimir Makarov  <vmakarov@redhat.com>

* lra-constrints.c (process_alt_operands): Remove non allocatable
hard regs when considering ira_prohibited_class_mode_regs.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218835 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2014-12-17 Janus Weil <janus@gcc.gnu.org>
janus [Wed, 17 Dec 2014 21:12:42 +0000 (21:12 +0000)]
2014-12-17  Janus Weil  <janus@gcc.gnu.org>

PR fortran/64173
* trans-array.c (structure_alloc_comps): Do not nullify procedure
pointer components.

2014-12-17  Janus Weil  <janus@gcc.gnu.org>

PR fortran/64173
* gfortran.dg/proc_ptr_comp_40.f90: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218834 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * sreal.h (sreal::normalize): Implement inline.
hubicka [Wed, 17 Dec 2014 21:11:46 +0000 (21:11 +0000)]
* sreal.h (sreal::normalize): Implement inline.
(sreal::normalize_up): New function.
(sreal::normalize_down): New function.
* sreal.c (sreal::normalize): Remove.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218833 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR c++/64333
jason [Wed, 17 Dec 2014 20:41:18 +0000 (20:41 +0000)]
PR c++/64333
* constexpr.c (cxx_bind_parameters_in_call): non_constant_args parm.
(cxx_eval_call_expression): Don't cache calls with non-constant args.
(cxx_eval_constant_expression) [COMPOUND_EXPR]: Pass true for lval.
(cxx_eval_unary_expression, cxx_eval_binary_expression)
(cxx_eval_conditional_expression): Pass false for lval.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218832 138bc75d-0d04-0410-961f-82ee72b054a4