Commit Graph

52343 Commits

Author SHA1 Message Date
Zdenek Dvorak
f34fa464bb re PR tree-optimization/17474 (Compiling at -01 yields different results)
PR tree-optimization/17474
	* tree-ssa-ccp.c (maybe_fold_offset_to_component_ref): Determine
	offset of the field correctly when DECL_FIELD_BIT_OFFSET != 0.

From-SVN: r88095
2004-09-25 11:06:43 +00:00
Jan Hubicka
17b2e29d70 30040909-1.c: New test.
* compile/30040909-1.c: New test.
	* compile/30040907-1.c: New test.

From-SVN: r88094
2004-09-25 10:54:16 +00:00
Jan Hubicka
bbd236a198 predict.c (counts_to_freqs): Make glolbal.
* predict.c (counts_to_freqs): Make glolbal.
	* predict.h (counts_to_freqa): Declare.
	* profile.c (compute_branch_probabilities): Compute frequencies
	* tree-profile.c (do_tree_profiling): Refine conditional on when
	tree profiling pass is needed.

From-SVN: r88093
2004-09-25 10:06:18 +00:00
Jan Hubicka
70f3cc30aa passes.c (rest_of_handle_cfg): Disable const/pure function detection when doing tree based profiling.
* passes.c (rest_of_handle_cfg): Disable const/pure function
	detection when doing tree based profiling.

	* tree-inline.c (expand_call_inline): Fix incorrectly reversed
	conditional.

From-SVN: r88092
2004-09-25 10:05:09 +00:00
Richard Sandiford
b11a9d5f3f mips.h (struct mips_args): Clarify comments.
* config/mips/mips.h (struct mips_args): Clarify comments.
	* config/mips/mips.c (struct mips_arg_info): Likewise.
	(mips_arg_info): Don't allow fpr_p to affect the register or
	stack alignment.  Remove o64 silliness.
	(function_arg): Deal with the o32 float,float case specially.

From-SVN: r88090
2004-09-25 07:42:43 +00:00
Richard Sandiford
03eccdc8ff * config/mips/mips.md (loadx, storex): Define for V2SF.
From-SVN: r88089
2004-09-25 06:35:21 +00:00
Ulrich Weigand
ef44a6ff23 s390-protos.h (s390_back_chain_rtx): Add prototype.
* config/s390/s390-protos.h (s390_back_chain_rtx): Add prototype.
	* config/s390/s390.c (s390_back_chain_rtx): New function.
	* config/s390/s390.md ("allocate_stack"): Use s390_back_chain_rtx.
	Call anti_adjust_stack.
	("restore_stack_block"): Use s390_back_chain_rtx.  Enable pattern
	only if compiling with back chain.
	("save_stack_nonlocal", "restore_stack_nonlocal"): Save/restore
	back chain only if back chain enabled.  Use s390_back_chain_rtx.

From-SVN: r88087
2004-09-25 00:16:56 +00:00
GCC Administrator
f921af3008 Daily bump.
From-SVN: r88085
2004-09-25 00:16:20 +00:00
Joseph Myers
60ae6360d7 trouble.texi: Remove obsolete information.
* doc/trouble.texi: Remove obsolete information.  Update
	information on how to regenerate fixincluded headers.

From-SVN: r88082
2004-09-25 01:03:17 +01:00
Joseph Myers
b99cfc2273 re PR c/12951 (-Wno-error-implicit-function-declaration not recognized)
PR c/12951
	* doc/invoke.texi: Document that
	-Wno-error-implicit-function-declaration is not accepted.

From-SVN: r88080
2004-09-25 00:18:01 +01:00
Ziemowit Laski
14214f0951 objc-act.c (init_objc_symtab, [...]): When initializing 'long' fields, ensure that the initializer value is also 'long'.
[gcc/objc/ChangeLog]
2004-09-24  Ziemowit Laski  <zlaski@apple.com>

	* objc-act.c (init_objc_symtab, init_module_descriptor,
	build_shared_structure_initializer): When initializing 'long'
	fields, ensure that the initializer value is also 'long'.

From-SVN: r88079
2004-09-24 23:15:33 +00:00
Richard Henderson
e2ea71eaa0 alpha.h (UNITS_PER_SIMD_WORD): New.
* config/alpha/alpha.h (UNITS_PER_SIMD_WORD): New.
        * config/alpha/alpha.c (alpha_vector_mode_supported_p): Don't depend
        on TARGET_MAX.
        (alpha_expand_mov): Allow unaligned vectors.
        (alpha_expand_unaligned_store): Use CONST0_RTX.
        (TARGET_VECTORIZE_MISALIGNED_MEM_OK): New.

From-SVN: r88078
2004-09-24 15:57:08 -07:00
Jeff Law
b8545fbfe5 tree-ssa-dom.c (dom_opt_finalize_block): Fix violation of strict aliasing rules.
* tree-ssa-dom.c (dom_opt_finalize_block): Fix violation of strict
	aliasing rules.
	(simplify_cond_and_lookup_avail_expr): Likewise.

From-SVN: r88077
2004-09-24 16:31:13 -06:00
Zack Weinberg
dd3017e4e5 objc-act.c: Change annotate_with_locus to SET_EXPR_LOCATION throughout.
objc:
	* objc-act.c: Change annotate_with_locus to SET_EXPR_LOCATION
	throughout.
	(objc_init): Only set input_line to 0 #ifndef USE_MAPPED_LOCATION.
	(build_selector_translation_table): Use %J in diagnostic
	instead of diddling input_line.  Fix spelling.
testsuite:
	* objc.dg/proto-lossage-4.m: Use long instead of int to avoid
	extra diagnostics on targets with 64-bit pointers.
	* objc.dg/selector-1.m: Adjust dg-warning regexp.

From-SVN: r88072
2004-09-24 21:38:08 +00:00
Joseph Myers
2fbebc713b re PR c/12802 (-fms-extensions documentation problem)
PR c/12802
	* doc/extend.texi (Unnamed Fields): Remove "." from end of long
	title.  Document interaction with -fms-extensions.
	* doc/invoke.texi (-fms-extensions): Refer to Unnamed Fields
	section.

From-SVN: r88071
2004-09-24 21:29:55 +01:00
Joseph Myers
2e9522f436 re PR c/12713 (Document interaction of attribute noreturn and longjmp)
PR c/12713
	* doc/extend.texi: Document interaction of attribute noreturn and
	longjmp.

From-SVN: r88070
2004-09-24 21:27:25 +01:00
Richard Henderson
41bf2a8b17 re PR middle-end/17503 (quadratic behaviour in invalid_mode_change_p)
PR rtl-opt/17503
        * regclass.c (subregs_of_mode): Turn into an htab.  Make static.
        (som_hash, som_eq): New.
        (init_subregs_of_mode, record_subregs_of_mode): New.
        (cannot_change_mode_set_regs): Rewrite for htab implementation.
        (invalid_mode_change_p): Likewise.
        * combine.c (gen_lowpart_for_combine): Use record_subregs_of_mode.
        * flow.c (mark_used_regs): Likewise.
        (life_analysis): Use init_subregs_of_mode.
        * regs.h (subregs_of_mode): Remove.
        * rtl.h (init_subregs_of_mode, record_subregs_of_mode): Declare.

From-SVN: r88067
2004-09-24 12:47:05 -07:00
Andrew Pinski
84f7a28c9b tree-ssa-phiopt.c (conditional_replacement): Use the correct type with the copy of the conditional.
2004-09-24  Andrew Pinski  <pinskia@physics.uc.edu>

        * tree-ssa-phiopt.c (conditional_replacement): Use the correct
        type with the copy of the conditional.

From-SVN: r88065
2004-09-24 11:16:11 -07:00
Andrew Pinski
532c67ca93 re PR tree-optimization/16954 (ICE in get_tmt_for with IMA and incomplete structs)
2004-09-24  Andrew Pinski  <pinskia@physics.uc.edu>

        PR tree-opt/16954
        * tree-ssa-copyrename.c (copy_rename_partition_coalesce):
        Prevent renaming if the aliasing sets of the type which the
        pointer points to are different.

From-SVN: r88064
2004-09-24 10:38:36 -07:00
Joseph Myers
085e33aa0a re PR c/17188 (struct Foo { } redefinition)
PR c/17188
	* c-decl.c (diagnose_mismatched_decls): Check for duplicate
	declarations of enumerators.
	(start_struct): Check TYPE_SIZE rather than TYPE_FIELDS to check
	for redefinition.  Check for nested redefinition.
	(finish_struct): Don't check for nested redefinition.
	(start_enum): Check for nested redefinition.

testsuite:
	* gcc.dg/nested-redef-1.c, gcc.dg/pr17188-1.c: New tests.
	* gcc.dg/decl-3.c: Adjust expected message.

From-SVN: r88063
2004-09-24 18:22:20 +01:00
Devang Patel
a2159c4c35 tree-if-conv.c (tree_if_convert_cond_expr0): Create temp.
* tree-if-conv.c (tree_if_convert_cond_expr0: Create temp. variable
       only when necesssary.
       (combine_blocks): Combine loop header and exit block.

From-SVN: r88062
2004-09-24 10:11:56 -07:00
Tobias Schlüter
c0c07d7b82 re PR fortran/17615 (Internal compiler error using interface procedures)
fortran/
PR fortran/17615
* trans-expr.c (gfc_trans_arrayfunc_assign): Look at resolved
function to determine return type.

testsuite/
PR fortran/17615
* gfortran.dg/pr17615.f90: New test.

From-SVN: r88061
2004-09-24 19:06:57 +02:00
Joseph Myers
3d15015ded * es.po: Update.
From-SVN: r88057
2004-09-24 17:58:23 +01:00
Tobias Schlüter
2124d608c6 intrinsic.h (gfc_resolve_getcwd): Update prototype.
* intrinsic.h (gfc_resolve_getcwd): Update prototype.
* iresolve.c (gfc_resolve_getcwd): Add second argument to function.

From-SVN: r88055
2004-09-24 18:51:25 +02:00
Tobias Schlüter
206fb0a722 trans-types.c (gfc_return_by_reference): Remove superfluous assertion.
* trans-types.c (gfc_return_by_reference): Remove superfluous
assertion.

From-SVN: r88051
2004-09-24 18:26:47 +02:00
Andrew MacLeod
2c55ffb2af Test case for PR 17517
From-SVN: r88050
2004-09-24 16:22:19 +00:00
Tom Tromey
8d481c2e58 re PR java/15656 (ICE segfault in lex.c)
PR java/15656:
	* parse.y (class_instance_creation_expression): Set `$$' to NULL
	in error parts of rule.
	(unary_expression): Don't call error_if_numeric_overflow when $1
	is NULL.

From-SVN: r88048
2004-09-24 15:44:35 +00:00
Tom Tromey
90424847a6 re PR java/16789 (ICE in force_evaluation_order() on valid code)
PR java/16789:
	* parse.y (resolve_qualified_expression_name): Set
	CAN_COMPLETE_NORMALLY on first call when chaining static calls.
	* expr.c (force_evaluation_order): Check for empty argument list
	after stripping COMPOUND_EXPR.

From-SVN: r88045
2004-09-24 15:39:17 +00:00
Paolo Bonzini
43c2a69adf parser.c (cp_parser_expression_stack): Clarify why it is an array of NUM_PREC_VALUES elements.
2004-09-24  Paolo Bonzini  <bonzini@gnu.org>

	* parser.c (cp_parser_expression_stack): Clarify why it is
	an array of NUM_PREC_VALUES elements.
	(cp_parser_binary_expression): Clarify why we do not need to
	handle stack overflow.

From-SVN: r88042
2004-09-24 15:23:06 +00:00
Paolo Bonzini
55e74277ea hooks.c (hook_tree_tree_bool_null): New.
2004-09-24  Paolo Bonzini  <bonzini@gnu.org>

	* hooks.c (hook_tree_tree_bool_null): New.
	* hooks.h (hook_tree_tree_bool_null): Declare it.
	* target-def.c (TARGET_FOLD_BUILTIN): Point to it.
	* targhooks.c (default_fold_builtin): Remove.
	* targhooks.h (default_fold_builtin): Remove.

From-SVN: r88040
2004-09-24 15:13:53 +00:00
Zdenek Dvorak
30d3fc60ed re PR rtl-optimization/17625 (ICE on legal (doloop creates shared RTL))
PR rtl-optimization/17625
	* loop-doloop.c (doloop_modify): Unshare rtl before emitting it.

From-SVN: r88038
2004-09-24 14:36:28 +00:00
Nathan Sidwell
5cf447dbf1 re PR c++/16889 (ambiguity is not detected)
cp:
	PR c++/16889
	* search.c (lookup_field_queue_p): Correct check for hidden base.

	* search.c (bfs_walk): Remove.
	(lookup_member): Use dfs_walk_real.
	(dfs_walk_real): Move and adjust documentation from bfs_walk.
testsuite:
	PR c++/16889
	* g++.dg/lookup/ambig3.C: New.

From-SVN: r88037
2004-09-24 14:04:58 +00:00
Andrew Haley
c5466b25b4 re PR java/16927 (assert statement fails at -O1 and above)
2004-09-23  Andrew Haley  <aph@redhat.com>

        PR java/16927:
        * parse.y (java_complete_lhs): Call patch_string() on Operand 1 of
        COND_EXPRs.

From-SVN: r88036
2004-09-24 13:57:08 +00:00
Andrew Pinski
4827be7a8d re PR tree-optimization/17624 (ICE: SSA corruption (another one))
2004-09-24  Andrew Pinski  <pinskia@physics.uc.edu>

        PR tree-opt/17624
        * g++.dg/opt/pr17624.C: New test.

From-SVN: r88034
2004-09-24 06:29:25 -07:00
Andrew Pinski
54e075fe1e re PR tree-optimization/17624 (ICE: SSA corruption (another one))
2004-09-24  Andrew Pinski  <pinskia@physics.uc.edu>

        PR tree-opt/17624
        * tree-ssa-forwprop.c (record_single_argument_cond_exprs):
        Reject if any of the operands occur in an abnormal PHI.

From-SVN: r88032
2004-09-24 06:26:29 -07:00
Andreas Schwab
4a198dea28 tree-ssa-dom.c (record_range): Fix violation of strict aliasing rules.
* tree-ssa-dom.c (record_range): Fix violation of strict aliasing
	rules.

From-SVN: r88029
2004-09-24 12:17:41 +00:00
Steven Bosscher
a834e70bc5 fix spaces/tabs again
From-SVN: r88017
2004-09-24 07:57:28 +00:00
Eric Botcazou
5d865dace2 config.gcc (sparc64-*-solaris2*): Include sparc/sol2-gas.h if the GNU assembler is used.
* config.gcc (sparc64-*-solaris2*): Include sparc/sol2-gas.h
	if the GNU assembler is used.
	(sparc-*-solaris2*): Likewise.
	* dbxout.c (NO_DBX_BNSYM_ENSYM): Default to zero.
	(dbxout_function_end): Protect N_ENSYM with it.
	(dbxout_begin_prologue): Protect N_BNSYM with it.
	* doc/tm.texi (NO_DBX_BNSYM_ENSYM): Document it.
	* config/sparc/sol2.h (NO_DBX_BNSYM_ENSYM): Define to 1.
	* config/sparc/sol2-gas.h: New file.

From-SVN: r88013
2004-09-24 06:17:07 +00:00
H.J. Lu
4c4a5bbc40 re PR bootstrap/17369 ([ia64] Bootstrap failure with binutils-2.15.90.0.1.1)
2004-09-23  H.J. Lu  <hongjiu.lu@intel.com>

	PR bootstrap/17369
	* Makefile.tpl (REALLY_SET_LIB_PATH): Add @SET_GCC_LIB_PATH@.
	(HOST_EXPORTS]): Add @SET_GCC_LIB_PATH@. Set and export
	SET_GCC_LIB_PATH_CMD.
	(BASE_TARGET_EXPORTS): Likewise.
	* Makefile.in: Regenerated.

	* configure.in (SET_GCC_LIB_PATH): Set and substitute.
	* configure: Regenerated.

config/

2004-09-23  H.J. Lu  <hongjiu.lu@intel.com>

	PR bootstrap/17369
	* gcc-lib-path.m4: New file.

gcc/

2004-09-23  H.J. Lu  <hongjiu.lu@intel.com>

	PR bootstrap/17369
	* Makefile.in (@set_gcc_lib_path@): Added.

	* configure.ac: Include ../config/gcc-lib-path.m4. Use
	TL_AC_GNU_MAKE_GCC_LIB_PATH.
	* configure: Regenerated.

From-SVN: r87999
2004-09-23 17:37:08 -07:00
GCC Administrator
57ce4e0dce Daily bump.
From-SVN: r87994
2004-09-24 00:16:19 +00:00
Joseph Myers
ff80e49f2d re PR c/6980 (-Wbad-function-cast gives bogus warning for (double) rand())
PR c/6980
	* c-typeck.c (build_c_cast): Improve wording of
	-Wbad-function-cast diagnostic.

testsuite:
	* gcc.dg/Wbad-function-cast-1.c: New test.

From-SVN: r87991
2004-09-24 01:08:37 +01:00
Hans-Peter Nilsson
e758023dab re PR target/17626 (Recent peephole2:s may cause internal compiler errors)
PR target/17626
	* config/cris/cris.md (moverside, movemside): Rename variable
	"reg" to "otherop".  To generate canonical RTX, check that otherop
	isn't constant instead of checking that operand 1 is a register.

From-SVN: r87988
2004-09-23 21:59:13 +00:00
Fariborz Jahanian
3d295b3a83 Ignore -ansi -pedantic-errors option coming from dejagnu.
From-SVN: r87987
2004-09-23 21:50:36 +00:00
Zack Weinberg
2cfe82fe43 decl.c (grokfndecl): If ::main is found not to return int, correct it after issuing a diagnostic.
gcc/cp:
	* decl.c (grokfndecl): If ::main is found not to return int,
	correct it after issuing a diagnostic.
	(grokdeclarator): If the incoming type was error_mark_node, do
	not complain about declaring something with no type.
	(start_function): Change check for ::main not returning int to
	an assertion, as grokfndecl now catches this when the user did it.
	* init.c (perform_member_init, sort_mem_initializers)
	(emit_mem_initializers): Make most diagnostics be issued on
	the line of current_function_decl, not whatever the current
	input line is.
	* parser.c (cp_lexer_peek_token_emit_debug_info): Surround
	definition and declaration with #ifdef ENABLE_CHECKING.
	Avoid unnecessary use of fprintf.
	(cp_lexer_print_token, cp_lexer_debug_stream): Adjust stub
	definitions to avoid warnings.
	(cp_lexer_new_main): Add assertion that first token is not a
	padding token.
	(cp_lexer_new_from_token_array): Fold into ...
	(cp_lexer_new_from_tokens): ... here.  Add assertion that
	first token is not a padding token.
	(cp_lexer_set_source_position_from_token): Move nearer to callers.
	Remove unused lexer argument.
	(cp_lexer_peek_token): Just print debugging report (if enabled)
	and return lexer->next_token.
	(cp_lexer_skip_purged_tokens): Delete.
	(cp_lexer_next_token_is, cp_lexer_next_token_is_not): Make
	inline, simplify bodies.
	(cp_lexer_peek_nth_token): Add debugging report a la
	cp_lexer_peek_token.
	(cp_lexer_consume_token): Correct commentary.  Advance over
	purged tokens here.  Set current source position here, from
	token to be returned.  Avoid unnecessary use of fprintf.
	(cp_lexer_purge_token): Advance next_token pointer over this and
	subsequent purged tokens.
	(cp_parser_error): Adjust source position to that of the
	peeked token.
	(cp_parser_push_lexer_for_tokens, cp_parser_pop_lexer): New functions.
	(cp_parser_string_literal): Remove some excessive cleverness.
	(cp_parser_enum_specifier): Call start_enum before consuming
	the opening brace.
	(cp_parser_member_declaration): Make the "extra semicolon"
	diagnostic consistently-worded with the other place this is
	diagnosed.  Explicitly set the diagnostic location to the
	location of the offending semicolon.
	(cp_parser_enclosed_template_argument_list): Use %</%> quoting
	in diagnostics.  Do not use cp_parser_require.  Set location
	of diagnostics about improper use of '>>' to location of
	offending token.
	(cp_parser_late_parsing_for_member):
	Use cp_parser_push_lexer_for_tokens and cp_parser_pop_lexer.
	(cp_parser_late_parsing_default_args): Likewise.  Manually
	move some logic outside the loop.

gcc/testsuite:
	* g++.dg/ext/complit1.C
	* g++.dg/other/error2.C
	* g++.dg/other/nontype-1.C
	* g++.dg/parse/crash11.C
	* g++.dg/parse/crash12.C
	* g++.dg/parse/error15.C
	* g++.dg/parse/error4.C
	* g++.dg/parse/tmpl-outside1.C
	* g++.dg/parse/too-many-tmpl-args1.C
	* g++.dg/template/dependent-expr3.C
	* g++.dg/template/error10.C
	* g++.dg/template/instantiate1.C
	* g++.dg/template/vtable2.C
	* g++.dg/warn/Wshadow-1.C
	* g++.dg/warn/weak1.C
	* g++.old-deja/g++.brendan/crash16.C
	* g++.old-deja/g++.brendan/crash18.C
	* g++.old-deja/g++.brendan/crash48.C
	* g++.old-deja/g++.brendan/crash49.C
	* g++.old-deja/g++.brendan/crash55.C
	* g++.old-deja/g++.brendan/crash56.C
	* g++.old-deja/g++.brendan/crash8.C
	* g++.old-deja/g++.brendan/enum11.C
	* g++.old-deja/g++.brendan/enum8.C
	* g++.old-deja/g++.brendan/enum9.C
	* g++.old-deja/g++.brendan/friend3.C
	* g++.old-deja/g++.brendan/misc14.C
	* g++.old-deja/g++.bugs/900402_02.C
	* g++.old-deja/g++.bugs/900404_03.C
	* g++.old-deja/g++.bugs/900404_04.C
	* g++.old-deja/g++.bugs/900428_03.C
	* g++.old-deja/g++.jason/crash4.C
	* g++.old-deja/g++.jason/overload21.C
	* g++.old-deja/g++.jason/redecl1.C
	* g++.old-deja/g++.jason/report.C
	* g++.old-deja/g++.jason/rfg10.C
	* g++.old-deja/g++.jason/template30.C
	* g++.old-deja/g++.law/arm12.C
	* g++.old-deja/g++.law/ctors5.C
	* g++.old-deja/g++.law/cvt20.C
	* g++.old-deja/g++.law/init10.C
	* g++.old-deja/g++.law/init8.C
	* g++.old-deja/g++.law/visibility17.C
	* g++.old-deja/g++.law/visibility7.C
	* g++.old-deja/g++.mike/net8.C
	* g++.old-deja/g++.mike/p646.C
	* g++.old-deja/g++.mike/p700.C
	* g++.old-deja/g++.mike/p701.C
	* g++.old-deja/g++.mike/p811.C
	* g++.old-deja/g++.ns/template13.C
	* g++.old-deja/g++.other/array3.C
	* g++.old-deja/g++.other/crash25.C
	* g++.old-deja/g++.other/dtor3.C
	* g++.old-deja/g++.other/dtor4.C
	* g++.old-deja/g++.other/main1.C
	* g++.old-deja/g++.other/warn7.C
	* g++.old-deja/g++.pt/crash11.C
	* g++.old-deja/g++.pt/crash36.C
	* g++.old-deja/g++.pt/spec22.C
	* g++.old-deja/g++.pt/spec9.C
	* g++.old-deja/g++.pt/ttp52.C
	* g++.old-deja/g++.robertl/eb103.C
	* g++.old-deja/g++.robertl/eb121.C
	* g++.old-deja/g++.robertl/eb22.C
	* g++.old-deja/g++.robertl/eb8.C:
	Update locations and/or regexps of dg-error markers.
	Remove markers for some bogus messages that are no longer issued.

libstdc++-v3:
	* testsuite/20_util/memory/auto_ptr/assign_neg.cc
	* testsuite/23_containers/map/operators/1_neg.cc
	* testsuite/23_containers/set/operators/1_neg.cc:
	Update locations and/or regexps of dg-error markers.

From-SVN: r87985
2004-09-23 21:27:25 +00:00
Jakub Jelinek
31d66fa938 * tree-ssa-propagate.c (set_rhs): Fail if EXPR is COMPOUND_EXPR.
From-SVN: r87984
2004-09-23 23:03:04 +02:00
Jakub Jelinek
b28b16008e tree-flow.h (find_new_referenced_vars): Add prototype.
2004-09-23  Diego Novillo  <dnovillo@redhat.com>
	    Jakub Jelinek  <jakub@redhat.com>

	* tree-flow.h (find_new_referenced_vars): Add prototype.
	* tree-sra.c (find_new_referenced_vars_1, find_new_referenced_vars):
	Move to...
	* tree-dfa.c (find_new_referenced_vars_1, find_new_referenced_vars):
	... here.
	(mark_new_vars_to_rename): Walk through all operands.
	* tree-ssa-ccp.c (convert_to_gimple_builtin): New function.
	(execute_fold_all_builtins): Use it.
	(pass_fold_builtins): Add TODO_rename_vars to todo_flags_finish.

	* gcc.c-torture/execute/builtins/strcpy-2.c: New test.
	* gcc.c-torture/execute/builtins/strcpy-2-lib.c: New.

From-SVN: r87983
2004-09-23 23:01:02 +02:00
P.J. Darcy
512baaea75 gthr-tpf.h: New file.
2004-09-23  P.J. Darcy  <darcypj@us.ibm.com>

gcc/ChangeLog:

	* gthr-tpf.h: New file.
	* config.gcc (s390x-ibm-tpf*): Add thread_file='tpf'.
	* gthr.h: Use gthr-tpf.h on TPF OS.

libstdc++-v3/ChangeLog:

	* include/Makefile.am (thread_host_headers): Add gthr-tpf.h.
	Add rule to build ${host_builddir}/gthr-tpf.h.
	* include/Makefile.in: Regenerate.

From-SVN: r87982
2004-09-23 20:57:25 +00:00
Andrew Pinski
23fad16eb8 Fix the location of the changelog for Fariborz Jahanian's last patch.
From-SVN: r87981
2004-09-23 13:21:55 -07:00
Andrew Pinski
dc2e6df29e re PR c++/17618 (ICE in cp_convert_to_pointer, at cp/cvt.c:83)
2004-09-23  Andrew Pinski  <pinskia@physics.uc.edu>

        PR c++/17618
        * g++.dg/lookup/crash5.C: New test.

From-SVN: r87980
2004-09-23 13:16:48 -07:00
Jeff Law
3aecd08b53 tree-ssa-ccp.c (get_default_value): Use SSA_NAME_VALUE rather than SSA_NAME_EQUIV and SET_SSA_NAME_EQUIV.
* tree-ssa-ccp.c (get_default_value): Use SSA_NAME_VALUE rather
	than SSA_NAME_EQUIV and SET_SSA_NAME_EQUIV.
	(substitute_and_fold):  Likewise.
	* tree-ssa-dom.c (tree_ssa_dominator_optimize): Remove everything
	except invariants from SSA_NAME_VALUE.
	(thread_across_edge): Use SSA_NAME_VALUE rather than SSA_NAME_EQUIV
	and SET_SSA_NAME_EQUIV.
	(restore_vars_to_original_value, record_const_or_copy): Likewise.
	(record_equivalences_from_phis, record_const_or_copy_1): Likewise.
	(record_equality, cprop_into_successor_phis): Likewise.
	(record_equivalences_from_stmt, cprop_operand): Likewise.
	(lookup_avail_expr): Likewise.
	* tree-ssa-pre.c (fini_pre): Remove everything except invariants
	from SSA_NAME_VALUE.
	* tree.h (SSA_NAME_EQUIV, SET_SSA_NAME_EQUIV): Kill.
	(struct tree_ssa_name):  Kill EQUIV field.  Remove GGC skip
	annotation from the VALUE_HANDLE field.

From-SVN: r87979
2004-09-23 14:15:30 -06:00
Andrew Pinski
0c482362dd 004-09-23 Andrew Pinski <pinskia@physics.uc.edu>
PR c++/17618
        * cvt.c (cp_convert_to_pointer): Return early when the type is
        an error_mark_node.

From-SVN: r87978
2004-09-23 13:04:21 -07:00
Fariborz Jahanian
037cc9c5dc PR c++/9844, PR c++/13989
PR c++/9844, PR c++/13989
Reviewed by Mark Mitchel.

From-SVN: r87971
2004-09-23 18:22:25 +00:00
Tom Tromey
fd5f23d3a6 re PR java/17329 (ICE: SEGV in java_gimplify_expr)
PR java/17329:
	* java-gimplify.c (java_gimplify_expr) <SAVE_EXPR>: Ignore case
	where operand is null.

From-SVN: r87961
2004-09-23 16:25:37 +00:00
Tom Tromey
2fc8ee77e0 re PR java/17380 (Bad diagnostic and ICE on valid code...)
PR java/17380:
	* parse.y (not_accessible_p): Allow access to protected members
	even when class is not static.

From-SVN: r87959
2004-09-23 16:21:31 +00:00
Joseph Myers
e6e931b7c5 re PR c/16833 (-fno-builtin prevents automatic format checks for standard functions)
PR c/16833
	* doc/extend.texi, doc/invoke.texi: Document interaction of
	-fno-builtin with format checks.  Note that built-in functions
	have effects beyond generating code that avoids calls to those
	functions.

From-SVN: r87957
2004-09-23 17:11:24 +01:00
Frank Ch. Eigler
2115046880 * comment tweak
From-SVN: r87956
2004-09-23 15:55:18 +00:00
Frank Ch. Eigler
df485d8007 re PR tree-optimization/17533 (cc1plus crashes on libmudflap test case, verify_dominators())
2004-09-23  Frank Ch. Eigler <fche@redhat.com>

	PR tree-optimization/17533
	* dominance.c (verify_dominators): Tolerate even more incorrect
	dominance data during error message printing.
	* tree-mudflap.c (mf_build_check_statement_for): Build basic blocks
	and edges more correctly.

From-SVN: r87954
2004-09-23 15:47:59 +00:00
Dorit Naishlos
7ccf35ed17 tree.def (ALIGN_INDIRECT_REF, [...]): New tree-codes.
2004-09-23  Dorit Naishlos <dorit@il.ibm.com>

        * tree.def (ALIGN_INDIRECT_REF, MISALIGNED_INDIRECT_REF):
        New tree-codes.
        * tree.h (REF_ORIGINAL): Consider ALIGN_INDIRECT_REF and
        MISALIGNED_INDIRECT_REF.
        * alias.c (get_alias_set, nonoverlapping_memrefs_p): Likewise.
        * emit-rtl.c (mem_expr_equal_p, set_mem_attributes_minus_bitpos):
        Likewise.
        * expr.c (safe_from_p, expand_expr_real_1, rewrite_address_base)
        (find_interesting_uses_address): Likewise.
        * fold-const.c (non_lvalue, operand_equal_p): Likewise.
        (build_fold_addr_expr_with_type): Likewise.
        * gimplify.c (gimplify_addr_expr, gimplify_expr): Likewise.
        * print-rtl.c (print_mem_expr): Likewise.
        * tree-dump.c (dequeue_and_dump): Likewise.
        * tree-eh.c (tree_could_trap_p): Likewise.
        * tree-gimple.c (is_gimple_addressable, get_base_address): Likewise.
        * tree-pretty-print.c (op_prio, op_symbol, dump_generic_node): Likewise.
        * tree-ssa-alias.c (find_ptr_dereference, ptr_is_dereferenced_by):
        Likewise.
        * tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Likewise.
        * tree-ssa-dom.c (record_equivalences_from_stmt): Likewise.
        * tree-ssa-loop-im.c (for_each_index, is_call_clobbered_ref): Likewise.
        * tree-ssa-loop-ivopts.c (find_interesting_uses_address): Likewise.
        (add_address_candidates, rewrite_address_base): Likewise.
        * tree-ssa-operands.c (get_expr_operands, get_indirect_ref_operands):
        Likewise.
        * tree.c (staticp, build1_stat): Likewise.

        * tree.def (REALIGN_LOAD_EXPR, REALIGN_STORE_EXPR): New tree-codes.
        * tree-pretty-print.c (dump_generic_node): Consider REALIGN_LOAD_EXPR.
        * tree-ssa-operands.c (get_expr_operands): Likewise.
        * expr.c (expand_expr_real_1): Likewise.

        * optabs.h (vec_realign_store_optab, vec_realign_load_optab): New
        optabs.
        (OTI_vec_realign_store, OTI_vec_realign_load): New optab_index values
        for the new optabs.
        (expand_ternary_op): New function.
        * genopinit.c (optabs): Handle the new optabs.
        * optabs.c (optab_for_tree_code): Add cases for the new tree-codes.
        (init_optabs): Initialize vec_realign_load_optab.
        (expand_ternary_op): New functions.

        * target-def.h (TARGET_VECTORIZE): New member for struct gcc_target.
        (TARGET_VECTORIZE_MISALIGNED_MEM_OK): New member for targetm.vectorize.
        (TARGET_VECTORIZE_BUILTIN_MASK_FOR_LOAD): Likewise.
        (TARGET_VECTORIZE_BUILTIN_MASK_FOR_STORE): Likewise.
        * target.h (struct vectorize): New member for struct gcc_target.
        (misaligned_mem_ok): New member for targetm.vectorize.
        (builtin_mask_for_load): Likewise.
        (builtin_mask_for_store): Likewise.
        * targethooks.c (default_vect_misaligned_mem_ok): New function.
        * targethooks.h (default_vect_misaligned_mem_ok): New function.

        * config/rs6000/altivec.md (build_vector_mask_for_load): New
        define_expand.
        (vec_realign_load_v4si, vec_realign_load_v4sf, vec_realign_load_v8hi)
        (vec_realign_load_v16qi): New define_insn.
        * config/rs6000/rs6000.h (ALTIVEC_BUILTIN_MASK_FOR_LOAD):
        (ALTIVEC_BUILTIN_MASK_FOR_STORE): New target builtins.
        * config/rs6000/rs6000.c (altivec_builtin_mask_for_load):
        (altivec_builtin_mask_for_store): New variables.
        (rs6000_builtin_mask_for_load): New function. Implements
        TARGET_VECTORIZE_BUILTIN_MASK_FOR_LOAD.
        (rs6000_builtin_mask_for_store): New function. Implements
        TARGET_VECTORIZE_BUILTIN_MASK_FOR_STORE.
        (rs6000_expand_builtin): Expand the target builtins
        builtin_mask_for_load and builtin_mask_for_store.
        (altivec_init_builtins): Initialize the new target builtins.
        * config/i386/i386.c (ix86_misaligned_mem_ok): New function.
        Implements the target hook TARGET_VECTORIZE_MISALIGNED_MEM_OK.

        * tree-vectorizer.c (vect_create_data_ref): Renamed to
        vect_create_data_ref_ptr. Returns a pointer instead of an array-ref.
        (vect_create_addr_base_for_vector_ref): Additional argument (offset).
        (vectorizable_store): Call vect_create_data_ref_ptr with additional
        arguments, and create an indirect_ref with its return value data_ref.
        Check aligned_access_p.
        (vectorizable_load): Handle misaligned loads, using software-pipelined
        scheme with REALIGN_LOAD_EXPR and ALIGN_INDIRECT_REF if
        vec_realign_load_optab is supported, or using a scheme without
        software-pipelining with MISALIGNED_INDIRECT_REF if the target hook
        misaligned_mem_ok is supported.

        (vect_finish_stmt_generation): Typo.
        (vect_enhance_data_refs_alignment): Rename loop_vinfo to loop_info.
        (vect_analyze_data_refs_alignment): Don't fail vectorization in the
        presence of misaligned loads.
        (vect_analyze_data_ref_access): Add check for constant init.
        (vect_get_symbl_and_dr): Remove duplicate line.
        * tree-vectorizer.h (DR_MISALIGNMENT): Add comment.

From-SVN: r87948
2004-09-23 14:34:35 +00:00
Kazu Hirata
d31012b7f8 * builtins.c: Fix a comment typo.
From-SVN: r87947
2004-09-23 14:22:33 +00:00
Jan Hubicka
aa26df17e9 profile.c (branch_prob): Do not verify flow info in the middle of the pass.
* profile.c (branch_prob): Do not verify flow info in the middle of the
	pass.

From-SVN: r87946
2004-09-23 14:11:06 +00:00
Zdenek Dvorak
4c8bfd97e6 Revert commit of testing BOOT_CFLAGS
From-SVN: r87944
2004-09-23 12:22:40 +00:00
Zdenek Dvorak
92fc4a2f39 cfgloop.h (update_single_exits_after_duplication): Declare.
* cfgloop.h (update_single_exits_after_duplication): Declare.
	(loopify, split_loop_bb): Declaration changed.
	* cfgloopmanip.c (split_loop_bb): Take void * as an argument instead
	of rtx.
	(loopify): Added redirect_all_edges argument.
	(update_single_exits_after_duplication): Export.
	* loop-unswitch.c (unswitch_loop): Changed due to loopify change.
	* tree-flow.h (tree_duplicate_loop_to_header_edge,
	tree_ssa_loop_version): Declare.
	* tree-ssa-loop-manip.c (copy_phi_node_args, rename_variables,
	set_phi_def_stmts, tree_duplicate_loop_to_header_edge,
	lv_adjust_loop_header_phi, lv_adjust_loop_entry_edge,
	lv_update_pending_stmts, tree_ssa_loop_version): New functions.

	* tree-ssa-loop-unswitch.c: New file.
	* Makefile.in (tree-ssa-loop-unswitch.o): Add.
	* timevar.def (TV_TREE_LOOP_UNSWITCH): New timevar.
	* tree-flow.h (tree_ssa_unswitch_loops): Declare.
	* tree-optimize.c (init_tree_optimization_passes): Add pass_unswitch.
	* tree-pass.h (pass_unswitch): Declare.
	* tree-ssa-loop.c (tree_ssa_loop_unswitch,
	gate_tree_ssa_loop_unswitch, pass_unswitch): New pass.
	* doc/passes.texi: Documen tree level loop unswitching.

	* gcc.dg/tree-ssa/loop-6.c: New test.

From-SVN: r87943
2004-09-23 12:21:31 +00:00
Paolo Bonzini
b8b94c5ba8 re PR c++/17596 (expression parser is too slow, should be rewritten)
2004-09-23  Paolo Bonzini  <bonzini@gnu.org>

	PR c++/17596

	* parser.c (cp_parser_token_tree_map_node,
	cp_parser_pm_expression, cp_parser_additive_expression,
	cp_parser_multiplicative_expression, cp_parser_shift_expression,
	cp_parser_relational_expression, cp_parser_equality_expression,
	cp_parser_and_expression, cp_parser_exclusive_or_expression,
	cp_parser_inclusive_or_expression,
	cp_parser_logical_and_expression,
	cp_parser_logical_or_expression): Removed.
	(enum cp_parser_prec, struct cp_parser_token_tree_map_node,
	binops, binops_by_token): New.
	(cp_parser_assignment_expression): Use cp_parser_binary_expression.
	(cp_parser_new): Initialize binops_by_token.
	(cp_parser_binary_expression): Rewritten.
	(N_CP_TTYPES): New.

From-SVN: r87942
2004-09-23 11:58:15 +00:00
Steven Bosscher
8921359e5d *** empty log message ***
From-SVN: r87941
2004-09-23 11:07:12 +00:00
Kazu Hirata
9688c3b862 * parser.c: Fix a comment typo.
From-SVN: r87940
2004-09-23 11:03:18 +00:00
Kazu Hirata
d7e9e62a80 * cfgexpand.c, config/s390/tpf-eh.c: Fix comment typos.
From-SVN: r87939
2004-09-23 10:54:07 +00:00
Nathan Sidwell
98d6e9afea re PR c++/17620 (Bogus error with duplicate base class breaks boost)
cp:
	PR c++/17620
	* decl.c (xref_basetypes): Look through typedefs before checking
	for duplicate base.
testsuite:
	PR c++/17620
	* g++.dg/inherit/base2.C: New.

From-SVN: r87938
2004-09-23 10:09:09 +00:00
Robert Dewar
2c9beb8a81 re PR ada/17540 (Duplicate symbols while building Ada)
2004-09-23  Robert Dewar  <dewar@gnat.com>

	PR ada/17540

	* sem_prag.adb (Process_Import_Or_Interface): Don't set Is_Public here,
	instead do this at freeze time (we won't do it if there is an address
	clause).
	Change "pragma inline" to "pragma Inline" in information and error
	messages.
	Minor reformatting.

	* freeze.adb (Check_Address_Clause): Remove previous change, not the
	right way of doing things after all.
	(Freeze_Entity): For object, set Is_Public for imported entities
	unless there is an address clause present.

From-SVN: r87936
2004-09-23 11:00:08 +02:00
Eric Botcazou
f8d1c4278b Added missing entry for latest commit.
From-SVN: r87931
2004-09-23 08:03:05 +00:00
Eric Christopher
d3147f6452 builtins.c (simplify_builtin_va_start): Remove.
2004-09-22  Eric Christopher  <echristo@redhat.com>

        * builtins.c (simplify_builtin_va_start): Remove.
        (simplify_builtin): Ditto.
        (fold_builtin_strchr): Ditto.
        (simplify_builtin_*): Rename remainders to fold_builtin_*.
        (expand_builtin): Fix up for above changes.
        (fold_builtin_1): Add new folders. Change for above.
        (expand_builtin_va_start): Call fold_builtin_next_arg.
        * gimplify.c (gimplify_call_expr): Fix calls to simplify_builtin.
        * tree.h: Remove prototype for simplify_builtin.

From-SVN: r87921
2004-09-23 06:16:09 +00:00
R. Kelley Cook
a9db2a2994 * Correct type in last changeLog entry iconv.m4 -> iconv.h
From-SVN: r87915
2004-09-23 02:01:53 +00:00
Jan Hubicka
60108d34dc re PR debug/17389 (ICE in dwarf2out_finish, at dwarf2out.c:13566)
PR debug/17389
	* dwarf2out.c (dwarf2out_finish): Deal with nested functions
	of fully inlined functions.
	* tree-inline.c (inline_forbidden_p_1): Nested functions can be
	inlined.

From-SVN: r87911
2004-09-23 00:51:40 +00:00
Jan Hubicka
e53de54da3 cfgexpand.c (add_reg_br_prob_note): New function.
* cfgexpand.c (add_reg_br_prob_note): New function.
	(expand_gimple_cond_expr): Use it.
	(tree_expand_cfg): No longer kill the profile.
	* cfgrt.c (rtl_verify_flow_info_1): Check profile consistency
	only if it is present.
	* passes.c (rest_of_handle_loop_optimize): Kill the profile.
	* predict.c (combine_predictions_for_insn): Set the probabilities
	based on REG_BR_PROB note if present.
	* predict.c (branch_prob): Profile is read only with
	flag_branch_probabilities.

From-SVN: r87910
2004-09-23 00:50:37 +00:00
Kelley Cook
dfb77e3751 aclocal.m4: Add in gettext's m4 includes.
2004-09-22  Kelley Cook  <kcook@gcc.gnu.org>

	* aclocal.m4: Add in gettext's m4 includes.
	(AC_ICONV, AC_LCMESSAGES, GCC_PATH_PROG): Remove.
	* configure.ac: Add in check for iconv.m4
	* configure: Regenerate.

From-SVN: r87908
2004-09-23 00:29:07 +00:00
GCC Administrator
20ac2c8c4e Daily bump.
From-SVN: r87906
2004-09-23 00:16:17 +00:00
Eric Botcazou
de256a451d 20001012-1.c: Add prototypes for builtin functions.
* gcc.dg/20001012-1.c: Add prototypes for builtin functions.
	* gcc.dg/20001012-2.c: Likewise.
	* gcc.dg/20001013-1.c: Likewise.
	* gcc.dg/20001101-1.c: Likewise.
	* gcc.dg/20001102-1.c: Likewise.
	* gcc.dg/bf-spl1.c: Likewise.
	* gcc.dg/titype-1.c: Remove special-casing for SPARC.
	* gcc.dg/20040813-1.c: Add missing "." to the regexp.

From-SVN: r87902
2004-09-23 00:07:15 +00:00
Kelley Cook
88fa57d782 gettext-sister.m4: Renamed from gettext.m4
config/
2004-09-22  Kelley Cook  <kcook@gcc.gnu.org>

	* gettext-sister.m4: Renamed from gettext.m4
	* codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4, po.m4,
	inttypes.m4, inttypes-pri.m4, inttypes_h.m4, lcmessage.m4, lib-ld.m4,
	lib-link.m4, lib-prefix.m4, nls.m4, progtest.m4, stdint_h.m4,
	uintmax_t.m4, ulonglong.m4: Import from gettext-0.12.1 sources.

gcc/
2004-09-22  Kelley Cook  <kcook@gcc.gnu.org>

	* aclocal.m4: Update for rename of gettext-sister.m4.

libcpp/
2004-09-22  Kelley Cook  <kcook@gcc.gnu.org>

	* Makefile.in (aclocal.m4): Update dependencies.
	* configure.ac (AC_CONFIG_MACRO_DIR): New.
	* aclocal.m4, configure: Regenerate.

intl/
2004-09-22  Kelley Cook  <kcook@gcc.gnu.org>

	* configure.ac (AC_CONFIG_MACRO_DIR): New.
	(ACLOCAL, AUTOCONF, AUTOHEADER, MAINT): Substitute.
	* Makefile.in: Update with maintainer mode rules.
	* README: Update aclocal regeneration instructions.
	* aclocal.m4, configure: Regenerate.

From-SVN: r87900
2004-09-22 23:53:59 +00:00
Daniel Berlin
8eee352825 re PR tree-optimization/17587 (Mauve's UnicodeBase.java fails to compile)
2004-09-22  Daniel Berlin <dberlin@dberlin.org>

	Fix PR tree-optimization/17587
	* tree-ssa-pre.c (fini_pre): Commit edge inserts here.
	(insert_aux): Instead of here.

From-SVN: r87899
2004-09-22 23:50:19 +00:00
Eric Botcazou
8db6bcda0b Fix minor nit.
From-SVN: r87898
2004-09-22 23:46:30 +00:00
Diego Novillo
c04f07f4cf re PR tree-optimization/16721 (Accesses to volatile objects optimized away)
PR tree-optimization/16721
	* tree-dfa.c (dump_variable): Show TREE_THIS_VOLATILE.
	* tree-ssa-alias.c (create_memory_tag): Move setting of
	TREE_THIS_VOLATILE ...
	(get_tmt_for): ... here.


testsuite/ChangeLog

	PR tree-optimization/16721
	* testsuite/gcc.dg/tree-ssa/pr16721.c: New test.

From-SVN: r87895
2004-09-22 19:33:20 -04:00
Eric Botcazou
ba652ba925 sparc.md (cmove splitter): Fix formatting.
* config/sparc/sparc.md (cmove splitter): Fix formatting.
	(conditional_trap expander): Reject inappropriate CCmodes.
	(conditional trap expander): Use V9 syntax if possible.

From-SVN: r87894
2004-09-22 23:18:28 +00:00
Ulrich Weigand
b1247df745 20030123-1.c: Add prototypes for builtin functions.
* gcc.dg/20030123-1.c: Add prototypes for builtin functions.
	* gcc.dg/20040305-1.c: Likewise.

From-SVN: r87893
2004-09-22 23:16:36 +00:00
Joseph Myers
588d195294 re PR c/16566 (ICE with flexible arrays)
PR c/16566
	* c-typeck.c (build_component_ref): Don't special-case
	COMPOUND_EXPR.

testsuite:
	* gcc.c-torture/compile/pr16566-1.c,
	gcc.c-torture/compile/pr16566-2.c,
	gcc.c-torture/compile/pr16566-3.c: New tests.

From-SVN: r87892
2004-09-22 23:51:58 +01:00
Frank Ch. Eigler
08fb229ea8 dominance.c (verify_dominators): Don't SEGV if recount_dominator returns NULL.
2004-09-22  Frank Ch. Eigler  <fche@redhat.com>

	* dominance.c (verify_dominators): Don't SEGV if recount_dominator
	returns NULL.

From-SVN: r87883
2004-09-22 20:36:14 +00:00
Kazu Hirata
9b270cce93 c-tree.texi (TRUTH_NOT_EXPR, [...]): Mention the restriction on types.
* doc/c-tree.texi (TRUTH_NOT_EXPR, TRUTH_ANDIF_EXPR,
	TRUTH_ORIF_EXPR, TRUTH_AND_EXPR, TRUTH_OR_EXPR,
	TRUTH_XOR_EXPR): Mention the restriction on types.

From-SVN: r87881
2004-09-22 19:43:04 +00:00
Nathan Sidwell
942149531d cp-tree.h (unemitted_tinfo_decls): Make a VEC(tree).
* cp-tree.h (unemitted_tinfo_decls): Make a VEC(tree).
	* decl2.c (cp_finish_file): Adjust tinfo decl emission loop.
	* rtti.c (unemitted_tinfo_decls): Make a VEC(tree).
	(init_rtti_processing): Initialize it to something realistic.
	(get_tinfo_decl): Adjust pushing the new decl.

From-SVN: r87872
2004-09-22 18:12:10 +00:00
Matt Austern
8739ed59c4 * config/darwin.c (darwin_make_decl_one_only)
Allow coalesced symbol to appear in static archive's table of contents

From-SVN: r87871
2004-09-22 18:11:50 +00:00
Kazu Hirata
a338ab5a5a re PR tree-optimization/17512 (ICE in regex.c)
PR tree-optimization/17512
	* convert.c (convert_to_integer): Don't handle TRUTH_*_EXPR as
	special cases.

	* testsuite/gcc.c-torture/compile/20040916-1.c.

From-SVN: r87870
2004-09-22 18:02:08 +00:00
David Edelsohn
39cf49a113 dbxout.c (get_lang_number): Do not define if DBX_OUTPUT_MAIN_SOURCE_DIRECTORY is defined.
* dbxout.c (get_lang_number): Do not define if
	DBX_OUTPUT_MAIN_SOURCE_DIRECTORY is defined.

From-SVN: r87868
2004-09-22 12:58:15 -04:00
David Edelsohn
1afd063a67 Add PR.
From-SVN: r87861
2004-09-22 10:22:48 -04:00
Ralf Corsepius
d1c343cb32 rtems.h (TARGET_OS_CPP_BUILTINS): Add builtin_define ("__USE_INIT_FINI__").
2004-09-22  Ralf Corsepius  <corsepiu@faw.uni-ulm.de>

        * config/rs6000/rtems.h (TARGET_OS_CPP_BUILTINS): Add
        builtin_define ("__USE_INIT_FINI__").

From-SVN: r87858
2004-09-22 10:11:44 -04:00
P.J. Darcy
4798630cb0 s390-protos.h (s390_emit_tpf_eh_return): Add prototype.
2004-09-22  P.J. Darcy  <darcypj@us.ibm.com>

	* config/s390/s390-protos.h (s390_emit_tpf_eh_return): Add prototype.
	* config/s390/s390.c (s390_emit_tpf_eh_return): New function.
	* config/s390/s390.h (TARGET_TPF): New macro.
	* config/s390/s390.md ("eh_return"): New expander.
	* config/s390/t-tpf (LIB2ADDEH): Use unwind-dw2-fde.c rather than
	unwind-dw2-fde-glibc.c.  Add config/s390/tpf-eh.c.
	(LIB2ADDEHDEP): Remove unwind-dw2-fde.c.
	* config/s390/tpf.h (TARGET_TPF): Define to 1.
	(STACK_POINTER_OFFSET): Increase to 448.
	(TARGET_DEFAULT): Set -mtpf-trace on as default.
	(TPF_LOC_DIFF_OFFSET): New macro.
	(ASM_PREFERRED_EH_DATA_FORMAT): Redefine to always use absolute
	encoding.
	(__isPATrange): Add prototype.
	(MD_FALLBACK_FRAME_STATE_FOR): Define.
	* config/s390/tpf-eh.c: New file.

From-SVN: r87857
2004-09-22 13:57:40 +00:00
Diego Novillo
6a97296a06 fold-const.c (fold): Avoid non INTEGER_TYPEs when widening operands in an integer comparison.
* fold-const.c (fold): Avoid non INTEGER_TYPEs when widening
	operands in an integer comparison.
	* tree-cfg.c (find_taken_edge): Call fold() to determine
	whether the predicate is known.

From-SVN: r87855
2004-09-22 07:40:12 -04:00
Kelley Cook
3b620440d3 aclocal.m4: Import AM_PROG_CC_C_O and AM_AUX_DIR_EXPAND.
gcc/
2004-09-22  Kelley Cook  <kcook@gcc.gnu.org>

	* aclocal.m4: Import AM_PROG_CC_C_O and AM_AUX_DIR_EXPAND.
	* configure.ac: Call AM_PROG_CC_C_O instead of AC_PROG_CC_C_O.
	Create build and doc directories along with the language directories.
	Don't create doc directory separately.
	* configure: Regenerate.
	* Makefile.in: Create all object and executables files built
	with the build compiler in a build/ directory.
	(genobjnames): Add missing build objects.
	(STAGESTUFF): Don't stage the gen* programs.
	(ggc-none.o): Define dependencies for the target compiler.
	(build-print-rtl.o): Rename to build/print-rtl.o.
	(build-errors.o): Rename to build/errors.o.
	(build-varray.o): Rename to build/varray.o.
	(maintainerclean): Delete the contents of the build directory.
	($(genobjs): %.o): Explicitly use -o.
	(build/insn-conditions.o): Delete specfic rule to use generic rule.
	(build/gengtype-lex.o): Likewise.
	(build/gengtype-yacc.o): Likewise.
	(build/gcov-iov.o): Likewise.

gcc/java
2004-09-22  Kelley Cook  <kcook@gcc.gnu.org>

	* Make-lang.in: Revert the gcc-none.o change.

From-SVN: r87854
2004-09-22 11:21:21 +00:00
Nathan Sidwell
3543e114c6 cp-tree.h (struct lang_type_class): Remove marked flags, add diamond_shaped and repeated_base flags.
* cp-tree.h (struct lang_type_class): Remove marked flags, add
	diamond_shaped and repeated_base flags.  Reorder to keep 8-bit blocks.
	(TYPE_MARKED_P): New.
	(CLASSTYPE_DIAMOND_SHAPED_P, CLASSTYPE_REPEATED_BASE_P): New.
	(CLASSTYPE_MARKED_N, SET_CLASSTYPE_MARKED_N,
	CLEAR_CLASSTYPE_MARKED_N): Remove.
	(CLASSTYPE_MARKED_*, SET_CLASSTYPE_MARKED_*,
	CLEAR_CLASSTYPE_MARKED_*): Remove.
	* decl.c (xref_basetypes): Use TYPE_MARKED_P. Determine diamond
	shaped and repeated base properties.
	* lex.c (cxx_make_type): Don't clear TYPE_ALIAS_SET.
	* rtti.c (dfs_class_hint_mark, dfs_class_hint_unmark,
	class_hint_flags): Remove.
	(get_pseudo_ti_init): Use CLASSTYPE_REPEATED_BASE_P and
	CLASSTYPE_DIAMOND_SHAPED_P.

From-SVN: r87853
2004-09-22 10:55:21 +00:00
Nathan Sidwell
0e64e323b0 vec.h (VEC_space): Return true if there _is_ space.
* vec.h (VEC_space): Return true if there _is_ space.
	(VEC_reserve): Adjust.

	* java/parse.y (patch_anonymous_class): VEC_space returns true if
	there is space.

From-SVN: r87852
2004-09-22 10:51:42 +00:00
Richard Sandiford
e1aeeae90e mips.c (mips_function_value): For o32, o64, n32 and n64, use FPRs for scalar, complex and vector types only.
* config/mips/mips.c (mips_function_value): For o32, o64, n32 and n64,
	use FPRs for scalar, complex and vector types only.

From-SVN: r87848
2004-09-22 07:27:51 +00:00
Ziemowit Laski
c3002ae940 cp-lang.c (LANG_HOOKS_FOLD_OBJ_TYPE_REF): Moved here from cp-objcp-common.h.
[gcc/cp/ChangeLog]
2004-09-21  Ziemowit Laski  <zlaski@apple.com>

        * cp-lang.c (LANG_HOOKS_FOLD_OBJ_TYPE_REF): Moved here from
        cp-objcp-common.h.
        (objcp_tsubst_copy_and_build): Reformat function signature.
        * cp-objcp-common.h (objcp_tsubst_copy_and_build): Likewise.
        (LANG_HOOKS_FOLD_OBJ_TYPE_REF): Moved to cp-lang.c.

From-SVN: r87846
2004-09-22 06:11:20 +00:00
Jeff Law
2353086647 tree-ssa-dom.c (opt_stats): Move so that it lives just after the opt_stats_d structure.
* tree-ssa-dom.c (opt_stats): Move so that it lives just after
        the opt_stats_d structure.
        (vrp_data): Change from a varray into a hash table.
        (vrp_hash_elt): New structure for elements in the vrp hash table.
        (vrp_hash, vrp_eq):New functions for hashing and testing equality
        in the vrp hash table.
        (tree_ssa_dominator_optimize): Initialize VRP_DATA.  Reorganize
        initialization slightly to make it easier to read.  No longer need
        to grow/clear the varray.  Instead empty and delete the hash table.
        (dom_opt_finalize_block): Update due to change of VRP_DATA from
        a varray to a hash table.
        (simplify_cond_and_loop_avail_expr, record_range): Similarly.

From-SVN: r87845
2004-09-21 22:12:01 -06:00
Jeff Law
195da47bbb tree-ssa-ccp.c (get_default_value): If we have a constant value recorded for an SSA_NAME...
* tree-ssa-ccp.c (get_default_value): If we have a constant
	value recorded for an SSA_NAME, then use that constant as
	the initial lattice value.
	(substitute_and_fold): Transfer equivalences discovered into
	SSA_NAME_EQUIV.

	* tree.h (SSA_NAME_EQUIV): Add comments.
	(SET_SSA_NAME_EQUIV): Similarly.

From-SVN: r87844
2004-09-21 22:07:23 -06:00
David Edelsohn
0a4f029430 linux64.h (PROCESSOR_DEFAULT64): Default to POWER4.
* config/rs6000/linux64.h (PROCESSOR_DEFAULT64): Default to POWER4.

        * config/rs6000/rs6000.c (rs6000_adjust_cost): dep_insn is used.

From-SVN: r87843
2004-09-22 00:05:12 -04:00
Mark Mitchell
1ae57298f9 c-decl.c (implicitly_declare): Call maybe_apply_renaming_pragma.
* c-decl.c (implicitly_declare): Call maybe_apply_renaming_pragma.
	(finish_decl): Likewise.

From-SVN: r87840
2004-09-22 02:24:06 +00:00
Devang Patel
ad9f20cbce tree.def (VEC_COND_EXPR): New tree node.
* tree.def (VEC_COND_EXPR): New tree node.
       * tree-ssa-operands.c (get_expr_operands): Handle VEC_COND_EXPR.

From-SVN: r87839
2004-09-21 18:16:20 -07:00
Ziemowit Laski
86c440722e objc-act.c (objc_fold_objc_type_ref): New function.
[gcc/objc/ChangeLog]
2004-09-21  Ziemowit Laski  <zlaski@apple.com>

        * objc-act.c (objc_fold_objc_type_ref): New function.
        * objc-act.h (objc_fold_objc_type_ref): New prototype.

From-SVN: r87838
2004-09-22 01:13:07 +00:00
Stan Shebs
76419821c6 darwin-tramp.asm: Add __ppc64__ case.
* config/rs6000/darwin-tramp.asm: Add __ppc64__ case.
        * config/rs6000/darwin-world.asm: Likewise.

From-SVN: r87836
2004-09-22 01:06:29 +00:00
Daniel Berlin
7bab95badb tree-ssa.c (verify_def): Use print_generic_stmt, not debug_generic_stmt.
2004-09-21  Daniel Berlin  <dberlin@dberlin.org>

	* tree-ssa.c (verify_def): Use print_generic_stmt,
	not debug_generic_stmt.
	(verify_use): Ditto.
	(verify_phi_args): Ditto.
	(verify_ssa): Ditto.

From-SVN: r87835
2004-09-22 01:03:40 +00:00
GCC Administrator
31b92e3226 Daily bump.
From-SVN: r87833
2004-09-22 00:16:17 +00:00
Paul Brook
a13fd90532 varasm.c (default_assemble_integer): Return false for values wider than the target word size.
* varasm.c (default_assemble_integer): Return false for values wider
	than the target word size.  Works around GAS bug.

From-SVN: r87827
2004-09-21 23:40:21 +00:00
Zack Weinberg
36952deadd parser.c (cp_lexer_peek_token, [...]): Don't handle CPP_PRAGMA tokens specially.
* parser.c (cp_lexer_peek_token, cp_lexer_consume_token):
	Don't handle CPP_PRAGMA tokens specially.
	(cp_lexer_handle_pragma): Use cp_lexer_consume_token.  Don't
	purge the token; do clear token->value after processing.  Add
	assertion at beginning that token->value is nonzero.
	(cp_parser_statement, cp_parser_declaration_seq_opt): Handle
	CPP_PRAGMA as a full statement or declaration in its own right.

From-SVN: r87822
2004-09-21 20:46:57 +00:00
Zack Weinberg
52c5701b4e reg-notes.def (REG_DEP_TRUE): New entry, place first so it gets value 0.
* reg-notes.def (REG_DEP_TRUE): New entry, place first so it
	gets value 0.
	* print-rtl.c (print_rtx): Print the name of a REG_NOTE even
	if it has value 0.

From-SVN: r87821
2004-09-21 20:34:43 +00:00
Matt Austern
e72222acd1 Fix bootstrap.
* gjavah.c (free_method_name_list): Fix function definition so
	it's a proper C prototype.

From-SVN: r87815
2004-09-21 18:27:29 +00:00
Matt Austern
6bdb98d1b0 re PR c++/15049 ([DR 278/132/216/338/389/319] global variables with anonymous types are legal)
PR c++/15049
	* cp/decl.c (grokvardecl): Accept declarations of global variables
	using anonymous types.
	* testsuite/g++.dg/other/anon3.C: New.

From-SVN: r87814
2004-09-21 17:24:44 +00:00
Tom Tromey
b8b639c915 re PR java/17575 (gcjh does not clear its function name cache between files)
PR java/17575:
	* gjavah.c (free_method_name_list): New method.
	(main): Call it.

From-SVN: r87812
2004-09-21 16:28:40 +00:00
Roger Sayle
d211a298ce re PR c++/7503 ((x < Y ? X : Y) used for assignment causes wrong code)
PR c++/7503
	* tree.c (lvalue_p_1):  Disallow MIN_EXPR and MAX_EXPR as lvalues
	if either operand has side-effects.
	* typeck.c (rationalize_conditional_expr): Assert that neither
	operand of MIN_EXPR or MAX_EXPR has side-effects.
	(build_modify_expr):  Add support for MIN_EXPR and MAX_EXPR.
	Check that the "lhs" is a valid lvalue, i.e. that neither operand
	of a MIN_EXPR or MAX_EXPR has a side-effect.

	* g++.dg/opt/pr7503-1.C: New testcase for COND_EXPR lvalues.
	* g++.dg/opt/pr7503-2.C: New testcase for <? and >? lvalues.
	* g++.dg/opt/pr7503-3.C: New testcase for invalid <? lvalue errors.
	* g++.dg/opt/pr7503-4.C: New testcase for <?= and >?= assignments.
	* g++.dg/opt/pr7503-5.C: New testcase for side-effects with <?=.

From-SVN: r87810
2004-09-21 16:20:12 +00:00
Daniel Berlin
f0c721ad7c c-typeck.c (build_function_call): Give name of object we are attempting to call in error message.
2004-09-21  Daniel Berlin <dberlin@dberlin.org>

	* c-typeck.c (build_function_call): Give name of object
	we are attempting to call in error message.
	* c-objc-common.c (c_tree_printer): Call pp_expression,
	not return false, for 'E' case.

From-SVN: r87809
2004-09-21 15:42:44 +00:00
Nathan Sidwell
5775a06aa6 cp-tree.h (struct lang_type_header): Remove uses_multiple_inheritance field.
* cp-tree.h (struct lang_type_header): Remove
	uses_multiple_inheritance field.
	(TYPE_USES_MULTIPLE_INHERITANCE): Remove.
	(TYPE_BASE_CONVS_MAY_REQUIRE_CODE_P): Remove.
	(TYPE_USES_VIRTUAL_BASECLASSES): Remove.
	(DECL_NEEDS_VTT_PARM_P): Use CLASSTYPE_VBASECLASSES.
	(TYPE_CONTAINS_VPTR_P): Likewise.
	* call.c (add_template_candidate_real): Use
	CLASSTYPE_VBASECLASSES.
	(build_special_member_call): Likewise.
	* class.c (finish_struct_bits): Remove
	TYPE_BASE_CONVS_MAY_REQUIRE_CODE_P & TYPE_USES_VIRTUAL_BASECLASSES
	bookkeeping.
	(check_bases_and_members): Use TYPE_CONTAINS_VPTR_P.
	(create_vtable_ptr): Remove TYPE_BASE_CONVS_MAY_REQUIRE_CODE_P
	bookkeeping.
	(build_vtt_inits): Use CLASSTYPE_VBASECLASSES.
	(accumulate_vtbl_inits, build_vbase_offset_vtbl_entries):
	Likewise.
	* decl.c (xref_basetypes): Remove TYPE_USES_MULTIPLE_INHERITANCE,
	TYPE_BASE_CONVS_MAY_REQUIRE_CODE_P, TYPE_USES_VIRTUAL_BASECLASSES
	bookkeeping.
	(cxx_maybe_build_cleanup): Use CLASSTYPE_VBASECLASSES.
	* decl2.c (maybe_retrofit_in_chrg): Likewise.
	* init.c (expand_member, push_base_cleanups): Likewise.
	* pt.c (instantiate_class_template): Remove
	TYPE_USES_MULTIPLE_INHERITANCE,
	TYPE_BASE_CONVS_MAY_REQUIRE_CODE_P, TYPE_USES_VIRTUAL_BASECLASSES
	bookkeeping.
	* ptree.c (cxx_print_type): Remove TYPE_USES_MULTIPLE_INHERITANCE
	check.
	* typeck2.c (process_init_constructor): Replace some sorrys with
	asserts.

From-SVN: r87808
2004-09-21 15:39:00 +00:00
Olivier Hainque
2494e67370 decl.c (gnat_to_gnu_entity): Check for a dummy designated type via TYPE_MODE instead of COMPLETE_TYPE_P.
2004-09-21  Olivier Hainque  <hainque@act-europe.fr>

	* decl.c (gnat_to_gnu_entity) <E_General_Access_Type>: Check for a
	dummy designated type via TYPE_MODE instead of COMPLETE_TYPE_P. This
	ensures proper handling of types with rep clauses, which might have
	their TYPE_SIZE set already.

From-SVN: r87807
2004-09-21 17:34:36 +02:00
Robert Dewar
910d20fcb8 decl.c (gnat_to_gnu_type, [...]): Wrap modular packed array types in both little- and big-endian cases.
2004-09-21  Robert Dewar  <dewar@gnat.com>

	* decl.c (gnat_to_gnu_type, case E_Modular_Integer_Type): Wrap modular
	packed array types in both little- and big-endian cases. This change
	ensures that we no longer count on the unused bits being initialized
	for such types (and in particular ensures that equality testing will
	only read the relevant bits).
	Change name TYPE_LEFT_JUSTIFIED_MODULAR_P to TYPE_JUSTIFIED_MODULAR_P
	These changes mean that we no longer need to initialize small packed
	arrays.
	(gnat_to_gnu_entity) <E_Record_Subtype>: Apply the same
	optimization to an LJM field as to its parent field.

	* ada-tree.h:, trans.c, utils.c, utils2.c:
	Change name TYPE_LEFT_JUSTIFIED_MODULAR_P to TYPE_JUSTIFIED_MODULAR_P

From-SVN: r87806
2004-09-21 17:31:03 +02:00
Bud Davis
77747e5f2d re PR libfortran/17286 (namelist containing more than one value cannot contain whitespace or newlines for READ)
2004-09-21  Bud Davis  <bdavis9659@comcast.net>

        PR fortran/17286
        * io/list_read.c (namelist_read): ignore spaces after
        the '=' for namelist reads.

2004-09-21  Bud Davis  <bdavis9659@comcast.net>

        PR fortran/17286
        * gfortran.dg/pr17286.f90: New test.

From-SVN: r87799
2004-09-21 11:22:47 +00:00
Andreas Tobler
b6ad178e2e decl.c (reshape_init_array): Initialize max_index_cst to fix bootstrap failure.
2004-09-21  Andreas Tobler  <a.tobler@schweiz.ch>

	* decl.c (reshape_init_array): Initialize max_index_cst to fix
	bootstrap failure.

From-SVN: r87798
2004-09-21 11:22:00 +02:00
Steven Bosscher
c93320c457 re PR rtl-optimization/17482 (GCSE after reload replacing changing instructions)
PR rtl-optimization/17482
	* postreload-gcse.c (reg_avail_info, oprs_unchanged_p,
	load_killed_in_block_p): Clarify comments.
	(record_last_reg_set_info): Make static inline.
	(mark_call, mark_set, mark_clobber, mark_oprs_set): Remove.
	(record_opr_changes): New function to replace the above.
	(compute_hash_table): Clarify comments.  Use record_opr_changes.
	(reg_set_between_after_reload_p): Clean up.
	(reg_used_between_after_reload_p): Likewise.
	(eliminate_partially_redundant_load): Clarify comments.

From-SVN: r87794
2004-09-21 07:48:29 +00:00
Eric Botcazou
15ee342b73 re PR rtl-optimization/17266 (Libgfortran doesn't build)
PR rtl-optimization/17266
	* regmove.c (optimize_reg_copy_3): Make a new SUBREG for each insn.

From-SVN: r87793
2004-09-21 05:57:55 +00:00
Mark Mitchell
9b60dfd716 re PR c++/17530 (failure to emit inline function)
PR c++/17530
	* pt.c (tsubst): Fix parentheses to accomodate emacs.
	(tsubst_baselink): If we get a single function, mark it as used.

	PR c++/17530
	* g++.dg/template/static7.C: New test.

From-SVN: r87791
2004-09-21 05:44:10 +00:00
Uros Bizjak
79b82df36c re PR rtl-optimization/14851 (suboptimal fp division with -ffast-math)
PR rtl-optimization/14851
        * rtlanal.c (commutative_operand_precedence): Calculate
        precedence of stripped constant.

From-SVN: r87788
2004-09-21 07:10:54 +02:00
Jeff Law
6f2aec072e tree-ssanames.c (make_ssa_name): No longer need to clear, then initialize key elements here.
* tree-ssanames.c (make_ssa_name): No longer need to clear, then
	initialize key elements here.
	(release_ssa_name): Zero the released SSA_NAME here.
	* tree.h (SSA_NAME_EQUIV, SET_SSA_NAME_EQUIV): New macros.
	(struct tree_ssa_name): Add new "equiv" field.
	* tree-ssa-dom.c (const_and_copies): Kill the global varray.
	(tree_ssa_dominator_optimize): No longer allocate, resize or
	clear CONST_AND_COPIES.
	(get_value_for, set_value_for): Kill.
	(thread_across_edge): Get/set the equivalency using
	SSA_NAME_EQUIV and SET_SSA_NAME_EQUIV.
	(restore_vars_to_original_value): Likewise.
	(record_equivalences_from_phis): Likewise.
	(record_dominating_conditions): Likewise.
	(record_const_or_copy, record_equality): Likewise.
	(lookup_avail_expr): Likewise.
	(record_equivalences_from_stmt, cprop_operand): Likewise.
	(cprop_into_successor_phis): No longer need to pass around
	CONST_AND_COPIES.  Callers updated. Get equivalences via
	SSA_NAME_EQUIV.
	(cprop_into_phis): Likewise.

Co-Authored-By: Jan Hubicka <jh@suse.cz>

From-SVN: r87787
2004-09-20 21:19:00 -06:00
Matt Austern
c162c75e43 c-common.c (fix_string_type): Build the unqualified array type unconditionally...
2004-09-20  Matt Austern <austern@apple.com>
	    Zack Weinberg  <zack@codesourcery.com>

	* c-common.c (fix_string_type): Build the unqualified array
	type unconditionally, then use c_build_qualified_type to get
	the proper const-qualified variant, and set its
	TYPE_MAIN_VARIANT to refer to the unqualified type.
	* c-lex.c (c_lex_return_raw_string): New global.
	(c_lex_with_flags): Honor it.
	* c-pragma.h: Declare it.

cp:
	* decl.c (make_rtl_for_nonlocal_decl, start_preparsed_function):
	Apply lbasename to input_filename before passing to get_fileinfo.
	* semantics.c (begin_class_definition): Likewise.
	* lex.c (handle_pragma_interface): Apply get_fileinfo to the
	correct filename.  Rename variables to be less confusing.
	(handle_pragma_implementation): Likewise.  Disable "appears
	after file is included" diagnostic.

	* parser.c (struct cp_token): Add in_system_header fiag.
	(CP_TOKEN_BLOCK_NUM_TOKENS, struct cp_token_block)
	(CP_TOKEN_BUFFER_SIZE, cp_token_cache_push_token)
	(CPP_NONE, cp_lexer_read_token): Delete.
	(struct cp_lexer): Remove first_token, string_tokens,
	main_lexer_p fields.  Clarify comments.
	(struct cp_token_cache): Now just a pair of pointers.
	(CP_LEXER_BUFFER_SIZE): New #define.
	(CPP_PURGED): New fake token type.
	(cp_lexer_new_from_token_array, cp_lexer_destroy)
	(cp_lexer_peek_token_emit_debug_info, cp_lexer_skip_purged_tokens)
	(cp_lexer_handle_pragma, cp_token_cache_new, cp_parser_string_literal):
	New functions.
	(cp_lexer_new_from_tokens): Now a simple wrapper around
	cp_lexer_new_from_token_array.
	(cp_lexer_set_source_position_from_token): Also update
	in_system_header.
	(cp_lexer_next_token, cp_lexer_prev_token, cp_lexer_advance_token):
	Don't wrap round.
	(cp_lexer_token_difference): Dont handle wrapping round.
	(cp_lexer_new_main): Enable pragma deferral and raw strings,
	read the entire translation unit through c_lex_with_flags into
	this lexer's buffer, then turn raw strings back off again.
	(cp_lexer_grow_buffer): Adjust for buffer no longer being circular.
	(cp_lexer_get_preprocessor_token): No need to handle not being
	the main lexer.  Set token->in_system_header too.
	(cp_lexer_peek_token): Skip purged tokens.  Feed pragma tokens
	to cp_lexer_handle_pragma.  No need to call cp_lexer_read_token.
	(cp_lexer_peek_nth_token): Likewise.
	(cp_lexer_purge_token): Mark the token PURGED, don't shift all
	the other tokens down.
	(cp_lexer_purge_tokens_after): Likewise.
	(cp_lexer_save_tokens, cp_lexer_rollback_tokens): Don't worry
	about there being no tokens.
	(cp_lexer_print_token): Revise to give useful information on
	all tokens.
	(struct cp_parser): Add field translate_strings_p.
	(cp_parser_new): Initialize it.
	(cp_parser_translation_unit): Destroy the lexer when done.
	(cp_parser_parameter_declaration): Restructure saving of
	default arguments.
	(cp_parser_save_member_function_body): Likewise.
	(cp_parser_check_for_invalid_template_id)
	(cp_parser_nested_name_specifier_opt, cp_parser_template_id):
	Adjust calls to cp_lexer_advance_token.
	(cp_parser_skip_to_closing_parenthesis, cp_parser_declaration):
	No need to fiddle c_lex_string_translate.
	(cp_parser_primary_expression, cp_parser_linkage_specification)
	(cp_parser_asm_definition, cp_parser_asm_specification_opt)
	(cp_parser_asm_operand_list, cp_parser_asm_clobber_list)
	Use cp_parser_string_literal.
	(cp_parser_attribute_list): Save and restore
	parser->translate_strings_p, not c_lex_string_translate.
	(cp_parser_cache_group): Delete.
	(cp_parser_cache_group_1): Rename cp_parser_cache_group.  Do
	not take a cache argument.

From-SVN: r87786
2004-09-21 02:22:45 +00:00
Daniel Berlin
5cfa876635 Makefile.in: Fix flags.h dependencies to be $(FLAGS_H).
2004-09-20  Daniel Berlin  <dberlin@dberlin.org>

	* Makefile.in: Fix flags.h dependencies to be $(FLAGS_H).

From-SVN: r87785
2004-09-21 01:00:11 +00:00
GCC Administrator
d6c0b27afa Daily bump.
From-SVN: r87783
2004-09-21 00:16:13 +00:00
Jan Hubicka
d21bede3c1 re PR middle-end/17126 (ICE with -fno-unit-at-a-time and -O3)
PR middle-end/17126
	* tree-optimize.c (update_inlined_to_pointers): Fix the recursion.
	(tree_rest_of_compilation): Cleanup.

From-SVN: r87780
2004-09-21 00:08:53 +00:00
Ulrich Weigand
37337e55bf s390.c (s390_select_rtx_section): Remove.
* config/s390/s390.c (s390_select_rtx_section): Remove.
	(TARGET_ASM_SELECT_RTX_SECTION): Do not redefine.

From-SVN: r87779
2004-09-20 23:42:00 +00:00
Kaz Kojima
455786b6c7 sh.c (sh_expand_prologue): Add a REG_FRAME_RELATED_EXPR note to pretend a direct save from the original...
* config/sh/sh.c (sh_expand_prologue): Add a REG_FRAME_RELATED_EXPR
	note to pretend a direct save from the original register when an
	intermediate register is used for the save.

From-SVN: r87778
2004-09-20 23:10:00 +00:00
Giovanni Bajo
3d142be23b re PR c++/14179 (out of memory while parsing array with many initializers)
PR c++/14179
	* decl.c (reshape_init): Extract array handling into...
	(reshape_init_array): New function. Use integers instead of trees
	for indices. Handle out-of-range designated initializers.

From-SVN: r87777
2004-09-20 23:05:40 +00:00
Kaveh R. Ghazi
2c82eecc78 tsystem.h (alloca): Provide a default definition.
* tsystem.h (alloca): Provide a default definition.

	Revert:
	2001-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
	    * unwind-dw2.c: Call __builtin_alloca, not alloca.

From-SVN: r87775
2004-09-20 22:23:12 +00:00
Steven Bosscher
d3907cc356 lex.c (cxx_init): Don't set the ridpointer for RID_NULL to null_node.
* lex.c (cxx_init): Don't set the ridpointer for RID_NULL
	to null_node.

From-SVN: r87774
2004-09-20 21:03:56 +00:00
Andrew Pinski
4c9d875031 re PR tree-optimization/17558 (internal compiler error: in merge_alias_info, at tree-ssa-copy.c:182)
2004-09-20  Andrew Pinski  <pinskia@physics.uc.edu>

        PR tree-opt/17558
        * gcc.c-torture/compile/pr17558.c: New test.

From-SVN: r87773
2004-09-20 13:58:23 -07:00
Andrew Pinski
b1940f0c23 re PR tree-optimization/17558 (internal compiler error: in merge_alias_info, at tree-ssa-copy.c:182)
2004-09-20  Andrew Pinski  <pinskia@physics.uc.edu>

        PR tree-opt/17558
        * tree-ssa-copy.c (may_propagate_copy): Only allow if the
        aliasing sets are the same rather than just conflicting.

From-SVN: r87772
2004-09-20 13:53:08 -07:00
Jan Hubicka
1a94c545f0 cgraph.c (cgraph_unnest_node): New function.
* cgraph.c (cgraph_unnest_node): New function.
	(c_finalize): Rename to ....
	(c_warn_unused_result_recursivly): ... this one; do only the warning
	(finish_function): Finalize the toplevel function; do not lower nested tree.
	* cgraph.h (cgraph_unnest_node): Declare.
	* cgraphunit.c (decide_is_function_needed): Do not use cgraph
	nestedness datastructure.
	* cse.c (cse_insn): Do not cprop nonlocal LABEL_REFs.
	* reload1.c (set_label_offsets): Fix call of set_label_offsets.
	* tree-nested.c (finlize_nesting_tree_1):  Use un-nesting code.

From-SVN: r87771
2004-09-20 20:41:20 +00:00
Jan Hubicka
8f2353433c re PR middle-end/16460 (ICE when compiling glibc (ld-ctype.c))
PR middle-end/16460

	* cgraph.c (cgraph_unnest_node): New function.
	(c_finalize): Rename to ....
	(c_warn_unused_result_recursivly): ... this one; do only the warning
	(finish_function): Finalize the toplevel function; do not lower nested tree.
	* cgraph.h (cgraph_unnest_node): Declare.
	* cgraphunit.c (decide_is_function_needed): Do not use cgraph
	nestedness datastructure.
	* cse.c (cse_insn): Do not cprop nonlocal LABEL_REFs.
	* reload1.c (set_label_offsets): Fix call of set_label_offsets.
	* tree-nested.c (finlize_nesting_tree_1):  Use un-nesting code.

	* utils.c (gnat_finalize): Remove.
	(end_subprog_body): Directly call cgraph_finalize_function;
	do not lower the nested functions.

	* trans-decl.c (build_entry_thunks): Finalize the function; do not lower
	tree.
	(gfc_generate_function_code): Likewise.

From-SVN: r87770
2004-09-20 20:38:29 +00:00
Richard Henderson
04161e2bde alpha.c (some_small_symbolic_operand_int): Rename from some_small_symbolic_operand_1; export.
* config/alpha/alpha.c (some_small_symbolic_operand_int): Rename
        from some_small_symbolic_operand_1; export.
        (some_small_symbolic_operand): Remove.
        * config/alpha/alpha.md (some_small_symbolic_operand splitter): Remove
        extra C check.
        * config/alpha/predicates.md (some_small_symbolic_operand): New.

From-SVN: r87769
2004-09-20 13:13:39 -07:00
Jan Hubicka
bb033fd806 predict.c (return_prediction): New function.
* predict.c (return_prediction): New function.
	(apply_return_prediction): Likewise.
	(tree_bb_level_predictions): Likewise.
	(tree_estimate_probability): Add noreturn exit edges; call
	bb_level_predictions; fix logic of return heuristics.
	(predict_paths_leading_to):  Rescuesce from old CVS version of
	process_note_prediction function.
	* predict.def (PRED_TREE_EARLY_RETURN): New predictor.

From-SVN: r87768
2004-09-20 18:43:30 +00:00
Richard Sandiford
348f5701fc sdata-section.h (SDATA_SECTION): Don't use an attribute if SKIP_ATTRIBUTE is defined.
* gcc.dg/compat/sdata-section.h (SDATA_SECTION): Don't use an attribute
	if SKIP_ATTRIBUTE is defined.

From-SVN: r87766
2004-09-20 18:02:53 +00:00
Andreas Krebbel
ea50629789 s390.c (s390_frame_info): Added alignment statement for floating point register area on stack.
2004-09-20  Andreas Krebbel  <krebbel1@de.ibm.com>

	* config/s390/s390.c (s390_frame_info): Added alignment statement for
	floating point register area on stack.

From-SVN: r87765
2004-09-20 17:25:39 +00:00
Tobias Schlüter
da89fba81f re PR fortran/15957 (Error in array assignments; 'shape'-related stuff)
fortran/
PR fortran/15957
* simplify.c (gfc_simplify_reshape): Set shape of return value
correctly.

testsuite/
PR fortran/15957
* gfortran.dg/pr15957.f90: New test.

From-SVN: r87764
2004-09-20 19:22:50 +02:00
Jakub Jelinek
096759ebec * predict.c (expr_expected_value): Use *_CLASS_P macros.
From-SVN: r87763
2004-09-20 18:56:12 +02:00
Dorit Naishlos
1cdcb2cfd1 vect-74.c: Avoid floating point precision error in comparison.
* gcc.dg/vect/vect-74.c: Avoid floating point precision error
        in comparison.
        * gcc.dg/vect/vect-79.c: Likewise.
        * gcc.dg/vect/vect-80.c: Likewise.

From-SVN: r87762
2004-09-20 16:26:24 +00:00
Daniel Berlin
d6fd4b8d11 tree-ssa-pre.c (compute_antic_aux): Use malloc'd worklist, to avoid generating useless garbage.
2004-09-20  Daniel Berlin  <dberlin@dberlin.org>

	* tree-ssa-pre.c (compute_antic_aux): Use malloc'd worklist, to avoid
	generating useless garbage.

From-SVN: r87760
2004-09-20 15:45:21 +00:00
Paolo Bonzini
c2dda19b3b builtins.c (fold_builtin): Call the new omonymous target hook for machine-dependent built-ins.
2004-09-20  Paolo Bonzini  <bonzini@gnu.org>

	* builtins.c (fold_builtin): Call the new omonymous
	target hook for machine-dependent built-ins.
	* target-def.h (TARGET_FOLD_BUILTIN): New.
	* target.h (struct gcc_target): Add the fold_builtin hook.
	* targhooks.c (default_fold_builtin): New.
	* targhooks.h (default_fold_builtin): Declare it.

From-SVN: r87756
2004-09-20 14:47:20 +00:00
Robert Dewar
bb9be5eb9c re PR ada/17540 (Duplicate symbols while building Ada)
2004-09-20  Robert Dewar  <dewar@gnat.com>

	PR ada/17540

	* freeze.adb (Check_Address_Clause): Reset Is_Imported and Is_Public
	if an address clause is present, since that means that the Import
	should be ignored.

From-SVN: r87755
2004-09-20 14:07:47 +02:00
Kazu Hirata
d4a9b3a336 cfg.c, [...]: Fix comment typos.
* cfg.c, tree-ssa-threadupdate.c, tree-vectorizer.c: Fix
	comment typos.

From-SVN: r87753
2004-09-20 11:17:22 +00:00
Tobias Schlüter
b898b8d923 re PR fortran/15750 (IOLENGTH form of INQUIRE statement not implemented)
PR fortran/15750
* gfortran.fortran-torture/execute/iolength_2.f90: New test.

From-SVN: r87752
2004-09-20 13:09:47 +02:00