Marek Polacek [Mon, 8 Oct 2012 17:38:13 +0000 (17:38 +0000)]
re PR debug/54831 (ICE: in vt_add_function_parameter, at var-tracking.c:9412 with -O -fno-split-wide-types -g)
PR54831.
From-SVN: r192218
Tobias Burnus [Mon, 8 Oct 2012 16:51:10 +0000 (18:51 +0200)]
lto.c (lto_wpa_write_files, [...]): Free lto_file struct after closing the file.
2012-10-08 Tobias Burnus <burnus@net-b.de>
* lto.c (lto_wpa_write_files, read_cgraph_and_symbols):
Free lto_file struct after closing the file.
From-SVN: r192216
Dehao Chen [Mon, 8 Oct 2012 16:45:21 +0000 (16:45 +0000)]
predict.c (predict_loops): Predict for short-circuit conditions.
gcc:
2012-10-08 Dehao Chen <dehao@google.com>
* predict.c (predict_loops): Predict for short-circuit conditions.
(predict_extra_loop_exits): New Function.
testsuite:
2012-10-08 Dehao Chen <dehao@google.com>
* g++.dg/predict-loop-exit-1.C: New.
* g++.dg/predict-loop-exit-2.C: New.
* g++.dg/predict-loop-exit-3.C: New.
From-SVN: r192215
Jan Hubicka [Mon, 8 Oct 2012 16:04:31 +0000 (18:04 +0200)]
lto.c (remember_with_vars): Also fixup INTEGER_CST.
* lto/lto.c (remember_with_vars): Also fixup INTEGER_CST.
(fixup_integer_cst): New functoin.
(lto_ft_type): Fixup BASETYPE of methods and offsets.
From-SVN: r192214
Steven Bosscher [Mon, 8 Oct 2012 15:33:58 +0000 (15:33 +0000)]
bitmap.h (bitmap_and_into): Update prototype.
* bitmap.h (bitmap_and_into): Update prototype.
* bitmap.c (bitmap_and_into): Return true if the target bitmap
changed, false otherwise.
* df.h (df_dump_insn_problem_function): New function type.
(struct df_problem): Add two functions, to dump just before and
just after an insn.
(DF_RD_PRUNE_DEAD_DEFS): New changable flag.
(df_dump_insn_top, df_dump_insn_bottom): New prototypes.
* df-core (df_dump_region): Use dump_bb.
(df_dump_bb_problem_data): New function.
(df_dump_top, df_dump_bottom): Rewrite using df_dump_bb_problem_data.
(df_dump_insn_problem_data): New function.
(df_dump_insn_top, df_dump_insn_bottom): New functions.
* df-scan.c (problem_SCAN): Add NULL fields for new members.
* df-problems.c (df_rd_local_compute): Ignore hard registers if
DF_NO_HARD_REGS is in effect.
(df_rd_transfer_function): If DF_RD_PRUNE_DEAD_DEFS is in effect,
prune reaching defs using the LR problem.
(df_rd_start_dump): Fix dumping of DEFs map.
(df_rd_dump_defs_set): New function.
(df_rd_top_dump, df_rd_bottom_dump): Use it.
(problem_RD): Add NULL fields for new members.
(problem_LR, problem_LIVE): Likewise.
(df_chain_bb_dump): New function.
(df_chain_top_dump): Dump only for artificial DEFs and USEs,
using df_chain_bb_dump.
(df_chain_bottom_dump): Likewise.
(df_chain_insn_top_dump, df_chain_insn_bottom_dump): New functions.
(problem_CHAIN): Add them as new members.
(problem_WORD_LR, problem_NOTE): Add NULL fields for new members.
(problem_MD): Likewise.
* cfgrtl.c (rtl_dump_bb): Use df_dump_insn_top and df_dump_insn_bottom.
(print_rtl_with_bb): Likewise.
* dce.c (init_dce): Use DF_RD_PRUNE_DEAD_DEFS.
* loop-invariant.c (find_defs): Likewise.
* loop-iv.c (iv_analysis_loop_init): Likewise.
* ree.c (find_and_remove_re): Likewise.
* web.c (web_main): Likewise.
From-SVN: r192213
Rainer Orth [Mon, 8 Oct 2012 15:05:15 +0000 (15:05 +0000)]
Require tls_runtime in gcc.target/i386/pr54445-1.c
* gcc.target/i386/pr54445-1.c: Require tls_runtime, add tls options.
From-SVN: r192212
Jason Merrill [Mon, 8 Oct 2012 14:45:37 +0000 (10:45 -0400)]
Allow dynamic initialization of thread_locals.
gcc/cp/
* decl.c: Define tls_aggregates.
(expand_static_init): Remove sorry. Add to tls_aggregates.
* cp-tree.h: Declare tls_aggregates.
* call.c (set_up_extended_ref_temp): Add to tls_aggregates.
* decl2.c (var_needs_tls_wrapper): New.
(var_defined_without_dynamic_init): New.
(get_tls_init_fn, get_tls_wrapper_fn): New.
(generate_tls_wrapper, handle_tls_init): New.
(cp_write_global_declarations): Call handle_tls_init and
enerate_tls_wrapper.
* mangle.c (write_guarded_var_name): Split out from..
(mangle_guard_variable): ...here.
(mangle_tls_init_fn, mangle_tls_wrapper_fn): Use it.
(decl_tls_wrapper_p): New.
* semantics.c (finish_id_expression): Replace use of thread_local
variable with a call to its wrapper.
libiberty/
* cp-demangle.c (d_special_name, d_dump): Handle TH and TW.
(d_make_comp, d_print_comp): Likewise.
include/
* demangle.h (enum demangle_component_type): Add
DEMANGLE_COMPONENT_TLS_INIT and DEMANGLE_COMPONENT_TLS_WRAPPER.
From-SVN: r192211
Jason Merrill [Mon, 8 Oct 2012 14:45:24 +0000 (10:45 -0400)]
Support C++11 thread_local destructors.
gcc/cp/
* decl.c (get_thread_atexit_node): New.
(register_dtor_fn): Use it for TLS.
libstdc++-v3/
* libsupc++/cxxabi.h: Declare __cxa_thread_atexit.
* libsupc++/atexit_thread.cc: New.
* libsupc++/Makefile.am (nested_exception.lo): Add it.
* config/abi/pre/gnu.ver: Add __cxa_thread_atexit.
From-SVN: r192210
Jason Merrill [Mon, 8 Oct 2012 14:45:12 +0000 (10:45 -0400)]
Partial implementation of C++11 thread_local.
c-family/
* c-common.c (c_common_reswords): Add thread_local.
cp/
* decl.c (cp_finish_decl): Remove errors about non-trivial
initialization and destruction of TLS variables.
(register_dtor_fn): Add sorry about TLS variables.
(expand_static_init): Add sorry about non-local TLS variables,
or error with __thread.
Don't emit thread-safety guards for local TLS variables.
(grokdeclarator): thread_local in a function implies static.
* decl.h: Adjust prototype.
* decl2.c (get_guard): Copy DECL_TLS_MODEL.
* parser.c (cp_parser_set_storage_class, cp_parser_set_decl_spec_type)
(set_and_check_decl_spec_loc): Take the token rather than the location.
Distinguish between __thread and thread_local.
(cp_parser_set_storage_class): Don't complain about thread_local before
extern/static.
(token_is__thread): New.
* call.c (make_temporary_var_for_ref_to_temp): Handle TLS.
* cp-tree.h (DECL_GNU_TLS_P): New.
(cp_decl_specifier_seq): Add gnu_thread_keyword_p.
From-SVN: r192209
Jason Merrill [Mon, 8 Oct 2012 14:32:42 +0000 (10:32 -0400)]
rs6000.c (rs6000_code_end): Protect the use of ASM_WEAKEN_DECL with #if RS6000_WEAK.
* config/rs6000/rs6000.c (rs6000_code_end): Protect the use of
ASM_WEAKEN_DECL with #if RS6000_WEAK.
From-SVN: r192207
Richard Guenther [Mon, 8 Oct 2012 11:58:03 +0000 (11:58 +0000)]
re PR tree-optimization/54825 (ICE with vector extension)
2012-10-08 Richard Guenther <rguenther@suse.de>
PR tree-optimization/54825
* tree-ssa-sccvn.c (vn_nary_length_from_stmt): Handle BIT_FIELD_REF.
(init_vn_nary_op_from_stmt): Likewise.
* tree-ssa-pre.c (compute_avail): Use vn_nary_op_lookup_stmt.
* tree-ssa-sccvn.h (sizeof_vn_nary_op): Avoid overflow.
From-SVN: r192205
Richard Guenther [Mon, 8 Oct 2012 11:55:13 +0000 (11:55 +0000)]
tree-ssa-pre.c (postorder_num): New global.
2012-10-08 Richard Guenther <rguenther@suse.de>
* tree-ssa-pre.c (postorder_num): New global.
(compute_antic): Initialize all blocks and adjust for
generic postorder.
(my_rev_post_order_compute): Remove.
(init_pre): Use inverted_post_order_compute.
From-SVN: r192204
Bernd Schmidt [Mon, 8 Oct 2012 11:26:16 +0000 (11:26 +0000)]
sched-int.h (schedule_block): Adjust declaration.
* sched-int.h (schedule_block): Adjust declaration.
* sched-rgn.c (bb_state_array, bb_state): New static variables.
(sched_rgn_init): Initialize them.
(sched_rgn_free): Free them.
(schedule_region): Save scheduling state for future blocks, and
pass such state to schedule_block.
* params.def (PARAM_SCHED_STATE_EDGE_PROB_CUTOFF): New.
* doc/invoke.texi (--param): Document it.
* haifa-sched.c (schedule_block): New arg init_state. Use it to
initialize state if nonnull. All callers changed.
Call advance_one_cycle after scheduling.
From-SVN: r192203
Georg-Johann Lay [Mon, 8 Oct 2012 10:13:56 +0000 (10:13 +0000)]
re PR target/54854 ([avr] Deprecate and finally remove the -mshort-calls command line option)
PR target/54854
* doc/invoke.texi (AVR Options): Remove -mshort-calls.
* config/avr/avr.opt (-mshort-calls): Remove option.
* config/avr/avr.h (AVR_HAVE_JMP_CALL): Don't depend on
TARGET_SHORT_CALLS.
From-SVN: r192201
Oleg Endo [Mon, 8 Oct 2012 10:09:28 +0000 (10:09 +0000)]
re PR middle-end/54685 ([SH] Improve unsigned int comparison with 0x7FFFFFFF)
PR target/54685
* config/sh/sh.md (one_cmplsi2): Make insn_and_split. Add manual
combine matching for an insn sequence where a ge:SI pattern can be used.
PR target/54685
* gcc.target/sh/pr54685.c: New.
From-SVN: r192200
Dodji Seketeli [Mon, 8 Oct 2012 09:29:05 +0000 (09:29 +0000)]
PR c++/53528 C++11 attribute support
This patch implements the c++-11 generalized attributes, described in
the N2761 paper[1].
The idea is to modify the front-end to accept the new attribute syntax
(including alignas expressions) and to build an internal
representation similar to the one we already have for GNU attributes.
This lets us re-use our existing GNU attribute mechanisms to support
the generalized c++11 attributes.
The patch does change the existing internal representation to support
scoped attribute (aka attributes with namespaces), which is a concept
that doesn't exist in GNU attributes. I have thus put all existing
GNU extension attributes into the "gnu" namespace. For instance, in
C++-11, the "unused" attribute would be represented as
"[[gnu::unused]]". Because there is no syntax for scoped attributes
in C, writting "__attribute__((unused))" unconditionnally refers to
the "unused" attribute in the "gnu" namespace.
Note that this patch follows a conservative understanding of the
specification by disallowing attributes appertaining to types, unless
they apply to a type definition.
Tested on x86_64-unknown-linux-gnu and powerpc64-unknown-linux-gnu.
[1]: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2761.pdf
gcc/
* plugin.h (register_scoped_attributes): Declare new function.
* tree.h (enu attribute_flags::ATTR_FLAG_CXX_11): New flag.
(lookup_scoped_attribute_spec, cxx_11_attribute_p)
(get_attribute_name, get_attribute_namespace): Declare new functions.
(struct attribute_spec): Remove const qualifier from the members.
* tree.c (comp_type_attributes, private_lookup_attribute)
(lookup_ident_attribute, remove_attribute, merge_attribute)
(attribute_hash_list, attribute_list_contained): Use
get_attribute_name.
* attribs.c (decl_attributes): Don't crash on error_mark_node.
Forbid c++11 attributes appertaining to type-specifiers.
(attribute_hash): Remove global variable.
(attributes_table): New global variable.
(find_attribute_namespace, register_scoped_attribute): New static
functions.
(register_scoped_attributes, lookup_scoped_attribute_spec)
(cxx11_attribute_p, get_attribute_name, get_attribute_namespace):
New public functions.
(init_attributes): Register all the GNU attributes into the "gnu"
namespace.
(register_attribute): Use register_scoped_attribute to register
the attribute into the "gnu" namespace.
(lookup_attribute_spec): Use lookup_scoped_attribute_spec to
lookup the attribute in the "gnu" namespace.
(decl_attributes): Use new get_attribute_namespace and
lookup_scoped_attribute_spec to consider attribute namespaces when
looking up attributes. When operating in c++-11 mode, pass flag
ATTR_FLAG_CXX11 to the spec handler.
gcc/c-family/
* c-common.h (bitfield_p, cxx_fundamental_alignment_p): Declare
new functions.
* c-common.c (check_cxx_fundamental_alignment_constraints): New
static function.
(handle_aligned_attribute): In choose strictest alignment
among many. Use new check_cxx_fundamental_alignment_constraints.
(handle_transparent_union_attribute): In c++11 attribute syntax,
don't look through typedefs.
gcc/cp/
* cp-tree.h (enum cpp0x_warn_str::CPP0X_ATTRIBUTES): New member.
(enum cp_decl_spec::ds_std_attribute): New enumerator.
(struct cp_decl_specifier_seq::std_attributes): New field.
(cxx_alignas_expr, warn_misplaced_attr_for_class_type): Declare
new functions.
(check_tag_decl): Take an extra parameter for explicit
instantiations.
* decl.c (warn_misplaced_attr_for_class_type): Extract from ...
(check_tag_decl): ... here. Add check for c++11 attributes being
applied to an explicit instantiation. Take an extra parameter for
explicit instantiations.
(grokdeclarator): Make sure a c++11 attribute after an array
declarator appertains to the array, an attribute after a function
declarator appertains to the function type, an attribute after a
declarator-id appertains to the entity being declared, and an
attribute after a pointer declarator appertains to the pointer.
* decl2.c (is_late_template_attribute): Use get_attribute_name.
* error.c (maybe_warn_cpp0x): Support
CPP0X_GENERALIZED_ATTRIBUTES.
* parser.c (cp_next_tokens_can_be_attribute_p)
(cp_next_tokens_can_be_gnu_attribute_p)
(cp_next_tokens_can_be_std_attribute_p)
(cp_nth_tokens_can_be_attribute_p)
(cp_nth_tokens_can_be_gnu_attribute_p)
(cp_nth_tokens_can_be_std_attribute_p)
(cp_parser_gnu_attribute_list, cp_parser_std_attribute)
(cp_parser_std_attribute_spec, cp_parser_std_attribute_spec_seq)
(cp_parser_attributes_opt, cp_parser_std_attribute_list): New
static functions.
(cp_parser_gnu_attributes_opt): Replace cp_parser_attributes_opt.
(cp_parser_gnu_attribute_list): Replace cp_parser_attribute_list.
(cp_parser_postfix_expression): Disallow "[[" tokens here.
(cp_parser_label_for_labeled_statement): Use take an extra
parameter for attributes.
(cp_parser_block_declaration): Use
cp_nth_tokens_can_be_std_attribute_p here.
(cp_parser_decl_specifier_seq): Likewise. Store C++11 attributes
that appears in in decl specifiers in cp_decl_specifier_seq::std_attributes.
declaration. Emit proper warning about misplaced c++11 attributes
for class type.
(cp_parser_explicit_instantiation): Adjust call to check_tag_decl.
(cp_parser_init_declarator): Parsing attributes here is no more a
GNU extension in c++-11.
(cp_parser_type_specifier_seq): Use
cp_next_tokens_can_be_attribute_p.
(cp_parser_direct_declarator): Likewise. Hang c++11 attributes
following the declarator to its syntactic construct. It'll later
be applied to the proper appertaining entity by grokdeclarator.
(cp_parser_ptr_operator): Likewise.
(make_declarator): Initialize cp_declarator::std_attribute.
(make_pointer_declarator, make_reference_declarator)
(make_ptrmem_declarator, cp_parser_make_indirect_declarator): Take
attributes that appertain to the pointer/reference in argument.
(cp_parser_ptr_operator): Take an out parameter for c++11
attributes. Update comments.
(cp_parser_new_declarator_opt)
(cp_parser_conversion_declarator_opt): Adjust.
(cp_parser_declarator): Likewise. Handle C++11 attributes.
Rename attributes to gnu_attribute for better legibility.
(cp_parser_simple_declaration): Update comment.
(cp_parser_class_specifier_1): Parse GNU attributes specifically
(cp_parser_enum_specifier): Accept only gnu attributes after the
specifier.
(cp_parser_member_declaration): Don't clear attributes -- intended
for the entity being declared -- too early because check_tag_decl
needs them.
(cp_parser_statement): Update comment. Parse optional c++11
attributes at the beginning of the relevant kind of statements and
ignore them, for now, unless when calling
cp_parser_label_for_labeled_statement.
(cp_parser_label_for_labeled_statement): Take c++11 attributes
in parameter.
* semantics.c (potential_constant_expression_1): Likewise.
* typeck.c (fundamental_alignment_p, cxx_alignas_expr): New public
functions.
gcc/testsuite/
* g++.dg/cpp0x/gen-attrs-1.C: New test.
* g++.dg/cpp0x/gen-attrs-2.C: Likewise.
* g++.dg/cpp0x/gen-attrs-2-1.C: Likewise.
* g++.dg/cpp0x/gen-attrs-3.C: Likewise.
* g++.dg/cpp0x/gen-attrs-4.C: Likewise.
* g++.dg/cpp0x/gen-attrs-5.C: Likewise.
* g++.dg/cpp0x/gen-attrs-6.C: Likewise.
* g++.dg/cpp0x/gen-attrs-7.C: Likewise.
* g++.dg/cpp0x/gen-attrs-8.C: Likewise.
* g++.dg/cpp0x/gen-attrs-9.C: Likewise.
* g++.dg/cpp0x/gen-attrs-10.C: Likewise.
* g++.dg/cpp0x/gen-attrs-11.C: Likewise.
* g++.dg/cpp0x/gen-attrs-12.C: Likewise.
* g++.dg/cpp0x/gen-attrs-13.C: Likewise.
* g++.dg/cpp0x/gen-attrs-14.C: Likewise.
* g++.dg/cpp0x/gen-attrs-15.C: Likewise.
* g++.dg/cpp0x/gen-attrs-16.C: Likewise.
* g++.dg/cpp0x/gen-attrs-17.C: Likewise.
* g++.dg/cpp0x/gen-attrs-18.C: Likewise.
* g++.dg/cpp0x/gen-attrs-19.C: Likewise.
* g++.dg/cpp0x/gen-attrs-20.C: Likewise.
* g++.dg/cpp0x/gen-attrs-21.C: Likewise.
* g++.dg/cpp0x/gen-attrs-22.C: Likewise.
* g++.dg/cpp0x/gen-attrs-23.C: Likewise.
* g++.dg/cpp0x/gen-attrs-24.C: Likewise.
* g++.dg/cpp0x/gen-attrs-25.C: Likewise.
* g++.dg/cpp0x/gen-attrs-26.C: Likewise.
* g++.dg/cpp0x/gen-attrs-27.C: Likewise.
* g++.dg/cpp0x/gen-attrs-28.C: Likewise.
* g++.dg/cpp0x/gen-attrs-29.C: Likewise.
* g++.dg/cpp0x/gen-attrs-30.C: Likewise.
* g++.dg/cpp0x/gen-attrs-31.C: Likewise.
* g++.dg/cpp0x/gen-attrs-32.C: Likewise.
* g++.dg/cpp0x/gen-attrs-33.C: Likewise.
* g++.dg/cpp0x/gen-attrs-34.C: Likewise.
* g++.dg/cpp0x/gen-attrs-35.C: Likewise.
* g++.dg/cpp0x/gen-attrs-36.C: Likewise.
* g++.dg/cpp0x/gen-attrs-36-1.C: Likewise.
* g++.dg/cpp0x/gen-attrs-37.C: Likewise.
* g++.dg/cpp0x/gen-attrs-38.C: Likewise.
* g++.dg/cpp0x/gen-attrs-39.C: Likewise.
* g++.dg/cpp0x/gen-attrs-39-1.C: Likewise.
* g++.dg/cpp0x/gen-attrs-40.C: Likewise.
* g++.dg/cpp0x/gen-attrs-41.C: Likewise.
* g++.dg/cpp0x/gen-attrs-42.C: Likewise.
* g++.dg/cpp0x/gen-attrs-43.C: Likewise.
* g++.dg/cpp0x/gen-attrs-44.C: Likewise.
* g++.dg/cpp0x/gen-attrs-45.C: Likewise.
* g++.dg/cpp0x/gen-attrs-46.C: Likewise.
* g++.dg/cpp0x/gen-attrs-47.C: Likewise.
* g++.dg/cpp0x/gen-attrs-47-1.C: Likewise.
* g++.dg/cpp0x/gen-attrs-48.C: Likewise.
* g++.dg/cpp0x/gen-attrs-49.C: Likewise.
* g++.dg/cpp0x/gen-attrs-50.C: Likewise.
* g++.dg/cpp0x/gen-attrs-51.C: Likewise.
* g++.dg/cpp0x/gen-attrs-52.C: Likewise.
* g++.dg/cpp0x/gen-attrs-53.C: Likewise.
From-SVN: r192199
Georg-Johann Lay [Mon, 8 Oct 2012 08:32:46 +0000 (08:32 +0000)]
re PR target/54815 ([avr] missed optimization with operations with constant operands)
PR target/54815
* config/avr/avr.md (*add<mode>3, add<mode>3, addpsi3): Make
constraint alternative "r,0,r" slighly more expensive.
(sub<mode>3,
(andqi3, andhi3, andpsi3, andsi3): Ditto.
(iorqi3, iorhi3, iorpsi3, iorsi3): Ditto.
(xorhi3, xorpsi3, xorsi3): Ditto.
From-SVN: r192198
Eric Botcazou [Mon, 8 Oct 2012 08:08:44 +0000 (08:08 +0000)]
slsr-30.c: Use correct cleanup directive.
* gcc.dg/tree-ssa/slsr-30.c: Use correct cleanup directive.
* gcc.dg/tree-ssa/attr-hotcold-2.c: Likewise.
* gcc.dg/tree-ssa/ldist-21.c: Add missing cleanup directive.
From-SVN: r192197
Uros Bizjak [Mon, 8 Oct 2012 06:34:18 +0000 (08:34 +0200)]
* ChangeLog: Fix whitespace.
From-SVN: r192195
Ian Lance Taylor [Mon, 8 Oct 2012 04:29:47 +0000 (04:29 +0000)]
runtime: Fix __go_symbol_value val argument to backtrace_syminfo.
From-SVN: r192194
Oleg Endo [Mon, 8 Oct 2012 02:00:46 +0000 (02:00 +0000)]
re PR target/54760 ([SH] Add __builtin_thread_pointer, __builtin_set_thread_pointer)
PR target/54760
* config/sh/sh.md (*mov<mode>_gbr_load, *mov<mode>_gbr_store): New
insns and accompanying unnamed splits.
* config/sh/predicates.md (general_movsrc_operand,
general_movdst_operand): Reject GBR addresses.
* config/sh/sh-protos.h (sh_find_equiv_gbr_addr): New declaration.
* config/sh/sh.c (sh_address_cost, sh_legitimate_address_p,
sh_secondary_reload): Handle GBR addresses.
(base_reg_disp): New class.
(sh_find_base_reg_disp, sh_find_equiv_gbr_addr): New functions.
PR target/54760
* gcc.target/sh/pr54760-2.c: New.
* gcc.target/sh/pr54760-3.c: New.
From-SVN: r192193
GCC Administrator [Mon, 8 Oct 2012 00:18:01 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r192192
Hans-Peter Nilsson [Mon, 8 Oct 2012 00:10:20 +0000 (00:10 +0000)]
mmix.c (mmix_output_octa): Don't assume HOST_WIDEST_INT_PRINT_HEX starts with "0x".
* config/mmix/mmix.c (mmix_output_octa): Don't assume
HOST_WIDEST_INT_PRINT_HEX starts with "0x". Instead use
HOST_WIDE_INT_PRINT_HEX_PURE, falling back to
HOST_WIDEST_INT_PRINT_UNSIGNED.
From-SVN: r192189
Paolo Carlini [Sun, 7 Oct 2012 23:08:49 +0000 (23:08 +0000)]
pt.c (fold_non_dependent_expr_sfinae): Remove static specifier.
2012-10-07 Paolo Carlini <paolo.carlini@oracle.com>
* pt.c (fold_non_dependent_expr_sfinae): Remove static specifier.
(tsubst_copy_and_build): Use get_target_expr_sfinae.
* call.c (build_conditional_expr_1, convert_like_real): Likewise.
* cvt.c (build_up_reference): Likewise.
(ocp_convert): Use abstract_virtuals_error_sfinae.
(build_up_reference): Propagate complain to cp_build_addr_expr.
* decl.c (compute_array_index_type): Use fold_non_dependent_expr_sfinae.
* cp-tree.h: Update declarations.
* cvt.c (build_expr_type_conversion): Tidy.
* tree.c (stabilize_aggr_init): Change to static.
From-SVN: r192188
Paolo Carlini [Sun, 7 Oct 2012 23:06:16 +0000 (23:06 +0000)]
re PR c++/51422 ([c++0x] ICE with invalid lambda expression)
/cp
2012-10-07 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/51422
* semantics.c (is_normal_capture_proxy): Return true for
error_mark_node as DECL_VALUE_EXPR.
/testsuite
2012-10-07 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/51422
* g++.dg/cpp0x/lambda/lambda-ice8.C: New.
From-SVN: r192187
Richard Sandiford [Sun, 7 Oct 2012 19:17:37 +0000 (19:17 +0000)]
machmode.h (GET_MODE_UNIT_PRECISION): New macro.
gcc/
* machmode.h (GET_MODE_UNIT_PRECISION): New macro.
* simplify-rtx.c (simplify_truncation): New function,
extracted from simplify_subreg and (in small part) from
simplify_unary_operation_1.
(simplify_unary_operation_1) <TRUNCATE>: Use it. Remove sign bit
test for !TRULY_NOOP_TRUNCATION_MODES_P.
(simplify_subreg): Use simplify_truncate for lowpart subregs
where both the inner and outer modes are scalar integers.
* config/mips/mips.c (mips_truncated_op_cost): New function.
(mips_rtx_costs): Adjust test for BADDU.
* config/mips/mips.md (*baddu_di<mode>): Push truncates to operands.
From-SVN: r192186
Jan Hubicka [Sun, 7 Oct 2012 18:58:04 +0000 (20:58 +0200)]
ipa-inline-analysis.c (do_estimate_edge_time): Return actual time spent by the inlined sequence.
* ipa-inline-analysis.c (do_estimate_edge_time): Return actual
time spent by the inlined sequence.
(do_estimate_edge_growth): Rename to ...
(do_estimate_edge_time): ... this one; return size of inlined
sequence.
* ipa-inline.h (do_estimate_edge_size): New.
(do_estimate_edge_growth): Remove.
(estimate_edge_size): New function.
(estimate_edge_growth): Use it.
From-SVN: r192185
Jan Hubicka [Sun, 7 Oct 2012 17:16:02 +0000 (19:16 +0200)]
lto-cgraph.c (lto_symtab_encoder_new): New parameter FOR_INPUT.
* lto-cgraph.c (lto_symtab_encoder_new): New parameter FOR_INPUT.
(lto_symtab_encoder_delete): Update.
(lto_symtab_encoder_encode): Update.
(compute_ltrans_boundary): Update.
(input_symtab): Update.
* lto-streamer.h (lto_symtab_encoder_new): Update.
* lto.c (read_cgraph_and_symbols): Release type merging hash early;
release input encoders.
* lto-partition.c (new_partition): Update for new lto_symtab_encoder_new.
From-SVN: r192184
Matthias Klose [Sun, 7 Oct 2012 11:46:06 +0000 (11:46 +0000)]
Fix typo in previous commit:
2012-10-07 Matthias Klose <doko@ubuntu.com>
* config/arm/unwind-arm.h (__gnu_unwind_24bit): Mark parameters
as unused.
(_Unwind_decode_typeinfo_ptr): Mark base as unused.
From-SVN: r192182
Matthias Klose [Sun, 7 Oct 2012 10:06:30 +0000 (10:06 +0000)]
unwind-arm.h (__gnu_unwind_24bit): Mark parameters as unused.
2012-10-07 Matthias Klose <doko@ubuntu.com>
* config/arm/unwind-arm.h (__gnu_unwind_24bit): Mark parameters
as unused.
(_Unwind_decode_typeinfo_ptr): Mark base as unused.
From-SVN: r192181
Matthias Klose [Sun, 7 Oct 2012 09:59:02 +0000 (09:59 +0000)]
basic: Remove empty directory.
2012-10-07 Matthias Klose <doko@ubuntu.com>
* testsuite/28_regex/algorithms/match/basic: Remove empty directory.
* testsuite/28_regex/algorithms/match/extended: Likewise.
* testsuite/28_regex/algorithms/match: Likewise.
From-SVN: r192180
Richard Sandiford [Sun, 7 Oct 2012 08:45:23 +0000 (08:45 +0000)]
mips-protos.h (mips_split_type): New enum.
gcc/
* config/mips/mips-protos.h (mips_split_type): New enum.
(mips_split_64bit_move_p, mips_split_doubleword_move): Delete.
(mips_split_move_p, mips_split_move, mips_split_move_insn_p)
(mips_split_move_insn): Declare.
* config/mips/mips.c (mips_tuning_info): New variable.
(mips_load_store_insns): Use mips_split_move_insn_p instead of
mips_split_64bit_move_p.
(mips_emit_move_or_split, mips_mult_move_p): New functions.
(mips_split_64bit_move_p): Rename to...
(mips_split_move_p): ...this and take a mips_split_type argument.
Generalize to all moves. Call mips_mult_move_p.
(mips_split_doubleword_move): Rename to...
(mips_split_move): ...this and take a mips_split_type argument.
Assert that mips_split_move_p holds.
(mips_insn_split_type, mips_split_move_insn_p, mips_split_move_insn):
New functions.
(mips_output_move): Use mips_split_move_p instead of
mips_split_64bit_move_p. Handle MULT $0, $0 moves.
(mips_save_reg): Use mips_emit_move_or_split.
(mips_sim_reset): Assign to curr_state. Call targetm.sched.init
and advance_state.
(mips_sim_init): Call targetm.sched.init_dfa_pre_cycle_insn and
targetm.sched.init_dfa_post_cycle_insn, if defined.
(mips_sim_next_cycle): Assign to curr_state. Use advance_state
instead of state_transition.
(mips_sim_issue_insn): Assign to curr_state. Use
targetm.sched.variable_issue to see how many more insns
can be issued.
(mips_seq_time, mips_mult_zero_zero_cost)
(mips_set_fast_mult_zero_zero_p, mips_set_tuning_info)
(mips_expand_to_rtl_hook): New functions.
(TARGET_EXPAND_TO_RTL_HOOK): Define.
* config/mips/mips.md (move_type): Add imul.
(type): Map imul move_types to imul.
(*movdi_32bit, *movti): Add imul alternatives.
Use mips_split_move_insn_p and mips_split_move_insn instead of
mips_split_64bit_move_p and mips_split_doubleword_move in move
splitters.
gcc/testsuite/
2012-10-07 Richard Sandiford <rdsandiford@googlemail.com>
Sandra Loosemore <sandra@codesourcery.com>
* gcc.target/mips/madd-9.c: Force code to be tuned for the 4kc
and test that the accumulator is initialized using MULT.
* gcc.target/mips/mips32-dsp-accinit-1.c: New test.
* gcc.target/mips/mips32-dsp-accinit-2.c: Likewise.
Co-Authored-By: Sandra Loosemore <sandra@codesourcery.com>
From-SVN: r192179
Segher Boessenkool [Sun, 7 Oct 2012 02:07:42 +0000 (04:07 +0200)]
rs6000.c (print_operand): Delete.
gcc/
* config/rs6000/rs6000.c (print_operand) ['A']: Delete.
From-SVN: r192178
GCC Administrator [Sun, 7 Oct 2012 00:17:50 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r192177
Paolo Carlini [Sat, 6 Oct 2012 23:06:04 +0000 (23:06 +0000)]
re PR c++/52764 (Including <cstdint> after <stdint.h> fails to define limit macros)
2012-10-06 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/52764
* ginclude/stdint-wrap.h: In C++11 if __STDC_HOSTED__ define
__STDC_LIMIT_MACROS and __STDC_CONSTANT_MACROS.
* ginclude/stdint-gcc.h: In C++11 unconditionally define
limit and constant macros.
/testsuite
2012-10-06 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/52764
* g++.dg/cpp0x/stdint.C: New.
/libstdc++-v3
2012-10-06 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/52764
* include/c_global/cstdint: Remove __STDC_LIMIT_MACROS and
__STDC_CONSTANT_MACROS related macros.
From-SVN: r192174
Paolo Carlini [Sat, 6 Oct 2012 22:44:12 +0000 (22:44 +0000)]
re PR c++/54249 ([C++11] No ::nullptr_t in header <stddef.h>)
2012-10-06 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/54249
* ginclude/stddef.h: In C++11 mode declare nullptr_t in the global
namespace.
/testsuite
2012-10-06 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/54249
* g++.dg/cpp0x/stddef.C: New.
From-SVN: r192173
Gerald Pfeifer [Sat, 6 Oct 2012 21:49:06 +0000 (21:49 +0000)]
Fix ChangeLog date of
* config.gcc (*-*-openbsd4.[3-9]|*-*-openbsd[5-9]*): Set
default_use_cxa_atexit to yes.
From-SVN: r192170
Janne Blomqvist [Sat, 6 Oct 2012 20:56:05 +0000 (23:56 +0300)]
Fix usage of secure_getenv with glibc 2.17.
See http://sourceware.org/glibc/wiki/Tips_and_Tricks/secure_getenv
2012-10-06 Janne Blomqvist <jb@gcc.gnu.org>
* configure.ac: Check for presence of secure_getenv.
* libgfortran.h: Use HAVE_SECURE_GETENV.
* Makefile.in: Regenerated.
* aclocal.m4: Regenerated.
* config.h.in: Regenerated.
* configure: Regenerated.
From-SVN: r192169
Diego Novillo [Sat, 6 Oct 2012 17:44:39 +0000 (13:44 -0400)]
x86_64-unknown-linux-gnu.xfail: Update.
2012-10-06 Diego Novillo <dnovillo@google.com>
* testsuite-management/x86_64-unknown-linux-gnu.xfail: Update.
From-SVN: r192168
Jan Hubicka [Sat, 6 Oct 2012 17:43:07 +0000 (17:43 +0000)]
* gcc.dg/lto/resolutions_0.c: New testcase.
From-SVN: r192167
Jan Hubicka [Sat, 6 Oct 2012 17:30:42 +0000 (19:30 +0200)]
re PR lto/53831 (Virtuals missing in LTO symtab)
PR lto/53831
PR lto/54776
* lto-streamer-out.c (produce_symtab): Cleanup; drop v1 API hack.
From-SVN: r192166
Dehao Chen [Sat, 6 Oct 2012 16:19:34 +0000 (16:19 +0000)]
re PR debug/54826 (gdb test case failure (bs15503) due to gaps in lexical block)
2012-10-05 Dehao Chen <dehao@google.com>
PR debug/54826
* gimple-low.c (lower_stmt): Set the block for call args.
From-SVN: r192165
Jan Hubicka [Sat, 6 Oct 2012 14:54:46 +0000 (14:54 +0000)]
Fix previous commit once again :(
From-SVN: r192164
Jan Hubicka [Sat, 6 Oct 2012 14:52:23 +0000 (14:52 +0000)]
Fix previous commit.
From-SVN: r192163
Jan Hubicka [Sat, 6 Oct 2012 14:19:33 +0000 (14:19 +0000)]
Fix previous commit.
From-SVN: r192162
Jan Hubicka [Sat, 6 Oct 2012 14:06:04 +0000 (16:06 +0200)]
invoke.texi (-fprofile-report): Document.
* doc/invoke.texi (-fprofile-report): Document.
* common.opt (-fprofile-report): New option.
* toplev.c (finalize): Call dump_profile_report.
* toplev.h (profile_report): Declare.
* passes.c (profile_record): New static var.
(check_profile_consistency): New function.
(dump_profile_record): New function.
(execute_one_ipa_transform_pass): Call check_profile_consistency.
(execute_one_pass): Likewise.
From-SVN: r192161
Janus Weil [Sat, 6 Oct 2012 14:03:08 +0000 (16:03 +0200)]
re PR fortran/54832 ([OOP] Type-bound operator not picked up with RESULT variable)
2012-10-06 Janus Weil <janus@gcc.gnu.org>
PR fortran/54832
* resolve.c (resolve_fl_derived0): Correctly copy the 'class_ok'
attribute for proc-ptr components with RESULT variable.
2012-10-06 Janus Weil <janus@gcc.gnu.org>
PR fortran/54832
* gfortran.dg/typebound_operator_17.f90: New.
From-SVN: r192160
Jan Hubicka [Sat, 6 Oct 2012 13:59:55 +0000 (15:59 +0200)]
re PR lto/54790 (Missing optimization with LTO)
PR lto/54790
* lto.c (resolution_map): New static var.
(register_resolution): New function.
(lto_register_var_decl_in_symtab): Use it.
(read_cgraph_and_symbols): Copy resolutions into the symtab.
* lto-streamer.h (lto_symtab_register_decl, lto_symtab_get_resolution,
lto_mark_nothrow_fndecl, lto_fixup_nothrow_decls): Remove.
* lto-symtab.c (lto_symtab_register_decl): Remove.
From-SVN: r192159
Thomas Koenig [Sat, 6 Oct 2012 13:04:35 +0000 (13:04 +0000)]
re PR libfortran/54736 (GFORTRAN_CONVERT_UNIT causes malloc error on several platforms)
2012-10-06 Thomas König <tkoenig@gcc.gnu.org>
PR libfortran/54736
* runtime/environ.c (search_unit): Correct logic
for binary search.
(mark_single): Fix index errors.
From-SVN: r192158
Janus Weil [Sat, 6 Oct 2012 12:20:09 +0000 (14:20 +0200)]
re PR fortran/45521 ([F08] GENERIC resolution with ALLOCATABLE/POINTER and PROCEDURE)
2012-10-06 Janus Weil <janus@gcc.gnu.org>
PR fortran/45521
* interface.c (generic_correspondence): Implement additional
distinguishability criteria of F08.
(compare_actual_formal): Reject data object as actual argument for
procedure formal argument.
2012-10-06 Janus Weil <janus@gcc.gnu.org>
PR fortran/45521
* gfortran.dg/generic_25.f90: New.
* gfortran.dg/generic_26.f90: New.
* gfortran.dg/generic_27.f90: New.
From-SVN: r192157
Andreas Schwab [Sat, 6 Oct 2012 11:42:13 +0000 (11:42 +0000)]
re PR rtl-optimization/54739 (FAIL: gcc.dg/lower-subreg-1.c scan-rtl-dump subreg1 "Splitting reg")
PR rtl-optimization/54739
* config/m68k/m68k.md (anddi3, iordi3, xordi3, one_cmpldi2):
Remove.
From-SVN: r192156
Oleg Endo [Sat, 6 Oct 2012 11:20:11 +0000 (11:20 +0000)]
re PR target/54760 ([SH] Add __builtin_thread_pointer, __builtin_set_thread_pointer)
PR target/54760
* config/sh/sh.md (define_constants): Add UNSPECV_GBR.
(get_thread_pointer, set_thread_pointer): New expanders.
(load_gbr): Rename to store_gbr. Remove GBR_REG use.
(store_gbr): New insn.
* config/sh/sh.c (prepare_move_operands): Use gen_store_gbr instead of
gen_load_gbr in TLS_MODEL_LOCAL_EXEC case.
(sh1_builtin_p): New function.
(signature_args): Add SH_BLTIN_VP.
(bdesc): Add __builtin_thread_pointer and __builtin_set_thread_pointer.
PR target/54760
* gcc.target/sh/pr54760-1.c: New.
From-SVN: r192155
Joe Seymour [Sat, 6 Oct 2012 08:39:13 +0000 (08:39 +0000)]
dynamic_bitset: Fix cxxabi_forced.h include path.
2012-10-06 Joe Seymour <jseymour@codesourcery.com>
* include/tr2/dynamic_bitset: Fix cxxabi_forced.h include path.
From-SVN: r192154
John David Anglin [Sat, 6 Oct 2012 00:33:52 +0000 (00:33 +0000)]
re PR rtl-optimization/54739 (FAIL: gcc.dg/lower-subreg-1.c scan-rtl-dump subreg1 "Splitting reg")
PR rtl-optimization/54739
* config/pa/pa.md: Remove DImode and, not and, ior and xor patterns
for 32-bit targets. Adjust expanders.
From-SVN: r192152
GCC Administrator [Sat, 6 Oct 2012 00:18:22 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r192151
Mark Kettenis [Fri, 5 Oct 2012 23:35:55 +0000 (23:35 +0000)]
config.host (*-*-openbsd*): Add t-eh-dw2-dip to tmake_file.
* config.host (*-*-openbsd*): Add t-eh-dw2-dip to tmake_file.
* unwind-dw2-fde-dip.c: Don't include <elf.h> on OpenBSD.
(USE_PT_GNU_EH_FRAME): Define for OpenBSD.
(ElfW): Likewise.
From-SVN: r192148
Benjamin Kosnik [Fri, 5 Oct 2012 21:18:54 +0000 (21:18 +0000)]
match: Rename to...
2012-10-05 Benjamin Kosnik <bkoz@redhat.com>
* testsuite/28_regex/algorithms/match: Rename to...
* testsuite/28_regex/algorithms/regex_match: ...this.
* testsuite/28_regex/basic_regex/regex.cc: Rename to...
* testsuite/28_regex/basic_regex/ctors/basic/default.cc: ...this.
* testsuite/util/testsuite_regex.h: New.
* testsuite/28_regex/basic_regex/ctors/basic/raw_string.cc: New.
From-SVN: r192146
John David Anglin [Fri, 5 Oct 2012 21:03:29 +0000 (21:03 +0000)]
pa.md: Adjust unamed HImode add insn pattern.
* config/pa/pa.md: Adjust unamed HImode add insn pattern.
From-SVN: r192143
Oleg Endo [Fri, 5 Oct 2012 19:47:05 +0000 (19:47 +0000)]
sh.c (builtin_description): Add is_enabled member.
* config/sh/sh.c (builtin_description): Add is_enabled member.
(shmedia_builtin_p): New function.
(bdesc): Use shmedia_builtin_p for existing built-ins.
(sh_media_init_builtins, sh_init_builtins): Merge into single function
sh_init_builtins. Add is_enabled checking. Move variable declarations
to where they are actually used.
(sh_media_builtin_decl, sh_builtin_decl): Merge into single function
sh_builtin_decl. Add is_enabled checking.
(sh_expand_builtin): Move variable declarations to where they are
actually used.
From-SVN: r192142
Jakub Jelinek [Fri, 5 Oct 2012 19:30:39 +0000 (21:30 +0200)]
cp-tree.h (SIZEOF_EXPR_TYPE_P): Define.
cp/
* cp-tree.h (SIZEOF_EXPR_TYPE_P): Define.
* tree.c (cp_tree_equal): Handle SIZEOF_EXPR with
SIZEOF_EXPR_TYPE_P.
* mangle.c (write_expression): Likewise.
* cxx-pretty-print.c (pp_cxx_unary_expression): Likewise.
* error.c (dump_expr): Likewise.
* parser.c (cp_parser_unary_expression): For sizeof call
cxx_sizeof_or_alignof_{type,expr} just for diagnostics and
return SIZEOF_EXPR with the operand.
* pt.c (tsubst_copy, tsubst_copy_and_build): For SIZEOF_EXPR,
call cxx_sizeof_or_alignof_{type,expr} for diagnostics, but
return SIZEOF_EXPR with tsubsted operand.
(value_dependent_expression_p): Handle SIZEOF_EXPR with
SIZEOF_EXPR_TYPE_P.
(instantiation_dependent_r): Likewise.
* call.c (null_ptr_cst_p): Call maybe_constant_value for C++98.
* semantics.c (finish_call_expr): Call
sizeof_pointer_memaccess_warning if needed.
(cxx_eval_constant_expression): Handle SIZEOF_EXPR.
(potential_constant_expression_1): Remove early exit for
C++98. Handle PROPERTY_REF.
* decl.c (duplicate_decls): When redeclaring a builtin function,
keep the merged decl builtin also if newdecl is a gnu_inline
inline definition.
(fold_sizeof_expr_r): New function.
(compute_array_index_type): Fold SIZEOF_EXPRs in itype.
* cp-gimplify.c (cp_genericize_r): Fold SIZEOF_EXPR.
* typeck.c (cp_build_binary_op): For warn_for_sign_compare
try harder using maybe_constant_value to get INTEGER_CSTs.
* decl.c (stabilize_vla_size): Call pointer_set_destroy
at the end.
testsuite/
* g++.dg/torture/Wsizeof-pointer-memaccess1.C: New test.
* g++.dg/torture/Wsizeof-pointer-memaccess2.C: New test.
* g++.dg/warn/Wsign-compare-5.C: New test.
* g++.dg/warn/Wsizeof-pointer-memaccess-1.C: New test.
* g++.dg/warn/Wnull-conversion-1.C: For c++11 add dg-error.
* g++.dg/ext/builtin30.C: New test.
* g++.dg/ext/vla12.C: New test.
* gcc.dg/builtins-85.c: New test.
libstdc++-v3/
* testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust line
numbers.
From-SVN: r192141
Jakub Jelinek [Fri, 5 Oct 2012 19:25:58 +0000 (21:25 +0200)]
tree-inline.c (expand_call_inline): Move VAR_DECLs with PARM_DECL origins from remapped DECL_INITIAL's BLOCK_VARS...
* tree-inline.c (expand_call_inline): Move VAR_DECLs with
PARM_DECL origins from remapped DECL_INITIAL's BLOCK_VARS
into id->block's BLOCK_VARS.
From-SVN: r192140
Jakub Jelinek [Fri, 5 Oct 2012 19:24:38 +0000 (21:24 +0200)]
re PR debug/54519 (Debug info quality regression due to (pointless) partial inlining)
PR debug/54519
* ipa-split.c (split_function): Add debug args and
debug source and normal stmts for args_to_skip which are
gimple regs.
* tree-inline.c (copy_debug_stmt): When inlining, adjust
source debug bind stmts to debug binds of corresponding
DEBUG_EXPR_DECL.
* gcc.dg/guality/pr54519-1.c: New test.
* gcc.dg/guality/pr54519-2.c: New test.
* gcc.dg/guality/pr54519-3.c: New test.
* gcc.dg/guality/pr54519-4.c: New test.
* gcc.dg/guality/pr54519-5.c: New test.
* gcc.dg/guality/pr54519-6.c: New test.
From-SVN: r192139
Marc Glisse [Fri, 5 Oct 2012 19:10:22 +0000 (21:10 +0200)]
re PR target/54686 (std::abs (long long) resorts to std::abs (double) if llabs is absent)
2012-10-05 Marc Glisse <marc.glisse@inria.fr>
PR libstdc++/54686
* include/c_global/cstdlib (abs(long long)): Define with
__builtin_llabs when we have long long.
(abs(long)): Use __builtin_labs.
(abs(__int128)): Define when we have __int128.
From-SVN: r192138
Paolo Carlini [Fri, 5 Oct 2012 17:39:32 +0000 (17:39 +0000)]
cstdlib: Remove redundant pasto code protected by __GXX_EXPERIMENTAL_CXX0X__.
2012-10-05 Paolo Carlini <paolo.carlini@oracle.com>
* include/c_global/cstdlib: Remove redundant pasto code protected
by __GXX_EXPERIMENTAL_CXX0X__.
* include/c_global/cwctype: Likewise.
* include/c_global/ccomplex: Remove uses of obsolete macro
_GLIBCXX_INCLUDE_AS_TR1.
* include/c_global/cfloat: Likewise.
From-SVN: r192137
Georg-Johann Lay [Fri, 5 Oct 2012 16:37:04 +0000 (16:37 +0000)]
avr.md: Fix indentations of insn C snippets.
* config/avr/avr.md: Fix indentations of insn C snippets.
From-SVN: r192136
Marc Glisse [Fri, 5 Oct 2012 16:20:44 +0000 (18:20 +0200)]
re PR target/54686 (std::abs (long long) resorts to std::abs (double) if llabs is absent)
2012-10-05 Marc Glisse <marc.glisse@inria.fr>
PR libstdc++/54686
* include/c_std/cstdlib (abs(long long)): Define with
__builtin_llabs when we have long long.
(abs(long)): Use __builtin_labs.
(abs(__int128)): Define when we have __int128.
* testsuite/26_numerics/headers/cstdlib/54686.c: New file.
From-SVN: r192132
Paolo Carlini [Fri, 5 Oct 2012 15:00:26 +0000 (15:00 +0000)]
re PR c++/50893 ([C++0x] explicitly defaulted virtual destructor throw specification)
2012-10-05 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/50893
* g++.dg/cpp0x/defaulted38.C: New.
From-SVN: r192131
Arnaud Charlet [Fri, 5 Oct 2012 14:33:42 +0000 (16:33 +0200)]
[multiple changes]
2012-10-05 Robert Dewar <dewar@adacore.com>
* sem_ch7.adb: Minor reformatting.
2012-10-05 Ed Schonberg <schonberg@adacore.com>
* sem_prag.adb (Analyze_Pragma, case Persistent_BSS): check for
a duplicate pragma before Rep_Item_Too_Late to prevent spurious
messages about duplicate pragmas.
2012-10-05 Ed Schonberg <schonberg@adacore.com>
* exp_util.adb (Find_Init_Call): If the successor of the
object declaration is a block, check whether it contains the
initialization call, because it may have been created by actuals
that use the secondary stack.
From-SVN: r192130
Arnaud Charlet [Fri, 5 Oct 2012 14:29:57 +0000 (16:29 +0200)]
[multiple changes]
2012-10-05 Thomas Quinot <quinot@adacore.com>
* sem_dim.adb, errout.adb, errout.ads (Analyze_Dimension_Call): Add
guard against abnormal tree resulting from a previously diagnosed
illegality.
2012-10-05 Hristian Kirtchev <kirtchev@adacore.com>
* freeze.adb (Freeze_Expression): Rename local variable Cspc to Spec
and update all refs to it. Do not freeze an entity outside a subprogram
body when the original context is an expression function.
2012-10-05 Robert Dewar <dewar@adacore.com>
* gnat1drv.adb (Adjust_Global_Switches): Default for overflow checking
is suppressed, even if backend overflow/divide checks are enabled.
2012-10-05 Ed Schonberg <schonberg@adacore.com>
* einfo.adb (Set_Invariant_Procedure, Set_Predicate_Function):
chain properly subprograms on Subprograms_For_Type list.
* sem_ch13.ads; (Build_Invariant_Procedure_Declaration): new
procedure, to create declaration for invariant procedure
independently of the construction of the body, so that it can
be called within expression functions.
* sem_ch13.adb (Build_Invariant_Procedure): code cleanup. The
declaration may already have been generated at the point an
explicit invariant aspect is encountered.
* sem_prag.adb; (Analyze_Pragma, case Invariant): create declaration
for invariant procedure.
* sem_ch7.adb (Analyze_Package_Specification): clean up call to
build invariant procedure.
(Preserve_Full_Attributes): propagate information about invariants
if they appear on a completion,
2012-10-05 Pascal Obry <obry@adacore.com>
* gnat_ugn.texi: Update documentation to lift Microsoft C
restriction.
From-SVN: r192128
Arnaud Charlet [Fri, 5 Oct 2012 14:26:27 +0000 (16:26 +0200)]
[multiple changes]
2012-10-05 Robert Dewar <dewar@adacore.com>
* sem_util.adb (Has_One_Matching_Field): Handle case of lone
discriminant.
2012-10-05 Yannick Moy <moy@adacore.com>
* checks.adb (Minimize_Eliminate_Overflow_Checks): Correct code
for the division operation and exponent operation. Adjust bound
for the mod and rem operations.
From-SVN: r192126
Robert Dewar [Fri, 5 Oct 2012 14:22:55 +0000 (14:22 +0000)]
checks.adb, [...]: Minor reformatting.
2012-10-05 Robert Dewar <dewar@adacore.com>
* checks.adb, checks.ads, s-tassta.adb, s-stposu.adb, s-spsufi.adb,
s-spsufi.ads, exp_ch4.adb: Minor reformatting.
From-SVN: r192125
Arnaud Charlet [Fri, 5 Oct 2012 14:21:21 +0000 (16:21 +0200)]
[multiple changes]
2012-10-05 Yannick Moy <moy@adacore.com>
* switch-c.adb, checks.adb, checks.ads, sem_prag.adb, exp_ch4.adb,
osint.adb: Minor correction of typos, and special case for Alfa mode.
2012-10-05 Hristian Kirtchev <kirtchev@adacore.com>
* s-spsufi.adb: Add with clause for Ada.Unchecked_Deallocation.
Add with and use clauses for System.Finalization_Masters.
(Finalize_And_Deallocate): Add an instance of
Ada.Unchecked_Deallocation. Merge the code from the now obsolete
Finalize_Subpool into this routine.
* s-spsufi.ads: Add pragma Preelaborate.
* s-stposu.adb: Remove with clause for
Ada.Unchecked_Deallocation; Add with and use clauses for
System.Storage_Pools.Subpools.Finalization; (Finalize_Pool):
Update the comment on all actions takes with respect to a subpool
finalization. Finalize and deallocate each individual subpool.
(Finalize_Subpool): Removed.
(Free): Removed;
(Detach): Move from package body to spec.
* s-stposu.ads (Detach): Move from package body to spec.
(Finalize_Subpool): Removed.
2012-10-05 Arnaud Charlet <charlet@adacore.com>
* s-tassta.adb: Update comments.
(Vulnerable_Complete_Master): If Free_On_Termination is set, do
nothing, and let the task free itself if not already done.
From-SVN: r192124
Ian Lance Taylor [Fri, 5 Oct 2012 13:44:40 +0000 (13:44 +0000)]
runtime: Use argv[0] to get executable name for backtrace.
From-SVN: r192123
Richard Guenther [Fri, 5 Oct 2012 11:48:27 +0000 (11:48 +0000)]
re PR lto/54811 (tree code '�' is not supported in LTO streams)
2012-10-05 Richard Guenther <rguenther@suse.de>
PR middle-end/54811
* tree-ssa-live.c (clear_unused_block_pointer_1): Look at
DECL_DEBUG_EXPR again.
From-SVN: r192120
Jan Hubicka [Fri, 5 Oct 2012 11:43:38 +0000 (13:43 +0200)]
re PR c/33763 (Bogus inlining failed in call to `xxx': redefined extern inline functions are not considered for inlining)
PR tree-optimization/33763
* tree-inline.c (expand_call_inline): Silently ignore always_inline
attribute for redefined extern inline functions.
* c-c++-common/pr33763.c: New test.
From-SVN: r192119
Jan Hubicka [Fri, 5 Oct 2012 10:10:33 +0000 (12:10 +0200)]
tree-vectorizer.h (vect_estimate_min_profitable_iters): Remove.
* tree-vectorizer.h (vect_estimate_min_profitable_iters): Remove.
* tree-vect-loop.c (vect_estimate_min_profitable_iters): Declare here.
(vect_analyze_loop_operations): Use loop count estimate to rule out
unprofitable vectorization.
(vect_estimate_min_profitable_iters): Return ret_min_profitable_estimate.
From-SVN: r192116
Jakub Jelinek [Fri, 5 Oct 2012 09:37:25 +0000 (11:37 +0200)]
re PR tree-optimization/54810 (VRP doesn't handle comparison of narrowing cast like comparison of BIT_AND_EXPR)
PR tree-optimization/54810
* tree-vrp.c (register_edge_assert_for_2): Handle
NAME = (unsigned) NAME2; if (NAME cmp CST) for
narrowing casts to unsigned integral type like
NAME = NAME2 & CST2; if (NAME cmp CST) where CST2
is the max value of the unsigned integral type.
* gcc.dg/tree-ssa/vrp85.c: New test.
From-SVN: r192115
Jonathan Wakely [Fri, 5 Oct 2012 07:35:12 +0000 (07:35 +0000)]
re PR other/53889 (Gthreads doesn't support destroying recursive mutexes)
PR other/53889
* config/i386/gthr-win32.h (__gthread_recursive_mutex_destroy):
Fix parameter names.
From-SVN: r192114
David Edelsohn [Fri, 5 Oct 2012 00:30:50 +0000 (00:30 +0000)]
ucnid-7.c: Skip on AIX.
* gcc.dg/ucnid-7.c: Skip on AIX.
* gcc.dg/ucnid-8.c: Same.
* gcc.dg/ucnid-10.c: Same.
* gcc.dg/ucnid-13.c: Same.
* gcc.dg/attr-alias-3.c: Same.
* gcc.dg/attr-alias-5.c: Same.
* gcc.dg/torture/pr51106-2.c: Same.
* gcc.dg/vmx/3b-13.c: Use valid splat index.
From-SVN: r192113
GCC Administrator [Fri, 5 Oct 2012 00:18:24 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r192112
Paolo Carlini [Thu, 4 Oct 2012 23:48:16 +0000 (23:48 +0000)]
re PR c++/52233 (ICE segmentation fault with using-declaration)
2012-10-04 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/52233
* g++.dg/cpp0x/alias-decl-23.C: New.
From-SVN: r192109
Paolo Carlini [Thu, 4 Oct 2012 23:19:46 +0000 (23:19 +0000)]
re PR c++/53403 (Function template friend denied access to private types of granting template class.)
2012-10-04 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/53403
* g++.dg/template/friend53.C
From-SVN: r192108
Oleg Endo [Thu, 4 Oct 2012 22:08:34 +0000 (22:08 +0000)]
Revert accidential commits.
From-SVN: r192107
Eric Botcazou [Thu, 4 Oct 2012 21:34:13 +0000 (21:34 +0000)]
gcc-dg.exp (cleanup-ada-spec): New procedure.
* lib/gcc-dg.exp (cleanup-ada-spec): New procedure.
* lib/scanasm.exp (get_ada_spec_filename): Likewise.
(scan-ada-spec): Likewise.
(scan-ada-spec-not): Likewise.
* gcc.dg/dump-ada-spec-1.c: New test.
* g++.dg/other/dump-ada-spec-1.C: Likewise.
From-SVN: r192106
Lawrence Crowl [Thu, 4 Oct 2012 21:27:13 +0000 (21:27 +0000)]
Correct incomplete diff edit.
From-SVN: r192105
Lawrence Crowl [Thu, 4 Oct 2012 21:24:32 +0000 (21:24 +0000)]
Add myself to wrote after approval list.
From-SVN: r192104
Jeff Law [Thu, 4 Oct 2012 20:58:30 +0000 (14:58 -0600)]
re PR target/50356 (Poor if condition in h8300 config code)
* PR target/50356
* config/h8300/h8300.c (h8300_rtx_costs): Fix typo in CONST_INT case.
From-SVN: r192103
Gerald Pfeifer [Thu, 4 Oct 2012 20:16:08 +0000 (20:16 +0000)]
* btest.c (f23): Avoid uninitialized variable warning.
From-SVN: r192102
Jason Merrill [Thu, 4 Oct 2012 19:54:13 +0000 (15:54 -0400)]
rs6000.c (rs6000_code_end): Protect the use of ASM_WEAKEN_DECL with #if RS6000_WEAK.
* config/rs6000/rs6000.c (rs6000_code_end): Protect the use of
ASM_WEAKEN_DECL with #if RS6000_WEAK.
From-SVN: r192101
Oleg Endo [Thu, 4 Oct 2012 18:32:20 +0000 (18:32 +0000)]
re PR target/33135 ([SH] -ffinite-math-only should not be on by default)
PR target/33135
* config/sh/t-sh (HOST_LIBGCC2_CFLAGS): Delete.
* config/sh/t-netbsd (HOST_LIBGCC2_CFLAGS): Delete.
* config/sh/t-linux (HOST_LIBGCC2_CFLAGS): Remove mieee option.
From-SVN: r192097
Basile Starynkevitch [Thu, 4 Oct 2012 18:18:58 +0000 (18:18 +0000)]
Basile Starynkevitch <basile@starynkevitch.net>
* gengtype.c (walk_type): Emit mark_hook when inside a
struct of a union member.
From-SVN: r192095
Tobias Burnus [Thu, 4 Oct 2012 17:32:06 +0000 (19:32 +0200)]
expr.c (scalarize_intrinsic_call): Plug memory leak.
2012-10-04 Tobias Burnus <burnus@net-b.de>
* expr.c (scalarize_intrinsic_call): Plug memory leak.
* frontend-passes.c (gcc_assert): Extend assert.
* interface.c (gfc_compare_derived_types): Fix comparison.
(gfc_check_operator_interface): Move up to make this error
message reachable.
(get_sym_storage_size): Remove always-true checks.
* io.c (format_lex): Add comment.
(gfc_free_wait): Free memory.
* match.c (gfc_match_select_type): Ditto.
* matchexpr.c (match_level_3): Ditto.
* primary.c (match_string_constant): Ditto.
(match_actual_arg): Check return value.
* resolve.c (gfc_resolve_substring_charlen,
resolve_typebound_generic_call, resolve_typebound_function,
resolve_typebound_subroutine): Free memory.
* trans-types.c (gfc_get_derived_type): Remove always-true
* check.
From-SVN: r192094
Basile Starynkevitch [Thu, 4 Oct 2012 17:22:15 +0000 (17:22 +0000)]
Basile Starynkevitch <basile@starynkevitch.net>
* gengtype.c (walk_type): Emit mark_hook when inside a
struct of a union member.
From-SVN: r192092
Georg-Johann Lay [Thu, 4 Oct 2012 17:02:27 +0000 (17:02 +0000)]
predicates.md (flash_operand): New predicate.
* config/avr/predicates.md (flash_operand): New predicate.
* config/avr/avr.md (reload_in<mode>): Use it in operand 1 instead
of memory_operand.
From-SVN: r192090
Eric Botcazou [Thu, 4 Oct 2012 17:01:53 +0000 (17:01 +0000)]
* gcc.dg/lto/20120723_0.c: Skip on SPARC 32-bit.
From-SVN: r192089
Tobias Burnus [Thu, 4 Oct 2012 17:01:31 +0000 (19:01 +0200)]
2012-10-03 Tobias Burnus <burnus@net-b.de>
* gcc.c (record_temp_file, add_sysrooted_prefix,
* process_command,
do_self_spec, compare_debug_dump_opt_spec_function): Plug memleaks.
(do_spec_1): Ditto, fix out-of-bound access.
* opts.c (common_handle_option): Plug memleak.
From-SVN: r192088
Jason Merrill [Thu, 4 Oct 2012 15:38:43 +0000 (11:38 -0400)]
darwin.c (darwin_assemble_visibility): Treat VISIBILITY_INTERNAL as hidden.
* config/darwin.c (darwin_assemble_visibility): Treat
VISIBILITY_INTERNAL as hidden.
* config/darwin-c.c (find_subframework_file): Add missing const.
(framework_construct_pathname): Likewise.
From-SVN: r192085
Florian Weimer [Thu, 4 Oct 2012 15:33:11 +0000 (17:33 +0200)]
Implement #pragma GCC warning/error
2012-10-04 Florian Weimer <fweimer@redhat.com>
* doc/cpp.texi (Pragmas): Document #pragma GCC warning, #pragma
GCC error.
2012-10-04 Florian Weimer <fweimer@redhat.com>
* c-c++-common/cpp/diagnostic-pragma-1.c: New testcase.
2012-10-04 Florian Weimer <fweimer@redhat.com>
* directives.c (do_pragma_warning_or_error): New.
(do_pragma_warning): New.
(do_pragma_error): New.
(_cpp_init_internal_pragmas): Register new pragmas.
From-SVN: r192084
Paolo Carlini [Thu, 4 Oct 2012 15:19:34 +0000 (15:19 +0000)]
re PR c++/54323 (Friend function declaration not correctly identified with CRTP + enable_if)
2012-10-04 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/54323
* g++.dg/cpp0x/pr54323.C: New.
From-SVN: r192083
Ian Lance Taylor [Thu, 4 Oct 2012 15:16:09 +0000 (15:16 +0000)]
dwarf.c: If the system header files do not declare strnlen, provide our own version.
* dwarf.c: If the system header files do not declare strnlen,
provide our own version.
From-SVN: r192082