Commit Graph

78279 Commits

Author SHA1 Message Date
Jan Hubicka
2dee695bfc tree-pass.h (pass_build_cgraph_edges): Declare.
* tree-pass.h (pass_build_cgraph_edges): Declare.
	* cgraphunit.c (record_refernece): Move to cgraphbuild.c
	(visited_nodes): Remove.
	(cgraph_create_edges): Move to cgraphbuild.c; rename to
	build_cgrpah_edges; make visited_nodes local.
	(cgraph_process_new_functions): DO not call initialize_inline_failed.
	(record_references_in_initializer): Move to cgraphbuild.c
	(initialize_inline_failed, rebuild_cgraph_edges,
	pass_rebuild_cgraph_edges): Move to cgraphbuild.c.
	(verify_cgraph_node): Make visited_nodes local.
	(cgraph_analyze_function): Do not call cgraph_create_edges and
	initialize_inline_failed.
	(cgraph_expand_function): Do not call cgraph_lower_function;
	assert that function is already lowered.
	* Makefile.in (cgraphbuild.o): New.
	* passes.c (init_optimization_passes): Add pass_build_cgraph_edges
	at the end of lowering passes.

From-SVN: r120527
2007-01-06 17:58:40 +00:00
Steven Bosscher
dc1f5a1118 ifcvt.c (cond_move_convert_if_block): New function, code factored out from...
* ifcvt.c (cond_move_convert_if_block): New function, code
	factored out from...
	(cond_move_process_if_block): ...here.  Call the new function
	on the THEN and ELSE blocks.
	(merge_if_block): Do not copy global_live_at_end, merge_blocks
	already takes care of this.

From-SVN: r120524
2007-01-06 13:56:53 +00:00
Matthias Klose
472017b355 random (gamma_distribution): Fix typo in formula.
2007-01-06  Matthias Klose  <doko@debian.org>

        * include/tr1/random (gamma_distribution): Fix typo in formula.
        * docs/doxygen/user.cfg.in: Use package amsmath.

From-SVN: r120522
2007-01-06 09:56:37 +00:00
Lee Millward
fc40d49c4e re PR c++/19439 (Duplicate destructor accepted)
PR c++/19439
       * class.c (add_method): Don't wait until template
       instantiation time to complain about duplicate methods.

       * g++.dg/template/duplicate1.C: New test
       * g++.dg/template/memfriend6.C: Adjust error markers.

From-SVN: r120520
2007-01-06 01:06:04 +00:00
Andrew Pinski
70973361c1 re PR bootstrap/30385 (IMM ERROR while building stage2-libiberty)
2007-01-05  Andrew Pinski  <Andrew_Pinski@playstation.sony.com>

        PR tree-opt/30385
        * gcc.dg/torture/inline-1.c: New test.

From-SVN: r120519
2007-01-05 16:26:24 -08:00
GCC Administrator
05abfbf20b Daily bump.
From-SVN: r120517
2007-01-06 00:17:39 +00:00
Jerry DeLisle
779f397598 re PR libfortran/30162 (Document when sequential I/O with named pipes works)
2007-01-05  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libgfortran/30162
	* io/unix.c (fd_flush): Don't seek if file is not seekable, defined as
	s->file_length == -1.
	(fd_alloc_w_at): Do not adjust file_length if file is not seekable.
	(fd_seek): If not seekable, just return success.
	(fd_truncate): If not seekable, no need to truncate.  Return failure if
	seek fails and the stream is not a pipe.
	(fd_to_stream): Make test for non-seekable file more robust.

From-SVN: r120512
2007-01-06 00:14:38 +00:00
Manuel López-Ibáñez
59c0753dd3 re PR c/19978 (overflow in expression of constants should not cause multiple warnings)
2007-01-05  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>

	PR c/19978
	* tree.h (TREE_OVERFLOW_P): New.
	* c-typeck.c (parser_build_unary_op): Warn only if result
	overflowed and operands did not.
	(parser_build_binary_op): Likewise.
	(convert_for_assignment): Remove redundant overflow_warning.
	* c-common.c (overflow_warning): Don't check or set TREE_OVERFLOW.

cp/
	* semantics.c (finish_unary_op_expr): Warn only if result
	overflowed and operands did not.

testsuite/
	* gcc.dg/multiple-overflow-warn-1.c: New.
	* gcc.dg/multiple-overflow-warn-2.c: New.
	* gcc.dg/overflow-warn-6.c: New.
	* g++.dg/warn/multiple-overflow-warn-1.C: New.

From-SVN: r120505
2007-01-05 21:57:01 +00:00
Manuel López-Ibáñez
c2658540a3 c-typeck.c (store_init_value): Split over two lines to follow the GNU coding style.
2007-01-05  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>

	* c-typeck.c (store_init_value): Split over two lines to follow
	the GNU coding style.

From-SVN: r120504
2007-01-05 21:41:32 +00:00
Roger Sayle
a30187538a trans-expr.c (gfc_trans_assignment_1): New subroutine to scalarize array assignments split out from gfc_trans_assignment.
* trans-expr.c (gfc_trans_assignment_1): New subroutine to scalarize
	array assignments split out from gfc_trans_assignment.
	(gfc_trans_array_copy): New function to implement array to array
	copies via calls to __builtin_memcpy.
	(copyable_array_p): New helper function to identify an array of
	simple/POD types, that may be copied/assigned using memcpy.
	(gfc_trans_assignment): Use gfc_trans_array_copy to handle simple
	whole array assignments considered suitable by copyable_array_p.
	Invoke gfc_trans_assignment_1 to perform the fallback scalarization.

	* gfortran.dg/array_memcpy_1.f90: New test case.
	* gfortran.dg/array_memcpy_2.f90: Likewise.

From-SVN: r120503
2007-01-05 21:27:16 +00:00
Benjamin Kosnik
c573f4d5c6 c-cppbuiltin.c (c_cpp_builtins): __GXX_EXPERIMENTAL_CPP0X__ to __GXX_EXPERIMENTAL_CXX0X__.
2007-01-05  Benjamin Kosnik  <bkoz@redhat.com>

	* c-cppbuiltin.c (c_cpp_builtins): __GXX_EXPERIMENTAL_CPP0X__ to
	__GXX_EXPERIMENTAL_CXX0X__.
	* doc/cpp.texi: Same.

From-SVN: r120502
2007-01-05 21:24:16 +00:00
Roger Sayle
0f0707d106 trans-array.c (gfc_trans_array_constructor_value): Make the static const "data" array as TREE_READONLY.
* trans-array.c (gfc_trans_array_constructor_value): Make the
	static const "data" array as TREE_READONLY.
	* trans-stmt.c (gfc_trans_character_select): Likewise.

From-SVN: r120501
2007-01-05 21:23:05 +00:00
Roger Sayle
c96111c00d trans-array.c (gfc_conv_loop_setup): Test whether the loop stride is one...
* trans-array.c (gfc_conv_loop_setup):  Test whether the loop
	stride is one, to avoid fold_build2 introducing a useless
	NON_LVALUE_EXPR node.

From-SVN: r120500
2007-01-05 21:22:05 +00:00
Richard Guenther
afe1a916d7 re PR c++/27826 (ICE in copy_to_mode_reg)
2007-01-05  Richard Guenther  <rguenther@suse.de>

	PR middle-end/27826
	* tree.c (get_narrower): Do not construct COMPONENT_REFs
	with mismatched types.  Instead explicitly build a
	conversion NOP_EXPR.

	* g++.dg/opt/pr27826.C: New testcase.

From-SVN: r120498
2007-01-05 21:04:23 +00:00
Tobias Burnus
ee167bcb2d symbol.c (check_conflict): Fix error message.
2007-01-05  Tobias Burnus  <burnus@net-b.de>

       * symbol.c (check_conflict): Fix error message.

From-SVN: r120496
2007-01-05 21:26:00 +01:00
Daniel Jacobowitz
54fdc47452 Makefile.tpl (all-target): Correct @if conditional for target modules.
* Makefile.tpl (all-target): Correct @if conditional for target
	modules.
	* configure.in: Omit libiberty if building only target libgcc.
	* configure, Makefile.in: Regenerated.

From-SVN: r120494
2007-01-05 19:29:29 +00:00
Ian Lance Taylor
b3c6d2ea00 c-common.c (decl_with_nonnull_addr_p): New function.
./:	* c-common.c (decl_with_nonnull_addr_p): New function.
	(c_common_truthvalue_conversion): Call it.
	* c-typeck.c (build_binary_op): Likewise.
	* c-common.h (decl_with_nonnull_addr_p): Declare.
cp/:
	* typeck.c (build_binary_op): Warn about comparing a non-weak
	address to NULL.
testsuite/:
	* gcc.dg/Walways-true-1.c: New test.
	* gcc.dg/Walways-true-2.c: New test.
	* g++.dg/warn/Walways-true-1.C: New test.
	* g++.dg/warn/Walways-true-2.C: New test.

From-SVN: r120493
2007-01-05 19:05:46 +00:00
Daniel Jacobowitz
97af925ba7 * Makefile.in (install): Handle multilibs.
From-SVN: r120492
2007-01-05 18:51:05 +00:00
Jakub Jelinek
698ac9345a re PR c/30360 (Complex divide bug)
PR c/30360
	* libgcc2.c (__divdc3): Compare c and d against 0.0 instead of
	denom against 0.0.

	* gcc.dg/pr30360.c: New test.

From-SVN: r120486
2007-01-05 16:49:05 +01:00
Paul Thomas
2220652d3f re PR fortran/23232 ([4.1 only] DATA implied DO variables)
2007-01-05  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/23232
	* decl.c (gfc_in_match_data, gfc_set_in_match_data): New
	functions to signal that a DATA statement is being matched.
	(gfc_match_data): Call gfc_set_in_match_data on entry and on
	exit.
	* gfortran.h : Add prototypes for above.
	* expr.c (check_init_expr): Avoid check on parameter or
	variable if gfc_in_match_data is true.
	(gfc_match_init_expr): Do not call error on non-reduction of
	expression if gfc_in_match_data is true.

	PR fortran/27996
	PR fortran/27998
	* decl.c (gfc_set_constant_character_len): Add boolean arg to
	flag array constructor resolution.  Warn if string is being
	truncated.  Standard dependent error if string is padded. Set
	new arg to false for all three calls to
	gfc_set_constant_character_len.
	* match.h : Add boolean arg to prototype for
	gfc_set_constant_character_len.
	* gfortran.h : Add warn_character_truncation to gfc_options.
	* options.c (set_Wall): Set warn_character_truncation if -Wall
	is set.
	* resolve.c (resolve_code): Warn if rhs string in character
	assignment has to be truncated.
	* array.c (gfc_resolve_character_array_constructor): Set new
	argument to true for call to gfc_set_constant_character_len.

2007-01-05  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/23232
	* gfortran.dg/data_implied_do_1.f90: New test.

	PR fortran/27996
	PR fortran/27998
	* gfortran.dg/char_length_1.f90: New test.

From-SVN: r120485
2007-01-05 14:45:20 +00:00
Joel Brobecker
4b322f430a install.texi (Final install): Document the fact that the GNAT runtime should not be stripped.
* doc/install.texi (Final install): Document the fact that
        the GNAT runtime should not be stripped.

From-SVN: r120484
2007-01-05 14:40:05 +00:00
Douglas Gregor
3d761c462a pt.c (tsubst): Propagate the need for structural equality checks when...
2007-01-04  Douglas Gregor  <doug.gregor@gmail.com>

	* pt.c (tsubst): Propagate the need for structural equality checks
	when reducing the level of template parameters.

From-SVN: r120483
2007-01-05 14:16:48 +00:00
Richard Biener
a4f77ff7d3 re PR middle-end/28116 (ICE when building konverter with gcc-4.1 with -O3 [RSO])
2007-01-05  Richard Guenther  <rguenther@suse.de>

	PR middle-end/28116
	* g++.dg/opt/pr28116.C: New testcase.

From-SVN: r120482
2007-01-05 14:00:46 +00:00
Jan Hubicka
9477eb38c6 tree-inline.c (fold_marked_statements): Update operand caches and EH after folding
* tree-inline.c (fold_marked_statements): Update operand caches
	and EH after folding

From-SVN: r120477
2007-01-05 12:18:21 +00:00
Tobias Burnus
f17facacf2 re PR fortran/29624 (Fortran 2003: Support intent for pointers)
fortran/
2007-01-05  Tobias Burnus  <burnus@net-b.de>

        PR fortran/29624
        * interface.c (compare_parameter_intent): New function.
          (check_intents): Support pointer intents.
        * symbol.c (check_conflict): Support pointer intents,
          better conflict_std message.
        * expr.c (gfc_check_assign,gfc_check_pointer_assign):
          Support pointer intents.
        * resolve.c (resolve_deallocate_expr,resolve_allocate_expr):
          Support pointer intents.

testsuite/
2006-01-05  Tobias Burnus  <burnus@net-b.de>

        PR fortran/29624
        * gfortran.dg/alloc_alloc_expr_1.f90: Add check for
          invalid deallocate.
        * gfortran.dg/allocatable_dummy_2.f90: Update dg-error.
        * gfortran.dg/protected_4.f90: Add pointer intent check.
        * gfortran.dg/protected_6.f90: Add pointer intent check.
        * gfortran.dg/pointer_intent_1.f90: New test.
        * gfortran.dg/pointer_intent_2.f90: New test.
        * gfortran.dg/pointer_intent_3.f90: New test.

From-SVN: r120472
2007-01-05 10:08:37 +01:00
Gerald Pfeifer
150f069c1c crontab: Spread snapshots more evenly throughout the week, and in "ascending" order.
* crontab: Spread snapshots more evenly throughout the week, and
	in "ascending" order.  Build all at the same time of the day.

From-SVN: r120471
2007-01-05 08:34:18 +00:00
Ian Lance Taylor
dfd0a3de8f * c-common.c (check_function_nonnull): Whitespace fix.
From-SVN: r120470
2007-01-05 06:16:56 +00:00
Jan Hubicka
59e504989c tree-optimize.c (execute_fixup_cfg): Correct previously mistakely comitted older version of patch.
* tree-optimize.c (execute_fixup_cfg): Correct previously mistakely
	comitted older version of patch.
	(pass_fixup_cfg): Add TODOs to verify flow and statements, dump
	function, celanup cfg and collect garbage.

From-SVN: r120469
2007-01-05 02:00:56 +00:00
Brooks Moses
c79441520f re PR fortran/30371 (kill suboutine accepts (invalid) array arguments.)
PR 30371
* check.c (gfc_check_kill_sub): Add checks for non-scalar
arguments.

From-SVN: r120468
2007-01-04 17:40:06 -08:00
Brooks Moses
ea8dda63be intrinsic.texi: Minor cleanup, reflowing overlong paragraphs, and correcting whitespace.
* intrinsic.texi: Minor cleanup, reflowing overlong
paragraphs, and correcting whitespace.

From-SVN: r120467
2007-01-04 17:26:27 -08:00
Brooks Moses
bc5b7642eb intrinsic.texi (LBOUND): Add documentation.
* intrinsic.texi (LBOUND): Add documentation.
(LGE): Add documentation.
(LGT): Add documentation.
(LINK): Add documentation.
(LLE): Add documentation.
(LLT): Add documentation.
(LNBLNK): Add documentation.
(UBOUND): Add documentation.
(UNLINK): Add documentation.

From-SVN: r120466
2007-01-04 16:42:04 -08:00
Mike Stump
a87948f7fb Makefile.in (mostlyclean): Don't remove libgcc anymore.
* Makefile.in (mostlyclean): Don't remove libgcc anymore.
	(clean): Likewise.

From-SVN: r120465
2007-01-05 00:38:22 +00:00
GCC Administrator
081b57d3c1 Daily bump.
From-SVN: r120463
2007-01-05 00:17:36 +00:00
Ben Elliston
46bbeb652c Revert revision 120457.
From-SVN: r120458
2007-01-05 11:03:35 +11:00
Ben Elliston
93c5d31c00 strstream.cc (strstreambuf::seekoff): Add parentheses around truth expression to eliminate a new warning from g++.
* src/strstream.cc (strstreambuf::seekoff): Add parentheses around
	truth expression to eliminate a new warning from g++.

From-SVN: r120457
2007-01-05 10:43:14 +11:00
Brooks Moses
b0088af7b1 * Makefile.in: Added .PHONY entry for documentation targets.
From-SVN: r120456
2007-01-04 15:43:11 -08:00
Brooks Moses
e0a9456adf * Makefile.in: Add empty info, html, dvi, pdf targets.
From-SVN: r120455
2007-01-04 15:27:33 -08:00
Eric Christopher
e4b6bec2f1 libgcc2.c (__bswapsi2): Use SItype.
2007-01-04  Eric Christopher  <echristo@apple.com>

	    * libgcc2.c (__bswapsi2): Use SItype.
	      (__bswapdi2): Use DItype.
	    * libgcc2.h: Update for above.

From-SVN: r120454
2007-01-04 23:16:34 +00:00
Paul Brook
d6c397b0ff arm.md (arm_mulsi3, [...]): Make conditional on !arm_arch6.
2007-01-04  Paul Brook  <paul@codesourcery.com>

	* config/arm/arm.md (arm_mulsi3, thumb_mulsi3, mulsi3_compare0,
	mulsi_compare0_scratch, mulsi3addsi, mulsi3addsi_compare0,
	mulsi3addsi_compare0_scratch, mulsidi3adddi, mulsidi3,
	umulsidi3, umulsidi3adddi, smulsi3_highpart,
	umulsi3_highpart): Make conditional on !arm_arch6.
	(arm_mulsi3_v6, thumb_mulsi3_v6, mulsi3_compare0_v6,
	mulsi_compare0_scratch_v6, mulsi3addsi_v6, mulsi3addsi_compare0_v6,
	mulsi3addsi_compare0_scratch_v6, mulsidi3adddi_v6, mulsidi3_v6,
	umulsidi3_v6, umulsidi3adddi_v6, smulsi3_highpart_v6,
	umulsi3_highpart_v6): New insns.

From-SVN: r120453
2007-01-04 23:13:55 +00:00
Brooks Moses
6d413586e0 intrinsic.texi (IAND): Clarify argument specifications.
* intrinsic.texi (IAND): Clarify argument specifications.
(IBCLR): Add documentation.
(IBITS): Add documentation.
(IBSET): Add documentation.
(IEOR): Add documentation.
(IERRNO): Add documentation.
(INDEX): Add documentation.
(IOR): Add documentation.
(ISHFT): Add documentation.
(ISHFTC): Add documentation.
(KILL): Add documentation.
(LEN_TRIM): Add documentation.

From-SVN: r120452
2007-01-04 15:00:41 -08:00
Roger Sayle
bd7e4636d9 fold-const.c (fold_convert): When casting an expression to void...
* fold-const.c (fold_convert): When casting an expression to void,
	fold_ignored_result may discover a GIMPLE_MODIFY_STMT which doesn't
	have a type.  Instead of attempting to build a NOP_EXPR, return
	these "special" trees directly.

From-SVN: r120451
2007-01-04 23:00:00 +00:00
Mike Stump
7fd453b4a2 Makefile.in (MAKEINFO): Remove.
* Makefile.in (MAKEINFO): Remove.
	(PERL): Likewise.

From-SVN: r120450
2007-01-04 21:54:45 +00:00
Paolo Bonzini
14e8fc8b03 configure.ac: Add GCC_TOPLEV_SUBDIRS.
2007-01-04  Paolo Bonzini  <bonzini@gnu.org>

	* configure.ac: Add GCC_TOPLEV_SUBDIRS.
	* configure: Regenerate.
	* Makefile.in (host_subdir): Substitute it.
	(gcc_objdir): Use it.

From-SVN: r120449
2007-01-04 18:12:08 +00:00
Brooks Moses
3ab7b3def2 re PR fortran/30235 ([4.1 only] missing alternate return argument with explicit interface causes segfault)
fortran/
	PR 30235
	* interface.c (compare_actual_formal): check for
	alternate returns when iterating over non-present
	arguments.

testsuite/
	PR 30235
	* gfortran.dg/altreturn_2.f90: new test.

From-SVN: r120447
2007-01-04 09:30:37 -08:00
Brooks Moses
5f9a37a648 * invoke.texi: Update manpage copyright to include 2007.
From-SVN: r120445
2007-01-04 09:09:34 -08:00
Brooks Moses
2553e4e073 gfortran.texi: Update copyright to include 2007.
* gfortran.texi: Update copyright to include 2007.
* intrinsic.texi: Update copyright to include 2007.
* invoke.texi: Update copyright to include 2007.

From-SVN: r120444
2007-01-04 08:52:36 -08:00
Daniel Jacobowitz
1555beba2f * config.host (ia64*-*-linux*): Set tmake_file.
From-SVN: r120443
2007-01-04 16:52:02 +00:00
Joseph Myers
762c919f44 rs6000.c (rs6000_rtx_costs): Make adjustment for MULT inside MINUS as either argument.
* config/rs6000/rs6000.c (rs6000_rtx_costs): Make adjustment for
	MULT inside MINUS as either argument.  Use rs6000_cost->dmul -
	rs6000_cost->fp not 0 as adjustment for outer NEG.

From-SVN: r120442
2007-01-04 16:36:57 +00:00
Tom Tromey
705e2d28a1 re PR preprocessor/28165 (_Pragma GCC system_header broken)
libcpp
	PR preprocessor/28165:
	* internal.h (cpp_in_primary_file): New function.
	* directives.c (do_include_next): Use cpp_in_primary_file.
	(do_pragma_once): Likewise.
	(do_pragma_system_header): Likewise.
gcc/testsuite
	PR preprocessor/28165:
	* gcc.dg/cpp/pr28165.c: New file.

From-SVN: r120441
2007-01-04 15:32:26 +00:00
Daniel Jacobowitz
79e6eaeb8f * Makefile.in (version): Define.
From-SVN: r120440
2007-01-04 14:20:15 +00:00