Commit Graph

94401 Commits

Author SHA1 Message Date
Eric Botcazou
c29fe0c8bd * init.c (__gnat_error_handler, Solaris): Add ATTRIBUTE_UNUSED marker.
From-SVN: r149135
2009-07-01 09:08:27 +00:00
Maciej W. Rozycki
1df34d4da7 vax.h (TARGET_BSD_DIVMOD): New macro.
* config/vax/vax.h (TARGET_BSD_DIVMOD): New macro.  Set to 1.
	* config/vax/linux.h (TARGET_BSD_DIVMOD): New macro.  Redefine the
	to 0.
	* config/vax/vax.c (vax_init_libfuncs): Only redefine udiv_optab
	and umod_optab if TARGET_BSD_DIVMOD.
	* config/vax/lib1funcs.asm: New file.
	* config/vax/t-linux: New file.
	* config.gcc (vax-*-linux*): Set tmake_file to vax/t-linux.

From-SVN: r149128
2009-07-01 01:23:54 +00:00
GCC Administrator
429a907c9a Daily bump.
From-SVN: r149126
2009-07-01 00:16:57 +00:00
Jakub Jelinek
5ccde5a06a re PR c++/40566 (rejects promoted throw)
PR c++/40566
	* convert.c (convert_to_integer) <case COND_EXPR>: Don't convert
	to type arguments that have void type.

	* g++.dg/parse/cond5.C: New test.

From-SVN: r149121
2009-07-01 00:04:36 +02:00
Jakub Jelinek
085e05ac8f re PR debug/40573 (DWARF for inlined subroutines refers to the outlined copy)
PR debug/40573
	* dwarf2out.c (gen_formal_parameter_die): Call
	equate_decl_number_to_die if node is different from origin.

From-SVN: r149120
2009-07-01 00:03:27 +02:00
Nathan Froyd
92ce2174f6 gen-vect-25.c (n): New variable.
* gcc.dg/tree-ssa/gen-vect-25.c (n): New variable.
	(main): Pass n to main_1 instead.
	* gcc.dg/tree-ssa/gen-vect-28.c (off): New variable.
	(main_1): New function, split off from...
	(main): ...here.  Pass `off' to main_1 instead.

From-SVN: r149119
2009-06-30 21:10:14 +00:00
Jason Merrill
0db906f185 re PR c++/40595 ([C++0x] ICE trying to use sfinae with variadic template pack expansion)
PR c++/40595
	* pt.c (tsubst_pack_expansion): Handle unexpanded packs in an
	EXPR_PACK_EXPANSION.

From-SVN: r149117
2009-06-30 15:36:36 -04:00
Eric Botcazou
342f368cd9 utils2.c (build_binary_op): Do not use the type of the left operand if...
* gcc-interface/utils2.c (build_binary_op) <MODIFY_EXPR>: Do not use
	the type of the left operand if it pads a self-referential type when
	the right operand is a constructor.

	* gcc-interface/lang-specs.h: Fix copyright date.

From-SVN: r149115
2009-06-30 19:20:24 +00:00
Anthony Green
9fb374d6a8 Enable building with g++.
From-SVN: r149114
2009-06-30 18:59:41 +00:00
Richard Sandiford
b30bfd402f gcc-defs.exp (gcc-set-multilib-library-path): Delete.
gcc/testsuite/
	* lib/gcc-defs.exp (gcc-set-multilib-library-path): Delete.
	* lib/target-libpath.exp (ld_library_path_vars): New variable.
	(init_ld_library_path_env_vars): New function, replacing the
	orig_*_saved assignments.  Call it after defining it.
	(set_ld_library_path_env_vars): Rewrite to use ld_library_path_vars.
	(restore_ld_library_path_env_vars): Likewise.
	(add_path, find_libgcc_s): New functions.
	* lib/objc.exp (objc_init): Use find_libgcc_s instead of
	gcc-set-multilib-library-path.
	(objc_target_compile): Don't add "." to ld_library_path.
	Use add_path.
	* lib/gfortran.exp (gfortran_link_flags): Don't add "." to
	ld_library_path.  Use add_path.  Use find_libgcc_s instead of
	gcc-set-multilib-library-path.
	* lib/g++.exp (g++_link_flags): Likewise.
	* lib/obj-c++.exp (obj-c++_link_flags): Likewise.
	* lib/c-torture.exp: Do not manipulate ld_library_path at the
	top level; do it...
	(c-torture-execute): ...here instead.  Use $ld_library_path_multilib
	to tell when this needs to happen.  Use find_libgcc_s instead of
	gcc-set-multilib-library-path.
	* lib/gcc-dg.exp: Likewise.
	* lib/gnat.exp (gnat_target_compile): Don't add "." to ld_library_path.
	* g++.dg/compat/compat.exp (alt_ld_library_path): Don't add "."
	unless it is in $ALT_LD_LIBRARY_PATH.
	* g++.dg/compat/struct-layout-1.exp (alt_ld_library_path): Likewise.

libffi/
	* testsuite/lib/libffi-dg.exp (libffi-init): Don't add "."
	to ld_library_path.  Use add_path.  Add just find_libgcc_s
	to ld_library_path, not every libgcc multilib directory.

libgomp/
	* testsuite/lib/libgomp.exp (libgomp_init): Don't add "." to
	ld_library_path.  Use add_path.  Add just find_libgcc_s to
	ld_library_path, not every libgcc multilib directory.
	* testsuite/libgomp.c/c.exp (ld_library_path): Don't call
	gcc-set-multilib-library-path; rely on $always_ld_library_path instead.
	* testsuite/libgomp.c++/c++.exp (ld_library_path): Likewise.
	Use add_path.
	* testsuite/libgomp.fortran/fortran.exp (ld_library_path): Likewise.

libjava/
	* testsuite/lib/libjava.exp (libjava_init): Just add
	find_libgcc_s to libjava_libgcc_s_path, rather than every
	libgcc multilib directory.
	(libjava_arguments): Explain why we add "." to ld_library_path.
	(gcj_invoke, exec_gij, libjava_invoke): Use add_path.

libmudflap/
	* testsuite/lib/libmudflap.exp (libmudflap-init): Don't add "."
	to ld_library_path.  Use add_path.  Add just find_libgcc_s to
	ld_library_path, not every libgcc multilib directory.

libstdc++-v3/
	* testsuite/lib/libstdc++.exp (libstdc++_init): Don't add "."
	to ld_library_path.  Use add_path.  Add just find_libgcc_s to
	ld_library_path, not every libgcc multilib directory.

From-SVN: r149113
2009-06-30 18:37:57 +00:00
Eric Botcazou
f82a627cf5 cgraphunit.c (cgraph_finalize_compilation_unit): Call finalize_size_functions before further processing.
* cgraphunit.c (cgraph_finalize_compilation_unit): Call
	finalize_size_functions before further processing.
	* stor-layout.c: Include cgraph.h, tree-inline.h and tree-dump.h.
	(variable_size): Call self_referential_size on size expressions
	that contain a PLACEHOLDER_EXPR.
	(size_functions): New static variable.
	(copy_self_referential_tree_r): New static function.
	(self_referential_size): Likewise.
	(finalize_size_functions): New global function.
	* tree.c: Include tree-inline.h.
	(push_without_duplicates): New static function.
	(find_placeholder_in_expr): New global function.
	(substitute_in_expr) <tcc_declaration>: Return the replacement object
	on equality.
	<tcc_expression>: Likewise.
	<tcc_vl_exp>: If the replacement object is a constant, try to inline
	the call in the expression.
	* tree.h (finalize_size_functions): Declare.
	(find_placeholder_in_expr): Likewise.
	(FIND_PLACEHOLDER_IN_EXPR): New macro.
	(substitute_placeholder_in_expr): Update comment.
	* tree-inline.c (remap_decl): Do not unshare trees if do_not_unshare
	is true.
	(copy_tree_body_r): Likewise.
	(copy_tree_body): New static function.
	(maybe_inline_call_in_expr): New global function.
	* tree-inline.h (struct copy_body_data): Add do_not_unshare field.
	(maybe_inline_call_in_expr): Declare.
	* Makefile.in (tree.o): Depend on TREE_INLINE_H.
	(stor-layout.o): Depend on CGRAPH_H, TREE_INLINE_H, TREE_DUMP_H and
	GIMPLE_H.
ada/
	* gcc-interface/decl.c: Include tree-inline.h.
	(annotate_value) <CALL_EXPR>: Try to inline the call in the expression.
	* gcc-interface/utils.c (max_size) <CALL_EXPR>: Likewise.
	* gcc-interface/utils2.c: Include tree-inline.
	(known_alignment) <CALL_EXPR>: Likewise.

From-SVN: r149112
2009-06-30 17:26:32 +00:00
Thomas Koenig
c1a5cfab17 re PR fortran/40576 (Endless loop in internal write)
2009-06-30  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/40576
	* gfortran.dg/internal_write_1.f90:  New testcase.

From-SVN: r149109
2009-06-30 17:10:06 +00:00
Janus Weil
3e6d828d52 re PR fortran/40594 (wrong-code)
2009-06-30  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/40594
	* trans-types.c (gfc_get_derived_type): Bugfix, reverting one hunk from
	r147206.


2009-06-30  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/40594
	* gfortran.dg/derived_pointer_recursion_2.f90: New.

From-SVN: r149108
2009-06-30 19:06:27 +02:00
Richard Guenther
67635176a2 tree-ssa-dce.c (mark_all_reaching_defs_necessary_1): Always continue walking.
2009-06-30  Richard Guenther  <rguenther@suse.de>

	* tree-ssa-dce.c (mark_all_reaching_defs_necessary_1): Always
	continue walking.
	(propagate_necessity): Do not mark reaching defs of stores
	as necessary.

	* gcc.dg/tree-ssa/ssa-dce-6.c: New testcase.

From-SVN: r149103
2009-06-30 15:23:39 +00:00
Jan Hubicka
ca89096d93 Revert accidental commit.
From-SVN: r149102
2009-06-30 14:57:54 +00:00
Jan Hubicka
2de58650f9 cfgloopanal.c (check_irred): Move into ...
* cfgloopanal.c (check_irred): Move into ...
	(mark_irreducible_loops): ... here; return true if ireducible
	loops was found.
	* ipa-pure-const.c: Include cfgloop.h and tree-scalar-evolution.h
	(analyze_function): Try to prove loop finiteness.
	* cfgloop.h (mark_irreducible_loops): Update prototype.
	* Makefile.in (ipa-pure-const.o): Add dependency on SCEV and CFGLOOP.

From-SVN: r149101
2009-06-30 14:56:37 +00:00
Basile Starynkevitch
46db44ccae Makefile.in (PLUGIN_HEADERS): added ggc, tree-dump, pretty-print.
2009-06-30  Basile Starynkevitch  <basile@starynkevitch.net>

	* gcc/Makefile.in (PLUGIN_HEADERS): added ggc, tree-dump, pretty-print.

From-SVN: r149100
2009-06-30 14:36:55 +00:00
H.J. Lu
8088e9ee87 Remove testsuite in filenames.
From-SVN: r149098
2009-06-30 06:58:43 -07:00
Paolo Carlini
a0560e75a7 re PR libstdc++/40600 (pair& operator=(pair&& __p) doesn't work without inlining)
2009-06-30  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/40600
	* testsuite/25_algorithms/minmax/2.cc: Fix consistently with
	std::minmax return type.
	* testsuite/25_algorithms/minmax/3.cc: Likewise.

From-SVN: r149094
2009-06-30 12:09:57 +00:00
Wei Guozhi
d8dc68cb63 ssa-sink-5.c: Change the compiler option "-O2 -Os" to "-Os".
* gcc.dg/tree-ssa/ssa-sink-5.c: Change the compiler option "-O2 -Os"
	to "-Os".

From-SVN: r149093
2009-06-30 12:01:40 +00:00
Ira Rosen
1825a1f3ca re PR tree-optimization/40542 (vectorizes access to volatile array)
PR tree-optimization/40542
	* tree-vect-stmts.c (vect_analyze_stmt): Don't vectorize volatile 
	types.

From-SVN: r149090
2009-06-30 11:33:27 +00:00
Paolo Carlini
0dca215363 re PR libstdc++/40511 (Bootstrap Failure in stage3: c++locale - Recent SVN)
2009-06-30  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/40511
	* config/locale/gnu/c_locale.cc: Don't use LC_CTYPE_MASK together
	with glibc2.2.x.

From-SVN: r149089
2009-06-30 10:45:54 +00:00
Martin Jambor
71d4d3eb2e re PR tree-optimization/40582 (ice for non-trivial conversion at assignment with -O2)
2009-06-30  Martin Jambor  <mjambor@suse.cz>

	PR tree-optimization/40582
	* tree-sra.c (build_ref_for_offset_1): Use types_compatible_p rather
	than useless_type_conversion_p.
	(generate_subtree_copies): Increment sra_stats.subtree_copies at a
	proper place.

	* testsuite/gcc.c-torture/compile/pr40582.c: New test.

From-SVN: r149088
2009-06-30 12:10:29 +02:00
Martin Jambor
f57017cdbb re PR middle-end/40554 (Revision 148941 miscompiled 447.dealII in SPEC CPU 2006)
2009-06-30  Martin Jambor  <mjambor@suse.cz>

	PR middle-end/40554
	* tree-sra.c (sra_modify_expr): Add access->offset to start_offset.

From-SVN: r149087
2009-06-30 12:03:26 +02:00
Richard Guenther
42bc61e056 tree-ssa-alias.c (walk_aliased_vdefs_1): Change interface to use ao_ref references.
2009-06-30  Richard Guenther  <rguenther@suse.de>

	* tree-ssa-alias.c (walk_aliased_vdefs_1): Change interface to
	use ao_ref references.
	(walk_aliased_vdefs): Likewise.
	* tree-ssa-alias.h (walk_aliased_vdefs): Adjust prototype.
	* tree-ssa-dce.c (struct ref_data): Remove.
	(mark_aliased_reaching_defs_necessary_1): Use the ao_ref argument.
	(mark_aliased_reaching_defs_necessary): Adjust.
	(mark_all_reaching_defs_necessary_1): Likewise.

From-SVN: r149086
2009-06-30 09:55:34 +00:00
Eric Botcazou
b6a1a144f4 Fix typo
From-SVN: r149085
2009-06-30 09:52:48 +00:00
Eric Botcazou
a2350322f0 * raise-gcc: Include dwarf2.h conditionally.
From-SVN: r149084
2009-06-30 09:50:52 +00:00
Paolo Bonzini
ef12ae452a re PR bootstrap/40597 (Powerpc bootstrap is broken due to changes in expmed.c)
2009-06-30  Paolo Bonzini  <bonzini@gnu.org>

	PR boostrap/40597
	* expmed.c (emit_cstore): New name of emit_store_flag_1.
	(emit_store_flag_1): Extract from emit_store_flag, adjust
	calls to (what now is) emit_cstore.
	(emit_store_flag): Call emit_store_flag_1 and also use it
	for what used to be recursive calls.

From-SVN: r149083
2009-06-30 07:59:01 +00:00
Wei Guozhi
791b59e35b tree-ssa-sink.c (statement_sink_location): Stop sinking expression if the target bb post dominates from bb.
* tree-ssa-sink.c (statement_sink_location): Stop sinking expression
	if the target bb post dominates from bb.

	* config/i386/i386.c (memory_address_length): Check existence of base
	register before using it.

	* gcc.dg/tree-ssa/ssa-sink-5.c: New testcase.

From-SVN: r149082
2009-06-30 06:51:29 +00:00
Wei Guozhi
6d984927d5 MAINTAINERS: Add my name to Write After Approval list.
* MAINTAINERS: Add my name to Write After Approval list.

From-SVN: r149080
2009-06-30 03:42:16 +00:00
DJ Delorie
5a99fe3ead * doc/install.texi (mep-x-elf): Correct chip's full name.
From-SVN: r149079
2009-06-29 21:36:27 -04:00
Paolo Carlini
462ac91e72 2009-06-29 Paolo Carlini <paolo.carlini@oracle.com>
* include/bits/random.tcc
	(linear_congruential_engine<>::seed(seed_seq&)): Use uint_least32_t
	as array type.

From-SVN: r149078
2009-06-30 01:25:52 +00:00
H.J. Lu
ddaa348855 extend.texi: Fix typo.
2009-06-29  H.J. Lu  <hongjiu.lu@intel.com>

	* doc/extend.texi: Fix typo.

From-SVN: r149076
2009-06-29 17:48:50 -07:00
Jerry DeLisle
93ab3a3d79 re PR fortran/40576 (Endless loop in internal write)
2009-06-29  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libfortran/40576
	* io/transfer.c (sset): Adjust exit condition for loop.

From-SVN: r149075
2009-06-30 00:46:35 +00:00
Paolo Carlini
b94f4bef8b random.h (__mod(_Tp)): Use defaults.
2009-06-29  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/random.h (__mod(_Tp)): Use defaults.
	(struct _Mod): Adjust template parameters.
	(linear_congruential_engine<>::operator()()): Adjust.
	(typedef _UInt32Type): Remove.
	(mersenne_twister_engine<>::initialization_multiplier): Fix type.
	* include/bits/random.tcc (struct _Mod): Adjust template parameters.
	(linear_congruential_engine<>::seed(result_type)): Adjust __mod
	calls.
	(mersenne_twister_engine<>::seed(result_type)): Likewise.
	(mersenne_twister_engine<>::seed(seed_seq&)): Likewise.
	(subtract_with_carry_engine<>::seed(result_type)): Likewise.
	(subtract_with_carry_engine<>::seed(seed_seq&)): Likewise.
	(seed_seq::seed_seq(std::initializer_list<>)): Likewise.
	(seed_seq::seed_seq(_InputIterator, _InputIterator)): Likewise.
	(seed_seq::generate(_RandomAccessIterator, _RandomAccessIterator)):
	Likewise.

	* include/bits/random.tcc
	(mersenne_twister_engine<>::seed(result_type)): Fix i usage in the
	formula (i mod n).
	(mersenne_twister_engine<>::seed(seed_seq&)): Use uint_least32_t
	as array type.
	(subtract_with_carry_engine<>::seed(seed_seq&)): Likewise; fix array
	size.
	(subtract_with_carry_engine<>::seed(result_type)): Fix; also use
	uint_least32_t.

From-SVN: r149074
2009-06-30 00:43:21 +00:00
GCC Administrator
15ab11cb46 Daily bump.
From-SVN: r149073
2009-06-30 00:16:37 +00:00
Tom Tromey
bbf531f021 dwarf2.h: Remove.
gcc
	* dwarf2.h: Remove.
	* Makefile.in (DWARF2_H): New variable.
	(except.o): Use it.
	(dwarf2out.o): Likewise.
	(dwarf2asm.o): Likewise.
	* config/i386/t-i386: Use DWARF2_H.
	* except.c: Include elf/dwarf2.h.
	* unwind-dw2.c: Include elf/dwarf2.h.
	* dwarf2out.c: Include elf/dwarf2.h.
	(dw_loc_descr_struct) <dw_loc_opc>: Now a bitfield.
	<dtprel>: New field.
	(dwarf_stack_op_name): Don't handle INTERNAL_DW_OP_tls_addr.
	(size_of_loc_descr): Likewise.
	(output_loc_operands_raw): Likewise.
	(output_loc_operands): Handle new dtprel field.
	(loc_checksum): Update.
	(loc_descriptor_from_tree_1) <VAR_DDECL>: Set dtprel field.
	* unwind-dw2-fde-glibc.c: Include elf/dwarf2.h.
	* unwind-dw2-fde.c: Include elf/dwarf2.h.
	* dwarf2asm.c: Include elf/dwarf2.h.
	* unwind-dw2-fde-darwin.c: Include elf/dwarf2.h.
	* config/mmix/mmix.c: Include elf/dwarf2.h.
	* config/rs6000/darwin-fallback.c: Include elf/dwarf2.h.
	* config/xtensa/unwind-dw2-xtensa.c: Include elf/dwarf2.h.
	* config/sh/sh.c: Include elf/dwarf2.h.
	* config/i386/i386.c: Include elf/dwarf2.h.
gcc/ada
	* raise-gcc.c: Include elf/dwarf2.h.
include
	* elf/dwarf2.h: New file.  Merged with gdb.

From-SVN: r149070
2009-06-30 00:02:10 +00:00
DJ Delorie
bae381358c * config/mep/mep.h (CPP_SPEC): Remove __cop macro.
From-SVN: r149069
2009-06-29 19:24:39 -04:00
DJ Delorie
e2491744cc extend.texi: Add MeP attributes and pragmas.
* doc/extend.texi: Add MeP attributes and pragmas.
* doc/invoke.text: Add MeP Options.
* doc/contrib.texi: Add MeP contribution.
* doc/md.texi: Add MeP constraints.
* doc/install.texi: Add MeP target.

From-SVN: r149068
2009-06-29 19:21:49 -04:00
Jason Merrill
2fcefcb2ad re PR c++/40274 (Revision 145566 caused ICE in tsubst, at cp/pt.c:9289)
PR c++/40274
	* error.c (dump_template_parms): Pass all args to
	count_non_default_template_args.
	(count_non_default_template_args): Pull out the inner ones.

From-SVN: r149067
2009-06-29 19:18:46 -04:00
Jason Merrill
8cc77ebed0 re PR c++/40274 (Revision 145566 caused ICE in tsubst, at cp/pt.c:9289)
PR c++/40274
	* error.c (dump_template_parms): Pass all args to
	count_non_default_template_args.
	(count_non_default_template_args): Pull out the inner ones.

From-SVN: r149066
2009-06-29 19:15:43 -04:00
Anatoly Sokolov
b52b174919 target.h (struct gcc_target): Add frame_pointer_required field.
* target.h (struct gcc_target): Add frame_pointer_required field.
	* target-def.h (TARGET_FRAME_POINTER_REQUIRED): New.
	(TARGET_INITIALIZER): Use TARGET_FRAME_POINTER_REQUIRED.
	* ira.c (setup_eliminable_regset): Use frame_pointer_required target
	hook.
	* reload1.c (update_eliminables): (Ditto.).
	* gcc/system.h (FRAME_POINTER_REQUIRED): Poison.
	* doc/tm.texi (FRAME_POINTER_REQUIRED): Revise documentation.
	(INITIAL_FRAME_POINTER_OFFSET): (Ditto.).

	* config/arc/arc.h (FRAME_POINTER_REQUIRED): Remove macro.

	* config/arm/arm.h (FRAME_POINTER_REQUIRED): Remove macro.
	* config/arm/arm.c (TARGET_FRAME_POINTER_REQUIRED): Define.
	(arm_frame_pointer_required): New function.

	* config/avr/avr.h (FRAME_POINTER_REQUIRED): Remove macro.
	* config/avr/avr.c (TARGET_FRAME_POINTER_REQUIRED): Define macro.
	(avr_frame_pointer_required_p): Declare as static.
	* config/avr/avr-protos.h (avr_frame_pointer_required_p): Remove.

	* config/bfin/bfin.h (FRAME_POINTER_REQUIRED): Remove macro.
	* config/bfin/bfin.c (TARGET_FRAME_POINTER_REQUIRED): Define.
	(bfin_frame_pointer_required): Make as static, change return type
	to bool.
	* config/bfin/bfin-protos.h (bfin_frame_pointer_required): Remove.

	* config/cris/cris.h (FRAME_POINTER_REQUIRED): Remove macro.
	* config/cris/cris.c (TARGET_FRAME_POINTER_REQUIRED): Define macro.
	(cris_frame_pointer_required): New function.
	
	* config/crx/crx.h (FRAME_POINTER_REQUIRED): Remove macro.

	* config/fr30/fr30.h (FRAME_POINTER_REQUIRED): Remove macro.
	* config/fr30/fr30.c (TARGET_FRAME_POINTER_REQUIRED): Define macro.
	(fr30_frame_pointer_required): New function.
	
	* config/frv/frv.h (FRAME_POINTER_REQUIRED): Remove macro.
	* config/frv/frv.c (TARGET_FRAME_POINTER_REQUIRED): Define.
	(frv_frame_pointer_required): Make as static, change return type
	to bool.
	* config/bfin/bfin-protos.h (frv_frame_pointer_required): Remove.

	* config/i386/i386.h (FRAME_POINTER_REQUIRED): Remove macro.
	* config/i386/i386.c (TARGET_FRAME_POINTER_REQUIRED): Define macro.
	(ix86_frame_pointer_required): Make as static, change return type to
	bool.
	* config/i386/i386-protos.h (ix86_frame_pointer_required): Remove.

	* config/m32c/m32c.h (FRAME_POINTER_REQUIRED): Remove macro.
	* config/m32c/m32c.c (TARGET_FRAME_POINTER_REQUIRED): Define macro.

	* config/m32r/m32r.h (FRAME_POINTER_REQUIRED): Remove macro.

	* config/mcore/mcore.h (CAN_ELIMINATE): Remove macro.
	
	* config/mep/mep.h (FRAME_POINTER_REQUIRED): Remove macro.

	* config/mips/mips.h (FRAME_POINTER_REQUIRED): Remove macro.
	* config/mips/mips.c (TARGET_FRAME_POINTER_REQUIRED): Define macro.
	(mips_frame_pointer_required): Make as static.
	* config/mips/mips-protos.h (mips_frame_pointer_required): Remove.
	
	* config/mmix/mmix.h (FRAME_POINTER_REQUIRED): Remove macro.
	* config/mmix/mmix.c (TARGET_FRAME_POINTER_REQUIRED): Define macro.
	(mmix_frame_pointer_required): Mew function.

	* config/moxie/moxie.h (FRAME_POINTER_REQUIRED): Remove macro.
	* config/moxie/moxie.c (TARGET_FRAME_POINTER_REQUIRED): Define macro.

	* config/pa/pa.h (FRAME_POINTER_REQUIRED): Remove macro.

	* config/score/score.h (FRAME_POINTER_REQUIRED): Remove macro.

	* config/sh/sh.h (CAN_ELIMINATE): Remove macro.

	* config/sparc/sparc.h (FRAME_POINTER_REQUIRED): Remove macro.
	(CAN_ELIMINATE): Redefine.
	* config/sparc/sparc.c (TARGET_FRAME_POINTER_REQUIRED): Define macro.
	(sparc_frame_pointer_required): New function.
	(sparc_can_eliminate): New function.
	* config/sparc/sparc-protos.h (sparc_can_eliminate): Declare.

	* config/vax/vax.h (FRAME_POINTER_REQUIRED): Remove macro.
	* config/vax/vax.c (TARGET_FRAME_POINTER_REQUIRED): Define.

	* config/xtensa/xtensa.h (FRAME_POINTER_REQUIRED): Remove macro.
	* config/xtensa/xtensa.c (TARGET_FRAME_POINTER_REQUIRED): Define.
	(xtensa_frame_pointer_required): Make as static, change return type
	to bool.
	* config/xtensa/xtensa-protos.h (xtensa_frame_pointer_required):
	Remove.

From-SVN: r149065
2009-06-30 02:51:04 +04:00
Olatunji Ruwase
78bf7bd0fc plugins.texi: Document PLUGIN_START_UNIT.
2009-06-29  Olatunji Ruwase   <tjruwase@google.com>

	* doc/plugins.texi: Document PLUGIN_START_UNIT.
	* toplev.c (compile_file): Call PLUGIN_START_UNIT.
	* gcc-plugin.h (PLUGIN_START_UNIT): Added new event.
	* plugin.c (plugin_event_name): Added PLUGIN_START_UNIT.
	(register_callback): Handle PLUGIN_START_UNIT.
	(invoke_plugin_callbacks): Handle PLUGIN_START_UNIT.

From-SVN: r149064
2009-06-29 21:17:40 +00:00
Tobias Burnus
20460eb948 re PR fortran/40580 (Add -fcheck=pointer with runtime check for using an unallocated argument)
2009-06-29  Tobias Burnus  <burnus@net-b.de>

        PR fortran/40580
        * trans-expr.c  (gfc_conv_procedure_call): Add -fcheck=pointer
        * check.
        * libgfortran.h: Add GFC_RTCHECK_POINTER.
        * invoke.texi (-fcheck): Document new pointer option.
        * options.c (gfc_handle_runtime_check_option): Handle pointer
        * option.

        * gfortran.texi (C Binding): Improve wording.
        * iso-c-binding.def: Remove obsolete comment.


2009-06-29  Tobias Burnus  <burnus@net-b.de>

        PR fortran/40580
        * pointer_check_1.f90: New test.
        * pointer_check_2.f90: New test.
        * pointer_check_3.f90: New test.
        * pointer_check_4.f90: New test.
        * pointer_check_5.f90: New test.

From-SVN: r149063
2009-06-29 23:02:17 +02:00
Paul Thomas
a61a36ab30 re PR fortran/40551 (Optimizations possible using gfc_full_array_ref_p)
2009-06-29  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/40551
	* dependency.h : Add second bool* argument to prototype of
	gfc_full_array_ref_p.
	* dependency.c (gfc_full_array_ref_p): If second argument is
	present, return true if last dimension of reference is an
	element or has unity stride.
	* trans-array.c : Add NULL second argument to references to
	gfc_full_array_ref_p.
	* trans-expr.c : The same, except for;
	(gfc_trans_arrayfunc_assign): Return fail if lhs reference
	is not a full array or a contiguous section.

2009-06-29  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/40551
	* gfortran.dg/func_assign_2.f90 : New test.

From-SVN: r149062
2009-06-29 20:38:59 +00:00
Eric Botcazou
96da806615 tree.c (process_call_operands): Propagate TREE_READONLY from the operands.
* tree.c (process_call_operands): Propagate TREE_READONLY from the
	operands.
	(PROCESS_ARG): Do not clear TREE_READONLY if CONSTANT_CLASS_P.
	(build3_stat): Propagate TREE_READONLY for COND_EXPR.

From-SVN: r149060
2009-06-29 18:02:41 +00:00
Andrew Haley
3ad1aba1f8 re PR java/40590 (namespace namespace broken in CNI)
2009-06-29  Andrew Haley  <aph@redhat.com>

	PR java/40590	
	* tools/gnu/classpath/tools/javah/FieldHelper.java (print):
	Use printName().
	* tools/gnu/classpath/tools/javah/MethodHelper.java (print):
	Use printName().
	* tools/gnu/classpath/tools/javah/CniStubPrinter.java (printDecl):
	Use printName().
	* tools/gnu/classpath/tools/javah/Keywords.java (words): Replace
	with keywords list from  gcc/java/mangle.c.
	* tools/gnu/classpath/tools/javah/ClassWrapper.java (printMethods):
	Don't pre-convert a C++ keyword.
	(print(CniPrintStream)): Call CniPrintStream.printName().
	(printContents): Likewise.
	* tools/gnu/classpath/tools/javah/CniPrintStream.java
	(getClassName): Don't call replaceAll("/", "::").
	(print(Type)): Add ""::" befor name, " *" after.  Use printName(), not
	print.
	(printName(PrintStream, String), printName(String), printlnName):
	New methods.
	(moveToPackage): Use printName().

2009-06-29  Andrew Haley  <aph@redhat.com>

	PR java/40590
	* java-tree.h (cxx_keyword_p): New declaration.
	* mangle_name.c (utf8_cmp): Move here from mangle.c.
	(cxx_keywords): Likewise.
	(cxx_keyword_p): Likewise.
	(MANGLE_CXX_KEYWORDS): New macro.
	(append_gpp_mangled_name): Use MANGLE_CXX_KEYWORDS.
	(append_gpp_mangled_name): Likewise.
	* mangle.c: Move code to mangle_name.c.
	(mangle_member_name): Don't call cxx_keyword_p.

From-SVN: r149059
2009-06-29 17:50:59 +00:00
Daniel Jacobowitz
356ecb1530 arm.h (REGISTER_MOVE_COST): Increase VFP register move cost.
* config/arm/arm.h (REGISTER_MOVE_COST): Increase VFP register
	move cost.

From-SVN: r149057
2009-06-29 16:55:56 +00:00
Uros Bizjak
897eef7b83 extend.texi (Additional Floating Types): __float128 is also supported on i386 targets.
* doc/extend.texi (Additional Floating Types): __float128 is also
	supported on i386 targets.

From-SVN: r149054
2009-06-29 18:40:07 +02:00
Richard Guenther
74d27244ec re PR middle-end/14187 ([tree-ssa] C restricted pointers are not properly implemented)
2009-06-29  Richard Guenther  <rguenther@suse.de>

	PR middle-end/14187
	* tree-ssa-alias.h (struct pt_solution): Add vars_contains_restrict
	flag.
	(pt_solutions_same_restrict_base): Declare.
	* tree-ssa-structalias.c (struct variable_info): Add is_restrict_var
	flag.
	(new_var_info): Initialize is_global_var properly for SSA_NAMEs.
	(make_constraint_from, make_copy_constraint): Move earlier.
	(make_constraint_from_heapvar): New function.
	(make_constraint_from_restrict): Likewise.
	(handle_lhs_call): Use it.
	(find_func_aliases): Use it to track conversions to restrict
	qualified pointers.
	(struct fieldoff): Add only_restrict_pointers flag.
	(push_fields_onto_fieldstack): Initialize it.
	(create_variable_info_for): Track global restrict qualified pointers.
	(intra_create_variable_infos): Use make_constraint_from_heapvar.
	Track restrict qualified pointer arguments.
	(set_uids_in_ptset): Use varinfo is_global_var flag.
	(find_what_var_points_to): Set the vars_contains_restrict flag.
	Always create the points-to solution for sets including restrict tags.
	(pt_solutions_same_restrict_base): New function.
	* tree-ssa-alias.c (ptr_derefs_may_alias_p): For two restrict
	qualified pointers use pt_solutions_same_restrict_base as
	additional source for disambiguation.

	* gcc.dg/tree-ssa/restrict-1.c: New testcase.
	* gcc.dg/tree-ssa/restrict-2.c: Likewise.
	* gcc.dg/tree-ssa/restrict-3.c: Likewise.
	* gcc.c-torture/execute/20090623-1.c: Likewise.
	* gcc.dg/tree-ssa/ldist-13.c: Likewise.
	* gcc.dg/tree-ssa/ldist-14.c: Likewise.

From-SVN: r149048
2009-06-29 12:23:21 +00:00