Joern Rennecke [Mon, 26 Aug 2013 16:22:37 +0000 (16:22 +0000)]
c-typeck.c (c_common_type): Prefer double_type_node over other REAL_TYPE types with the same precision.
* c-typeck.c (c_common_type): Prefer double_type_node over
other REAL_TYPE types with the same precision.
(convert_arguments): Likewise.
From-SVN: r202004
Jan Hubicka [Mon, 26 Aug 2013 15:42:10 +0000 (17:42 +0200)]
cgraph.c (cgraph_propagate_frequency): Do not assume that virtual methods can not be called indirectly when...
* cgraph.c (cgraph_propagate_frequency): Do not assume that virtual
methods can not be called indirectly when their address is not taken.
From-SVN: r202003
Jan Hubicka [Mon, 26 Aug 2013 15:40:40 +0000 (17:40 +0200)]
* gimple-fold.c (gimple_get_virt_method_for_binfo): Use ctor_for_folding.
From-SVN: r202002
Jan Hubicka [Mon, 26 Aug 2013 15:38:33 +0000 (17:38 +0200)]
ipa.c (comdat_can_be_unshared_p_1): C++ constructors and destructors can be unshared.
* ipa.c (comdat_can_be_unshared_p_1): C++ constructors and destructors
can be unshared.
From-SVN: r202001
Joern Rennecke [Mon, 26 Aug 2013 15:32:55 +0000 (15:32 +0000)]
reload.c (find_valid_class): Allow classes that do not include FIRST_PSEUDO_REGISTER - 1.
* reload.c (find_valid_class): Allow classes that do not include
FIRST_PSEUDO_REGISTER - 1.
From-SVN: r202000
Jan Hubicka [Mon, 26 Aug 2013 15:29:28 +0000 (17:29 +0200)]
cgraph.c (cgraph_redirect_edge_call_stmt_to_callee): Fix formatting...
* cgraph.c (cgraph_redirect_edge_call_stmt_to_callee): Fix formatting;
fix edge count/frequency when speculation failed; fix type check
for the direct call.
From-SVN: r201999
Jan Hubicka [Mon, 26 Aug 2013 15:24:41 +0000 (17:24 +0200)]
* ipa-prop.c (ipa_print_node_params): Do not ICE during WPA.
From-SVN: r201998
Jan Hubicka [Mon, 26 Aug 2013 15:23:48 +0000 (17:23 +0200)]
ipa-inline-transform.c (inline_transform): Be ready for basic block to be changed by edge redirection.
* ipa-inline-transform.c (inline_transform): Be ready for basic block
to be changed by edge redirection.
From-SVN: r201997
Jan Hubicka [Mon, 26 Aug 2013 13:02:39 +0000 (15:02 +0200)]
cgraph.c (cgraph_speculative_call_info): Fix parameter order and formating; add sanity check.
* cgraph.c (cgraph_speculative_call_info): Fix parameter order and formating;
add sanity check.
(cgraph_resolve_speculation): Add FIXME about scaling profiles.
(cgraph_redirect_edge_call_stmt_to_callee): Fix ICE in debug dump.
* ipa-inline.c (heap_edge_removal_hook): Reset node growth cache.
(resolve_noninline_speculation): Update callee keys, too.
From-SVN: r201996
Jan Hubicka [Mon, 26 Aug 2013 11:42:03 +0000 (13:42 +0200)]
tree.h (tree_decl_with_vis): Add cxx_constructor, cxx_destructor.
* tree.h (tree_decl_with_vis): Add cxx_constructor, cxx_destructor.
(DECL_CXX_CONSTRUCTOR_P, DECL_CXX_DESTRUCTOR_P): New macros.
* cp-tree.h (DECL_CONSTRUCTOR_P, DECL_DESTRUCTOR_P): Use
middle-end flag.
From-SVN: r201994
Joern Rennecke [Mon, 26 Aug 2013 11:04:08 +0000 (11:04 +0000)]
i386.c (x86_64_elf_select_section): Put ATTRIBUTE_UNUSED into proper place.
* config/i386/i386.c (x86_64_elf_select_section): Put ATTRIBUTE_UNUSED
into proper place.
From-SVN: r201993
Uros Bizjak [Mon, 26 Aug 2013 09:21:51 +0000 (11:21 +0200)]
i386.c (ix86_return_in_memory): Do not remove ATTRIBUTE_UNUSED on function argument.
* config/i386/i386.c (ix86_return_in_memory): Do not
remove ATTRIBUTE_UNUSED on function argument.
From-SVN: r201990
Gabriel Dos Reis [Mon, 26 Aug 2013 09:15:22 +0000 (09:15 +0000)]
Really commit all changes
From-SVN: r201989
Uros Bizjak [Mon, 26 Aug 2013 09:02:04 +0000 (11:02 +0200)]
i386.c (ix86_debug_options): Remove prototype.
* config/i386/i386.c (ix86_debug_options): Remove prototype.
(x86_64_elf_select_section): Ditto.
(ix86_handle_tm_regparm_attribute): Remove ATTRIBUTE_UNUSED on used
arguments.
(ix86_pass_by_reference): Ditto.
(ix86_return_in_memory): Ditto.
(output_set_got): Ditto.
(ix86_unary_operator_ok): Ditto.
(ix86_expand_builtin): Ditto.
From-SVN: r201988
Gabriel Dos Reis [Mon, 26 Aug 2013 08:37:24 +0000 (08:37 +0000)]
c-pretty-print.h (c_pretty_printer::unary_expression): Now a virtual member function.
c-family/
* c-pretty-print.h (c_pretty_printer::unary_expression): Now a
virtual member function.
(c_pretty_printer::multiplicative_expression): Likewise.
(c_pretty_printer::conditional_expression): Likewise.
(c_pretty_printer::assignment_expression): Likewise.
(c_pretty_printer::expression): Likewise.
(pp_unary_expression): Adjust.
(pp_multiplicative_expression): Likewise.
(pp_assignment_expression): Likewise.
(pp_conditional_expression): Likewise.
(pp_expression): Likewise.
* c-pretty-print.c (c_pretty_printer::unary_expression): Rename
from pp_c_unary_expression. Adjust.
(c_pretty_printer::multiplicative_expression): Rename from
pp_c_multiplicative_expression. Adjust.
(c_pretty_printer::conditional_expression): Rename from
pp_c_conditional_expression. Adjust.
(c_pretty_printer::assignment_expression): Rename from
pp_c_assignment_expression. Adjust.
(c_pretty_printer::expression): Rename from pp_c_expression. Adjust.
(c_pretty_printer::c_pretty_printer): Do not assign to
unary_expression, multiplicative_expression,
conditional_expression, expression.
cp/
* cxx-pretty-print.h (cxx_pretty_printer::unary_expression):
Declare as overrider.
(cxx_pretty_printer::multiplicative_expression): Likewise.
(cxx_pretty_printer::conditional_expression): Likewise.
(cxx_pretty_printer::assignment_expression): Likewise.
(cxx_pretty_printer::expression): Likewise.
* cxx-pretty-print.c (cxx_pretty_printer::unary_expression):
Rename from pp_cxx_unary_expression. Adjust.
(cxx_pretty_printer::multiplicative_expression): Rename from
pp_cxx_multiplicative_expression. Adjust.
(cxx_pretty_printer::conditional_expression): Rename from
pp_cxx_conditional_expression. Adjust.
(cxx_pretty_printer::assignment_expression): Rename from
pp_cxx_assignment_expression. Adjust.
(cxx_pretty_printer::expression): Rename from pp_cxx_expression.
Adjust.
(cxx_pretty_printer::cxx_pretty_printer): Dot not assign to
unary_expression, multiplicative_expression,
conditional_expression, assignment_expression, expression.
From-SVN: r201987
Gabriel Dos Reis [Mon, 26 Aug 2013 03:12:38 +0000 (03:12 +0000)]
c-pretty-print.h (c_pretty_printer::postfix_expression): Now a virtual member function.
c-family/
* c-pretty-print.h (c_pretty_printer::postfix_expression): Now a
virtual member function.
(pp_postfix_expression): Adjust.
(pp_c_postfix_expression): Remove.
* c-pretty-print.c (c_pretty_printer::postfix_expression): Rename
from pp_c_postfix_expression. Adjust.
(c_pretty_printer::c_pretty_printer): Do not assign to
postfix_expression.
cp/
* cxx-pretty-print.h (cxx_pretty_printer::postfix_expression):
Declare as overrider.
* cxx-pretty-print.c (cxx_pretty_printer::postfix_expression):
Rename from pp_cxx_postfix_expression. Adjust.
(pp_cxx_expression): Use pp_postfix_expression.
(cxx_pretty_printer::cxx_pretty_printer): Do not assign to
postfix_expression.
From-SVN: r201985
GCC Administrator [Mon, 26 Aug 2013 00:16:54 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r201984
Thomas Koenig [Sun, 25 Aug 2013 22:55:12 +0000 (22:55 +0000)]
re PR fortran/58146 (Array slice bounds checking)
2013-08-26 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/58146
* array.c (gfc_ref_dimen_size): If possible, use
gfc_dep_difference to calculate array refrence
sizes. Fall back to integer code otherwise.
* dependency.c (discard_nops). Move up.
Also discarde widening integer conversions.
(gfc_dep_compare_expr): Use discard_nops.
2013-08-26 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/58146
* gfortran.dg/bounds_check_18.f90: New test.
From-SVN: r201981
Gabriel Dos Reis [Sun, 25 Aug 2013 18:05:29 +0000 (18:05 +0000)]
c-pretty-print.h (c_pretty_printer::primary_expression): Now a virtua member function.
c-family/
* c-pretty-print.h (c_pretty_printer::primary_expression): Now a
virtua member function.
(pp_primary_expression): Adjust.
(pp_c_primary_expression): Remove.
* c-pretty-print.c (c_pretty_printer::primary_expression): Rename
from pp_c_primary_expression. Adjust.
(pp_c_initializer_list): Use pp_primary_expression.
(c_pretty_printer::c_pretty_printer): Do not assign to
primary_expression.
cp/
* cxx-pretty-print.h (cxx_pretty_printer::primary_expression): Now
an overrider of c_pretty_printer::primary_expression.
* cxx-pretty-print.c (cxx_pretty_printer::primary_expression):
Rename from pp_cxx_primary_expression. Adjust.
(pp_cxx_postfix_expression): Use pp_primary_expression.
(pp_cxx_ctor_initializer): Likewise.
(cxx_pretty_printer::cxx_pretty_printer): Do not assign to
primary_expression.
From-SVN: r201978
Jan Hubicka [Sun, 25 Aug 2013 09:47:00 +0000 (11:47 +0200)]
cgraph.c (cgraph_turn_edge_to_speculative): Fix debug output.
* cgraph.c (cgraph_turn_edge_to_speculative):
Fix debug output.
From-SVN: r201977
Jan Hubicka [Sun, 25 Aug 2013 09:45:34 +0000 (11:45 +0200)]
* g++.dg/ipa/devirt-14.C: Fix typo.
From-SVN: r201976
Jan Hubicka [Sun, 25 Aug 2013 09:43:34 +0000 (11:43 +0200)]
tree.h (TYPE_FINAL_P, [...]): New macros.
* tree.h (TYPE_FINAL_P, DECL_FINAL_P): New macros.
(tree_decl_with_vis): Add FINAL field.
* cp-tree.h (struct lang_type_class): Free is_final bit.
(CLASSTYPE_FINAL): Define using TYPE_FINAL_P.
(DECL_FINAL_P): Remove.
* pt.c (instantiate_class_template_1): Guard that CLASSTYPE_FINAL
is called on CLASS_TYPE_P.
From-SVN: r201975
Gabriel Dos Reis [Sun, 25 Aug 2013 05:51:54 +0000 (05:51 +0000)]
c-pretty-print.h (c_pretty_printer::translate_string): Declare.
c-family/
* c-pretty-print.h (c_pretty_printer::translate_string): Declare.
* c-pretty-print.c (M_): Remove.
(c_pretty_printer::translate_string): Define.
(pp_c_type_specifier): Use it.
(pp_c_primary_expression): Likewise.
(pp_c_expression): Likewise.
cp/
* cxx-pretty-print.c (M_): Remove.
(pp_cxx_unqualified_id): Use translate_string instead of M_.
(pp_cxx_canonical_template_parameter): Likewise.
From-SVN: r201974
Gabriel Dos Reis [Sun, 25 Aug 2013 00:24:27 +0000 (00:24 +0000)]
c-pretty-print.h (c_pretty_printer::id_expression): Now a virtual function.
c-family/
* c-pretty-print.h (c_pretty_printer::id_expression): Now a
virtual function.
(pp_c_id_expression): Remove.
(pp_id_expression): Adjust.
* c-pretty-print.c (c_pretty_printer::id_expression): Rename from
pp_c_id_expression. Adjust.
(pp_c_postfix_expression): Use pp_id_expression.
(c_pretty_printer::c_pretty_printer): Do not assign to id_expression.
cp/
* cxx-pretty-print.h (cxx_pretty_printer::id_expression): Declare.
* cxx-pretty-print.c (cxx_pretty_printer::id_expression): Rename
from pp_cxx_id_expression. Adjust.
(pp_cxx_userdef_literal): Use pp_id_expression.
(pp_cxx_primary_expression): Likewise.
(pp_cxx_direct_declarator): Likewise.
(cxx_pretty_printer::cxx_pretty_printer): Do not assign to
id_expression.
From-SVN: r201973
GCC Administrator [Sun, 25 Aug 2013 00:16:46 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r201972
Gabriel Dos Reis [Sat, 24 Aug 2013 22:29:37 +0000 (22:29 +0000)]
c-pretty-print.h (c_pretty_printer::constant): Now a virtual member function.
* c-pretty-print.h (c_pretty_printer::constant): Now a virtual
member function.
(pp_constant): Adjust.
(pp_c_constant): Remove.
* c-pretty-print.c (c_pretty_printer::constant): Rename from
pp_c_constant. Adjust.
(pp_c_constant)
(pp_c_primary_expression): Call pp_constant in lieu of pp_c_constant.
(c_pretty_printer::c_pretty_printer): Remove assignment to constant.
cp/
* cxx-pretty-print.h (cxx_pretty_printer::constant): Now a member
function, overriding c_pretty_printer::constant.
* cxx-pretty-print.c (cxx_pretty_printer::constant): Rename from
pp_cxx_constant. Adjust.
(cxx_pretty_printer::cxx_pretty_printer): Do not assign to constant.
From-SVN: r201969
Jeff Law [Sat, 24 Aug 2013 04:48:19 +0000 (22:48 -0600)]
tree-ssa-pre.c (do_regular_insertion): Include the expression in the debugging dump when the expression is fully redundant.
* tree-ssa-pre.c (do_regular_insertion): Include the expression
in the debugging dump when the expression is fully redundant.
From-SVN: r201963
GCC Administrator [Sat, 24 Aug 2013 00:16:49 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r201959
Gabriel Dos Reis [Fri, 23 Aug 2013 23:58:55 +0000 (23:58 +0000)]
diagnostic.c (diagnostic_set_caret_max_width): Use pp_buffer.
* diagnostic.c (diagnostic_set_caret_max_width): Use pp_buffer.
* gimple-pretty-print.c (gimple_dump_bb_buff): Likewise.
* pretty-print.c (pp_formatted_text_data): Likewise.
(pp_write_text_to_stream): Likewise.
(pp_write_text_as_dot_label_to_stream): Likewise.
(pp_append_r): Likewise.
(pp_format): Likewise.
(pp_flush): Likewise.
(pp_clear_output_area): Likewise.
(pp_append_text): Likewise.
(pp_formatted_text): Likewise.
(pp_remaining_character_count_for_line): Likewise.
(pp_newline): Likewise.
(pp_character): Likewise.
(output_buffer::~output_buffer): Define.
(pretty_printer::~pretty_printer): Destruct output buffer.
* pretty-print.h (output_buffer::~output_buffer): Declare.
(pretty_printer::~pretty_printer): Declare virtual.
c/
* c-objc-common.c (c_tree_printer): Document the nature of the cast.
(c_initialize_diagnostics): Call a destructor for the early printer.
cp/
* cp-objcp-common.c (cxx_initialize_diagnostics): Call a
destructor for the early printer.
* error.c (type_to_string): Use pp_buffer.
From-SVN: r201956
Marc Glisse [Fri, 23 Aug 2013 22:16:08 +0000 (00:16 +0200)]
re PR other/57324 (Undefined behavior issues found with clang's -fsanitize=undefined)
2013-08-24 Marc Glisse <marc.glisse@inria.fr>
PR other/57324
* hwint.h (HOST_WIDE_INT_UC, HOST_WIDE_INT_1U, HOST_WIDE_INT_M1,
HOST_WIDE_INT_M1U): New macros.
* fold-const.c (sign_bit_p, build_range_check, fold_unary_loc,
fold_binary_loc, fold_ternary_loc): Use the new macros. Use an
unsigned -1 for lshift.
* cse.c (cse_insn): Likewise.
* double-int.c (rshift_double, lshift_double): Likewise.
* builtins.c (fold_builtin_bitop): Likewise.
* combine.c (force_to_mode): Likewise.
* tree.c (integer_pow2p, tree_log2, tree_floor_log2): Likewise.
* simplify-rtx.c (simplify_const_unary_operation,
simplify_const_binary_operation): Likewise.
* tree-stdarg.c (va_list_counter_bump, va_list_ptr_read,
check_va_list_escapes): Likewise.
* rtlanal.c (nonzero_bits1): Likewise.
* expmed.c (expand_smod_pow2): Likewise.
* tree-ssa-structalias.c (UNKNOWN_OFFSET): Use HOST_WIDE_INT_MIN.
From-SVN: r201953
Ian Lance Taylor [Fri, 23 Aug 2013 21:04:40 +0000 (21:04 +0000)]
compiler: don't export embedded builtins.
The panic in test/fixedbugs/bug461.go was caused by the fact that
reflect expects unexported fields in a struct to have a valid
package path. If a struct field is an embedded built-in type, it is
now given the package name of the currently compiling package, so it
remains unexported for purposes of reflect.
Fixed Issue 25.
From-SVN: r201951
Jan Hubicka [Fri, 23 Aug 2013 18:33:45 +0000 (20:33 +0200)]
cgraph.c (cgraph_turn_edge_to_speculative): Mark target node as having address taken.
* cgraph.c (cgraph_turn_edge_to_speculative): Mark target node
as having address taken.
From-SVN: r201948
Mikael Morin [Fri, 23 Aug 2013 17:49:39 +0000 (17:49 +0000)]
re PR fortran/57798 (Incorrect handling of sum over first dimension of a product of automatic arrays)
fortran/
PR fortran/57798
* trans-array.c (gfc_conv_ss_startstride, set_loop_bounds,
gfc_set_delta): Generate preliminary code before the outermost loop.
testsuite/
PR fortran/57798
* gfortran.dg/inline_sum_5.f90: New.
From-SVN: r201947
Janus Weil [Fri, 23 Aug 2013 16:43:15 +0000 (18:43 +0200)]
re PR fortran/57843 ([OOP] Type-bound assignment is resolved to non-polymorphic procedure call)
2013-08-23 Janus Weil <janus@gcc.gnu.org>
PR fortran/57843
* interface.c (gfc_extend_assign): Look for type-bound assignment
procedures before non-typebound.
2013-08-23 Janus Weil <janus@gcc.gnu.org>
PR fortran/57843
* gfortran.dg/typebound_assignment_7.f90: New.
From-SVN: r201946
Mikael Morin [Fri, 23 Aug 2013 16:06:44 +0000 (16:06 +0000)]
trans-array.c (gfc_conv_section_startstride): Move &loop->pre access to the callers.
2013-08-23 Mikael Morin <mikael@gcc.gnu.org>
* trans-array.c (gfc_conv_section_startstride): Move &loop->pre access
to the callers.
(gfc_conv_ss_startstride, gfc_conv_expr_descriptor): Update callers.
From-SVN: r201945
Jan Hubicka [Fri, 23 Aug 2013 15:55:22 +0000 (17:55 +0200)]
ipa-utils.h (method_class_type): Declare.
* ipa-utils.h (method_class_type): Declare.
* ipa-devirt.c (method_class_type): Export.
* cgraphunit.c (analyze_functions): Do basic devirtualization;
do not walk base classes of anonymous types.
From-SVN: r201944
Jan Hubicka [Fri, 23 Aug 2013 15:29:04 +0000 (17:29 +0200)]
devirt-13.C: New testcase.
* g++.dg/ipa/devirt-13.C: New testcase.
* g++.dg/ipa/devirt-14.C: New testcase.
* cgraphunit.c (analyze_functions): Do basic devirtualization;
do not walk base classes of anonymous types.
From-SVN: r201942
Kaz Kojima [Fri, 23 Aug 2013 14:31:06 +0000 (14:31 +0000)]
re PR rtl-optimization/58220 (Many new failures for SH after rev. 201833)
2013-08-23 Kaz Kojima <kkojima@gcc.gnu.org>
PR rtl-optimization/58220
PR regression/58221
* final.c (reemit_insn_block_notes): Use NEXT_INSN to
handle SEQUENCE insns properly.
From-SVN: r201941
Gabriel Dos Reis [Fri, 23 Aug 2013 10:46:49 +0000 (10:46 +0000)]
pretty-print.h (pp_newline_and_flush): Declare.
* pretty-print.h (pp_newline_and_flush): Declare. Remove macro
definition.
(pp_newline_and_indent): Likewise.
(pp_separate_with): Likewise.
* pretty-print.c (pp_newline_and_flush): Define.
(pp_newline_and_indent): Likewise.
(pp_separate_with): Likewise.
From-SVN: r201940
Jakub Jelinek [Fri, 23 Aug 2013 09:57:44 +0000 (11:57 +0200)]
re PR target/58218 (-mcmodel=medium cause assembler warning "ignoring incorrect section type for .lbss")
PR target/58218
* config/i386/x86-64.h (TARGET_SECTION_TYPE_FLAGS): Define.
* config/i386/i386.c (x86_64_elf_section_type_flags): New function.
* gcc.target/i386/pr58218.c: New test.
From-SVN: r201938
Kirill Yukhin [Fri, 23 Aug 2013 07:33:00 +0000 (07:33 +0000)]
predicates.md (ext_sse_reg_operand): New.
* gcc/config/i386/predicates.md (ext_sse_reg_operand): New.
* gcc/config/i386/i386.md (*movti_internal): Use
predicate to determine if EVEX is needed.
(*movsi_internal): Ditto.
(*movdf_internal): Ditto.
(*movsf_internal): Ditto.
* gcc/config/i386/mmx.md (*mov<mode>_internal): Ditto.
From-SVN: r201936
Jakub Jelinek [Fri, 23 Aug 2013 07:30:40 +0000 (09:30 +0200)]
re PR tree-optimization/58209 (ICE in extract_range_from_binary_expr, at tree-vrp.c:2294)
PR tree-optimization/58209
* tree-tailcall.c (process_assignment): Handle POINTER_PLUS_EXPR.
(find_tail_calls): Give up for pointer result types if m is non-NULL.
(adjust_return_value_with_ops): For PLUS_EXPR and pointer result type
emit POINTER_PLUS_EXPR.
(create_tailcall_accumulator): For pointer result type accumulate in
sizetype type.
* gcc.c-torture/execute/pr58209.c: New test.
From-SVN: r201935
Ian Lance Taylor [Fri, 23 Aug 2013 01:08:25 +0000 (01:08 +0000)]
libgo: Update libtool.m4 from upstream to recognize powerpcle.
From-SVN: r201933
GCC Administrator [Fri, 23 Aug 2013 00:16:58 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r201932
Michael Meissner [Thu, 22 Aug 2013 18:16:59 +0000 (18:16 +0000)]
pr57744.c: Declare abort.
2013-08-22 Michael Meissner <meissner@linux.vnet.ibm.com>
* gcc.target/powerpc/pr57744.c: Declare abort.
From-SVN: r201929
Paolo Carlini [Thu, 22 Aug 2013 16:52:01 +0000 (16:52 +0000)]
configure.ac: Add backslashes missing from the last change.
2013-08-22 Paolo Carlini <paolo.carlini@oracle.com>
* configure.ac: Add backslashes missing from the last change.
* configure: Regenerate.
From-SVN: r201927
Paolo Carlini [Thu, 22 Aug 2013 16:30:08 +0000 (16:30 +0000)]
re PR c++/56380 (Const/reference mutable members are not always rejected in class templates)
/cp
2013-08-22 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/56380
* class.c (check_field_decls): Check for const mutable and const
reference data members.
/testsuite
2013-08-22 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/56380
* g++.dg/template/error54.C: New.
From-SVN: r201925
Jan Hubicka [Thu, 22 Aug 2013 15:56:01 +0000 (15:56 +0000)]
ipa.c (function_and_variable_visibility): First remember function was global and then make it local.
* ipa.c (function_and_variable_visibility): First remember function was global
and then make it local.
From-SVN: r201924
Julian Brown [Thu, 22 Aug 2013 15:36:53 +0000 (15:36 +0000)]
configure.ac: Add aarch64 to list of arches which use "nop" in debug_line test.
* configure.ac: Add aarch64 to list of arches which use "nop" in
debug_line test.
* configure: Regenerate.
From-SVN: r201923
Andreas Krebbel [Thu, 22 Aug 2013 15:28:15 +0000 (15:28 +0000)]
linux.h (TARGET_LIBC_HAS_FUNCTION): Define as gnu_libc_has_function.
2013-08-22 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* config/s390/linux.h (TARGET_LIBC_HAS_FUNCTION): Define as
gnu_libc_has_function.
* config/s390/tpf.h: Likewise.
From-SVN: r201922
Jan Hubicka [Thu, 22 Aug 2013 15:25:53 +0000 (15:25 +0000)]
* timevar.c (validate_phases): Add cast.
From-SVN: r201921
Jan Hubicka [Thu, 22 Aug 2013 14:58:17 +0000 (14:58 +0000)]
timevar.c (validate_phases): Use size_t for memory.
* timevar.c (validate_phases): Use size_t for memory.
* timevar.h (struct timevar_time_def): Use size_t for ggc_mem.
From-SVN: r201920
Janus Weil [Thu, 22 Aug 2013 11:49:46 +0000 (13:49 +0200)]
re PR fortran/58185 ([OOP] ICE when selector in SELECT TYPE is non-polymorphic)
2013-08-22 Janus Weil <janus@gcc.gnu.org>
PR fortran/58185
* match.c (copy_ts_from_selector_to_associate): Only build class
container for polymorphic selector. Some cleanup.
2013-08-22 Janus Weil <janus@gcc.gnu.org>
PR fortran/58185
* gfortran.dg/select_type_34.f90: New.
From-SVN: r201919
Gabriel Dos Reis [Thu, 22 Aug 2013 10:14:46 +0000 (10:14 +0000)]
pretty-print.h (output_buffer::output_buffer): Declare.
* pretty-print.h (output_buffer::output_buffer): Declare.
(pretty_printer::pretty_printer): Likewise.
(pp_construct): Remove.
* pretty-print.c (output_buffer::output_buffer): Define.
(pretty_printer::pretty_printer): Rename from pp_construct. Simplify.
* gimple-pretty-print.c (print_gimple_stmt): Do not call pp_construct.
(print_gimple_expr): Likewise.
(print_gimple_seq): Likewise.
(gimple_dump_bb): Likewise.
* sched-vis.c (dump_value_slim): Likewise.
(dump_insn_slim): Likewise.
(dump_rtl_slim): Likewise.
(str_pattern_slim): Likewise.
* tree-mudflap.c (mf_varname_tree): Likewise.
* graph.c (print_graph_cfg): Likewise.
(start_graph_dump): Likewise.
* tree-pretty-print.c (maybe_init_pretty_print): Likewise. Use
placement-new.
* diagnostic.c (diagnostic_initialize): Simplify early diagnostic
pretty printer initialization.
* coretypes.h (diagnostic_context): Remove superflous type alias
declaration.
(pretty_printer): Likewise. Declare directly as a class.
(pretty_print_info): Remove declaration as class.
* asan.c (asan_emit_stack_protection): Remove call to pp_construct
and pp_clear_output_area.
(asan_add_global): Likewise.
c/
* c-objc-common.c (c_initialize_diagnostics): Simplify C pretty
printer initialization.
c-family/
* c-pretty-print.h (pp_c_pretty_printer_init): Remove.
(c_pretty_printer::c_pretty_printer): Declare.
* c-pretty-print.c (pretty_printer::c_pretty_printer): Rename from
c_pretty_printer_init. Adjust.
(print_c_tree): Do not call c_pretty_printer_init.
* c-ada-spec.c (dump_ads): Remove call to pp_construct.
cp/
* error.c (init_error): Remove calls to pp_construct and
pp_cxx_pretty_printer_init. Initialize cxx_pp with placement-new.
* cxx-pretty-print.h (cxx_pretty_printer::cxx_pretty_printer): Declare.
(cxx_pretty_printer_init): Remove.
* cxx-pretty-print.c (cxx_pretty_printer::cxx_pretty_printer):
Rename from cxx_pretty_printer_init. Adjust.
* cp-objcp-common.c (cxx_initialize_diagnostics): Simplify
initialization of C++ diagnostics pretty printer.
From-SVN: r201918
Jan Hubicka [Thu, 22 Aug 2013 09:32:07 +0000 (11:32 +0200)]
* cgraphunit.c (analyze_functions) Use update_type_inheritance_graph.
* ipa-utils.h (update_type_inheritance_graph): Declare.
(possible_polymorphic_call_target_p): Declare.
(possible_polymorphic_call_target_p): New.
* ipa-devirt.c: Update toplevel comments.
(cached_polymorphic_call_targets): Move up.
(odr_type_d): Move ID down.
(polymorphic_type_binfo_p): Update comment.
(odr_hasher::remove): Likewise;
(get_odr_type): Set anonymous_namespace.
(dump_odr_type): Dump it.
(dump_type_inheritance_graph): Do not ICE when there are no ODR types.
(maybe_record_node): Record node in cached_polymorphic_call_targets.
(record_binfo): Add comment.
(free_polymorphic_call_targets_hash): Do not ICE when cache is not built.
(devirt_node_removal_hook): Do not iCE when cache is freed.
(possible_polymorphic_call_target_p): New predicate.
(update_type_inheritance_graph): New function.
From-SVN: r201917
Tim Shen [Thu, 22 Aug 2013 09:01:38 +0000 (09:01 +0000)]
regex.h: Replace 8 spaces in indentation with a tab.
2013-08-22 Tim Shen <timshen91@gmail.com>
* include/bits/regex.h: Replace 8 spaces in indentation with a tab.
* include/bits/regex_automaton.h: Same.
* include/bits/regex_automaton.tcc: Same.
* include/bits/regex_compiler.h: Same.
* include/bits/regex_compiler.tcc: Same.
* include/bits/regex_constants.h: Same.
* include/bits/regex_executor.h: Same.
* include/bits/regex_executor.tcc: Same.
From-SVN: r201916
Alexander Ivchenko [Thu, 22 Aug 2013 06:06:03 +0000 (06:06 +0000)]
i386-common.c (OPTION_MASK_ISA_AVX512F_SET): New.
* common/config/i386/i386-common.c (OPTION_MASK_ISA_AVX512F_SET): New.
(OPTION_MASK_ISA_AVX512CD_SET): Ditto.
(OPTION_MASK_ISA_AVX512PF_SET): Ditto.
(OPTION_MASK_ISA_AVX512ER_SET): Ditto.
(OPTION_MASK_ISA_AVX2_UNSET): Update.
(OPTION_MASK_ISA_AVX512F_UNSET): New.
(OPTION_MASK_ISA_AVX512CD_UNSET): Ditto.
(OPTION_MASK_ISA_AVX512PF_UNSET): Ditto.
(OPTION_MASK_ISA_AVX512ER_UNSET): Ditto.
(ix86_handle_option): Handle OPT_mavx512f, OPT_mavx512cd,
OPT_mavx512pf, OPT_mavx512er cases.
* config/i386/constraints.md (v): New constraint.
(Yi, Yj): Replace SSE_REGS with ALL_SSE_REGS.
* config/i386/cpuid.h (bit_AVX512F, bit_AVX512PF, bit_AVX512ER)
(bit_AVX512CD): New.
* config/i386/driver-i386.c (host_detect_local_cpu): Detect
AVX512F, AVX512ER, AVX512PF, AVX512CD features.
* config/i386/i386-c.c (ix86_target_macros_internal):
Conditionally define __AVX512F__, __AVX512ER__, __AVX512CD__,
__AVX512PF__.
* config/i386/i386-modes.def (VECTOR_MODES (INT, 128))
(VECTOR_MODES (FLOAT, 128), INT_MODE (XI, 64)): New modes.
* config/i386/i386.c (regclass_map, dbx_register_map)
(dbx64_register_map, svr4_dbx_register_map): Add new SSE registers.
(gate_insert_vzeroupper): Disable vzeroupper for TARGET_AVX512F.
(ix86_target_string): Define -mavx512f, -mavx512er, -mavx512cd,
-mavx512pf options.
(ix86_option_override_internal): Define PTA_AVX512F, PTA_AVX512ER,
PTA_AVX512PF, PTA_AVX512CD. Handle -mavx512f, -mavx512er, -mavx512cd,
-mavx512pf options. Fix formatting.
(ix86_conditional_register_usage): Squash EXT_REX_SSE_REGs for 32-bit
targets. Squash EVEX_SSE_REGS if AVX512F is disabled.
(ix86_valid_target_attribute_inner_p): Handle -mavx512f, -mavx512er,
-mavx512cd, -mavx512pf options.
(standard_sse_constant_opcode): Add vpternlogd for 512-bit modes.
(print_reg, ix86_print_operand): Handle 'g' to output 512-bit operands.
(ix86_preferred_output_reload_class): Replace SSE_REGS with
ALL_SSE_REGS.
(ix86_hard_regno_mode_ok): Support 512-bit registers.
(ix86_set_reg_reg_cost): Ditto.
(x86_order_regs_for_local_alloc): Ditto.
(MAX_VECT_LEN): Extend to 64-byte.
(ix86_spill_class): Replace SSE_REGS with ALL_SSE_REGS.
* config/i386/i386.h (TARGET_AVX512F, TARGET_AVX512PF)
(TARGET_AVX512ER, TARGET_AVX512CD): New.
(BIGGEST_ALIGNMENT): Extend to 512-bits.
(FIRST_PSEUDO_REGISTER, FIXED_REGISTERS): Add new registers.
(CALL_USED_REGISTERS, REG_ALLOC_ORDER): Likewise.
(VALID_AVX512F_SCALAR_MODE, VALID_AVX512F_REG_MODE): New.
(SSE_REG_MODE_P): Support new modes.
(FIRST_MMX_REG, FIRST_REX_INT_REG, FIRST_REX_SSE_REG): Add comments.
(FIRST_EXT_REX_SSE_REG, LAST_EXT_REX_SSE_REG): New.
(reg_class, REG_CLASS_NAMES): Add EVEX_SSE_REGS, ALL_SSE_REGS.
(SSE_CLASS_P, MAYBE_SSE_CLASS_P): Replace SSE_REGS with ALL_SSE_REGS.
(REG_CLASS_CONTENTS): Add new registers.
(SSE_REGNO_P, SSE_REGNO, HARD_REGNO_RENAME_OK): Support new registers.
(EXT_REX_SSE_REGNO_P): New.
(HI_REGISTER_NAMES): Add new registers.
* config/i386/i386.md: Define constants for new registers.
(mode): Add new 512-bit modes.
(prefix): Support evex prefix.
(isa): Support avx512f, noavx512f, fma_avx512f.
(ssemodesuffix): Add new 512-bit modes.
(movxi): New.
(*movxi_internal_avx512f): Ditto.
(*movdi_internal): Replace constraint "x" with the new constraint "v".
Support MODE_XI.
(*movsi_internal): Likewise.
(*movdf_internal): Likewise.
(*movsf_internal): Likewise.
(*fop_<mode>_comm_sse): Replace constraint "x" with new constraint "v".
(<code><mode>3): Likewise.
* config/i386/i386.opt (mavx512f, mavx512pf, mavx512er, mavx512cd): New.
* config/i386/mmx.md (*mov<mode>_internal): Replace constraint "x"
with the new constraint "v".
* config/i386/sse.md (*mov<mode>_internal): Support new registers and
modes.
(<sse>_loadu<ssemodesuffix><avxsizesuffix>): Replace constraint "x"
with the new constraint "v".
(<sse2>_loaddqu<avxsizesuffix>): Likewise.
(<sse2>_storedqu<avxsizesuffix>): Likewise.
(*<plusminus_insn><mode>3): Likewise.
(<sse>_vm<plusminus_insn><mode>3): Likewise.
(*mul<mode>3): Likewise.
(<sse>_vmmul<mode>3): Likewise.
(<sse>_div<mode>3): Likewise.
(<sse>_vmdiv<mode>3): Likewise.
(<sse>_sqrt<mode>2): Likewise.
(<sse>_vmsqrt<mode>2): Likewise.
(*<code><mode>3_finite): Likewise.
(*<code><mode>3) <smaxmin>: Likewise.
(<sse>_vm<code><mode>3): Likewise.
(*<code><mode>3) <any_logic>: Likewise.
(*fma_fmadd_<mode>): Likewise.
(*fma_fmsub_<mode>): Likewise.
(*fma_fnmadd_<mode>): Likewise.
(*fma_fnmsub_<mode>): Likewise.
(*fma_fmaddsub_<mode>): Likewise.
(*fma_fmsubadd_<mode>): Likewise.
(*fmai_fmadd_<mode>): Likewise.
(*fmai_fmsub_<mode>): Likewise.
(*fmai_fnmadd_<mode>): Likewise.
(*fmai_fnmsub_<mode>): Likewise.
(sse_cvtsi2ss): Likewise.
(sse_cvtsi2ssq): Likewise.
(sse_cvtss2si): Likewise.
(sse_cvtss2si_2): Likewise.
(sse_cvtss2siq): Likewise.
(sse_cvtss2siq_2): Likewise.
(sse_cvttss2si): Likewise.
(sse_cvtss2siq_2): Likewise.
(float<sseintvecmodelower><mode>2): Likewise.
(sse2_cvtsd2si_2): Likewise.
(sse2_cvtsd2siq_2): Likewise.
(*<plusminus_insn><mode>3): Likewise.
(*<sse2_avx2>_<plusminus_insn><mode>3): Likewise.
(*<sse4_1_avx2>_mul<mode>3): Likewise.
(ashr<mode>3): Likewise.
(<shift_insn><mode>3): Likewise.
(avx2_<code><mode>3): Likewise.
(*avx2_<code><mode>3): Likewise.
(*andnot<mode>3): Likewise.
(*<code><mode>3) <any_logic>: Likewise.
(abs<mode>2): Likewise.
(avx2_permvar<mode>): Likewise.
(avx2_perm<mode>_1): Likewise.
(*avx_vpermilp<mode>): Likewise.
(avx_vpermilvar<mode>3): Likewise.
(avx2_ashrv<mode>): Likewise.
(avx2_<shift_insn>v<mode>): Likewise.
* doc/invoke.texi: Document -mavx512f, -mavx512pf, -mavx512er,
-mavx512cd.
* doc/rtl.texi: Document XImode.
Co-Authored-By: Andrey Turetskiy <andrey.turetskiy@intel.com>
Co-Authored-By: Anna Tikhonova <anna.tikhonova@intel.com>
Co-Authored-By: Ilya Tocar <ilya.tocar@intel.com>
Co-Authored-By: Ilya Verbin <ilya.verbin@intel.com>
Co-Authored-By: Kirill Yukhin <kirill.yukhin@intel.com>
Co-Authored-By: Maxim Kuznetsov <maxim.kuznetsov@intel.com>
Co-Authored-By: Michael Zolotukhin <michael.v.zolotukhin@intel.com>
Co-Authored-By: Sergey Lega <sergey.s.lega@intel.com>
From-SVN: r201915
Tim Shen [Thu, 22 Aug 2013 00:58:28 +0000 (00:58 +0000)]
regex.h: Executor caller.
2013-08-22 Tim Shen <timshen91@gmail.com>
* include/bits/regex.h: Executor caller.
* include/bits/regex_executor.h: Fix empty grouping problem.
* include/bits/regex_executor.tcc: Same.
* testsuite/28_regex/algorithms/regex_match/ecma/cstring_emptygroup.cc:
New.
From-SVN: r201914
GCC Administrator [Thu, 22 Aug 2013 00:16:22 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r201913
Jeff Law [Wed, 21 Aug 2013 19:42:11 +0000 (13:42 -0600)]
Fix typo.
From-SVN: r201908
Jeff Law [Wed, 21 Aug 2013 19:27:54 +0000 (13:27 -0600)]
tree-flow.h (register_jump_thread): Pass vector of edges instead of each important edge.
* tree-flow.h (register_jump_thread): Pass vector of edges
instead of each important edge.
* tree-ssa-threadedge.c (thread_across_edge): Build the jump
thread path into a vector and pass that to register_jump_thread.
* tree-ssa-threadupdate.c (register_jump_thread): Conver the
passed in edge vector to the current 3-edge form.
From-SVN: r201907
Paolo Carlini [Wed, 21 Aug 2013 19:06:05 +0000 (19:06 +0000)]
re PR c++/56130 (__attribute__((deprecated)) does not affect C++ reference)
2013-08-21 Paolo Carlini <paolo.carlini@oracle.com>
* call.c (build_new_method_call_1): Use INDIRECT_REF_P.
* cp-tree.h (REFERENCE_REF_P): Likewise.
* semantics.c (finish_offsetof): Likewise.
/cp
2013-08-21 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/56130
* semantics.c (finish_id_expression): Handle deprecated references.
/testsuite
2013-08-21 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/56130
* g++.dg/warn/deprecated-7.C: New.
From-SVN: r201906
Jeff Law [Wed, 21 Aug 2013 18:35:01 +0000 (12:35 -0600)]
Revert:
2013-08-20 Alexey Makhalov <makhaloff@gmail.com>
* dce.c (fini_dce): Call df_analyze again just in case
delete_unmarked_insns removed anything.
From-SVN: r201905
Paolo Carlini [Wed, 21 Aug 2013 15:28:09 +0000 (15:28 +0000)]
pr57451.C: Remove spurious dg-do directive.
2013-08-21 Paolo Carlini <paolo.carlini@oracle.com>
* g++.dg/tree-prof/pr57451.C: Remove spurious dg-do directive.
From-SVN: r201902
Joern Rennecke [Wed, 21 Aug 2013 14:38:35 +0000 (14:38 +0000)]
reload.h (struct reg_equivs): Rename to ..
* reload.h (struct reg_equivs): Rename to ..
(struct reg_equivs_s): .. this.
From-SVN: r201901
Martin Liska [Wed, 21 Aug 2013 14:27:10 +0000 (14:27 +0000)]
* ipa.c (ipa_profile_read_summary): Fix buffer overflow.
From-SVN: r201900
Rainer Orth [Wed, 21 Aug 2013 14:25:44 +0000 (14:25 +0000)]
Don't nest comment in gcc/config/sol2.h.
* config/sol2-10.h (TARGET_LIBC_HAS_FUNCTION): Don't nest
comment.
From-SVN: r201899
Jeff Law [Wed, 21 Aug 2013 12:36:36 +0000 (06:36 -0600)]
tree-vrp.c (simplify_stmt_for_jump_threading): Try to simplify assignments too.
* tree-vrp.c (simplify_stmt_for_jump_threading): Try to
simplify assignments too. If the RHS collapses to a singleton
range, then return the value for the range.
* gcc.dg/tree-ssa/ssa-vrp-thread-1.c: New test.
From-SVN: r201898
Paolo Carlini [Wed, 21 Aug 2013 11:20:15 +0000 (11:20 +0000)]
re PR c++/56134 (ICE: alias attribute on c++ static class member;)
2013-08-21 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/56134
* g++.dg/ext/attr-alias-3.C: New.
From-SVN: r201897
Kirill Yukhin [Wed, 21 Aug 2013 08:34:56 +0000 (08:34 +0000)]
sse.md (V16): Rename to...
* config/i386/sse.md (V16): Rename to...
(VMOVE): this.
(mov<mode>): Update iterator name.
(*mov<mode>_internal): Ditto.
(push<mode>1): Ditto.
(movmisalign<mode>): Ditto.
From-SVN: r201895
GCC Administrator [Wed, 21 Aug 2013 00:16:57 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r201894
Jan Hubicka [Tue, 20 Aug 2013 21:41:36 +0000 (23:41 +0200)]
re PR bootstrap/58186 (LTO profiledbootstrap fails in stage feedback for fortran/frontend-passes.c with "edge ... has no corresponding call_stmt")
PR bootstrap/58186
* cgraph.c (cgraph_add_edge_to_call_site_hash): Overwrite hash
entry for direct edges.
(cgraph_turn_edge_to_speculative): Fix setting of can_throw_external.
From-SVN: r201891
Caroline Tice [Tue, 20 Aug 2013 20:43:16 +0000 (13:43 -0700)]
Fix logging to not use /tmp or the current directory...
Fix logging to not use /tmp or the current directory; get
the location for writing log files from an environment
variable; use secure getenv whenever possible.
From-SVN: r201890
Steven Bosscher [Tue, 20 Aug 2013 19:23:24 +0000 (19:23 +0000)]
MAINTAINERS: Add myself as RTL optimizers reviewer.
* MAINTAINERS: Add myself as RTL optimizers reviewer.
From-SVN: r201889
Phil Muldoon [Tue, 20 Aug 2013 19:20:42 +0000 (19:20 +0000)]
re PR libstdc++/53477 (pretty printer fails with: Python Exception <type 'exceptions.IndexError'> list index out of range)
2013-08-20 Phil Muldoon <pmuldoon@redhat.com>
PR libstdc++/53477
http://sourceware.org/bugzilla/show_bug.cgi?id=15195
* python/libstdcxx/v6/printers.py (Printer.__call__): If a value
is a reference, fetch referenced value.
(RxPrinter.invoke): Ditto.
* testsuite/libstdc++-prettyprinters/cxx11.cc (main): Add -O0
flag. Add referenced value tests.
From-SVN: r201888
David Malcolm [Tue, 20 Aug 2013 15:51:18 +0000 (15:51 +0000)]
Revert my last two changes, r201865 and r201864
2013-08-20 David Malcolm <dmalcolm@redhat.com>
Revert my last two changes, r201865 and r201864:
Revert r201865:
2013-08-20 David Malcolm <dmalcolm@redhat.com>
Make opt_pass and gcc::pass_manager be GC-managed, so that pass
instances can own GC refs.
* Makefile.in (GTFILES): Add pass_manager.h and tree-pass.h.
* context.c (gcc::context::gt_ggc_mx): Traverse passes_.
(gcc::context::gt_pch_nx): Likewise.
(gcc::context::gt_pch_nx): Likewise.
* ggc.h (gt_ggc_mx <T>): New.
(gt_pch_nx_with_op <T>): New.
(gt_pch_nx <T>): New.
* passes.c (opt_pass::gt_ggc_mx): New.
(opt_pass::gt_pch_nx): New.
(opt_pass::gt_pch_nx_with_op): New.
(pass_manager::gt_ggc_mx): New.
(pass_manager::gt_pch_nx): New.
(pass_manager::gt_pch_nx_with_op): New.
(pass_manager::operator new): Use
ggc_internal_cleared_alloc_stat rather than xcalloc.
* pass_manager.h (class pass_manager): Add GTY((user)) marking.
(pass_manager::gt_ggc_mx): New.
(pass_manager::gt_pch_nx): New.
(pass_manager::gt_pch_nx_with_op): New.
* tree-pass.h (class opt_pass): Add GTY((user)) marking.
(opt_pass::operator new): New.
(opt_pass::gt_ggc_mx): New.
(opt_pass::gt_pch_nx): New.
(opt_pass::gt_pch_nx_with_op): New.
Revert r201864:
2013-08-20 David Malcolm <dmalcolm@redhat.com>
* Makefile.in (GTFILES): Add context.h.
* context.c (gcc::context::operator new): New.
(gcc::context::gt_ggc_mx): New.
(gcc::context::gt_pch_nx): New.
(gcc::context::gt_pch_nx): New.
* context.h (gcc::context): Add GTY((user)) marking.
(gcc::context::operator new): New.
(gcc::context::gt_ggc_mx): New.
(gcc::context::gt_pch_nx): New.
(gcc::context::gt_pch_nx): New.
(g): Add GTY marking.
(gt_ggc_mx (gcc::context *)): New.
(gt_pch_nx (gcc::context *)): New.
(gt_pch_nx (gcc::context *ctxt, gt_pointer_operator op,
void *cookie)): New.
* gengtype.c (open_base_files) <ifiles>: Add context.h.
From-SVN: r201887
Alexey Makhalov [Tue, 20 Aug 2013 15:14:49 +0000 (15:14 +0000)]
dce.c (fini_dce): Call df_analyze again just in case delete_unmarked_insns removed anything.
* dce.c (fini_dce): Call df_analyze again just in case
delete_unmarked_insns removed anything.
From-SVN: r201886
Janus Weil [Tue, 20 Aug 2013 14:16:26 +0000 (16:16 +0200)]
re PR fortran/53655 ([F03] "default initializer" warnings)
2013-08-20 Janus Weil <janus@gcc.gnu.org>
PR fortran/53655
* trans-decl.c (generate_local_decl): Check if type has any components.
2013-08-20 Janus Weil <janus@gcc.gnu.org>
PR fortran/53655
* gfortran.dg/intent_out_8.f90: New.
From-SVN: r201884
Teresa Johnson [Tue, 20 Aug 2013 13:29:53 +0000 (13:29 +0000)]
re PR rtl-optimization/57451 (Incorrect debug ranges emitted for -freorder-blocks-and-partition -g)
2013-08-20 Teresa Johnson <tejohnson@google.com>
PR rtl-optimizations/57451
* final.c (reemit_insn_block_notes): Prevent lexical blocks
from crossing split section boundaries.
* testsuite/g++.dg/tree-prof/pr57451.C: New test.
From-SVN: r201883
Jason Merrill [Tue, 20 Aug 2013 12:58:47 +0000 (08:58 -0400)]
re PR c++/58119 (Invalid ambiguous default type conversion with only a single invalid conversion listed.)
PR c++/58119
* cvt.c (build_expr_type_conversion): Don't complain about a
template that can't match the desired type category.
From-SVN: r201880
Matthew Gretton-Dann [Tue, 20 Aug 2013 12:18:36 +0000 (12:18 +0000)]
linux-elf.h (MULTILIB_DEFAULTS): Remove definition.
2013-08-20 Matthew Gretton-Dann <matthew.gretton-dann@linaro.org>
* config/arm/linux-elf.h (MULTILIB_DEFAULTS): Remove definition.
* config/arm/t-linux-eabi (MULTILIB_OPTIONS): Document association
with MULTLIB_DEFAULTS.
From-SVN: r201879
Nick Clifton [Tue, 20 Aug 2013 12:17:16 +0000 (12:17 +0000)]
target.def (narrow_volatile_bitfield): Note that the default value is false, not !TARGET_STRICT_ALIGN.
* target.def (narrow_volatile_bitfield): Note that the default
value is false, not !TARGET_STRICT_ALIGN.
* doc/tm.texi: Regenerate.
From-SVN: r201878
Paolo Carlini [Tue, 20 Aug 2013 11:53:34 +0000 (11:53 +0000)]
2013-08-20 Paolo Carlini <paolo.carlini@oracle.com>
* Fix ChangeLog.
From-SVN: r201875
Paolo Carlini [Tue, 20 Aug 2013 11:39:15 +0000 (11:39 +0000)]
re PR c++/58190 (FAIL: g++.dg/pr57878.C (test for excess errors) on x86_64-apple-darwin10)
2013-08-20 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/58190
* g++.dg/pr57878.C: Use __SIZE_TYPE__.
From-SVN: r201874
Gabriel Dos Reis [Tue, 20 Aug 2013 11:23:30 +0000 (11:23 +0000)]
error.c (pp_ggc_formatted_text): New.
* error.c (pp_ggc_formatted_text): New.
(type_as_string): Use it in lieu of pp_formatted_text.
(type_as_string_translate): Likewise.
(expr_as_string): Likewise.
(decl_as_string): Likewise.
(decl_as_string_translate): Likewise.
(lang_decl_name): Likewise.
(decl_to_string): Likewise.
(expr_to_string): Likewise.
(fndecl_to_string): Likewise.
(parm_to_string): Likewise.
(type_to_string): Likewise.
(args_to_string): Likewise.
(subst_to_string): Likewise.
From-SVN: r201873
Tim Shen [Tue, 20 Aug 2013 10:36:42 +0000 (10:36 +0000)]
regex_constants.h: Add underlying `unsigned int` for enum syntax_option_type.
2013-08-20 Tim Shen <timshen91@gmail.com>
* include/bits/regex_constants.h: Add underlying `unsigned int` for
enum syntax_option_type.
From-SVN: r201872
Pavel Chupin [Tue, 20 Aug 2013 08:31:40 +0000 (08:31 +0000)]
Fix LIB_SPEC for systems without libpthread.
* config/gnu-user.h: Introduce GNU_USER_TARGET_NO_PTHREADS_LIB_SPEC.
* config/arm/linux-eabi.h: Use GNU_USER_TARGET_NO_PTHREADS_LIB_SPEC
for Android.
* config/i386/linux-common.h: Likewise.
* config/mips/linux-common.h: Likewise.
From-SVN: r201871
Zhouyi Zhou [Tue, 20 Aug 2013 06:25:10 +0000 (06:25 +0000)]
tree-ssa-ccp.c (get_default_value): Remove redundant condition checks.
* tree-ssa-ccp.c (get_default_value): Remove redundant condition
checks.
From-SVN: r201870
Alan Modra [Tue, 20 Aug 2013 05:31:41 +0000 (15:01 +0930)]
floatformat.h (floatformat_ibm_long_double): Delete.
include/
* floatformat.h (floatformat_ibm_long_double): Delete.
(floatformat_ibm_long_double_big): Declare.
(floatformat_ibm_long_double_little): Declare.
libiberty/
* floatformat.c (floatformat_ibm_long_double): Rename to..
(floatformat_ibm_long_double_big): ..this.
(floatformat_ibm_long_double_little): New.
From-SVN: r201869
Benjamin De Kosnik [Tue, 20 Aug 2013 03:10:19 +0000 (03:10 +0000)]
MAINTAINERS: Update name, email.
2013-08-19 Benjamin De Kosnik <bkoz@gnu.org>
* MAINTAINERS: Update name, email.
From-SVN: r201868
Balaji V. Iyer [Tue, 20 Aug 2013 01:10:56 +0000 (01:10 +0000)]
re PR c/57490 (ICE on c-c++-common/cilk-plus/AN/an-if.c)
Fix for PR c/57490.
gcc/c/ChangeLog
+2013-08-19 Balaji V. Iyer <balaji.v.iyer@intel.com>
+
+ PR c/57490
+ * c-array-notation.c (fix_conditional_array_notations_1): Added a
+ check for truth values.
+ (expand_array_notation_exprs): Added truth values case. Removed an
+ unwanted else. Added for-loop to walk through subtrees in default
+ case.
+
gcc/cp/ChangeLog
+2013-08-19 Balaji V. Iyer <balaji.v.iyer@intel.com>
+
+ PR c/57490
+ * cp-array-notation.c (cp_expand_cond_array_notations): Added a
+ check for truth values.
+ (expand_array_notation_exprs): Added truth values case. Removed an
+ unwanted else. Added for-loop to walk through subtrees in default
+ case.
+ * call.c (build_cxx_call): Inherited the type of the array notation for
+ certain built-in array notation functions.
+
gcc/testsuite/ChangeLog
+2013-08-19 Balaji V. Iyer <balaji.v.iyer@intel.com>
+
+ PR c/57490
+ * c-c++-common/cilk-plus/AN/pr57490.c: New test.
+
From-SVN: r201867
David Malcolm [Tue, 20 Aug 2013 00:54:49 +0000 (00:54 +0000)]
Make opt_pass and gcc::pass_manager be GC-managed
2013-08-20 David Malcolm <dmalcolm@redhat.com>
Make opt_pass and gcc::pass_manager be GC-managed, so that pass
instances can own GC refs.
* Makefile.in (GTFILES): Add pass_manager.h and tree-pass.h.
* context.c (gcc::context::gt_ggc_mx): Traverse passes_.
(gcc::context::gt_pch_nx): Likewise.
(gcc::context::gt_pch_nx): Likewise.
* ggc.h (gt_ggc_mx <T>): New.
(gt_pch_nx_with_op <T>): New.
(gt_pch_nx <T>): New.
* passes.c (opt_pass::gt_ggc_mx): New.
(opt_pass::gt_pch_nx): New.
(opt_pass::gt_pch_nx_with_op): New.
(pass_manager::gt_ggc_mx): New.
(pass_manager::gt_pch_nx): New.
(pass_manager::gt_pch_nx_with_op): New.
(pass_manager::operator new): Use
ggc_internal_cleared_alloc_stat rather than xcalloc.
* pass_manager.h (class pass_manager): Add GTY((user)) marking.
(pass_manager::gt_ggc_mx): New.
(pass_manager::gt_pch_nx): New.
(pass_manager::gt_pch_nx_with_op): New.
* tree-pass.h (class opt_pass): Add GTY((user)) marking.
(opt_pass::operator new): New.
(opt_pass::gt_ggc_mx): New.
(opt_pass::gt_pch_nx): New.
(opt_pass::gt_pch_nx_with_op): New.
From-SVN: r201865
David Malcolm [Tue, 20 Aug 2013 00:48:14 +0000 (00:48 +0000)]
Make gcc::context be GC-managed
* Makefile.in (GTFILES): Add context.h.
* context.c (gcc::context::operator new): New.
(gcc::context::gt_ggc_mx): New.
(gcc::context::gt_pch_nx): New.
(gcc::context::gt_pch_nx): New.
* context.h (gcc::context): Add GTY((user)) marking.
(gcc::context::operator new): New.
(gcc::context::gt_ggc_mx): New.
(gcc::context::gt_pch_nx): New.
(gcc::context::gt_pch_nx): New.
(g): Add GTY marking.
(gt_ggc_mx (gcc::context *)): New.
(gt_pch_nx (gcc::context *)): New.
(gt_pch_nx (gcc::context *ctxt, gt_pointer_operator op,
void *cookie)): New.
* gengtype.c (open_base_files) <ifiles>: Add context.h.
From-SVN: r201864
GCC Administrator [Tue, 20 Aug 2013 00:16:58 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r201863
Alan Modra [Mon, 19 Aug 2013 23:39:05 +0000 (09:09 +0930)]
re PR target/57865 (Broken _save64gpr and _rest64gpr usage)
PR target/57865
* config/rs6000/rs6000.c (rs6000_emit_prologue): Correct ool_adjust.
(rs6000_emit_epilogue): Likewise.
From-SVN: r201860
Dehao Chen [Mon, 19 Aug 2013 22:14:00 +0000 (22:14 +0000)]
value-prof.c (gimple_ic): Fix the bug of adding EH edge.
2013-08-19 Dehao Chen (dehao@google.com)
* value-prof.c (gimple_ic): Fix the bug of adding EH edge.
From-SVN: r201859
Dehao Chen [Mon, 19 Aug 2013 20:11:09 +0000 (20:11 +0000)]
dwarf2.def (DW_AT_GNU_discriminator): New attribute.
2013-08-19 Dehao Chen <dehao@google.com>
* dwarf2.def (DW_AT_GNU_discriminator): New attribute.
From-SVN: r201855
Peter Bergner [Mon, 19 Aug 2013 17:49:33 +0000 (12:49 -0500)]
builtins.def (BUILT_IN_FABSD32): New DFP ABS builtin.
gcc/
* builtins.def (BUILT_IN_FABSD32): New DFP ABS builtin.
(BUILT_IN_FABSD64): Likewise.
(BUILT_IN_FABSD128): Likewise.
* builtins.c (expand_builtin): Add support for new DFP ABS builtins.
(fold_builtin_1): Likewise.
* config/rs6000/dfp.md (*negtd2_fpr): Handle non-overlapping destination
and source operands.
(*abstd2_fpr): Likewise.
(*nabstd2_fpr): Likewise.
gcc/testsuite/
* gcc.target/powerpc/dfp-dd-2.c: New test.
* gcc.target/powerpc/dfp-td-2.c: Likewise.
* gcc.target/powerpc/dfp-td-3.c: Likewise.
Co-Authored-By: Jakub Jelinek <jakub@redhat.com>
From-SVN: r201849
Richard Sandiford [Mon, 19 Aug 2013 17:35:57 +0000 (17:35 +0000)]
mulsize-1.c: Check for SLL as well as SUBU.
gcc/testsuite/
* gcc.target/mips/mulsize-1.c: Check for SLL as well as SUBU.
* gcc.target/mips/mulsize-2.c: Check for ADDU rather than SUBU.
Check for SLL too.
From-SVN: r201848
Richard Sandiford [Mon, 19 Aug 2013 17:29:59 +0000 (17:29 +0000)]
mips.c (mips_adjust_insn_length): Add checks for JUMP_P and INSN_P.
gcc/
* config/mips/mips.c (mips_adjust_insn_length): Add checks for
JUMP_P and INSN_P.
From-SVN: r201847