Commit Graph

62195 Commits

Author SHA1 Message Date
James A. Morrison 34c4f8c7d8 re PR treelang/17762 (treelang doesn't use mapped locations)
2004-10-02  James A. Morrison  <phython@gcc.gnu.org>

        PR other/17762
        * lex.l: Include input.h and errors.h
        (lineno): New variable.
        (LINEMAP_POSITION_FOR_COLUMN): Define as noop when USE_MAPPED_LOCATION
        is not defined.
        Set column position with LINEMAP_POSITION_FOR_COLUMN.
        Use error instead of fprintf.
        Set input_location with the value returned by linemap_start_line when
        USE_MAPPED_LOCATION is defined.
        (dump_lex_value): Use LOCATION_LINE.
        * parse.y: Include errors.h.
        Use error and warning instead of fprintf.
        (return): Move exp to rule scope and always set to $2.  Test against
        exp instead of $2.
        (init): Set $$ to $2.
        (print_token): Use LOCATION_LINE.
        * tree1.c (treelang_init): Call treelang_init_decl_processing last.
        Call linemap_add to set input_filename when USE_MAPPED_LOCATION is
        defined.
        (treelang_parse_file): Always start at line one.
        Rename input_filename to main_input_filename when USE_MAPPED_LOCATION is
        defined.
        Leave main_input_filename when done parsing the input.
        (insert_tree_name): Use error instead of fprintf.
        * treetree.c (tree_code_get_expression): Wrap long line.
        (tree_mark_addressable): Use %qD to print out DECLs.

2004-10-02  James A. Morrison  <phython@gcc.gnu.org>

        * compile/autofunc.tree: New File.
        * compile/badchar.tree: New File.
        * compile/externvar.tree: New File.
        * compile/mismatch.tree: New File.
        * compile/noproto.tree: New File.
        * compile/novar.tree: New File.
        * compile/var_defs.tree: Add duplicate variable.

From-SVN: r88430
2004-10-02 18:38:29 +00:00
James A. Morrison 039784fa0d parse.y: Use gcc_assert and gcc_unreachable instead of abort.
2004-10-02  James A. Morrison  <phython@gcc.gnu.org>

        * parse.y: Use gcc_assert and gcc_unreachable instead of abort.
        * tree1.c: Likewise.
        * treetree.c: Likewise.

From-SVN: r88429
2004-10-02 17:42:44 +00:00
James A. Morrison 7e57da121a lex.l: Remove random whitespace.
2004-10-02  James A. Morrison  <phython@gcc.gnu.org>

        * lex.l: Remove random whitespace.
        * parse.y: Reformat copyright notice.  Indent declarations.
        Wrap long lines, unwrap short lines.
        * tree1.c: Reformat copyright notice.  Wrap long lines.
        Remove random whitespace.
        (lookup_tree_name): Use LOCATION_LINE.
        * treetree.c: Reformat copyright notice.  Wrap long lines.
        Remove random whitespace.

From-SVN: r88428
2004-10-02 17:40:04 +00:00
P.J. Darcy 1abb828af1 ltcf-c.sh (tpf*): Add ld_shlibs=yes.
2004-10-02  P.J. Darcy  <darcypj@us.ibm.com>

	* ltcf-c.sh (tpf*): Add ld_shlibs=yes.
	* ltcf-cxx.sh (tpf*): Likewise.
	* ltconfig (tpf*): Add TPF OS configuration support.

From-SVN: r88427
2004-10-02 16:33:06 +00:00
Kazu Hirata c72f8eec54 * objc-act.c: Fix comment typos.
From-SVN: r88426
2004-10-02 15:56:06 +00:00
James A. Morrison 64beac09f9 parse.y (ELSE): Set tok to $1.
2004-09-28  James A. Morrison  <phython@gcc.gnu.org>

        * parse.y (ELSE): Set tok to $1.
        * treelang.texi: Wrap comments in @r{}.  Indent example comments.
        Use gcc when refering to the command line or website.  Update function
        definition.

From-SVN: r88425
2004-10-02 15:18:16 +00:00
Kazu Hirata 66efeafc2e * tree-cfg.c, config/s390/tpf-unwind.h: Fix comment typos.
From-SVN: r88424
2004-10-02 12:47:11 +00:00
Kaz Kojima 3d47e9caa9 * testsuite/libffi.call/negint.c: New test case.
From-SVN: r88421
2004-10-02 07:02:41 +00:00
Ulrich Weigand 12d3155f3b * gcc.dg/tree-ssa/loop-1.c: Merge changed dg-options for s390-*-*.
From-SVN: r88420
2004-10-02 04:19:16 +00:00
Kazu Hirata 26d4492f61 tree-cfg.c (cleanup_tree_cfg): Speed up by calling delete_unrechable_blocks() only when necessary.
* tree-cfg.c (cleanup_tree_cfg): Speed up by calling
	delete_unrechable_blocks() only when necessary.

From-SVN: r88419
2004-10-02 02:00:51 +00:00
P.J. Darcy ee0f32f4ac gthr-tpf.h (__gthread_recursive_mutex_t): New type.
2004-10-02  P.J. Darcy  <darcypj@us.ibm.com>

	* gthr-tpf.h (__gthread_recursive_mutex_t): New type.
	(__GTHREAD_RECURSIVE_MUTEX_INIT): Define.
	(__gthread_recursive_mutex_lock, __gthread_recursive_mutex_trylock,
	__gthread_recursive_mutex_unlock): New functions.

From-SVN: r88418
2004-10-02 00:48:44 +00:00
P.J. Darcy 3ff688aa85 t-tpf (LIB2ADDEH): Remove tpf-eh.c.
2004-10-02  P.J. Darcy  <darcypj@us.ibm.com>

	* config/s390/t-tpf (LIB2ADDEH): Remove tpf-eh.c.
	* config/s390/tpf-eh.c: Remove file.
	* config/s390/tpf-unwind.h: New file.
	* config/s390/tpf.h (MD_FALLBACK_FRAME_STATE_FOR): Remove.
	(MD_UNWIND_SUPPORT): Define.

From-SVN: r88417
2004-10-02 00:47:06 +00:00
GCC Administrator 62bea9efc8 Daily bump.
From-SVN: r88415
2004-10-02 00:16:11 +00:00
Joseph Myers 36262a4c61 * c-typeck.c (warn_for_assignment): Don't permit argnum == 0.
From-SVN: r88412
2004-10-02 00:11:58 +01:00
Ulrich Weigand 5b022de53c s390-protos.h (s390_comparison): Add prototype.
* config/s390/s390-protos.h (s390_comparison): Add prototype.
	* config/s390/s390.c (s390_comparison): New function.
	(s390_branch_condition_mask): Return -1 for invalid comparisons.
	(s390_branch_condition_mnemonic): Assert valid comparison.
	* config/s390/s390.h (PREDICATE_CODES): Add s390_comparison.
	* config/s390/s390.md ("*cjump_64", "*cjump_31", "*cjump_long",
	"*icjump_64", "*icjump_31", "*icjump_long", "*trap"): Use
	s390_comparison instead of comparison_operator.

	* config/s390/s390.md (UNSPEC_CMPINT): New constant.
	("cmpmemdi"): Remove.
	("cmpmem_short", "*cmpmem_short"): Use CCUmode instead of CCSmode.
	("cmpmem_long", "*cmpmem_long_64", "*cmpmem_long_31"): Likewise.
	("cmpint_si"): Rename to ...
	("*cmpint_si"): ... this.  Use UNSPEC_CMPINT.
	("cmpint_di", "*cmpint_di"): Likewise.
	* config/s390/s390.c (s390_canonicalize_comparison): Remove
	redundant UNSPEC_CMPINT conversions.
	(s390_expand_cmpmem): Adapt to cmpint pattern changes.

From-SVN: r88410
2004-10-01 21:48:13 +00:00
Paolo Carlini abccc4f66c sstream.tcc (pbackfail): Implement correctly 27.7.1.3/2, bullet 2...
2004-10-01  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/sstream.tcc (pbackfail): Implement correctly
	27.7.1.3/2, bullet 2: if mode & ios_base::out is false do not
	write in the buffer.
	* testsuite/27_io/basic_stringbuf/pbackfail/char/1.cc: New.
	* testsuite/27_io/basic_stringbuf/pbackfail/char/2.cc: Likewise.
	* testsuite/27_io/basic_stringbuf/pbackfail/wchar_t/1.cc: Likewise.
	* testsuite/27_io/basic_stringbuf/pbackfail/wchar_t/2.cc: Likewise.
	* testsuite/27_io/basic_istream/putback/char/1.cc: Tweak consistently.

From-SVN: r88407
2004-10-01 21:01:29 +00:00
Kazu Hirata b89dc911b3 collect2.c (COLLECT_PARSE_FLAG): Remove.
* collect2.c (COLLECT_PARSE_FLAG): Remove.
	(main): Remove a reference to COLLECT_PARSE_FLAG
	* system.h: Poison COLLECT_PARSE_FLAG.
	* doc/tm.texi (COLLECT_PARSE_FLAG): Remove.

From-SVN: r88406
2004-10-01 18:45:28 +00:00
Paul Brook e367a231c5 * config/arm/crti.asm: Give _init and _fini function type.
From-SVN: r88405
2004-10-01 18:30:22 +00:00
Zdenek Dvorak 47bcd07d56 common.opt (ftree-loop-ivcanon): Enable by default.
* common.opt (ftree-loop-ivcanon): Enable by default.
	* tree-ssa-loop-ivcanon.c (try_unroll_loop_completely):
	Enable complete loop unrolling.
	(canonicalize_induction_variables, tree_unroll_loops_completely):
	Reset scev info.

	* gcc.dg/tree-ssa/loop-1.c: Check that unrolling occurs already on
	tree level.

From-SVN: r88404
2004-10-01 18:26:37 +00:00
Andrew Pinski 734268f590 pr17343.c: Remove.
2004-10-01  Andrew Pinski  <pinskia@physics.uc.edu>

        * gcc.dg/tree-ssa/pr17343.c: Remove.

From-SVN: r88401
2004-10-01 09:55:56 -07:00
Bernd Schmidt 16d1338d6b Change of email address
From-SVN: r88400
2004-10-01 16:25:11 +00:00
Paul Brook c73d282d83 arm.c (thumb_compute_saved_rag_mask): Or with bitmask, not register number.
* config/arm/arm.c (thumb_compute_saved_rag_mask): Or with bitmask,
	not register number.
	(thumb_find_work_register): Search full register range.

From-SVN: r88399
2004-10-01 15:55:21 +00:00
Andrew Pinski 29c4d22b06 re PR tree-optimization/17343 (a dispatch table can be shortened for certain switch statements)
2004-10-01  Andrew Pinski  <pinskia@physics.uc.edu>

        PR tree-opt/17343
        * gcc.dg/tree-ssa/pr17343.c: New test.

2004-10-01  Andrew Pinski  <pinskia@physics.uc.edu>

        PR tree-opt/17343
        * tree-cfg.c (group_case_labels): Get the label and not
        the case expr for the default case.
        When the label we looking at is the default, decrement the
        new_size.

From-SVN: r88397
2004-10-01 08:22:26 -07:00
Jan Hubicka 0f0377f6dd c-decl.c (c_expand_body): Update call tree_rest_of_compilation.
* c-decl.c (c_expand_body): Update call tree_rest_of_compilation.
	* cgraphunit.c (cgraph_build_static_cdtor): Likewise.
	* toplev.h (tree_rest_of_compilation): Update prototype.
	* tree-optimize.c (tree_rest_of_compilation):  Kill nested_p argument.

	* misc.c (gnat_expand_body): Update call of tree_rest_of_compilation.

	* semantics.c (expand_body): Update call of tree_rest_of_compilation.

	* f95-lang.c (gfc_expand_function): Update call of
	tree_rest_of_compilation.
	* trans-decl.c (gfc_generate_constructors): Likewise.

	* java.c (java_expand_body): Update call of tree_rest_of_compilation.

	* treetree.c (treeland_expand_function): Update call of
	tree_rest_of_compilation.

From-SVN: r88396
2004-10-01 15:11:25 +00:00
Kazu Hirata 8f28be81e3 tree-cfg.c (cleanup_tree_cfg): Pull a call to cleanup_control_flow() out of the while loop.
* tree-cfg.c (cleanup_tree_cfg): Pull a call to
	cleanup_control_flow() out of the while loop.

From-SVN: r88395
2004-10-01 14:51:25 +00:00
Kazu Hirata 5f90fc4770 * lex.c: Fix a comment typo.
From-SVN: r88394
2004-10-01 13:44:20 +00:00
Kazu Hirata 0690a9f4c5 * java-tree.h: Fix a comment typo.
From-SVN: r88393
2004-10-01 12:54:51 +00:00
Andreas Schwab acfeef9caa Fix typo.
From-SVN: r88392
2004-10-01 11:11:36 +00:00
Paolo Bonzini 02ca17189e tree-vectorizer.c (vectorizable_operation): Fail unless the mode for the vector type is indeed a vector mode.
2004-10-01  Paolo Bonzini  <bonzini@gnu.org>

	* tree-vectorizer.c (vectorizable_operation): Fail unless
	the mode for the vector type is indeed a vector mode.

From-SVN: r88390
2004-10-01 09:59:01 +00:00
Paolo Carlini f67b6b7a9e sstream.tcc (seekpos): Minor rearrangement of two conditionals consistently with seekoff.
2004-10-01  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/sstream.tcc (seekpos): Minor rearrangement of two
	conditionals consistently with seekoff.
	* include/std/std_sstream.h (setbuf): Avoid a string temporary.
	(_M_sync): Simplify a bit, clean-up comment.

From-SVN: r88389
2004-10-01 09:22:49 +00:00
Zdenek Dvorak e6845c2382 tree-chrec.c (chrec_fold_plus_poly_poly, [...]): Use fold_convert or build_int_cst_type instead od fonvert.
* tree-chrec.c (chrec_fold_plus_poly_poly, chrec_fold_plus_1,
	chrec_fold_multiply): Use fold_convert or build_int_cst_type instead
	od fonvert.
	* tree-scalar-evolution.c (compute_overall_effect_of_inner_loop,
	add_to_evolution, set_nb_iterations_in_loop, follow_ssa_edge_in_rhs,
	follow_ssa_edge_in_rhs): Ditto.
	* tree-ssa-loop-ivopts.c (struct iv): Add base_object field.
	(dump_iv): Dump base_object.
	(dump_use, dump_cand): Use dump_iv.
	(determine_base_object): New function.
	(alloc_iv): Initialize base_object field.
	(record_use): Clear the ssa_name field of iv.
	(get_computation_cost_at): Do not use difference of addresses of
	two different objects.
	(may_eliminate_iv): Do not require the loop to have just single exit.
	* tree-ssa-loop-niter.c (zero_p): Do not check for overflows.
	(nonzero_p): New function.
	(inverse, number_of_iterations_cond, simplify_using_outer_evolutions,
	tree_simplify_using_condition, simplify_using_initial_conditions,
	loop_niter_by_eval, find_loop_niter_by_eval,
	estimate_numbers_of_iterations_loop, compare_trees,
	upper_bound_in_type, lower_bound_in_type,
	can_count_iv_in_wider_type_bound): Use buildN instead of build.  Use
	fold_convert or build_int_cst_type instead of convert.  Use (non)zero_p
	instead of integer_(non)zerop.

From-SVN: r88388
2004-10-01 09:06:06 +00:00
Jakub Jelinek 5496b36fc2 revert: tree.h (enum tree_index): Add TI_VA_LIST_GPR_COUNTER_FIELD and TI_VA_LIST_FPR_COUNTER_FIELD.
2004-10-01  Jakub Jelinek  <jakub@redhat.com>

	Revert
	2004-09-29  Jakub Jelinek  <jakub@redhat.com>

	* tree.h (enum tree_index): Add TI_VA_LIST_GPR_COUNTER_FIELD
	and TI_VA_LIST_FPR_COUNTER_FIELD.
	(va_list_gpr_counter_field, va_list_fpr_counter_field): Define.
	* tree-pass.h (pass_stdarg): Add.
	* tree-optimize.c (init_tree_optimization_passes): Add pass_stdarg.
	* tree-stdarg.c: New file.
	* Makefile.in (OBJS-common): Add tree-stdarg.o.
	(tree-stdarg.o): Add dependencies.
	* function.h (struct function): Add va_list_gpr_size and
	va_list_fpr_size fields.
	* function.c (allocate_struct_function): Initialize them.

	* config/i386/i386.c (ix86_build_builtin_va_list): Initialize
	va_list_{g,f}pr_counter_field.
	(ix86_setup_incoming_varargs): Don't do anything if reg_save
	area will not be used.  Only save registers that tree-stdarg.c
	detected they need saving.
	(ix86_va_start): Don't set up fields that won't be used.

	* config/rs6000/rs6000.c (rs6000_build_builtin_va_list): Initialize
	va_list_{g,f}pr_counter_field.
	(setup_incoming_varargs): Don't do anything if reg_save
	area will not be used.  Only save registers that tree-stdarg.c
	detected they need saving.
	(rs6000_va_start): Don't set up fields that won't be used.

	* gcc.dg/tree-ssa/stdarg-1.c: Removed.
	* gcc.dg/tree-ssa/stdarg-2.c: Removed.
	* gcc.dg/tree-ssa/stdarg-3.c: Removed.
	* gcc.dg/tree-ssa/stdarg-4.c: Removed.
	* gcc.dg/tree-ssa/stdarg-5.c: Removed.

From-SVN: r88383
2004-10-01 09:43:03 +02:00
Eric Christopher a1c496cb43 dwarf2.h (dwarf_calling_convention): Add enum for renesas sh abi.
2004-09-30  Eric Christopher  <echristo@redhat.com>

	* dwarf2.h (dwarf_calling_convention): Add enum for renesas
	sh abi.
	* dwarf2out.c (add_calling_convention_attribute): New function.
	(gen_subroutine_type_die): Use.
	* target-def.h (TARGET_DWARF_CALLING_CONVENTION): New hook.
	* target.h (gcc_target): Add dwarf_calling_convention.
	* hooks.c (hook_int_tree_0): New function.
	* hooks.h: Prototype.
	* config/sh/sh.c: Include dwarf2.h.
	(sh_dwarf_calling_convention): New function.
	(TARGET_DWARF_CALLING_CONVENTION): Use.
	* doc/tm.texi (TARGET_DWARF_CALLING_CONVENTION): Document.

From-SVN: r88382
2004-10-01 05:08:59 +00:00
Andrew Pinski 049bc40445 re PR libobjc/16448 (FAIL: objc/execute/IMP.m compilation, -O0)
2004-09-16  Andrew Pinski  <pinskia@physics.uc.edu>

        PR libobjc/16448
        * exception.c: Include config.h
        (objc_exception_throw): Change _GLIBCXX_SJLJ_EXCEPTIONS to
        SJLJ_EXCEPTIONS.
        * configure.ac: Find out what exception handling code we use.
        * configure: Regenerate.
        * config.h.in: New file, regenerate.

From-SVN: r88379
2004-09-30 20:46:39 -07:00
Kaveh R. Ghazi bd042dbb63 builtins.c (expand_builtin_strstr, [...]): Eliminate duplicate code.
* builtins.c (expand_builtin_strstr, expand_builtin_strchr,
	expand_builtin_strrchr, expand_builtin_strpbrk,
	expand_builtin_strncat, expand_builtin_strspn,
	expand_builtin_strcspn, expand_builtin_fputs): Eliminate duplicate
	code.

From-SVN: r88378
2004-10-01 02:54:39 +00:00
GCC Administrator 97804fa37c Daily bump.
From-SVN: r88373
2004-10-01 00:16:11 +00:00
Ulrich Weigand 8cb66696c1 s390-protos.h (s390_expand_logical_operator): Add prototype.
* config/s390/s390-protos.h (s390_expand_logical_operator): Add
	prototype.
	(s390_logical_operator_ok_p): Likewise.
	* config/s390/s390.c (s390_expand_logical_operator): New function.
	(s390_logical_operator_ok_p): Likewise.
	* config/s390/s390.md ("anddi3"): New expander.
	("*anddi3"): Rename from old anddi3 pattern, add Q->Q alternative.
	("*anddi3_ss", "*anddi3_ss_inv"): Remove.
	("andsi3"): Use s390_expand_logical_operator.
	("*andsi3_esa", "*andsi3_zarch"): Add Q->Q alternative.
	("*andsi3_ss", "*andsi3_ss_inv"): Remove.
	("andhi3"): New expander.
	("*andhi3_zarch", "*andhi3_esa"): New patterns.
	("andhi3", "*andhi3_ni", "*andhi3_ss", "*andhi3_ss_inv"): Remove.
	("andqi3"): New expander.
	("*andqi3_zarch", "*andqi3_esa"): New patterns.
	("andqi3", "*andqi3_ni", "*andqi3_ss", "*andqi3_ss_inv"): Remove.
	("iordi3"): New expander.
	("*iordi3"): Rename from old iordi3 pattern, add Q->Q alternative.
	("*iordi3_ss", "*iordi3_ss_inv"): Remove.
	("iorsi3"): Use s390_expand_logical_operator.
	("*iorsi3_esa", "*iorsi3_zarch"): Add Q->Q alternative.
	("*iorsi3_ss", "*iorsi3_ss_inv"): Remove.
	("iorhi3"): New expiorer.
	("*iorhi3_zarch", "*iorhi3_esa"): New patterns.
	("iorhi3", "*iorhi3_ni", "*iorhi3_ss", "*iorhi3_ss_inv"): Remove.
	("iorqi3"): New expiorer.
	("*iorqi3_zarch", "*iorqi3_esa"): New patterns.
	("iorqi3", "*iorqi3_ni", "*iorqi3_ss", "*iorqi3_ss_inv"): Remove.
	("xordi3"): New expander.
	("*xordi3"): Rename from old xordi3 pattern, add Q->Q alternative.
	("*xordi3_ss", "*xordi3_ss_inv"): Remove.
	("xorsi3"): New expander.
	("*xorsi3"): Rename from old xorsi3 pattern, add Q->Q alternative.
	("*xorsi3_ss", "*xorsi3_ss_inv"): Remove.
	("xorhi3"): New expander.
	("*xorqi3"): Rename from old xorhi3 pattern, add Q->Q alternative.
	("*xorhi3_ss", "*xorhi3_ss_inv"): Remove.
	("xorqi3"): New expander.
	("*xorqi3"): Rename from old xorqi3 pattern, add Q->Q alternative.
	("*xorqi3_ss", "*xorqi3_ss_inv"): Remove.

From-SVN: r88370
2004-10-01 00:07:52 +00:00
Roger Sayle 7d103eb5d4 combine.c (force_to_mode): Only convert the expression (AND (NE FOO 0) CONST) into (AND FOO CONST) if...
* combine.c (force_to_mode) <NE_EXPR>: Only convert the expression
	(AND (NE FOO 0) CONST) into (AND FOO CONST) if FOO has the same
	machine mode as the result.

From-SVN: r88369
2004-09-30 23:44:30 +00:00
Ben Elliston dc4f06d972 re PR bootstrap/17761 (sh-elf doesn't build after merge from edge-vector-branch)
PR bootstrap/17761
	* lcm.c (optimize_mode_switching): Update to use EDGE_SUCC and
	FOR_EACH_EDGE macros.

From-SVN: r88368
2004-10-01 09:40:15 +10:00
Per Bothner 9ec819d49c Simplify lexer. Implement --enable-mapped-location support.
* jcf-parse.c (parse_class_file):  Use linemap_line_start.
	(parse_source_file_1): Pass filename as extra parameter, so we can call
	linemap_add and set input_location here, rather than in both callers.
	(read_class): Pass copied filename to parse_source_file_1.
	Don't initialize wfl_operator - only needed for source compilation.
	(read_class, jcf_parse):  Call linemap_add with LC_LEAVE.
	* lex.h:  Remove a bunch of debugging macros.
	* lex.h (struct_java_line, struct java_error):  Remove types.
	(JAVA_COLUMN_DELTA):  Remove - use java_lexer.next_colums instead.
	(struct java_lc_s):  Remove prev_col field.
	(struct java_lexer):  New fields next_unicode, next_columns, and
	avail_unicode.  New position field, and maybe token_start field.
	Don't need hit_eof field - use next_unicode == -1 instead.
	(JAVA_INTEGERAL_RANGE_ERROR):  Rename to JAVA_RANGE_ERROR.
	(JAVA_RANGE_ERROR, JAVA_FLOAT_ANGE_ERROR):  Update accordingly.
	* parse.h:  Various changes for USE_MAPPED_LOCATION.
	(EXPR_WFL_EMIT_LINE_NOTE): XXX
	(BUILD_EXPR_WFL, EXPR_WFL_ADD_COL): Remove no-longer-used macros.
	(struct parser_ctxt):  New file_start_location field.
	Remove p_line, c_line fields since we no longer save lines.
	Remove elc, lineno, and current_jcf fields - no longer used.
	* parse.y:  Updates for USE_MAPPED_LOCATION and new lexer.
	Don't use EXPR_WFL_ADD_COL since that isn't trivial with
	source_location and is probably not needed anymore anyway.
	Use new expr_add_Location function.
	(SET_EXPR_LOCATION_FROM_TOKEN):  New convenience macro.
	(java_pop_parser_context):  Minor cleanup.
	(java_parser_context_save_global, java_parser_context_restore_global,
	java_pop_parser_context):  Save/restore input_location as a unit.
	(issue_warning_error_from_context):  If USE_MAPPED_LOCATION take
	a source_location instead of a wfl context node.
	(check_class_interface_creation):  input_filename is not addressable.
	(create_artificial_method):  Calling java_parser_context_save_global
	and java_parser_context_restore_global is overkill.  Instead,
	temporarily set input_location from class decl.
	(java_layout_seen_class_methods): Set input_location from method decl.
	(fix_constructors): Make more robust if no EXPR_WITH_FILE_LOCATION.
	(finish_loop_body):  Likewise.
	* lex.c: Updates for USE_MAPPED_LOCATION.  Use build_unknwon_wfl.
	(java_sprint_unicode):  Take a character, not index in line.
	(java_sneak_uncode):  Replaced by java_peek_unicode.
	(java_unget_unicode):  No longer used.
	(java_allocate_new_line. java_store_unicode):  Removed, since we
	no longer remember "lines".
	(java_new_lexer):  Update for new data structures.
	(java_read_char):  Move unget_value checking to java_read_unicode.
	(java_get_unicode, java_peek_unicode, java_next_unicode): New more
	efficient functions that are used directly when lexing.
	(java_read_unicode_collapsing_terminators):  No longer needed.
	(java_parse_end_comment, java_parse_escape_sequence, do_java_lex):
	Re-organize to use java_peek_unicode to avoid java_unget_unicode.
	(java_parse_escape_sequence):  Rewrite to be simpler / more efficient.
	(do_java_lex):  Lots of movings around to avoid java_unget_unicode,
	combine switch branches, and test for common token kinds earlier.
	(java_lex_error):  Rewrite.
	* jv-scan.c (expand_location): New function, copied from tree.c.
	(main): Set ctxp->filename instead of setting input_filename directly.

From-SVN: r88367
2004-09-30 16:35:07 -07:00
Per Bothner cb3a14307a java-tree.h (JAVA_FILE_P, ZIP_FILE_P): Remove unused macros.
* java-tree.h (JAVA_FILE_P, ZIP_FILE_P):  Remove unused macros.
	* jcf-parse.c (java_parse_file): Don't set input_filename.
	Use IS_A_COMMAND_LINE_FILENAME_P to check for duplicate filenames.
	Create a list of TRANSLATION_UNIT_DECL.
	(current_file_list):  Is now a TRANSLATION_UNIT_DECL chain.  The
	reason is so we can set a DECL_SOURCE_LOCATION for each file.
	(java_parse_file):  Don't set unused ZIP_FILE_P, JAVA_FILE_P..
	Create line-map LC_ENTER/LC_LEAVE entries for archive itself.
	(file_start_location):  New static.
	(set_source_filename):  Avoid extra access to input_filename macro.
	Concatenate new name with class's package prefix.
	(set_source_filename, give_name_to_class): Update.
	(give_name_to_class):  Set class's "line 0" input_location here.
	(parse_class_file):  Set input_location as a unit.

	* jcf-parse.c (load_class): Sanity test if missing inner class file.

From-SVN: r88366
2004-09-30 16:25:27 -07:00
Per Bothner 6744f40032 More cleanup for --enable-mapped-location.
* class.c (push_class):  If USE_MAPPED_LOCATION don't set
	input_location here.  Instead do it in give_name_to_class.
	(build_class_ref):  Set DECL_ARTIFICIAL, for the sake of dwarf2out.
	* expr.c (expand_byte_code): Call linemap_line_start.
	* expr.c (build_expr_wfl):  If USE_MAPPED_LOCATION, change final
	parameters to a source_location.  Don't need EXPR_WFL_FILENAME_NODE.
	(expr_add_location):  New function, if USE_MAPPED_LOCATION.
	* class.c (maybe_layout_super_class):  Adjust build_expr_wfl call
	to USE_MAPPED_LOCATION case.

From-SVN: r88365
2004-09-30 16:23:52 -07:00
Joseph Myers de1041046f * gcc.pot: Regenerate.
From-SVN: r88363
2004-09-30 23:59:36 +01:00
Joseph Myers 9bf242660a c-tree.h (readonly_error): Remove.
* c-tree.h (readonly_error): Remove.
	* c-typeck (enum lvalue_use): New.
	(lvalue_or_else, readonly_error): Use it.  All callers changed.
	(readonly_error): Make static.

testsuite:
	* gcc.dg/lvalue-2.c: New test.

From-SVN: r88362
2004-09-30 23:52:06 +01:00
Jan Hubicka 29e12ba8ca Oops, revert accidental commit.
From-SVN: r88359
2004-09-30 21:30:20 +00:00
Jan Hubicka a710247903 re PR debug/13974 (bad line marker in debug info)
PR debug/13974
	* cfgrtl.c (try_redirect_by_replacing_jump,
	force_nonfallthru_and_redirect, commit_one_edge_insertion,
	cfg_layout_merge_blocks):  Do not attach any line number information
	to newly inserted instructions.
	* emit-rtl.c (emit_insn*_before, emit_insn*_after): Rename to
	emit_insn_*_noloc.
	(emit_*insn_before, emit_insn*_after): New.
	(emit_*insn_before_setloc, emit_*insn_after_setloc): Do not overwrite
	existing locators.
	* rtl.h (emit_*insn_before_noloc, emit_*insn_after_noloc): Declare.
	(emit_*insn_before_sameloc, emit_*insn_after_sameloc): Kill.

From-SVN: r88358
2004-09-30 21:25:52 +00:00
Ulrich Weigand 9108699053 s390-protos.h (s390_arg_frame_offset): Remove.
* config/s390/s390-protos.h (s390_arg_frame_offset): Remove.
	(s390_return_address_offset): Remove.
	(s390_can_eliminate): Add prototype.
	(s390_initial_elimination_offset): Add prototype.
	* config/s390/s390.h (CAN_ELIMINATE): Call s390_can_eliminate.
	(INITIAL_ELIMINATION_OFFSET): Call s390_initial_elimination_offset.
	* config/s390/s390.c (s390_arg_frame_offset): Remove.
	(s390_return_address_offset): Remove.
	(s390_can_eliminate, s390_initial_elimination_offset): New functions.
	(struct machine_function): New member split_branches_pending_p.
	(s390_mainpool_start): Allow nonexistant pool insn for empty pool.
	(s390_mainpool_finish): Likewise.  Clear base_reg if pool empty.
	(s390_optimize_prologue): Remove base_used argument.  Call
	s390_update_frame_layout instead of s390_register_info.  Handle
	prologue/epilogue insns that touch only RETURN_REGNUM.
	(s390_reorg): Remove base_used.  Clear split_branches_pending_p.
	(s390_register_info): Remove base_used and return_addr_used
	arguments, compute special register usage inline.  Return live
	register data to caller.
	(s390_frame_info): Remove arguments, do not call s390_register_info.
	(s390_init_frame_layout): New function.
	(s390_update_frame_layout): Likewise.
	(s390_emit_prologue): Call s390_update_frame_layout; some code
	move to there.  Do not emit pool placeholder insn if unnecessary.

From-SVN: r88357
2004-09-30 21:23:29 +00:00
Ulrich Weigand 13c025c186 s390.c (legitimate_reload_constant_p): Remove floating point constant workaround.
* config/s390/s390.c (legitimate_reload_constant_p): Remove
	floating point constant workaround.
	(s390_secondary_input_reload_class): Handle PLUS reloads
	with too-large constant.
	(s390_expand_plus_operand): Likewise.
	* config/s390/s390.md ("movdi"): Do not call force_const_mem.
	("movsi"): Likewise.  Also, remove workaround for non-general
	operands.
	("movdf"): Do not call force_const_mem.
	("movsf"): Likewise.  Merge expander with *movsf insn.
	("*movsf"): Remove, merge with movsf expander.

From-SVN: r88356
2004-09-30 21:21:57 +00:00
Paul Brook 99b2692a09 symbian.h (STARTFILE_SPEC): Remove crt*.o.
* config/arm/symbian.h (STARTFILE_SPEC): Remove crt*.o.
	(ENDFILE_SPEC): Define.
	* config/arm/t-symbian.h (EXTRA_MULTILIB_PARTS): Set.

From-SVN: r88355
2004-09-30 20:24:33 +00:00
Richard Henderson 3ac7c0f21f * config/alpha/qrnnd.asm: Mark for noexecstack.
From-SVN: r88349
2004-09-30 12:32:07 -07:00