Commit Graph

88535 Commits

Author SHA1 Message Date
Martin Jambor 3e293154d6 ipa-cp.c (ipcp_print_edge_profiles): Test for node->analyzed rather than for DECL_SAVED_TREE.
2008-07-23  Martin Jambor  <mjambor@suse.cz>

        * ipa-cp.c (ipcp_print_edge_profiles): Test for node->analyzed
	rather than for DECL_SAVED_TREE.
	* ipa-prop.c: Include diagnostic.h.
        (ipa_check_stmt_modifications): Check LHS of GIMPLE_MODIFY_EXPRs
	thoroughly.
	(ipa_detect_param_modifications): Function rewritten from scratch.
	(ipa_compute_jump_functions): Changed accesses to modification flags.
	(ipa_free_node_params_substructures): Update flags destruction.
	(ipa_node_duplication_hook): Update flags duplication.
	(ipa_print_all_params_modified): Updated flag access.
	* ipa-prop.h (struct ipa_param_flags): New structure.
        (struct ipa_node_params): New field modification_analysis_done,
        modified_flags changed into param_flags.
        (ipa_is_ith_param_modified): Changed to use new flags.
	* Makefile.in (ipa-prop.o): Add $(DIAGNOSTIC_H) to dependencies.

	* ipa-prop.c (ipa_print_all_jump_functions): Moved here from
	ipa-cp.c and split into two functions.
	(ipa_print_node_jump_functions): New function.
	(compute_scalar_jump_functions): New function.
	(type_like_member_ptr_p): New function.
	(compute_pass_through_member_ptrs): New function.
	(fill_member_ptr_cst_jump_function): New function.
	(determine_cst_member_ptr): New function.
	(compute_cst_member_ptr_arguments): New function.
	(ipa_compute_jump_functions): Complete rewrite.
	* ipa-prop.h (enum jump_func_type): Make explicit that we depend
	on IPA_UNKNOWN being zero. Added value IPA_CONST_MEMBER_PTR.
	(struct ipa_member_ptr_cst): New structure.
	(union jump_func_value): New field member_cst.
	* ipa-cp.c (ipcp_lat_is_insertable): New function.
	(ipcp_lattice_from_jfunc): Produces bottom lattices for unhandled
	jump function types.
	(ipcp_print_all_lattices): Slight fprintf rearrangement.
	(ipcp_print_all_structures): Call ipa_print_all_jump_functions
	instead of ipcp_print_all_jump_functions.
	(ipcp_insert_stage): Use ipcp_lat_is_insertable, create replace maps
	only for replacable scalars.

	* doc/invoke.texi (Optimize options): Add description of
	-findirect-inlining.
	* common.opt (flag_indirect_inlining): New flag.
	* opts.c (decode_options): Set flag_indirect_inlining when 
	optimize >= 3.

	* ipa-inline.c: Include ipa-prop.h.
	(inline_indirect_intraprocedural_analysis): New function.
	(inline_generate_summary): Allocate parameter and argument info
	structures, call inline_indirect_intraprocedural_analysis on each
	node when doing indirect inlining and deallocate indirect inlining 
	data structures in the end.
	* ipa-prop.c (ipa_create_param_decls_array): Return if already done.
	(free_all_ipa_structures_after_iinln): New function.
	(free_all_ipa_structures_after_ipa_cp): Checks whether iinln will be 
	done.
	* Makefile.in (ipa-inline.o): Added $(IPA_PROP_H) to dependencies.

	* cgraphbuild.c (compute_call_stmt_bb_frequency): New function.
	(build_cgraph_edges): Call compute_call_stmt_bb_frequency instead
	of computing the frequency separately.
	(rebuild_cgraph_edges): Call compute_call_stmt_bb_frequency instead
	of computing the frequency separately.
	* ipa-cp.c (ipcp_print_all_structures): Replace a call to 
	ipa_print_all_param_modified with a call to ipa_print_all_param_flags.
	* ipa-prop.c (ipa_get_member_ptr_load_param): New function.
	(ipa_get_stmt_member_ptr_load_param): New function.
	(ipa_is_ssa_with_stmt_def): New function.
	(ipa_note_param_call): New function.
	(ipa_analyze_call_uses): New function.
	(ipa_analyze_stmt_uses): New function.
	(ipa_analyze_params_uses): New function.
	(ipa_free_node_params_substructures): Also free the param_calls linked
	list.
	(ipa_node_duplication_hook): Also duplicate the param_calls linked list.
	(ipa_print_node_param_flags): New function.
	(ipa_print_all_params_modified): Renamed to ipa_print_all_param_flags.
	(ipa_print_all_param_flags): Calls ipa_print_node_param_flags.
	* ipa-prop.h (struct ipa_param_flags): New field called.
	(struct ipa_param_call_note): New structure.
	(struct ipa_node_params): New fields param_calls and
	uses_analysis_done.
	(ipa_is_ith_param_called): New function.
	* ipa-inline.c (inline_indirect_intraprocedural_analysis): Call
	ipa_analyze_params_uses and dump parameter flags.

	* ipa-inline.c (cgraph_decide_recursive_inlining): Call
	ipa_propagate_indirect_call_infos if performing indirect inlining,
	pass a new parameter new_edges to it.
	(add_new_edges_to_heap): New fucntion.
	(cgraph_decide_inlining_of_small_functions): New vector
	new_indirect_edges for newly found indirect edges , call
	ipa_propagate_indirect_call_infos after inlining.
	(cgraph_decide_inlining): Call ipa_propagate_indirect_call_infos after
	inlining if performing indirect inlining.  Call
	free_all_ipa_structures_after_iinln when doing so too.
	(inline_generate_summary): Do not call
	free_all_ipa_structures_after_iinln here.
	* ipa-prop.c (update_jump_functions_after_inlining): New function.
	(print_edge_addition_message): New function.
	(update_call_notes_after_inlining): New function.
	(propagate_info_to_inlined_callees): New function.
	(ipa_propagate_indirect_call_infos): New function.
	* ipa-prop.h: Include cgraph.h
	(struct ipa_param_call_note): Fields reordered, new field processed.
	* cgraph.h (cgraph_edge): Shrink loop_nest field to 31 bits, add a new
	flag indirect_call.
	* cgraphunit.c (verify_cgraph_node): Allow indirect edges not to have
	rediscovered call statements.
	* cgraph.c (cgraph_create_edge): Initialize indirect_call to zero.
	(dump_cgraph_node): Dump also the indirect_call flag.
	(cgraph_clone_edge): Copy also the indirect_call flag.
	* tree-inline.c (copy_bb): Do not check for fndecls from call
	expressions, check for edge availability when moving clones.
	(get_indirect_callee_fndecl): New function.
	(expand_call_inline): If callee declaration is not apprent from
	the statement, try calling get_indirect_callee_fndecl.  Do not
	issue warnings or call sorry when not inlinings an indirect edge.
	* Makefile.in (IPA_PROP_H): Added $(CGRAPH_H) to dependencies.

	* ipa-prop.c (ipa_print_node_param_flags): Make the dump format a
	bit more frandly to matching.
	* testsuite/g++.dg/ipa/iinline-1.C: New testcase.
	* testsuite/gcc.dg/ipa/iinline-1.c: New testcase.
	* testsuite/gcc.dg/ipa/modif-1.c: New testcase.

From-SVN: r138092
2008-07-23 21:45:45 +02:00
Michael Meissner e62fe68a64 Fix PR 36907, breakage in building libobj with function specific changes
From-SVN: r138091
2008-07-23 19:03:40 +00:00
Manuel López-Ibáñez fcf73884fb re PR c/35058 (-Werror= works only with some warnings)
2008-07-23  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>

	PR 35058
	* diagnostic.c (pedwarn): Add opt parameter.
	(pedwarn0): New.
	* c-tree.h (pedwarn_init): Add opt parameter.
	(pedwarn_c90): Likewise.
	(pedwarn_c99): Likewise.
	* c-errors.c (pedwarn_c99): Likewise.
	(pedwarn_c90): Likewise.
	* toplev.h (pedwarn): Update declaration.
	(pedwarn0): Declare.
	* c-lex.c: All calls to pedwarn changed.
	* builtins.c: All calls to pedwarn changed.
	* toplev.c: All calls to pedwarn changed.
	* c-decl.c: All calls to pedwarn changed.
	* c-typeck.c: All calls to pedwarn changed.
	* c-common.c: All calls to pedwarn changed.
	* c-parser.c: All calls to pedwarn changed.
cp/
	* typeck.c: All calls to pedwarn changed.
	* decl.c: All calls to pedwarn changed.
	* call.c: All calls to pedwarn changed.
	* error.c: All calls to pedwarn changed.
	* typeck2.c: All calls to pedwarn changed.
	* pt.c: All calls to pedwarn changed.
	* name-lookup.c: All calls to pedwarn changed.
	* parser.c: All calls to pedwarn changed.
fortran/
	* f95-lang.c (gfc_mark_addressable): All calls to pedwarn changed.
testsuite/
	* gcc.dg/Wdeclaration-after-statement-3.c: New.
	* gcc/testsuite/gcc.dg/Wpointer-arith.c: New.

From-SVN: r138089
2008-07-23 15:57:49 +00:00
Chris Fairles 554cd17b8d acinclude.m4 ([GLIBCXX_CHECK_CLOCK_GETTIME]): Define GLIBCXX_LIBS.
2008-07-23  Chris Fairles <chris.fairles@gmail.com>

        * acinclude.m4 ([GLIBCXX_CHECK_CLOCK_GETTIME]): Define GLIBCXX_LIBS.
	Holds the lib that defines clock_gettime (-lrt or -lposix4).
        * src/Makefile.am: Use it.
        * configure: Regenerate.
        * configure.in: Likewise.
        * Makefile.in: Likewise.
        * src/Makefile.in: Likewise.
        * libsup++/Makefile.in: Likewise.
        * po/Makefile.in: Likewise.
        * doc/Makefile.in: Likewise.

From-SVN: r138087
2008-07-23 14:49:00 +00:00
Michael Meissner f5ae72a9e3 Add missing ChangeLog from 138075
From-SVN: r138082
2008-07-23 11:18:03 +00:00
Michael Meissner ab442df7fb Add ability to set target options (ix86 only) and optimization options on a function specific basis
From-SVN: r138075
2008-07-23 10:28:06 +00:00
Jerry DeLisle 5295185c31 re PR fortran/36582 (Namelist I/O error: Bogus "Cannot match namelist object")
2008-07-22  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libfortran/36852
	* gfortran.dg/namelist_52.f90: New test.

From-SVN: r138073
2008-07-23 04:36:54 +00:00
Jerry DeLisle ac834957b9 re PR fortran/36582 (Namelist I/O error: Bogus "Cannot match namelist object")
2008-07-22  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR fortran/36852
	* io/list_read.c: If variable rank is zero, do not adjust the found
	namelist object pointer.

From-SVN: r138072
2008-07-23 04:29:15 +00:00
GCC Administrator b55c64bb53 Daily bump.
From-SVN: r138069
2008-07-23 00:16:34 +00:00
Ulrich Weigand 738832558f target-supports.exp (check_effective_target_spu_auto_overlay): New procedure.
* lib/target-supports.exp (check_effective_target_spu_auto_overlay):
	New procedure.
	* lib/compat.exp (compat-execute): Use it to test whether toolchain
	supports automatic overlay generation for the SPU.

From-SVN: r138064
2008-07-22 17:21:12 +00:00
Daniel Kraft 9cad01cefb re PR fortran/29835 (Error message of unknown edit descriptor needs improvement)
2008-07-22  Daniel Kraft  <d@domob.eu>

	PR fortran/29835
	* io.c (error_element), (format_locus):  New static globals.
	(unexpected_element):  Spelled out this message fully.
	(next_char):  Keep track of locus when not MODE_STRING.
	(next_char_not_space):  Remember last parsed element in error_element.
	(format_lex):  Fix two indentation errors.
	(check_format):  Use format_locus and possibly error_element for a
	slightly better error message on invalid format.
	(check_format_string):  Set format_locus to start of the string
	expression used as format.

2008-07-22  Daniel Kraft  <d@domob.eu>

	PR fortran/29835
	* io/format.c (struct format_data):  New member error_element.
	(unexpected_element):  Added '%c' to message.
	(next_char):  Keep track of last parsed character in fmt->error_element.
	(format_error):  If the message is unexpected_element, output the
	offending character, too.

2008-07-22  Daniel Kraft  <d@domob.eu>

	PR fortran/29835
	* gfortran.dg/fmt_error_3.f90:  New test.
	* gfortran.dg/fmt_error_4.f90:  New test.
	* gfortran.dg/fmt_error_5.f90:  New test.

From-SVN: r138063
2008-07-22 19:05:55 +02:00
Paolo Carlini 1e58e43be9 sso_string_base.h (__sso_string_base<>::__sso_string_base(std::initializer_list<_CharT>, const _Alloc&)): Remove.
2008-07-22  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/ext/sso_string_base.h
	(__sso_string_base<>::__sso_string_base(std::initializer_list<_CharT>,
	const _Alloc&)): Remove.
	* include/ext/rc_string_base.h
	(__rc_string_base<>::__rc_string_base(std::initializer_list<_CharT>,
	const _Alloc&)): Likewise.
	* include/ext/vstring.h
	(__versa_string<>::__versa_string(std::initializer_list<_CharT>,
	const _Alloc&)): Adjust.

From-SVN: r138058
2008-07-22 13:52:14 +00:00
Rafael Avila de Espindola 3571ae2e08 c-typeck.c (build_external_ref): Don't call assemble_external.
2008-07-22  Rafael Avila de Espindola  <espindola@google.com>

       * c-typeck.c (build_external_ref): Don't call assemble_external.
       * final.c (output_operand): Call assemble_external.

From-SVN: r138057
2008-07-22 13:29:31 +00:00
Thomas Koenig 4a799ae7a6 re PR fortran/36890 (libgfortran/io/file_pos.c:55: warning: comparison between signed and unsigned)
2008-07-22  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR libfortran/36890
	* io/file_pos.c:  Declare READ_CHUNK as signed to avoid
	signed/unsigned comparison warning in formatted_backspace.

From-SVN: r138050
2008-07-22 10:27:10 +00:00
Manuel López-Ibáñez 3b8f20a10d re PR preprocessor/28079 (#line range not verified without -pedantic)
2008-07-22  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>

	PR 28079
libcpp/
	* directives.c (strtolinenum): Handle overflow.
	(do_line): Give a warning if line number overflowed.
	(do_linemarker): Update call to strtolinenum.

gcc/testsuite/
	* gcc.dg/cpp/line6.c: New.

From-SVN: r138049
2008-07-22 09:45:58 +00:00
GCC Administrator 92d3046118 Daily bump.
From-SVN: r138047
2008-07-22 00:16:39 +00:00
Jason Merrill 988499f434 Add initializer_list support as per N2679.
* include/debug/unordered_map: Add initializer_list support.
        * include/debug/safe_association.h: Likewise.
        * include/debug/unordered_set: Likewise.
        * include/debug/vector: Likewise.
        * include/debug/deque: Likewise.
        * include/debug/map.h: Likewise.
        * include/debug/set.h: Likewise.
        * include/debug/string: Likewise.
        * include/debug/list: Likewise.
        * include/debug/multimap.h: Likewise.
        * include/tr1_impl/unordered_map: Likewise.
        * include/tr1_impl/hashtable: Likewise.
        * include/tr1_impl/unordered_set: Likewise.
        * include/tr1_impl/regex: Likewise.
        * include/std/valarray: Likewise.
        * include/std/unordered_map: Likewise.
        * include/std/unordered_set: Likewise.
        * include/bits/stl_list.h: Likewise.
        * include/bits/stl_map.h: Likewise.
        * include/bits/stl_set.h: Likewise.
        * include/bits/basic_string.h: Likewise.
        * include/bits/basic_string.tcc: Likewise.
        * include/bits/stl_multimap.h: Likewise.
        * include/bits/stl_vector.h: Likewise.
        * include/bits/stl_deque.h: Likewise.
        * include/bits/stl_multiset.h: Likewise.
        * include/bits/stl_bvector.h: Likewise.
        * include/ext/vstring.h: Likewise.
        * include/ext/rc_string_base.h: Likewise.
        * include/ext/sso_string_base.h: Likewise.
        * src/Makefile.am (w?string-inst): Build with -std=gnu++0x.
        * src/Makefile.in: Likewise.
        * config/abi/pre/gnu.ver: Add new w?string exports.
...

From-SVN: r138043
2008-07-21 15:40:39 -04:00
Ralf Wildenhues 39a13be5cb objc-act.c: Fix comment typos.
gcc/objc/

	* objc-act.c: Fix comment typos.

gcc/cp/

	* call.c: Fix comment typos.
	* class.c: Likewise.
	* cp-tree.h: Likewise.
	* cxx-pretty-print.c: Likewise.
	* decl.c: Likewise.
	* init.c: Likewise.
	* name-lookup.c: Likewise.
	* operators.def: Likewise.
	* parser.c: Likewise.
	* pt.c: Likewise.
	* tree.c: Likewise.
	* typeck.c: Likewise.

From-SVN: r138042
2008-07-21 19:29:07 +00:00
Mark Mitchell 5194c5c129 arm-eabi-extra.ver: New file.
* config/os/gnu-linux/arm-eabi-extra.ver: New file.
	* configure.host: Use it for arm*-*-linux-*eabi.

From-SVN: r138041
2008-07-21 19:21:45 +00:00
Ralf Wildenhues df2fba9e34 fmt_g0_3.f08: Fix typo in expected error message.
gcc/testsuite/

	* gfortran.dg/fmt_g0_3.f08: Fix typo in expected error message.

gcc/fortran/

	* expr.c (gfc_check_pointer_assign): Fix typo in string.
	* io.c (check_format): Fix typo in string.  Fix comment typos.
	* parse.c (gfc_global_used): Likewise.
	* resolve.c (resolve_allocate_expr): Likewise.
	* symbol.c (gfc_set_default_type): Likewise.
	* arith.c: Fix typos in comments.
	* array.c: Likewise.
	* data.c: Likewise.
	* decl.c: Likewise.
	* dependency.c: Likewise.
	* f95-lang.c: Likewise.
	* gfortran.h: Likewise.
	* matchexp.c: Likewise.
	* module.c: Likewise.
	* primary.c: Likewise.
	* scanner.c: Likewise.
	* trans-array.c: Likewise.
	* trans-common.c: Likewise.
	* trans-decl.c: Likewise.
	* trans-expr.c: Likewise.
	* trans-intrinsic.c: Likewise.
	* trans-types.c: Likewise.
	* trans.c: Likewise.
	* trans.h: Likewise.

From-SVN: r138040
2008-07-21 19:17:08 +00:00
DJ Delorie 2e76288428 h8300.c (h8300_hard_regno_scratch_ok): New.
* config/h8300/h8300.c (h8300_hard_regno_scratch_ok): New.
(TARGET_HARD_REGNO_SCRATCH_OK): Define.

From-SVN: r138038
2008-07-21 13:41:13 -04:00
Ulrich Weigand a03f1b22cb spu.md ("div<mode>3"): Convert into expander, move original insn and splitter contents into ...
* config/spu/spu.md ("div<mode>3"): Convert into expander, move
	original insn and splitter contents into ...
	("*div<mode>3_fast"): ... this new pattern.  Enable only if
	flag_unsafe_math_optimizations.  Add dummy scratch register.
	("*div<mode>3_adjusted"): New insn and splitter.  Enable only if
	!flag_unsafe_math_optimizations.  Returns number with next
	highest magnitude if this is still less or equal to the true
	quotient in magnitude.

From-SVN: r138036
2008-07-21 17:15:22 +00:00
Paolo Carlini 279086c390 re PR c++/36871 (__has_nothrow_copy(T) false for T with a template ctor)
/cp
2008-07-21  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/36871
	PR c++/36872
	* semantics.c (classtype_has_nothrow_assign_or_copy_p): Only check
	copy constructors and copy assignment operators proper.

/testsuite
2008-07-21  Paolo Carlini  <paolo.carlini@oracle.com>

        PR c++/36871
	PR c++/36872
        * g++.dg/ext/has_nothrow_copy.C: Rename to...
        * g++.dg/ext/has_nothrow_copy-1.C: ... this.
        * g++.dg/ext/has_nothrow_copy-2.C: New.
        * g++.dg/ext/has_nothrow_copy-3.C: Likewise.
        * g++.dg/ext/has_nothrow_copy-4.C: Likewise.
        * g++.dg/ext/has_nothrow_copy-5.C: Likewise.
        * g++.dg/ext/has_nothrow_copy-6.C: Likewise.
        * g++.dg/ext/has_nothrow_copy-7.C: Likewise.

From-SVN: r138034
2008-07-21 16:18:38 +00:00
Rafael Espindola 099735e9d6 Fix the year on the ChangeLog.
From-SVN: r138032
2008-07-21 14:45:07 +00:00
Rafael Avila de Espindola aa14403d28 Makefile.in: Replace toplev.h with TOPLEV_H.
2007-07-21  Rafael Avila de Espindola  <espindola@google.com>

	* Makefile.in: Replace toplev.h with TOPLEV_H.
	* c-decl.c (merge_decls): Don't set DECL_IN_SYSTEM_HEADER.
	* c-lex.c (fe_file_change): Don't set in_system_header.
	* c-parser.c (c_token): Remove in_system_header.
	(c_lex_one_token): Don't set in_system_header.
	(c_parser_set_source_position_from_token): Don't set in_system_header.
	* diagnostic.c (diagnostic_report_diagnostic): Use location from
	diagnostic_info.
	(warning_at): New.
	* diagnostic.h (diagnostic_report_warnings_p): Add LOC argument.
	* flags.h (in_system_header): Remove.
	* function.c (saved_in_system_header): Remove.
	(push_cfun): Don't set in_system_header.
	(pop_cfun): Don't set in_system_header.
	(push_struct_function): Don't set in_system_header.
	* input.h (expanded_location): Add sysp.
	(in_system_header_at): New.
	(in_system_header): New.
	* toplev.c (in_system_header): Remove.
	* toplev.h: Include input.h
	(warning_at): New.
	* tree-cfg.c (execute_warn_function_return): Call warning_at.
	* tree-ssa.c (warn_uninit): Call warning_at.
	(warn_uninitialized_var): Update calls to warn_uninit.
	(warn_uninitialized_phi): Update calls to warn_uninit.
	* tree.c (make_node_stat): Don't set DECL_IN_SYSTEM_HEADER.
	(expand_location): Initialize xloc.sysp.
	* tree.h (DECL_IN_SYSTEM_HEADER): Use in_system_header_at.
	(tree_decl_with_vis): Remove in_system_header_flag.

2007-07-21  Rafael Avila de Espindola  <espindola@google.com>

	* parser.c (cp_token): Remove in_system_header.
	(eof_token): Remove in_system_header.
	(cp_lexer_get_preprocessor_token): Don't set in_system_header.
	(cp_lexer_set_source_position_from_token): Don't set in_system_header.
	(cp_parser_member_declaration):  Use in_system_header_at.
	* pt.c (lookup_template_class): Don't set DECL_IN_SYSTEM_HEADER.
	(pop_tinst_level): Don't set in_system_header.
	(instantiate_class_template): Don't set in_system_header.
	(instantiate_decl): Don't set in_system_header.
	(instantiate_pending_templates): Don't set in_system_header.

From-SVN: r138031
2008-07-21 14:29:27 +00:00
Thomas Koenig c44109aaf3 re PR libfortran/36773 (zero-sized arrays with cshift and eoshift)
2008-07-21  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR libfortran/36773
	* intrinsics/cshift0.c (cshift0):  Return early if size of array
	is zero.
	* intrinsics/eoshift0.c (eoshift0):  Return early if size of
	return array is zero.
	* intrinsics/eoshift2.c (eoshift2):  Likewise.
	* m4/eoshift1.m4 (eoshift1):  Return early if size of array
	is zero.
	* m4/eoshift3.m4 (eoshift3):  Likewise.
	* m4/eoshift2.m4 (eoshift2):  Return early if size of return
	array is zero.
	* m4/eoshift4.m4 (eoshift2):  Return early if size of return
	array is zero.
	* generated/cshift1_16.c: Regenerated.
	* generated/cshift1_4.c: Regenerated.
	* generated/cshift1_8.c: Regenerated.
	* generated/eoshift1_16.c: Regenerated.
	* generated/eoshift1_4.c: Regenerated.
	* generated/eoshift1_8.c: Regenerated.
	* generated/eoshift3_16.c: Regenerated.
	* generated/eoshift3_4.c: Regenerated.
	* generated/eoshift3_8.c: Regenerated.

2008-07-21  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR libfortran/36773
	* gfortran.dg/zero_sized_5.f90:  New test case.

From-SVN: r138027
2008-07-21 10:05:32 +00:00
Manuel López-Ibáñez 1bb64668d0 line-map.h (linenum_type): New typedef.
2008-07-21  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>

	* include/line-map.h (linenum_type): New typedef.
	(struct line_map): Use it.
	(SOURCE_LINE): Second arguments is a LOCATION not a LINE.
	(SOURCE_COLUMN): Likewise.
	* macro.c (_cpp_builtin_macro_text): Use linenum_type. Don't store
	source_location values in a variable of type linenum_type.
	* directives.c (struct if_stack): Use linenum_type.
	(strtoul_for_line): Rename as strtolinenum.
	(do_line): Use linenum_type.
	(do_linemarker): Use linenum_type and strtolinenum.
	(_cpp_do_file_change): Use linenum_t.
	* line-map.c (linemap_add): Likewise.
	(linemap_line_start): Likewise.
	* traditional.c (struct fun_macro): 'line' is a source_location.
	* errors.c (print_location): Use linenum_type.
	* directives-only.c (_cpp_preprocess_dir_only): Likewise.
	* internal.h (CPP_INCREMENT_LINE): Likewise.
	* lex.c (_cpp_skip_block_comment): Use source_location.

From-SVN: r138026
2008-07-21 09:33:38 +00:00
Paolo Carlini e24313f349 re PR c++/36870 (__has_nothrow_constructor violates the ODR)
/cp
2008-07-21  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/36870
	* semantics.c (classtype_has_nothrow_assign_or_copy_p): Use
	TYPE_NOTHROW_P, not TREE_NOTHROW.
	(trait_expr_value): Likewise.

/testsuite
2008-07-21  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/36870
	* g++.dg/ext/has_nothrow_assign_odr.C: New.
	* g++.dg/ext/has_nothrow_copy_odr.C: Likewise.
	* g++.dg/ext/has_nothrow_constructor_odr.C: Likewise.
	* g++.dg/ext/has_nothrow_assign.C: Adjust.
	* g++.dg/ext/has_nothrow_copy.C: Likewise.
	* g++.dg/ext/has_nothrow_constructor.C: Likewise.

From-SVN: r138024
2008-07-21 09:08:41 +00:00
Andreas Krebbel c499b30003 [multiple changes]
2008-07-21  Andreas Krebbel  <krebbel1@de.ibm.com>

	PR target/36822
	* recog.c (asm_operand_ok): Change the order of the extra
	memory constraint checks.

2008-07-17  Andreas Krebbel  <krebbel1@de.ibm.com>

	PR target/36822
	* gcc.target/s390/pr36822.c: New testcase.

From-SVN: r138022
2008-07-21 06:54:34 +00:00
Jerry DeLisle 302b150e73 re PR libfortran/36857 (Non-English locale breaks gfortran float formatting ("printf is broken"))
2008-07-20  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR fortran/36857
	* io/write_float.def: Comment out locale dependent code and fix general
	comments.

From-SVN: r138021
2008-07-21 04:44:10 +00:00
Hans-Peter Nilsson 8ca7338928 re PR middle-end/36143 (FAIL: g++.dg/tree-ssa/pr19637.C)
PR middle-end/36143
	* g++.dg/tree-ssa/pr19637.C: XFAIL.

From-SVN: r138020
2008-07-21 02:37:36 +00:00
Hans-Peter Nilsson 113278e2f7 re PR rtl-optimization/33642 (unrecognizable insn for -frtl-abstract-sequences)
PR rtl-optimization/33642
	* gcc.c-torture/compile/pr11832.c: Skip for CRIS.
	* gcc.c-torture/compile/pr33009.c: Likewise.

From-SVN: r138019
2008-07-21 01:37:55 +00:00
Hans-Peter Nilsson afeb58ed77 re PR middle-end/36509 (gcc.dg/Wstrict-aliasing-float-ptr-int-obj.c)
PR middle-end/36509
	* gcc.dg/Wstrict-aliasing-float-ptr-int-obj.c: XFAIL.

From-SVN: r138018
2008-07-21 01:15:18 +00:00
GCC Administrator b94142c956 Daily bump.
From-SVN: r138016
2008-07-21 00:16:30 +00:00
Arnaud Charlet ec45d10572 * gnathtml.pl: New file.
From-SVN: r138013
2008-07-20 22:31:59 +02:00
Andrew Pinski 34a87fd4ea re PR tree-optimization/36879 (undefined reference to a variable)
2008-07-20  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        PR tree-opt/36879
        * tree-switch-conversion.c (build_one_array): Call
        varpool_mark_needed_node and varpool_finalize_decl
        instead of assemble_variable.

2008-07-20  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        PR tree-opt/36879
        * gcc.c-torture/execute/20080719-1.c: New testcase.

From-SVN: r138012
2008-07-20 10:51:48 -07:00
Jan Hubicka c72321c9a7 cgraph.c (cgraph_add_new_function): Do early local passes.
* cgraph.c (cgraph_add_new_function): Do early local passes.
	* tree-nrv.c (gate_pass_return_slot): New gate.
	(pass_nrv): Add the gate.
	* tree-ssa-coalese.c (hash_ssa_name_by_var, eq_ssa_name_by_var): New
	functions.
	(coalesce_ssa_name): Coalesce SSA names.
	* tree-ssa-live.c (remove_unused_locals): Be more conservative when
	not optimizing so unused user vars remains visible.
	* common.opt (flag_tree_ter): Always enable by default.
	* tree-ssa-ter.c: Include flags.h
	(is_replaceable_p): Check that locations match; when aliasing is missing
	be conservative about loads.
	* tree-optimize.c (gate_init_datastructures): Remove.
	(pass_init_datastructures): New.
	* passes.c: Reorder passes so we always go into SSA.

From-SVN: r138010
2008-07-20 16:06:51 +00:00
Jan Hubicka d6cc6ec9d1 extend.texi (flatten attribute): Remove note about unit-at-a-time
* doc/extend.texi (flatten attribute): Remove note about unit-at-a-time
	* doc/invoke.texi (--combine): Likewise.
	(-finline-functions-called-once): Update levels when enabled.
	(-funit-at-a-time): Document new behaviour.
	(-ftoplevel-reorder): Document that it is enabled -O0 and imply
	-fno-section-anchors when disabled explicitly.
	(inline params): They are not ignored now.
	(precompiled headers): Remove unit-at-a-time as being incompatible.
	* opts.c (decode_options): Handle unit-at-a-time as alias;
	imply -fno-section-anchors when toplevel reorder is disabled
	explicitly.
	* common.opt (ftoplevel-reorder): Set default value to 2.
	(funit-at-a-time): Set default value to 1.
	* config/rs6000/rs6000.c (optimization_options): Set section anchors
	to 2.

From-SVN: r138009
2008-07-20 14:57:17 +00:00
Hans-Peter Nilsson c0b215ccf6 * gcc.dg/tree-ssa/data-dep-1.c: XFAIL.
From-SVN: r138007
2008-07-20 14:12:04 +00:00
Jan Hubicka 1856c8dcea builtins.c (expand_builtin_int_roundingfn, [...]): Do not take subtarget argument; it is not useful.
* builtins.c (expand_builtin_int_roundingfn,
	expand_builtin_int_roundingfn_2): Do not take subtarget argument;
	it is not useful.

From-SVN: r138006
2008-07-20 09:50:30 +00:00
Daniel Berlin a6c71033e3 ssa-fre-7.c: XFAIL.
2008-07-20  Daniel Berlin  <dberlin@dberlin.org>

	* gcc.dg/tree-ssa/ssa-fre-7.c: XFAIL.
	* gcc.dg/tree-ssa/ssa-fre-8.c: Ditto.
	* gcc.dg/tree-ssa/ssa-fre-9.c: Ditto.
	* gcc.dg/tree-ssa/ssa-fre-13.c: Ditto.
	* gcc.dg/tree-ssa/ssa-fre-14.c: Ditto.
	* gcc.dg/tree-ssa/ssa-fre-17.c: Ditto.
	* gcc.dg/tree-ssa/ssa-pre-15.c: Ditto.
	* gcc.dg/tree-ssa/loadpre1.c: PASS.

From-SVN: r138005
2008-07-20 05:21:48 +00:00
GCC Administrator 7bbeb0019c Daily bump.
From-SVN: r137995
2008-07-20 00:16:33 +00:00
Richard Guenther bb9e419935 re PR bootstrap/36864 (Yet another bootstrap failure on i686-apple-darwin9)
2008-07-19  Richard Guenther  <rguenther@suse.de>

	PR bootstrap/36864
	* tree-ssa-sccvn.h (get_constant_value_id): Declare.
	* tree-ssa-sccvn.c (get_constant_value_id): New function.
	* tree-ssa-pre.c (get_expr_value_id): For newly created
	constant value-ids make sure to add the expression to its
	expression-set.

From-SVN: r137991
2008-07-19 22:02:29 +02:00
Paolo Carlini 52e07aa164 2008-07-19 Paolo Carlini <paolo.carlini@oracle.com>
* include/ext/pb_ds/detail/binomial_heap_base_/debug_fn_imps.hpp
	(assert_node_consistent): Avoid ambiguous else warning.

	* include/ext/pb_ds/detail/debug_map_base.hpp: Include <iostream>.

	* include/bits/c++config: In debug-mode (and parallel-mode) set
	_GLIBCXX_EXTERN_TEMPLATE to -1, not 0, thus disabling extern
	templates only for basic_string (per libstdc++/21674).
	* include/bits/basic_string.tcc: Use extern templates when
	_GLIBCXX_EXTERN_TEMPLATE > 0.

From-SVN: r137990
2008-07-19 19:58:52 +00:00
Jakub Jelinek a7ea9e2968 re PR middle-end/36877 (-O0 -fopenmp -march=i386 atomics)
PR middle-end/36877
	* omp-low.c (expand_omp_atomic_fetch_op): Make sure the
	return value of the builtin is ignored.

	* gcc.dg/gomp/atomic-11.c: New test.

From-SVN: r137989
2008-07-19 21:22:51 +02:00
Tobias Burnus 5e2be41f37 re PR fortran/36795 (crash with character allocatable array argument)
2008-07-19  Tobias Burnus  <burnus@net-b.de>

        PR fortran/36795
        * matchexp.c (gfc_get_parentheses): Remove obsolete workaround,
        which caused the generation of wrong code.

2008-07-19  Tobias Burnus  <burnus@net-b.de>

        PR fortran/36795
        * char_expr_1.f90: New.
        * char_expr_2.f90: New.

From-SVN: r137986
2008-07-19 20:29:18 +02:00
Tobias Burnus e513a086f0 re PR fortran/36342 (Missing file name in compilation diagnostics of preprocessed fortran source)
2008-07-19  Tobias Burnus  <burnus@net-b.de>

        PR fortran/36342
        * scanner.c (load_file): Add argument to destinguish between
        true filename and displayed filename.
        (include_line,gfc_new_file): Adapt accordingly.

From-SVN: r137985
2008-07-19 20:27:00 +02:00
Olivier Hainque 953316147f tm.texi (MALLOC_ABI_ALIGNMENT): New macro.
* doc/tm.texi (MALLOC_ABI_ALIGNMENT): New macro.  Alignment, in bits,
	a C conformant malloc implementation has to provide.
	* defaults.h (MALLOC_ABI_ALIGNMENT): Default to BITS_PER_WORD.

	ada/
	* targtyps.c (get_target_default_allocator_alignment): Use it.

	testsuite/
	* gcc.dg/mallign.c: New test.
	* gnat.dg/allocator_maxalign1.adb: New test.
	* gnat.dg/test_allocator_maxalign2.adb: Main caller for ...
	* gnat.dg/allocator_maxalign2.ad[bs]: New test.

From-SVN: r137984
2008-07-19 17:49:18 +00:00
Tobias Burnus d1a296c11a check.c (gfc_check_cshift,gfc_check_eoshift,gfc_check_unpack): Add rank checks for cshift's shift and eoshift's shift and boundary args.
2008-07-19  Tobias Burnus  <burnus@net-b.de>

        * check.c (gfc_check_cshift,gfc_check_eoshift,gfc_check_unpack): Add
        rank checks for cshift's shift and eoshift's shift and boundary args.
        (gfc_check_unpack): Add rank and shape tests for unpack.

2008-07-19  Tobias Burnus  <burnus@net-b.de>

        * gfortran.dg/intrinsic_argument_conformance_2.f90: New.
        * gfortran.dg/zero_sized_1.f90: Fix conformance bugs.

From-SVN: r137983
2008-07-19 19:20:26 +02:00
Kaveh R. Ghazi 7b901ac47f gfortran.h (new): Remove macro.
* gfortran.h (new): Remove macro.
	* array.c (gfc_append_constructor, match_array_list,
	gfc_match_array_constructor): Likewise.
	* bbt.c (insert, gfc_insert_bbt): Likewise.
	* decl.c (var_element, top_var_list, top_val_list, gfc_match_data,
	get_proc_name): Likewise.
	* expr.c (gfc_copy_actual_arglist): Likewise.
	* interface.c (compare_actual_formal, check_new_interface,
	gfc_add_interface): Likewise.
	* intrinsic.c gfc_convert_type_warn, gfc_convert_chartype):
	Likewise.
	* io.c (match_io_iterator, match_io_list): Likewise.
	* match.c (match_forall_header): Likewise.
	* matchexp.c (build_node): Likewise.
	* module.c (gfc_match_use): Likewise.
	* scanner.c (load_file): Likewise.
	* st.c (gfc_append_code): Likewise.
	* symbol.c (save_symbol_data, gfc_get_sym_tree, gfc_undo_symbols,
	gfc_commit_symbols): Likewise.
	* trans-common.c (build_field): Likewise.
	* trans-decl.c (gfc_finish_var_decl): Likewise.
	* trans-expr.c (gfc_free_interface_mapping,
	gfc_get_interface_mapping_charlen, gfc_add_interface_mapping,
	gfc_finish_interface_mapping,
	gfc_apply_interface_mapping_to_expr): Likewise.
	* trans.h (gfc_interface_sym_mapping): Likewise.

From-SVN: r137982
2008-07-19 16:23:52 +00:00