2012-04-14  Tobias Burnus  <burnus@net-b.de>

        PR fortran/52916
        PR fortran/40973
        * gfortran.h (symbol_attribute): Add public_used.
        * interface.c (check_sym_interfaces, check_uop_interfaces,
        gfc_check_interfaces): Set it.
        * resolve.c (resolve_typebound_procedure): Ditto.
        * trans-decl.c (build_function_decl): Use it.

2012-04-14  Tobias Burnus  <burnus@net-b.de>

        PR fortran/52916
        PR fortran/40973
        * gfortran.dg/public_private_module_3.f90: New.
        * gfortran.dg/public_private_module_4.f90: New.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186464 138bc75d-0d04-0410-961f-82ee72b054a4
2012-04-15  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/51082
	* trans-expr.c (gfc_conv_expr_reference): Check if the expression is a
	simple function call (or a more involved PPC reference).


2012-04-15  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/51082
	* gfortran.dg/proc_ptr_comp_34.f90: New test case.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186465 138bc75d-0d04-0410-961f-82ee72b054a4
2012-04-15  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR libfortran/38199
	PR libfortran/50673
	* intrinsics/string_intriniscs_inc.c (string_len_trim):
	Remove prototypes for string_len_trim and move to...
	* libgfortran.h (string_len_trim): ... here and
	(string_len_trim_char4): ...here.
	* io/unit.c: For non-array internal arrays where we do reading,
	adjust the record length to the last non-blank character.
	* io/unix.c:  Fix typo.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186466 138bc75d-0d04-0410-961f-82ee72b054a4
	PR c++/52818
	* c-format.c (CPLUSPLUS_STD_VER): C++11 inherits from C99.
	(C_STD_NAME): Distinguish between C++98 and C++11.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186468 138bc75d-0d04-0410-961f-82ee72b054a4
	PR c++/52706
	* mangle.c (write_type): nullptr_t is a builtin type.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186469 138bc75d-0d04-0410-961f-82ee72b054a4
2012-04-15  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/52702
	* include/std/type_traits (is_trivially_destructible): Add.
	(has_trivial_destructor): Remove.
	* testsuite/util/testsuite_common_types.h: Adjust.
	* testsuite/20_util/tuple/requirements/dr801.cc: Likewise.
	* testsuite/20_util/pair/requirements/dr801.cc: Likewise.
	* testsuite/20_util/is_trivially_destructible/value.cc: New.
	* testsuite/20_util/is_trivially_destructible/requirements/
	typedefs.cc: Likewise.
	* testsuite/20_util/is_trivially_destructible/requirements/
	explicit_instantiation.cc: Likewise.
	* testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
	Adjust dg-error line numbers.
	* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
	Likewise.
	* testsuite/20_util/declval/requirements/1_neg.cc: Likewise.


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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186478 138bc75d-0d04-0410-961f-82ee72b054a4
	PR c++/52292
	PR c++/52380
	* pt.c (coerce_template_parms): Even if we aren't converting we
	want to expand argument packs.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186479 138bc75d-0d04-0410-961f-82ee72b054a4
	PR c++/47220
	* pt.c (coerce_template_parameter_pack): Check for error_mark_node.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186480 138bc75d-0d04-0410-961f-82ee72b054a4
2012-04-16  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/52968
	* class.c (gfc_build_class_symbol): Make sure the 'f2k_derived'
	namespace is present.


2012-04-16  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/52968
	* gfortran.dg/typebound_call_23.f03: New test case.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186486 138bc75d-0d04-0410-961f-82ee72b054a4
2012-04-16  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/52975
	* tree-ssa-forwprop.c (combine_cond_exprs): New function.
	(ssa_forward_propagate_and_combine): Call it for COND_EXPRs
	and VEC_COND_EXPRs.  Also combine into VEC_COND_EXPRs condition.
	* fold-const.c (operand_equal_p): Handle TARGET_MEM_REF.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186488 138bc75d-0d04-0410-961f-82ee72b054a4
Fix plugin testsuite, remove uses of TODO_dump_func (PR testsuite/52948)

	* lib/plugin-support.exp (plugin-test-execute): Properly determine
	testcase name.
	Use fail, pass instead of unresolved.
	Don't log $optstr.

	PR testsuite/52948
	* g++.dg/plugin/dumb_plugin.c (pass_dumb_plugin_example): Remove
	TODO_dump_func.
	* g++.dg/plugin/selfassign.c (pass_warn_self_assign): Likewise.
	* gcc.dg/plugin/one_time_plugin.c (one_pass): Likewise.
	* gcc.dg/plugin/selfassign.c (pass_warn_self_assign): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186490 138bc75d-0d04-0410-961f-82ee72b054a4
2012-04-16  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/52975
	* tree-if-conv.c (predicate_bbs): Do not simplify inverted
	condition but always mark it with TRUTH_NOT_EXPR.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186491 138bc75d-0d04-0410-961f-82ee72b054a4
	* cgraph.h (FOR_EACH_VARIABLE, FOR_EACH_VARIABLE, FOR_EACH_FUNCTION):
	New macros.
	* lto-symtab.c (lto_symtab_merge_cgraph_nodes): Use FOR_EACH
	walkers to walk cgraph and varpool.
	* cgraph.c (cgraph_node_for_asm): Likewise.
	(dump_cgraph): Likewise.
	* value-prof.c (init_node_map): Likewise.
	* tree.c (free_lang_data_in_cgraph): Likewise.
	* tree-emutls.c: (ipa_lower_emutls): Likewise.
	* ipa-reference.c (generate_summary, propagate): Likewise.
	* cgraphunit.c (verify_cgraph, cgraph_process_same_body_aliases,
	cgraph_mark_functions_to_output, cgraph_output_in_order,
	output_weakrefs, cgraph_materialize_all_clones,
	cgraph_optimize): Likewise.
	* lto-cgraph.c (merge_profile_summaries): Likewise.
	(input_cgraph): Likewise.
	* ipa-pure-const.c (generate_summary): Likewise.
	(propagate): Likwise.
	* ipa-utils.c (ipa_reduced_postorder): Likewise.
	(ipa_free_postorder_info): Likewise.
	(ipa_reverse_postorder): Likewise.
	* ipa-inline.c (ipa_inline): Likewise.
	* matrix-reorg.c (find_matrices_decl): Likewise.
	(matrix_reorg): Likewise.
	* tree-vectorizer.c (increase_alignment): Likewise.
	* ipa.c (cgraph_remove_unreachable_nodes): Likewise.
	(function_and_variable_visibility): Likewise.
	(whole_program_function_and_variable_visibility): Likewise.
	(ipa_cdtor_merge): Likewise.
	* trans-mem.c (ipa_tm_execute): Likewise.
	* ipa-inline-analysis.c (dump_inline_summaries): Likewise.
	* ipa-prop.c (ipa_print_all_jump_functions): Likewise.
	(ipa_print_all_params): Likewise.
	(ipa_update_after_lto_read): Likewise.
	* tree-profie.c (tree_profiling): Likewise.
	* tree-ssa-structalias.c (ipa_pta_execute): Likewise.
	* passes.c (dump_passes): Likewise.
	(do_per_function): Likewise.
	(ipa_write_summaries): Likewise.
	* varpool.c (dump_varpool): Likewise.
	(varpool_node_for_asm): Likewise.
	(varpool_assemble_pending_decls): Likewise.


	* decl2.c (collect_candidates_for_java_method_alias): Use FOR_EACH
        walkers to walk cgraph and varpool.

	* lto.c (read_cgraph_and_symbols): Use FOR_EACH
        walkers to walk cgraph and varpool.
	(materialize_cgraph): Likewise.
	* lto-partition.c (lto_1_to_1_map): Likewise.
	(lto_balanced_map): Likewise.
	(lto_promote_cross_file_statics): Likewise.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186492 138bc75d-0d04-0410-961f-82ee72b054a4
2012-04-16  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	PR tree-optimization/52976
	* tree-ssa-reassoc.c (add_to_ops_vec_max_rank): New function.
	(undistribute_ops_list): Ops with repeat counts aren't eligible for
	undistribution.
	(attempt_builtin_powi): Call add_to_ops_vec_max_rank.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186493 138bc75d-0d04-0410-961f-82ee72b054a4
2012-04-16  Richard Guenther  <rguenther@suse.de>

	PR middle-end/52977
	* tree.h (VECTOR_CST_NELTS): Adjust.
	(struct tree_vector): Add explicit length field.
	(make_vector_stat): Declare.
	(make_vector): Define.
	* tree.c (make_vector_stat): New function.
	(build_vector_stat): Use it.
	* tree-streamer-in.c (streamer_alloc_tree): Likewise.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186494 138bc75d-0d04-0410-961f-82ee72b054a4
	PR c++/51148
	* friend.c (make_friend_class): Call check_for_bare_parameter_packs.

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

	* cgraph.h (symtab_node_base): Add next and previous pointers.
	(cgraph_node): Remove next and preivous pointers.
	(varpool_node): Likewise; remove next/previous GTY marker;
	it is not type safe.
	(symtab_node_def): Update GTY marker
	(x_cgraph_nodes, cgraph_nodes): Remove.
	(symtab_nodes): New function.
	(cgraph_order): Rename to ...
	(symtab_order): ... this one.
	(symtab_register_node, symtab_unregister_node, symtab_remove_node):
	Declare.
	(x_varpool_nodes, varpool_nodes): Remove.
	(FOR_EACH_STATIC_VARIABLE): Update.
	(symtab_function_p, symtab_variable_p): New function.
	(FOR_EACH_VARIABLE): Update.
	(varpool_first_variable, varpool_next_variable): New functions.
	(FOR_EACH_VARIABLE): Update.
	(cgraph_first_defined_function): Update.
	(cgraph_next_defined_function, cgraph_next_defined_function): Update.
	(FOR_EACH_DEFINED_FUNCTION, FOR_EACH_FUNCTION): Update.
	(cgraph_first_function, cgraph_next_function): New.
	(FOR_EACH_FUNCTION): Update.
	(cgraph_first_function_with_gimple_body,
	cgraph_next_function_with_gimple_body): Update.
	* symtab.c: New file.
	* cgraph.c: Update copyright dates.
	(x_cgraph_nodes, cgraph_order): Remove.
	(NEXT_FREE_NODE): Update.
	(SET_NEXT_FREE_NODE): New.
	(cgraph_create_node_1): Remove common code.
	(cgraph_create_node); Remove common code; call symtab_register_node.
	(cgraph_remove_node): Remove common code; call symtab_unregister-node.
	(cgraph_add_asm_node); update.
	(cgraph_clone_node): Register new node.
	* cgraphunit.c (process_function_and_variable_attributes): Update.
	(cgraph_analyze_functions): Update.
	(cgraph_analyze_functions): Update.
	(cgraph_output_in_order): Update.
	* lto-cgraph.c (input_node, input_varpool_node, input_cgraph_1): Update.
	* ipa-inline.c (recursive_inlining); update.
	* lto-streamer-in.c (lto_input_toplevel_asms); Update.
	* ipa.c (cgraph_remove_unreachable_nodes): Update.
	* Makefile.in: Add symtab.o
	* varpool.c (x_varpool_nodes): Remove
	(varpool_node): Remove common code; call symtab_register_node.
	(varpool_remove_node); Remove common code; call symtab_unregister_node.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186496 138bc75d-0d04-0410-961f-82ee72b054a4
Use target_alias in validate_failures.py

	* testsuite-management/validate_failures.py (GetBuildData): Use
	target_alias.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186497 138bc75d-0d04-0410-961f-82ee72b054a4
2012-04-16  Ulrich Weigand  <ulrich.weigand@linaro.org>

	PR target/51819
	* config/arm/arm.c (arm_print_operand): Fix invalid alignment
	hints for 'A' operand types.


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