aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2004-08-26tree-alias-common.c (gate_pta): New function.Daniel Berlin2-5/+19
2004-08-26 Daniel Berlin <dberlin@dberlin.org> * tree-alias-common.c (gate_pta): New function. (pass_build_pta): Use it. (pass_del_pta): Use it. (delete_alias_vars): Don't check flag_tree_points_to. From-SVN: r86631
2004-08-26cp-tree.h (DECL_FIELD_IS_BASE): New.Richard Henderson3-3/+20
* cp-tree.h (DECL_FIELD_IS_BASE): New. * class.c (build_base_field): Set it. (build_simple_base_path): Use it. (fixed_type_or_null): Don't consider base fields definitive. From-SVN: r86630
2004-08-26Fixed several -mcpu=G5 and 'long double' issues for apple-ppc-darwin.Fariborz Jahanian4-12/+64
OK'ed by David Edehlson. From-SVN: r86629
2004-08-26check.c (gfc_check_atan2): New function.Tobias Schlüter4-1/+20
* check.c (gfc_check_atan2): New function. * intrinsic.c (add_functions): Use gfc_check_atan2 for ATAN2 * intrinsic.h (gfc_check_atan2): Add prototype. From-SVN: r86628
2004-08-26[multiple changes]Daniel Berlin8-100/+2320
2004-08-26 Daniel Berlin <dberlin@dberlin.org> * Makefile.in (lambda-code.o): New. (lambda-trans.o): Ditto. (TREE_DATA_REF_H): Ditto. (LAMBDA_H): Ditto. (lambda-mat.o): Use LAMBDA_H. (tree-data-ref.o): Ditto. * lambda-code.c: New file. Lambda code generation algorithm. * lambda-trans.c: Ditto. Lambda transformation matrix support. * lambda.h: Add lambda loop structures. Add lambda loopnest structures. Add lambda body vector structure. Add lambda linear expression structures. Add prototypes for functions in new files. * lambda-mat.c: Include tree.h 2004-08-26 Daniel Berlin <dberlin@dberlin.org> Sebastian Pop <pop@cri.ensmp.fr> * tree-data-ref.h: Include lambda.h (free_dependence_relation): Declared here. (free_dependence_relations): Ditto. (free_data_refs): Ditto. * tree-data-ref.c (free_dependence_relation): New function. (free_dependence_relations): Ditto. (free_data_refs): Ditot. (analyze_all_data_dependences): Free datarefs and dependence_relations. (build_classic_dist_vector): Store in the dependence_relations the information. Each arc in the dependence_relations graph is labelled with the distance and direction vectors. (build_classic_dir_vector): Ditto. (compute_rw_wr_ww_dependences): Renamed again compute_all_dependences. Now computes again the whole dependence graph including read-read relations. (compute_data_dependences_for_loop): Now dependence_relations contains all the data, and thus it doesn't need to initialize the classic_dir and classic_dist vectors. (analyze_all_data_dependences): Adjusted for using the new interface of compute_data_dependences_for_loop. Remove the statistics dump. Co-Authored-By: Sebastian Pop <pop@cri.ensmp.fr> From-SVN: r86627
2004-08-26xtensa.c (xtensa_ld_opcodes, [...]): Delete.Bob Wilson2-15/+11
* config/xtensa/xtensa.c (xtensa_ld_opcodes, xtensa_st_opcodes): Delete. (xtensa_expand_block_move): Update comment. (override_options): Remove initialization of xtensa_{ld,st}_opcodes. From-SVN: r86626
2004-08-26re PR target/13506 (tcpsm.c:263: internal compiler error: Segmentation fault)Richard Earnshaw2-0/+15
PR target/13506 * toplev.c (crash_signal): If we crashed while emitting a user asm, then die more gracefully. From-SVN: r86624
2004-08-26re PR target/17119 ([m32r] ICE at switch case 0x8000)Nick Clifton4-5/+31
PR target/17119. config/m32r.c (gen_compare): Use reg_or_int16_operand when checking for a valid constant, regardless of sign. testsuite/gcc.c-torture/compile/pr17119.c: New test (for this failure) From-SVN: r86619
2004-08-26Revert corruption introduced in revision 1.3846.Joseph Myers1-10/+5866
From-SVN: r86617
2004-08-26* gcc.dg/c90-typespec-1.c, gcc.dg/c99-typespec-1.c: New tests.Joseph Myers3-0/+1690
From-SVN: r86616
2004-08-26re PR target/16974 (could not split insn (ice in final_scan_insn, final.c))Richard Henderson2-4/+13
PR target/16974 * config/alpha/alpha.md (adddi_fp_hack): Don't rely on splitting if the constant satisfies add_operand. From-SVN: r86613
2004-08-26* treetree.c (tree_code_get_integer_value): Fix build_int_cst call.Nathan Sidwell2-1/+6
From-SVN: r86611
2004-08-26re PR debug/10695 (ICE in dwarf2out_frame_debug_expr,)Richard Henderson2-40/+72
PR debug/10695 * config/alpha/alpha.c (emit_frame_store_1, emit_frame_store): New. (alpha_expand_prologue): Handle >32-bit frames. Generate proper unwind info for >16-bit frames. From-SVN: r86610
2004-08-25arith.c (gfc_validate_kind): Add may_fail argument; abort if false and we ↵Richard Henderson9-101/+74
don't validate the kind. * arith.c (gfc_validate_kind): Add may_fail argument; abort if false and we don't validate the kind. (gfc_check_integer_range, gfc_check_real_range): Update to match. * check.c (kind_check): Likewise. * decl.c (gfc_match_old_kind_spec, gfc_match_kind_spec): Likewise. (match_char_spec, match_logical_spec): Likewise. * gfortran.h (gfc_validate_kind): Likewise. * options.c (gfc_handle_option): Likewise. * primary.c (match_integer_constant, match_real_constant, match_string_constant, match_logical_constant, match_const_complex_part): Likewise. * simplify.c (get_kind, gfc_simplify_bit_size, gfc_simplify_digits, gfc_simplify_epsilon, gfc_simplify_huge, gfc_simplify_ibclr, gfc_simplify_ibset, gfc_simplify_ishft, gfc_simplify_ishftc, gfc_simplify_maxexponent, gfc_simplify_minexponent, gfc_simplify_nearest, gfc_simplify_not, gfc_simplify_precision, gfc_simplify_radix, gfc_simplify_range, gfc_simplify_rrspacing, gfc_simplify_scale, gfc_simplify_spacing, gfc_simplify_tan, gfc_simplify_tiny): Likewise. * trans-intrinsic.c (gfc_conv_intrinsic_aint, gfc_conv_intrinsic_mod, gfc_conv_intrinsic_minmaxloc, gfc_conv_intrinsic_minmaxval, prepare_arg_info): Likewise. From-SVN: r86608
2004-08-25intrinsic_sr_kind.f90: Disable the bits that expect kind=8 to be the largest ↵Richard Henderson2-14/+20
real kind. * gfortran.fortran-torture/execute/intrinsic_sr_kind.f90: Disable the bits that expect kind=8 to be the largest real kind. From-SVN: r86604
2004-08-25re PR target/17171 (Unrecognized comments in generated asm)Richard B. Kreckel2-0/+9
Patch from Richard B Kreckel. PR target/17171 * config/i386/gas.h (ASM_COMMENT_START): Define to "#". From-SVN: r86603
2004-08-25alpha.c (alpha_cannot_force_const_mem): New.Richard Henderson2-0/+18
* config/alpha/alpha.c (alpha_cannot_force_const_mem): New. (TARGET_CANNOT_FORCE_CONST_MEM): New. From-SVN: r86602
2004-08-26const-str-3.m: Include <stdlib.h> and <memory.h>.Ziemowit Laski2-0/+6
[gcc/testsuite/ChangeLog] 2004-08-25 Ziemowit Laski <zlaski@apple.com> * objc.dg/const-str-3.m: Include <stdlib.h> and <memory.h>. From-SVN: r86600
2004-08-26Document new ssa operand iterator.Andrew MacLeod2-1/+118
From-SVN: r86599
2004-08-26re PR target/16480 (using -msdata causes internal compiler error)Alan Modra2-12/+15
PR target/16480 * config/rs6000/rs6000.c (rs6000_split_multireg_move): Don't abort on "(mem (symbol_ref ..))" rtl. Look at LO_SUM base regs as well as PLUS base regs. From-SVN: r86598
2004-08-26Fix typo.Paul Brook1-1/+1
From-SVN: r86596
2004-08-26symbian.h (SUBTARGET_ASM_FLOAT_SPEC): Default to -mfpu=vfp -march=armv5tPaul Brook3-5/+10
* config/arm/symbian.h (SUBTARGET_ASM_FLOAT_SPEC): Default to -mfpu=vfp -march=armv5t * config/arm/t-symbian: Change multilib to mfloat-aby=softfp. From-SVN: r86594
2004-08-25target-def.h (TARGET_SCALAR_MODE_SUPPORTED_P): New.Richard Henderson9-36/+174
* target-def.h (TARGET_SCALAR_MODE_SUPPORTED_P): New. * target.h (struct gcc_target): Add scalar_mode_supported_p. * targhooks.c (default_scalar_mode_supported_p): New. * targhooks.h (default_scalar_mode_supported_p): Declare. * doc/tm.texi (TARGET_SCALAR_MODE_SUPPORTED_P): Document. * c-common.c (handle_mode_attribute): Query scalar_mode_supported_p before attempting to create types. Tidy. * expr.c (vector_mode_valid_p): Use scalar_mode_supported_p. * config/alpha/alpha.c (alpha_scalar_mode_supported_p): New. (TARGET_SCALAR_MODE_SUPPORTED_P): New. From-SVN: r86593
2004-08-26Daily bump.GCC Administrator1-1/+1
From-SVN: r86591
2004-08-25freebsd.h (SUBTARGET_OVERRIDE_OPTIONS): Don't set REAL_MODE_FORMAT for TFmode.Richard Henderson2-2/+5
* config/i386/freebsd.h (SUBTARGET_OVERRIDE_OPTIONS): Don't set REAL_MODE_FORMAT for TFmode. From-SVN: r86588
2004-08-25c-decl.c (grokparm): New function.Ziemowit Laski3-0/+20
[gcc/ChangeLog] 2004-08-25 Ziemowit Laski <zlaski@apple.com> * c-decl.c (grokparm): New function. * c-tree.h (grokparm): New prototype. From-SVN: r86587
2004-08-26expr.c (gfc_check_assign): Add comment.Tobias Schlüter5-0/+62
fortran/ * expr.c (gfc_check_assign): Add comment. Add new warning. * trans-expr.c (gfc_conv_function_call): Correctly dereference result of pointer valued function when not in pointer assignment. testsuite/ * gfortran.dg/assignment_1.f90: New test. From-SVN: r86585
2004-08-25tree-ssa-operands.h (struct ssa_operand_iterator_d): New.Andrew MacLeod20-852/+509
2004-08-25 Andrew MacLeod <amacleod@redhat.com> * tree-ssa-operands.h (struct ssa_operand_iterator_d): New. SSA operand iterator controlling structure. (SSA_OP_USE, SSA_OP_DEF, SSA_OP_VUSE, SSA_OP_VMAYUSE, SSA_OP_VMAYDEF, SSA_OP_VMUSTDEF, SSA_OP_VIRTUAL_USES, SSA_OP_VIRTUAL_DEFS, SSA_OP_ALL_USES, SSA_OP_ALL_DEFS, SSA_OP_ALL_OPERANDS): New. Operand iterator flags. (FOR_EACH_SSA_TREE_OPERAND): New. Iterate over operands as trees. (FOR_EACH_SSA_USE_OPERAND): New. Iterate over operands as uses. (FOR_EACH_SSA_DEF_OPERAND): New. Iterate over operands as defs. (FOR_EACH_SSA_MAYDEF_OPERAND): New. Iterate over V_MAY_DEFs. * tree-ssa-operands.c (NULL_DEF_OPERAND_P, NULL_USE_OPERAND_P): New. Empty operand pointers. * tree-flow-inline.h (op_iter_done): New. Return true if finished. (op_iter_next_use): New. Return next use_operand_p. (op_iter_next_def): New. Return next def_operand_p. (op_iter_next_tree): New. Return next operands as a tree. (op_iter_init): New. Initialize an iterator structure. (op_iter_init_use): New. Initialize structure and get the first use. (op_iter_init_def): New. Initialize structure and get the first def. (op_iter_init_tree): New. Initialize structure and get the first tree. (op_iter_next_maydef): New. Return next V_MAY_DEF operands. (op_iter_init_maydef): New. Initialize structure and get the first V_MAY_DEF operands. * tree-cfg.c (tree_duplicate_bb): Use new operand iterator. * tree-dfa.c (compute_immediate_uses_for_stmt, redirect_immediate_uses): Use new operand iterator. (v_may_defs_disappeared_p, v_must_defs_disappeared_p): Delete. (mark_new_vars_to_rename): Use new operand iterator. Count virtual operands instead of using *_disappeared_p routines. * tree-into-ssa.c (mark_def_sites, ssa_mark_def_sites, rewrite_stmt, ssa_rewrite_stmt): Use new operand iterator. * tree-outof-ssa.c (check_replaceable, find_replaceable_in_bb, rewrite_trees): Use new operand iterator. * tree-pretty-print.c (dump_vops): Use new operand iterator. * tree-sra.c (mark_all_v_defs): Use new operand iterator. * tree-ssa-alias.c (compute_points_to_and_addr_escape, dump_points_to_info): Use new operand iterator. * tree-ssa-ccp.c (cp_lattice_meet, visit_stmt, initialize, replace_uses_in, replace_vuse_in, likely_value, set_rhs): Use new operand iterator. * tree-ssa-dce.c (mark_stmt_if_obviously_necessary, propagate_necessity): Use new operand iterator. * tree-ssa-dom.c (cprop_into_stmt, optimize_stmt): Use operand iterator. (register_definitions_for_stmt): Use new operand iterator. Take stmt as a parameter instead of a stmt_ann_t. * tree-ssa-live.c (create_ssa_var_map, calculate_live_on_entry, build_tree_conflict_graph): Use new operand iterator. * tree-ssa-loop-im.c (determine_max_movement, single_reachable_address, rewrite_mem_refs): Use new operand iterator. * tree-ssa-loop-manip.c (find_uses_to_rename_stmt, check_loop_closed_ssa_use): Use new operand iterator. * tree-ssa.c (verify_ssa, replace_immediate_uses): Use operand iterator. * tree-ssanames.c (release_defs): Use new operand iterator. * tree-vectorizer.c (vect_create_data_ref): Use new operand iterator. From-SVN: r86583
2004-08-25config-lang.in: Remove dead commented line.Paul Brook3-3/+6
* config-lang.in: Remove dead commented line. * module.c: Replace g95 with gfortran in comment. From-SVN: r86582
2004-08-25re PR fortran/17190 (MPFR semantics for mpfr_get_z_exp changed)Paul Brook2-3/+11
PR fortran/17190 * arith.c (gfc_mpfr_to_mpz): Workaround mpfr bug. From-SVN: r86581
2004-08-25* g++.dg/template/repo3.C: New test.Adam Nemet2-0/+11
From-SVN: r86578
2004-08-25tlink.c (initial_cwd): New variable.Adam Nemet2-15/+65
* tlink.c (initial_cwd): New variable. (tlink_init): Initialize it. (recompile_files): Use tlink_execute() instead of system(). Don't duplicate verbose output of collect_execute. Restore initial_cwd. Update comment before the function. From-SVN: r86577
2004-08-25re PR middle-end/16693 (Bitwise AND is lost when used within a cast to an ↵Roger Sayle6-1/+86
enum of the same precision) PR middle-end/16693 PR tree-optimization/16372 * decl.c (finish_enum): Make the precision of the enumerated type the same width as the underlying integer type. * g++.dg/opt/pr16372-1.C: New test case. * g++.dg/opt/pr16693-1.C: New test case. * g++.dg/opt/pr16693-2.C: New test case. From-SVN: r86576
2004-08-25c-typeck.c (build_c_cast): In ObjC...Ziemowit Laski4-2/+64
[gcc/ChangeLog] 2004-08-25 Ziemowit Laski <zlaski@apple.com> * c-typeck.c (build_c_cast): In ObjC, always preserve (and silently accept) a cast from one Objective-C pointer type to another. [gcc/testsuite/ChangeLog] 2004-08-25 Ziemowit Laski <zlaski@apple.com> * objc.dg/proto-lossage-4.m: New test. From-SVN: r86574
2004-08-25install.texi: Document that libstdc++-v3 requires now automake 1.9.1.Paolo Carlini2-3/+9
2004-08-25 Paolo Carlini <pcarlini@suse.de> * doc/install.texi: Document that libstdc++-v3 requires now automake 1.9.1. From-SVN: r86572
2004-08-25re PR c++/17155 (Another link problem with function-local classes)Mark Mitchell4-0/+30
PR c++/17155 * lex.c (build_lang_decl): Set DECL_NO_STATIC_CHAIN for all C++ functions. PR c++/17155 * g++.dg/inherit/local2.C: New test. From-SVN: r86571
2004-08-25Add more details to hot/cold partitioning comments and documentation.Caroline Tice9-35/+173
2004-08-25 Caroline Tice <ctice@apple.com> * bb-reorder.c (partition_hot_cold_basic_blocks): Add more details to comments at start of function. * cfgbuild.c (make_edges): Add more details to hot/cold partitioning comment. * cfgcleanup.c (try_simplify_condjump, try_forward_edges, merge_blocks_move_predecessor_nojumps, merge_blocks_move_successor_nojumps, merge_blocks_move, try_crossjump_to_edge, try_crossjump_bb): Likewise. * cfglayout.c (fixup_reorder_chain): Likewise. * cfgrtl.c (rtl_can_merge_blocks, try_redirect_by_replacing_jump, cfg_layout_can_merge_blocks_p): Likewise. * ifcvt.c (find_if_case_1, find_if_case_2): Likewise. * passes.c (rest_of_compilation): Update comments for calling optimization that partitions hot/cold basic blocks. * doc/invoke.texi: Update documentation of freorder-blocks-and-partition flag. From-SVN: r86570
2004-08-25mips.md (reg): Renamed mode attribute from ccreg.Richard Sandiford2-6/+11
* config/mips/mips.md (reg): Renamed mode attribute from ccreg. (*mov*_on_*): Adjust accordingly. Add an explicit MOVECC: prefix. From-SVN: r86568
2004-08-25* mangle.c (get_identifier_nocopy): Add cast.Mark Mitchell2-1/+3
From-SVN: r86567
2004-08-25mips.md (any_shift): New code macro.Richard Sandiford2-427/+99
* config/mips/mips.md (any_shift): New code macro. (optab, insn): New code attributes. ({ashl,ashr,lshr}[sd]i3): Redefine using :GPR and any_shift. Use the standard rather than internal patterns for the MIPS16 double-shift optimization. (*{ashl,ashr,lshr}[sd]i3): New names for the non-mips16 shift patterns. Redefine using :GPR and any_shift. (*{ashl,ashr,lshr}si3_extend): Generalize ashlsi3_internal1_extend to cover all three shifts. (*{ashl,ashr,lshr}si3_mips16): New names for the mips16 SImode shifts. Redefine using any_shift. Use :GPR and any_shift to combine splitters. (*{ashl,ashr,lshr}di3_mips16): New names for the mips16 DImode shifts. From-SVN: r86566
2004-08-25config.gcc (arm*-*-symbianelf*): Add t-symbian Makefile fragment.Mark Mitchell1-0/+7
* config.gcc (arm*-*-symbianelf*): Add t-symbian Makefile fragment. * config/arm/bpabi.h (RENAME_LIBRARY_SET): Fix typo. (SUBTARGET_EXTRA_ASM_SPEC): Pass -meabi=3 to the assembler. * config/arm/symbian.h (SUBTARGET_CPU_DEFAULT): Assume ARMV5 architecture. (SUBTARGET_ASM_FLOAT_SPEC): Default to -mfpu=vfp for hard-float configurations. * config/arm/t-symbian: New file. From-SVN: r86565
2004-08-25gimplify.c (lookup_tmp_var): Separate temporaries when not optimizing.Geoffrey Keating2-5/+19
* gimplify.c (lookup_tmp_var): Separate temporaries when not optimizing. From-SVN: r86563
2004-08-25PR libstdc++/17005 (fix for HP-UX 11.11)John David Anglin12-214/+458
PR libstdc++/17005 (fix for HP-UX 11.11) * config.gcc (hppa*-*-*): Move MASK_BIG_SWITCH to target_cpu_default2. (hppa*-*-hpux*): Consolidate hppa1.0-*-* code. Rework handling of tm_file including pa-hpux1010.h or pa-hpux1111.h when appropriate. * config/pa/pa-hpux1010.h, config/pa/pa-hpux1111.h: New files. * config/pa/pa-hpux.h (TARGET_HPUX): Define. (LINK_SPEC): Handle march=1.0 option. * config/pa/pa-hpux10.h (TARGET_OS_CPP_BUILTINS): Predefine _XOPEN_UNIX and _XOPEN_SOURCE_EXTENDED for UNIX 95. (SUBTARGET_OPTIONS): New define. (LINK_SPEC): Handle march=1.0 option. (STARTFILE_SPEC): New define. * config/pa/pa-hpux11.h (TARGET_OS_CPP_BUILTINS): Predefine _XOPEN_UNIX and _XOPEN_SOURCE_EXTENDED for UNIX 95. Additionally, predefine _INCLUDE__STDC_A1_SOURCE and _INCLUDE_XOPEN_SOURCE_500 for UNIX 98. (SUBTARGET_OPTIONS): New define. (LINK_SPEC): Handle march=1.0 option. (STARTFILE_SPEC): New define. * config/pa/pa.c (override_options): Add code to process -munix= option. * config/pa/pa.h (pa_unix_string, flag_pa_unix): Declare. (TARGET_HPUX, TARGET_HPUX_10_10, TARGET_HPUX_11_11): Provide default defines. (TARGET_OPTIONS): Add SUBTARGET_OPTIONS to option list. (SUBTARGET_OPTIONS): Provide default define. * config/pa/pa64-hpux.h (STANDARD_STARTFILE_PREFIX_1, STANDARD_STARTFILE_PREFIX_2): New defines. (STARTFILE_SPEC): Provide unix95.o or unix98.o startfiles as necessary. (ENDFILE_SPEC): Use %O. * doc/install.texi (hppa*-*-hpux*): Reword paragraph on -g and gas. Mention issue caused by changing namespace and runtime to UNIX 95/98. * doc/invoke.texi (HPPA options): Move misplaced text to FRV options. Document -munix=std option. From-SVN: r86561
2004-08-25cp-tree.h (mangle_type): Remove.Mark Mitchell3-40/+86
* cp-tree.h (mangle_type): Remove. * mangle.c (globals): GTY it. (mangle_obstack): New variable. (name_obstack): Likewise. (name_base): Likewise. (write_char): Adjust accordingly. (write_chars): Likewise. (write_string): Likewise. (start_mangling): Initialize G.substitutions only one. Add ident_p parameter. (finish_mangling): Use VARRAY_CLEAR to reclaim storage in G.substitutions. Use obstack_finish. (init_mangle): Adjust for changes to variable names above. Initialize G.substitutions. (mangle_decl_string): Adjust call to start_mangling. (get_identifier_nocopy): New function. (mangle_decl): Use it. (mangle_type_string): Adjust call to start_mangling. (mangle_special_for_type): Likewise. (mangle_vtt_for_type): Likewise. (mangle_ctor_vtbl_for_type): Likewise. (mangle_thunk): Likewise. (mangle_guard_variable): Likewise. (mangle_ref_init_variable): Likewise. From-SVN: r86559
2004-08-25re PR fortran/17144 (Not Implemented: Character string array constructors / ↵Paul Brook10-60/+292
Assignment to char array) PR fortran/17144 * trans-array.c (gfc_trans_allocate_temp_array): Remove string_length argument. (gfc_trans_array_ctor_element): New function. (gfc_trans_array_constructor_subarray): Use it. (gfc_trans_array_constructor_value): Ditto. Handle constant character arrays. (get_array_ctor_var_strlen, get_array_ctor_strlen): New functions. (gfc_trans_array_constructor): Use them. (gfc_add_loop_ss_code): Update to new gfc_ss layout. (gfc_conv_ss_descriptor): Remember section string length. (gfc_conv_scalarized_array_ref): Ditto. Remove dead code. (gfc_conv_resolve_dependencies): Update to new gfc_ss layout. (gfc_conv_expr_descriptor): Ditto. (gfc_conv_loop_setup): Ditto. Spelling fixes. * trans-array.h (gfc_trans_allocate_temp_array): Update prototype. * trans-const.c (gfc_conv_constant): Update to new gfc_ss layout. * trans-expr.c (gfc_conv_component_ref): Turn error into ICE. (gfc_conv_variable): Set string_length from section. (gfc_conv_function_call): Remove extra argument. (gfc_conv_expr, gfc_conv_expr_reference): Update to new gfc_ss layout. * trans-types.c (gfc_get_character_type_len): New function. (gfc_get_character_type): Use it. (gfc_get_dtype): Return zero for internal types. * trans-types.h (gfc_get_character_type_len): Add prototype. * trans.h (struct gfc_ss): Move string_length out of union. testsuite/ * gfortran.dg/string_ctor_1.f90: New test. From-SVN: r86558
2004-08-25trans.h (build2_v, build3_v): New macros.Tobias Schlüter12-460/+525
* trans.h (build2_v, build3_v): New macros. (build_v): Remove. * f95-lang.c (gfc_truthvalue_conversion): Use build2 instead of build. * trans-array.c (gfc_conv_descriptor_data, gfc_conv_descriptor_offset, gfc_conv_descriptor_dimension, gfc_conv_descriptor_stride, gfc_conv_descriptor_lbound, gfc_conv_descriptor_ubound, gfc_trans_allocate_array_storage, gfc_trans_allocate_temp_array, gfc_trans_array_constructor_subarray, gfc_trans_array_constructor_value, gfc_conv_array_index_ref, gfc_trans_array_bound_check, gfc_conv_array_index_offset, gfc_conv_scalarized_array_ref, gfc_conv_array_ref, gfc_conv_array_ref, gfc_trans_preloop_setup, gfc_trans_scalarized_loop_end, gfc_conv_ss_startstride, gfc_conv_loop_setup, gfc_array_init_size, gfc_conv_array_initializer, gfc_trans_array_bounds, gfc_trans_auto_array_allocation, gfc_trans_dummy_array_bias, gfc_conv_expr_descriptor, gfc_conv_array_parameter, gfc_trans_deferred_array): Use buildN and buildN_v macros instead of build and build_v as appropriate. * trans-common.c (create_common): Same. * trans-decl.c (gfc_trans_auto_character_variable, gfc_trans_entry_master_switch, gfc_generate_function_code): Same. * trans-expr.c (gfc_conv_expr_present, gfc_conv_substring, gfc_conv_component_ref, gfc_conv_unary_op, gfc_conv_powi, gfc_conv_cst_int_power, gfc_conv_string_tmp, gfc_conv_concat_op, gfc_conv_expr_op, gfc_conv_function_call, gfc_trans_structure_assign): Same. * trans-intrinsic.c (build_fixbound_expr, build_round_expr, gfc_conv_intrinsic_aint, gfc_conv_intrinsic_bound, gfc_conv_intrinsic_cmplx, gfc_conv_intrinsic_mod, gfc_conv_intrinsic_dim, gfc_conv_intrinsic_sign, gfc_conv_intrinsic_dprod, gfc_conv_intrinsic_minmax, gfc_conv_intrinsic_anyall, gfc_conv_intrinsic_count, gfc_conv_intrinsic_arith, gfc_conv_intrinsic_minmaxloc, gfc_conv_intrinsic_minmaxval, gfc_conv_intrinsic_btest, gfc_conv_intrinsic_bitop, gfc_conv_intrinsic_singlebitop, gfc_conv_intrinsic_ibits, gfc_conv_intrinsic_ishft, gfc_conv_intrinsic_merge, gfc_conv_intrinsic_strcmp, gfc_conv_allocated, gfc_conv_associated, prepare_arg_info, gfc_conv_intrinsic_spacing, gfc_conv_intrinsic_rrspacing, gfc_conv_intrinsic_trim, gfc_conv_intrinsic_repeat, gfc_conv_intrinsic_iargc): Same. * trans-io.c (set_parameter_value, set_parameter_ref, set_string, set_flag, add_case, io_result, transfer_namelist_element, transfer_expr): Same. * trans-stmt.c (gfc_trans_goto, gfc_trans_return, gfc_trans_if_1, gfc_trans_arithmetic_if, gfc_trans_do, gfc_trans_do_while, gfc_trans_integer_select, gfc_trans_logical_select, gfc_trans_character_select, gfc_trans_forall_loop, gfc_trans_nested_forall_loop, gfc_do_allocate, generate_loop_for_temp_to_lhs, generate_loop_for_rhs_to_temp, compute_inner_temp_size, compute_overall_iter_number, allocate_temp_for_forall_nest, gfc_trans_pointer_assign_need_temp, gfc_trans_forall_1, gfc_evaluate_where_mask, gfc_trans_where_assign, gfc_trans_allocate): Same. * trans-types.c (gfc_get_dtype, gfc_get_array_type_bounds): Same. * trans.c (gfc_add_modify_expr, gfc_finish_block, gfc_build_array_ref, gfc_build_function_call, gfc_trans_runtime_check): Same. From-SVN: r86554
2004-08-25re PR c++/15461 (ICE due to NRV and inlining)Jason Merrill1-0/+13
PR c++/15461 * semantics.c (nullify_returns_r): Replace a DECL_STMT for the NRV with an INIT_EXPR. From-SVN: r86552
2004-08-25re PR c++/14428 (incompatible template declarations accepted)Kriang Lerdsuwanakij4-1/+25
PR c++/14428 * pt.c (redeclare_class_template): Check the type of non-type and template template parameter. * g++.dg/template/redecl2.C: New test. From-SVN: r86550
2004-08-25trans-const.c (gfc_conv_mpz_to_tree): Change call to build_int_cst to ↵Tobias Schlüter2-1/+7
build_int_cst_wide in accordance to Nathan's... * trans-const.c (gfc_conv_mpz_to_tree): Change call to build_int_cst to build_int_cst_wide in accordance to Nathan's previous patch. From-SVN: r86549
2004-08-25cse.c (cse_around_loop, [...]): Remove.Steven Bosscher4-283/+25
* cse.c (cse_around_loop, cse_check_loop_start, cse_set_around_loop): Remove. (cse_basic_block): Remove the around_loop argument. (cse_end_of_basic_block): Remove the after_loop argument. (cse_main): Likewise. * rtl.h (cse_main): Update prototype. * passes.c (rest_of_handle_cse, rest_of_handle_cse2, rest_of_handle_gcse): Update cse_main calls. From-SVN: r86546