aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2004-03-24re PR preprocessor/14438 (Potential need for buffer overflow checks in ↵Alexandre Oliva2-3/+6
_cpp_lex_direct) PR preprocessor/14438 * cpplib.c (do_pragma): Remove line_change call after pragma handler. From-SVN: r79899
2004-03-24extend.texi (ARM Built-in Functions): Replace with correct declarations.Ian Lance Taylor2-135/+129
* doc/extend.texi (ARM Built-in Functions): Replace with correct declarations. From-SVN: r79894
2004-03-24reg-stack.c (get_true_reg): Handle FLOAT_TRUNCATE like FLOAT_EXTEND if ↵Roger Sayle3-5/+70
flag_unsafe_math_optimizations. * reg-stack.c (get_true_reg): Handle FLOAT_TRUNCATE like FLOAT_EXTEND if flag_unsafe_math_optimizations. * config/i386/i386.md (truncdfsf2): If flag_unsafe_math_optimizations and TARGET_80387 expand using truncdfsf2_noop pattern. (truncxfsf2): Likewise using truncxfsf2_noop. (truncxfdf2): Likewise using truncxfdf2_noop. (truncdfsf2_noop, truncxfsf2_noop, truncxfdf2_noop): New patterns. From-SVN: r79893
2004-03-24compare8.c: New test case.Joseph Myers2-0/+20
* gcc.dg/compare8.c: New test case. Co-Authored-By: Roger Sayle <roger@eyesopen.com> From-SVN: r79891
2004-03-24Daily bump.GCC Administrator1-1/+1
From-SVN: r79888
2004-03-24hooks.c (hook_constcharptr_tree_null): New hook.Ziemowit Laski12-2/+133
[gcc/ChangeLog] 2004-03-23 Ziemowit Laski <zlaski@apple.com> * hooks.c (hook_constcharptr_tree_null): New hook. * hooks.h (hook_constcharptr_tree_null): New prototype. * target-def.h (TARGET_MANGLE_FUNDAMENTAL_TYPE): New target hook. * target.h (mangle_fundamental_type): New target hook. * config/rs6000/rs6000.c (TARGET_MANGLE_FUNDAMENTAL_TYPE): Point target hook at rs6000_mangle_fundamental_type. (rs6000_mangle_fundamental_type): New function. * doc/tm.texi (TARGET_MANGLE_FUNDAMENTAL_TYPE): Document. [gcc/cp/ChangeLog] 2004-03-23 Ziemowit Laski <zlaski@apple.com> * Make-lang.in (cp/mangle.o): Depend on $(TARGET_H). * mangle.c (write_type): Add call to 'mangle_fundamental_type' target hook. [gcc/testsuite/ChangeLog] 2004-03-23 Ziemowit Laski <zlaski@apple.com> * g++.dg/ext/altivec-7.C: New test. From-SVN: r79885
2004-03-23Correct PR number in last commitZack Weinberg3-4/+3
From-SVN: r79884
2004-03-23PR 12267, 12391, 12560, 13129, 14114, 14113Zack Weinberg31-1319/+1383
* c-tree.h: Forward declare struct c_binding. Declare c_override_bindings_to_false. Update prototypes. (struct lang_identifier): Update comments. Change fields to be struct c_binding *. (IDENTIFIER_SYMBOL_VALUE, IDENTIFIER_TAG_VALUE) (IDENTIFIER_LABEL_VALUE, C_DECL_INVISIBLE) (KEEP_NO, KEEP_YES, KEEP_MAYBE): Delete. (C_DECL_IN_EXTERNAL_SCOPE, C_DECL_DECLARED_BUILTIN): New. * c-common.h: Update prototypes. * c-decl.c (struct c_scope): Update commentary. Remove names, names_last, parms, parms_last, tags, and shadowed fields. Add bindings and depth fields. (scope_freelist): Move to more appropriate location. (c_print_identifier): Update for changes to struct lang_identifier. (objc_mark_locals_volatile): Update for new bindings structures. (global_bindings_p): Honor c_override_global_bindings_to_false. (pushlevel): Rename to push_scope; take no arguments; use the scope_freelist; initialize scope->depth and check for overflow. (poplevel): Rename to pop_scope; totally rewritten for new bindings structures. (diagnose_mismatched_decls): Use C_DECL_DECLARED_BUILTIN, not C_DECL_INVISIBLE, for certain decisions. Adjust some diagnostics. Improve some commentary. Adjust handling of forward parm decls. (merge_decls): Set C_DECL_DECLARED_BUILTIN when appropriate. Preserve C_DECL_IN_EXTERNAL_SCOPE. (warn_if_shadowing): Correct indentation. Improve diagnostics. (pushdecl): Remove unnecessary assertion. Short-circuit anonymous decls. Rewrite for new bindings structures. Improve commentary. Eliminate the copy_node call. (implicit_decl_warning): Use the "diag" idiom (as seen in locate_old_decl) to reduce code duplication; call locate_old_decl if appropriate. Relocate to remove need for forward declaration. (implicitly_declare): Adjust for new bindings structures. Kludge around Objective-C not-really-builtin functions. (undeclared_variable): Improve diagnostics. If current_function_decl is nonnull but current_function_scope is null, use current_scope. Use bind. (lookup_tag): Adjust for new bindings structures. Kludge around Objective-C's tag declarations that wind up in the external scope. (lookup_name): Adjust for new bindings structures. Kludge around c-common.c's pseudo-typedefs that wind up in the external scope. (lookup_name_current_level): Rename lookup_name_in_scope; take a second argument indicating the scope to examine; rewrite for new bindings structures. (c_init_decl_processing): Adjust for renamed functions. Do not initialize current_file_decl, first_builtin_decl, last_builtin_decl. First scope pushed is the external scope, not the global scope. (builtin_function): Use bind, not pushdecl. Adjust other bits for new data structures. Keep track of builtins that should be made visible automatically. (start_decl): Adjust diagnostics. Remove unnecessary call to expand_decl. (grokparms): Return 0 if arg_types is error_mark_node. (get_parm_info): Rename "void_at_end" argument to "ellipsis", with reversed sense. Rewrite for new bindings structures. Do not leave any decls in the scope, to prevent pop_scope from doing contradictory things with them. (finish_struct, finish_enum): Remove redundant diagnostics. (build_enumerator): Don't cascade diagnostics for error_mark_node. Mark location where -pedantic changes the meaning of the program. (store_parm_decls_newstyle, store_parm_decls_oldstyle): Load the parameter decls into the function's scope structure using bind. Warn here about function definitions in the wrong style. Adjust diagnostics. (store_parm_decls): Correct the determination of whether a function was defined with a prototype. (c_write_global_declarations): Operate on all file decls and on the external scope. Split body of the loop to... (c_write_global_declarations_1): ... this new function, to avoid code duplication. (truly_local_externals, first_builtin_decl, last_builtin_decl) (make_scope, pop_scope, in_parm_level_p, set_block) (any_external_decl, record_external_decl, bind_label, getdecls) (link_hash_hash, link_hash_eq, merge_translation_unit_decls) (c_reset_state): Delete. (visible_builtins, c_override_global_bindings_to_false) (c_binding, I_SYMBOL_BINDING, I_SYMBOL_DECL, I_TAG_BINDING) (I_TAG_DECL, I_LABEL_BINDING, I_LABEL_DECL, file_scope) (external_scope, binding_freelist, bind, free_binding_and_advance) (push_file_scope, pop_file_scope): New. (pushtag, pushdecl_top_level, lookup_label, declare_label) (define_label, c_make_fname_decl, finish_decl) (mark_forward_parm_decls, build_compound_literal) (grokdeclarator, start_function, check_for_loop_decls) (identifier_global_value, record_builtin_type): Minor adjustments for new bindings structures. Improve diagnostics and commentary. * c-objc-common.c (start_cdtor, finish_cdtor): Adjust calls to pushlevel/poplevel respectively. (c_objc_common_finish_file): Don't call merge_translation_unit_decls. * c-opts.c (c_common_parse_file): Remove spurious ATTRIBUTE_UNUSED. Warn about YYDEBUG not being defined only if -dy. Remove no-longer- correct loop over multiple translation units; call fatal_error if requested to compile more than one file at once. (This disables IMA temporarily - an up-front error being preferable to a crash.) * c-parse.in (pushlevel, poplevel rules): Rename push_scope, pop_scope. (all actions): Adjust calls to pushlevel/poplevel. (parsing_iso_function_signature): Delete. (extdef_1): Fold into extdef. (old_style_parm_decls_1): Fold into old_style_parm_decls. Don't warn here about function definitions in the wrong style. (after_tyle_declarator, parm_declarator_starttypename) (parm_declarator_nostarttypename, notype_declarator): Remove commented-out productions. (parmlist_1, parmlist_2): Use make_node, not tree_cons, to create an empty TREE_LIST node. Adjust calls to get_parm_info. (parmlist_2 : ELLIPSIS): Tag the arg-info block with error_mark_node to suppress -Wold-style-definition after this error. (c_parse_file): Don't clear the binding stack or call finish_fname_decls here. Correct comment. * c-typeck.c (same_translation_unit_p): Export. (common_type): Use c_override_global_bindings_to_false, not pushlevel/poplevel/declare_parm_level. * c-lang.c: Override LANG_HOOKS_CLEAR_BINDING_STACK, LANG_HOOKS_PUSHLEVEL, LANG_HOOKS_POPLEVEL, LANG_HOOKS_SET_BLOCK, and LANG_HOOKS_GETDECLS with do-nothing stubs. * objc/objc-lang.c: Likewise. * objc/objc-act.c: Adjust all calls to pushlevel, poplevel, get_parm_info. (OBJC_VOID_AT_END): Delete; replace all uses with void_list_node. (generate_forward_declaration_to_string_table): Delete. * objc/objc-act.h (OCTI_STRG_DECL, UOBJC_STRINGS_decl): Delete. * coverage.c (create_coverage): Don't pushdecl anything. * langhooks.c (lhd_clear_binding_stack): Call lang_hooks.decls.poplevel, not poplevel. * tree.c (list_length): If ENABLE_TREE_CHECKING, abort on a circular list rather than going into an infinite loop. cp: * cp-lang.c (c_reset_state): Delete. (push_file_scope, pop_file_scope): New stubs. * parser.c (c_parse_file): Call sorry() here if called more than once. testsuite: * gcc.dg/Wold-style-definition-1.c, gcc.dg/builtins-30.c * gcc.dg/unused-4.c, gcc.dg/noncompile/label-1.c * gcc.dg/noncompile/label-lineno-1.c, objc.dg/naming-1.m: Adjust error regexps. * gcc.dg/Wshadow-2.c, gcc.dg/noncompile/incomplete-3.c * gcc.dg/noncompile/undeclared-1.c: New test cases. * gcc.dg/decl-5.c, gcc.dg/redecl-1.c: Remove XFAIL. * gcc.dg/local1.c: Add explanatory comment. From-SVN: r79883
2004-03-23delete some extraneous characters accidentally included in last change.David Edelsohn1-1/+1
From-SVN: r79876
2004-03-23optabs.c (expand_binop): When synthesizing double word rotates from single ↵Olivier Hainque2-2/+12
word shifts... * optabs.c (expand_binop): When synthesizing double word rotates from single word shifts, use a new register target if the provided target is not a REG already. From-SVN: r79875
2004-03-23alias.c (get_alias_set): Add support for TYPE_REF_CAN_ALIAS_ALL.Richard Kenner11-62/+188
* alias.c (get_alias_set): Add support for TYPE_REF_CAN_ALIAS_ALL. * c-common.c (handle_mode_attribute): Add extra arg to build_pointer_type_for_mode and build_reference_type_for_mode. * c-typeck.c (build_c_cast): Only look at TREE_CONSTANT_OVERFLOW for INTEGER_CST. * tree.c (build_pointer_type_for_mode): Add arg CAN_ALIAS_ALL. Chain pointers via TYPE_NEXT_PTR_TO. (build_reference_type_for_mode): Similarly. (build_type_no_quals): Add extra arg to build_pointer_type_for_mode and build_reference_type_for_mode. (tree_check4_failed): New function. * tree.h (TREE_CHECK4, PTR_OR_REF_CHECK): New macros. (TYPE_REF_CAN_ALIAS_ALL, TYPE_NEXT_PTR_TO, TYPE_NEXT_REF_TO): Likewise. (TREE_NO_UNSUED_WARNING, TREE_VIA_VIRTUAL, TREE_CONSTANT_OVERFLOW): Add check. * cp/typeck.c (build_c_cast): Only look at TREE_CONSTANT_OVERFLOW for INTEGER_CST. * ada/decl.c (gnat_to_gnu_entity, case E_Access_Type): Pass value of No_Strict_Aliasing to build_pointer_type_for_mode. * ada/utils.c (update_pointer_to): Walk pointer and ref chains. From-SVN: r79873
2004-03-23fold-const.c (tree_expr_nonnegative_p): A&B is nonnegative when A is ↵Roger Sayle2-0/+19
nonnegative or B is nonnegative. * fold-const.c (tree_expr_nonnegative_p): A&B is nonnegative when A is nonnegative or B is nonnegative. Similarly A|B is nonnegative when both A and B are nonnegative. (tree_expr_nonzero_p): A|B is nonzero when A is nonzero or B is nonzero. From-SVN: r79870
2004-03-23re PR java/14315 ([3.4 only]: Java compiler is not parallel make safe)Tom Tromey2-3/+11
PR java/14315: * jcf-write.c (make_class_file_name): Don't report if mkdir failed with EEXIST. From-SVN: r79868
2004-03-23* gcj.texi (Extensions): Document GCJ_PROPERTIES.Tom Tromey2-1/+17
From-SVN: r79867
2004-03-23fold-const.c (fold): Remove cases for INTEGER_CST...Kazu Hirata2-8/+5
* fold-const.c (fold): Remove cases for INTEGER_CST, REAL_CST, VECTOR_CST, STRING_CST, COMPLEX_CST, and CONSTRUCTOR. From-SVN: r79862
2004-03-23re PR rtl-optimization/14669 (Wrong code with -O for enum values expression ↵Roger Sayle4-0/+33
E4 <= t && t <= E6) 2004-03-23 Kazu Hirata <kazu@cs.umass.edu> PR optimization/14669 * fold-const.c (fold): Only unwiden integer comparisons for equality or inequality operators, or when the signedness is the same. * g++.dg/opt/fold2.C: New test case. From-SVN: r79859
2004-03-23config.gcc (sparc-*-linux*): Add sparc/t-linux to tmake_file.Jakub Jelinek4-1/+13
* config.gcc (sparc-*-linux*): Add sparc/t-linux to tmake_file. * config/sparc/t-linux64 (TARGET_LIBGCC2_CFLAGS): Set. * config/sparc/t-linux: New file. From-SVN: r79858
2004-03-23gcse.c (can_assign_to_reg_p): New function, split out from...Richard Sandiford2-6/+23
* gcse.c (can_assign_to_reg_p): New function, split out from... (want_to_gcse_p): ...here. (compute_ld_motion_mems): Use can_assign_to_reg_p to validate the rhs of a store. From-SVN: r79856
2004-03-22* c-typeck.c (same_translation_unit_p): Fix pasto.Diego Novillo2-1/+5
From-SVN: r79849
2004-03-23Daily bump.GCC Administrator1-1/+1
From-SVN: r79846
2004-03-22fix typo.David Edelsohn1-1/+1
From-SVN: r79840
2004-03-22params.def (PARAM_MAX_SCHED_REGION_BLOCKS): New.David Edelsohn5-14/+41
* params.def (PARAM_MAX_SCHED_REGION_BLOCKS): New. (PARAM_MAX_SCHED_REGION_INSNS): New. * sched-rgn.c: Include params.h (MAX_RGN_BLOCKS): Delete. (MAX_RGN_INSNS): Delete. (too_large): Return bool. Convert to PARAM_VALUE. * Makefile.in (sched-rgn): Depend on $(PARAMS_H). * doc/invoke.texi (param): Document max-sched-region-blocks and max-sched-region-insns. From-SVN: r79839
2004-03-22dwarf2out.c (is_subrange_type): Do not emit a subrange_type DIE for base types.Joel Brobecker2-0/+37
* dwarf2out.c (is_subrange_type): Do not emit a subrange_type DIE for base types. From-SVN: r79838
2004-03-22dwarf2out.c (is_subrange_type): Minor code rework.Joel Brobecker2-9/+18
* dwarf2out.c (is_subrange_type): Minor code rework. No behavior change. From-SVN: r79837
2004-03-22re PR c/14069 (This input file lets gcc crash)Jakub Jelinek4-3/+27
PR c/14069 * c-decl.c (finish_struct): Change type of incorrect flexible array field into error_mark_node. * gcc.dg/20040322-1.c: New test. From-SVN: r79832
2004-03-22re PR target/14580 (symbol emitted instead of a non_lazy_symbol)Andrew Pinski1-0/+1
2004-03-22 Andrew Pinski <pinskia@physics.uc.edu> PR target/14580 * config/rs6000/rs6000.c (symbol_ref_operand): Reject symbols who are not local for Darwin PIC. From-SVN: r79831
2004-03-22rs6000.c (symbol_ref_operand): Reject symbols who are not local for Darwin PIC.Andrew Pinski2-0/+22
2004-03-22 Andrew Pinski <pinskia@physics.uc.edu> * config/rs6000/rs6000.c (symbol_ref_operand): Reject symbols who are not local for Darwin PIC. From-SVN: r79830
2004-03-22[multiple changes]Arnaud Charlet16-123/+631
2004-03-22 Cyrille Comar <comar@act-europe.fr> * ali.ads: Fix Comment about Dynamic_Elab. * gnatls.adb (Output_Unit): Add output of many flags (Dynamic_Elab, Has_RACW, Is_Generic, etc.) (Output_Object, Gnatls): Take into account ALI files not attached to an object. 2004-03-22 Vincent Celier <celier@gnat.com> * gprep.adb: Change all String_Access to Name_Id (Is_ASCII_Letter): new function (Double_File_Name_Buffer): New procedure (Preprocess_Infile_Name): New procedure (Process_Files): New procedure (Gnatprep): Check if output and input are existing directories. Call Process_Files to do the real job. 2004-03-22 Robert Dewar <dewar@gnat.com> * prj-env.adb, prj-nmsc.ads, prj-proc.ads, s-stache.ads, s-stache.adb: Comment updates. Minor reformatting. 2004-03-22 Sergey Rybin <rybin@act-europe.fr> * scn.adb (Contains): Add check for EOF, is needed for a degenerated case when the source contains only comments. 2004-03-22 Ed Schonberg <schonberg@gnat.com> * sem_ch10.adb (Analyze_Compilation_Unit): When generating a declaration for a child subprogram body that acts as a spec, indicate that the entity in the declaration needs debugging information. * sem_ch3.adb (Complete_Private_Subtype): Do not build an underlying full view if the subtype is created for a constrained record component; gigi has enough information to construct the record, and there is no place in the tree for the declaration. * sem_ch6.adb (Build_Body_To_Inline): Use an internal name without serial number for the dummy body that is built for analysis, to avoid inconsistencies in the generation of internal names when compiling with -gnatN. 2004-03-22 Thomas Quinot <quinot@act-europe.fr> * sem_util.adb (Is_Object_Reference): A view conversion denotes an object. 2004-03-22 GNAT Script <nobody@gnat.com> * Make-lang.in: Makefile automatically updated From-SVN: r79826
2004-03-22regrename.c (regrename_optimize): Set regs_ever_live for all registers ↵Ulrich Weigand2-0/+6
introduced as replacement. * regrename.c (regrename_optimize): Set regs_ever_live for all registers introduced as replacement. From-SVN: r79825
2004-03-22re PR tree-optimization/14470 ([tree-ssa] trouble with post-increment)Eric Botcazou2-6/+47
PR middle-end/14470 * expr.c (mark_queue): New function. (emit_insns_enqueued_after_mark): New function replacing emit_queue. Clear the body of emitted queued insns. (emit_queue): Call emit_insns_enqueued_after_mark. (store_expr): Mark the increment queue on entry. Emit only the incrementations queued when expanding the source. From-SVN: r79822
2004-03-22configure.ac: Allow --disable-coverage-flags (for the future benefit of top ↵Nathanael Nerode3-19/+33
level bootstrap... * configure.ac: Allow --disable-coverage-flags (for the future benefit of top level bootstrap, and consistency). Reindent. * configure: Regenerate. From-SVN: r79817
2004-03-22Fix typo.Eric Botcazou1-1/+1
From-SVN: r79815
2004-03-22ulstrasp2.c: Do not pass -m64.Eric Botcazou4-9/+9
* gcc.dg/ulstrasp2.c: Do not pass -m64. Remove redundant lines. * gcc.dg/ultrasp4.c: Likewise. * gcc.dg/ultrasp8.c: Do not pass -m64. Add sparcv9-*-*. From-SVN: r79814
2004-03-22bt-load.c, [...]: Remove unnecessary casts.Kazu Hirata10-36/+38
* bt-load.c, builtins.c, cfghooks.c, cfgrtl.c, gcse.c, ggc-page.c, integrate.c, var-tracking.c, web.c: Remove unnecessary casts. From-SVN: r79811
2004-03-22re PR target/14291 (-fprofile-arcs fails (unresolved symbol))Danny Smith2-1/+10
PR target/14291 * gcov-io.h (gcov_truncate): Define ftruncate as _chsize for __MINGW32__. From-SVN: r79809
2004-03-22* gcc.dg/i386-sse-8.c: Reset default options.Ulrich Weigand2-0/+5
From-SVN: r79808
2004-03-22asm2.c: Allow 'parse error' instead of 'syntax error' in the error message text.Ulrich Weigand2-2/+7
* gcc.dg/charset/asm2.c: Allow 'parse error' instead of 'syntax error' in the error message text. From-SVN: r79807
2004-03-22s390.md ("*doloop_si"): Change predicate for operand 2 to nonimmediate_operand.Ulrich Weigand2-2/+8
* config/s390/s390.md ("*doloop_si"): Change predicate for operand 2 to nonimmediate_operand. ("*doloop_di"): Likewise. From-SVN: r79806
2004-03-22cxx-pretty-print.c (pp_cxx_parameter_declaration_clause): Declare.Gabriel Dos Reis2-0/+5
* cxx-pretty-print.c (pp_cxx_parameter_declaration_clause): Declare. From-SVN: r79803
2004-03-22real.h (struct real_value): Use the same type for all bitfields.Alexandre Oliva5-81/+102
* real.h (struct real_value): Use the same type for all bitfields. Rename exp to uexp. (REAL_EXP, SET_REAL_EXP): New accessor macros for uexp. Adjust all uses of exp... * builtins.c: ... here, ... * emit-rtl.c: ... here, and ... * real.c: ... and here. From-SVN: r79802
2004-03-22Daily bump.GCC Administrator1-1/+1
From-SVN: r79799
2004-03-21pretty-print.c (pp_base_maybe_space): New function.Gabriel Dos Reis9-73/+126
* pretty-print.c (pp_base_maybe_space): New function. * pretty-print.h (pp_base_maybe_space): Declare. (pp_maybe_space): New macro. cp/ * error.c (enum pad): Remove. (dump_qualifiers): Likewise. (dump_type): Replace dump_qualifiers with * pp_cxx_cv_qualifier_seq. (dump_aggr_type): Likewise. (dump_type_suffix): Likewise. (dump_simple_decl): Likewise. (dump_function_decl): Likewise. (cv_to_string): Likewise. (dump_type_prefix): Likewise. Adjust return void. * cxx-pretty-print.c (pp_cxx_cv_qualifier_seq): Move to cxx_pretty_print.h. (pp_cxx_template_keyword_if_needed): Document. (pp_cxx_qualified_id): Document case FUNCTION_DECL. Tidy. (pp_cxx_expression): Handle NON_DEPENDENT_EXPR and MUST_NOT_THROW_EXPR. testsuite/ * g++.dg/template/qualttp20.C: Adjust dg- regexp. From-SVN: r79796
2004-03-21* config/s390/s390.md ("addti3", "subti3"): New insns and splitters.Ulrich Weigand2-0/+62
From-SVN: r79793
2004-03-21expmed.c (choose_mult_variant): Pass MULT_COST as argument instead of using ↵Ulrich Weigand2-23/+58
register multiplication cost. * expmed.c (choose_mult_variant): Pass MULT_COST as argument instead of using register multiplication cost. (expand_mult): Adapt choose_mult_variant call. (expand_mult_highpart): Call choose_mult_variant with WIDER_MODE of MODE; pass appropriate cost bound. Adjust result when performing signed multiplication by a negative constant. Don't use intermediate modes larger than word_mode. From-SVN: r79792
2004-03-21alias.c (get_alias_set): Remove handling of PLACEHOLDER_EXPR.Richard Kenner18-391/+260
* alias.c (get_alias_set): Remove handling of PLACEHOLDER_EXPR. * emit-rtl.c (component_ref_for_mem_expr): Likewise. (set_mem_attributes_minus_bitpos): Call SUBSTITUTE_PLACEHOLDER_IN_EXPR. * explow.c (expr_size): Likewise. * expr.h (placeholder_list, find_placeholder): Deleted. * expr.c (store_constructor): Likewise. (get_inner_reference): Likewise. Also don't call find_placeholder. (placeholder_list, find_placeholder): Deleted. (is_aligning_offset): Don't handle WITH_RECORD_EXPR, PLACEHOLDER_EXPR. (expand_expr_real, cases PLACEHOLDER_EXPR, WITH_RECORD_EXPR): Likewise. (highest_pow2_factor, case WITH_RECORD_EXPR): Remove. * dojump.c (do_jump, case WITH_RECORD_EXPR): Likewise. * dwarf2out.c (loc_descriptor_from_tree, case WITH_RECORD_EXPR): Likewise. * fold-const.c (invert_truthvalue, case WITH_RECORD_EXPR): Likewise. (extract_muldiv, case WITH_RECORD_EXPR): Likewise. * tree.c (expr_align, case WITH_RECORD_EXPR): Likewise. (contains_placeholder_p): Don't handle WITH_RECORD_EXPR. Clean up by using first_rtl_op. (substitute_in_expr): Use SUBSTITUTE_IN_EXPR for recursive call. (substitute_placeholder_in_expr): New function. * tree.def (WITH_RECORD_EXPR): Deleted. * tree.h (SUBSTITUTE_IN_EXPR, SUBSTITUTE_PLACEHOLDER_IN_EXPR): New. (substitute_placeholder_in_expr): New. * ada/decl.c (gnat_to_gnu_entity): Use SUBSTITUTE_PLACEHOLDER_IN_EXPR. * ada/trans.c (tree_transform, emit_index_check): Likewise. * ada/utils.c (build_template): Likewise. (max_size, convert): Remove handling of WITH_RECORD_EXPR. (maybe_unconstrained_array, unchecked_convert): Likewise. * ada/utils2.c (gnat_truthvalue_conversion, build_binary_op): Likewise. (build_unary_op): Likewise. (compare_arrays, build_allocator): Use SUBSTITUTE_PLACEHOLDER_IN_EXPR. (fill_vms_descriptor): Likewise. (build_call_alloc_dealloc): Likewise. ALIGN is unsigned. * ada/gigi.h (build_call_alloc_dealloc): Alignment is unsigned. From-SVN: r79789
2004-03-21re PR c++/14616 (disjoint_set_test.cpp from boost does not compile (sizeof))Mark Mitchell4-0/+24
PR c++/14616 * decl.c (cp_finish_decl): Compute the size of arrays declared in templates, if their type is non-dependent. PR c++/14616 * g++.dg/init/array13.C: New test. From-SVN: r79788
2004-03-21dojump.c (prefer_and_bit_test): Fix which part of the and_test is replaced.Andrew Pinski2-2/+6
2004-03-21 Andrew Pinski <pinskia@gcc.gnu.org> * dojump.c (prefer_and_bit_test): Fix which part of the and_test is replaced. From-SVN: r79784
2004-03-21* frontends.texi: Add missing line.Joseph Myers2-0/+5
From-SVN: r79782
2004-03-21frontends.texi: Rewrite.Joseph Myers7-58/+64
2004-03-21 Zack Weinberg <zack@codesourcery.com> Chris Devers <cdevers@pobox.com> Joseph S. Myers <jsm@polyomino.org.uk> * doc/frontends.texi: Rewrite. * doc/gcc.texi: Update last modification date. f: * g77.texi: Update link to "G++ and GCC". treelang: * treelang.texi: Update link to "G++ and GCC". From-SVN: r79777
2004-03-21g77.texi (Aligned Data): Remove obsolete paragraph including a broken link.Gerald Pfeifer4-27/+25
* g77.texi (Aligned Data): Remove obsolete paragraph including a broken link. (Floating-point Errors): Remove links to http://www.validgh.com/ which was "hijacked". (Language): Fix link to Fortran books. (Projects): Remove obsolete paragraph including a broken link to ftp://alpha.gnu.org/gnu/g77/projects/. (Trouble): Remove obsolete paragraph including a broken link to ftp://alpha.gnu.org/g77.plan. * invoke.texi (Overall Options): Remove broken reference to rat7.uue (which was of dubious copyright status anyways). * root.texi (www-burley): Fix URL. From-SVN: r79776