aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2004-03-15re PR java/14581 (gcj internal error: Segmentation fault involving switch ↵Andrew Haley2-1/+8
to a final var) 2004-03-15 Andrew Haley <aph@redhat.com> PR java/14581 * parse.y (java_complete_lhs): Check that final variable has an initializer. From-SVN: r79505
2004-03-15re PR c++/14550 (trouble with pointers in templates)Mark Mitchell4-94/+114
PR c++/14550 * parser.c (cp_parser_non_integral_constant_expression): Encode more of the idiom that surrounded calls to this function within the function itself (cp_parser_primary_expression): Adjust accordingly. (cp_parser_postfix_expression): Likewise. (cp_parser_unary_expression): Likewise. (cp_parser_cast_expression): Likewise. (cp_parser_assignment_expression): Likewise. (cp_parser_expression): Likewise. (cp_parser_new_expression): Note that new-expressions are not allowed in integral constant expressions. (cp_parser_delete_expression): Likewise. PR c++/14550 * g++.dg/parse/template14.C: New test. From-SVN: r79498
2004-03-15* config/arm/arm.c (thumb_expand_prologue): Tie prologue insns to fp.Paul Brook2-0/+10
From-SVN: r79496
2004-03-15[multiple changes]Arnaud Charlet46-472/+991
2004-03-15 Jerome Guitton <guitton@act-europe.fr> * 3zsoccon.ads: Fix multicast options. * s-thread.ads: Move unchecked conversion from ATSD_Access to Address in the spec. 2004-03-15 Robert Dewar <dewar@gnat.com> * sem_prag.adb: Make sure No_Strict_Aliasing flag is set right when pragma used for a private type. * lib-xref.adb (Generate_Reference): Do not generate warning if reference is in a different unit from the pragma Unreferenced. * 5vtpopde.adb: Minor reformatting Fix casing of To_Task_ID * sem_ch13.adb (Validate_Unchecked_Conversion): Set No_Strict_Aliasing flag if we have an unchecked conversion to an access type in the same unit. 2004-03-15 Geert Bosch <bosch@gnat.com> * a-ngcoty.adb (Modulus): In alternate formula for large real or imaginary parts, use Double precision throughout. * a-tifiio.adb (Put_Scaled): Remove remaining pragma Debug. Not only we want to be able to compile run-time with -gnata for testing, but this may also be instantiated in user code that is compiled with -gnata. 2004-03-15 Olivier Hainque <hainque@act-europe.fr> * s-stalib.ads (Exception_Code): New type, to represent Import/Export codes. Having a separate type for this is useful to enforce consistency throughout the various run-time units. (Exception_Data): Use Exception_Code for Import_Code. * s-vmextra.ads, s-vmexta.adb: Use Exception_Code instead of a mix of Natural and Integer in various places. (Register_VMS_Exception): Use Base_Code_In to compute the exception code with the severity bits masked off. (Register_VMS_Exception): Handle the additional exception data pointer argument. * raise.c (_GNAT_Exception structure): Remove the handled_by_others component, now reflected by an exported accessor. (is_handled_by): New routine to compute whether the propagated occurrence matches some handler choice specification. Extracted out of get_action_description_for, and expanded to take care of the VMS specifities. (get_action_description_for): Use is_handled_by instead of an explicit complex condition to decide if the current choice at hand catches the propagated occurrence. * raise.h (Exception_Code): New type for C. * rtsfind.ads (RE_Id, RE_Unit_Table): Add System.Standard_Library.Exception_Code, to allow references from the pragma import/export expander. * a-exexpr.adb (Is_Handled_By_Others, Language_For, Import_Code_For): New accessors to allow easy access to GNAT exception data characteristics. (GNAT_GCC_Exception record, Propagate_Exception): Get rid of the redundant Handled_By_Others component, helper for the personality routine which will now be able to call the appropriate exception data accessor instead. * cstand.adb (Create_Standard): Adjust the type of the Import_Code component of Standard_Exception_Type to be the closest possible to Exception_Code in System.Standard_Library, that we cannot get at this point. Expand a ??? comment to notify that this type node should probably be rewritten later on. * exp_prag.adb (Expand_Pragma_Import_Export_Exception): Adjust the registration call to include a pointer to the exception object in the arguments. * init.c (__gnat_error_handler): Use Exception_Code and Base_Code_In instead of int and explicit bitmasks. 2004-03-15 Vincent Celier <celier@gnat.com> * vms_data.ads: Add new GNAT BIND qualifier /STATIC. Makes /NOSHARED equivalent to /STATIC and /NOSTATIC equivalent to /SHARED. * a-tasatt.adb (To_Access_Code): Remove this UC instantiation, no longer needed now that it is in the spec of System.Tasking.Task_Attributes. * adaint.h, adaint.c: (__gnat_create_output_file): New function * gnatcmd.adb: Fix bug introduced in previous rev: /= instead of = * g-os_lib.ads, g-os_lib.adb (Create_Output_Text_File): New function. * make.adb (Gnatmake): Do not check the executable suffix; it is being taken care of in Scan_Make_Arg. (Scan_Make_Arg): Add the executable suffix only if the argument following -o, in canonical case, does not end with the executable suffix. When in verbose mode and executable file name does not end with executable suffix, output the executable name, in canonical case. * s-tataat.ads (Access_Dummy_Wrapper): Add pragma No_Strict_Aliasing to avoid warnings when instantiating Ada.Task_Attributes. Minor reformating. * mlib-prj.adb (Process_Imported_Libraries): Get the imported libraries in the correct order. * prj-makr.adb (Process_Directory): No longer use GNAT.Expect, but redirect standard output and error to a file for the invocation of the compiler, then read the file. * prj-nmsc.adb (Find_Sources): Use the Display_Value for each directory, instead of the Value. (Find_Source_Dirs): Remove useless code & comments. 2004-03-15 Ed Schonberg <schonberg@gnat.com> * exp_ch3.adb (Freeze_Record_Type): If a primitive operation of a tagged type is inherited, and the parent operation is not frozen yet, force generation of a freeze node for the inherited operation, so the corresponding dispatch entry is properly initialized. (Make_Predefined_Primitive_Specs): Check that return type is Boolean when looking for user-defined equality operation. * exp_ch4.adb (Expand_Composite_Equality): Check that return type is boolean when locating primitive equality of tagged component. * exp_ch5.adb (Expand_Assign_Array): If the left-hand side is a bit-aligned field and the right-hand side a string literal, introduce a temporary before expanding assignment into a loop. * exp_ch9.adb (Expand_N_Task_Type_Declaration): Copy expression for priority in full, to ensure that any expanded subepxressions of it are elaborated in the scope of the init_proc. * exp_prag.adb (Expand_Pragma_Import): Search for initialization call after object declaration, skipping over code that may have been generated for validity checks. * sem_ch12.adb (Validate_Private_Type_Instance): If type has unknown discriminants, ignore the known discriminants of its full view, if any, to check legality. * sem_ch3.adb (Complete_Private_Subtype): Do not create constrained component if type has unknown discriminants. (Analyze_Private_Extension_Declaration): Discriminant constraint is null if type has unknown discriminants. * sem_ch6.adb (Analyze_Generic_Subprogram_Body): Generate reference for end label when present. * s-fileio.adb (Open): When called with a C_Stream, use given name for temporary file, rather than an empty string. 2004-03-15 Ed Falis <falis@gnat.com> * s-thread.adb: Removed, no longer used. 2004-03-15 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> * decl.c (target.h): Now include. (gnat_to_gnu_entity, case E_Access_Type): Use mode derived from ESIZE in new build_pointer_from_mode calls for non-fat/non-thin pointer. (validate_size): For POINTER_TYPE, get smallest size permitted on machine. * fe.h: Sort Einfo decls and add Set_Mechanism. * Makefile.in: (LIBGNAT_SRCS): Remove types.h. (ada/decl.o): Depends on target.h. * trans.c (tree_transform, N_Unchecked_Type_Conversion): Do not use FUNCTION_BOUNDARY; always use TYPE_ALIGN. 2004-03-15 Thomas Quinot <quinot@act-europe.fr> * 5ztpopsp.adb, 56tpopsp.adb: Fix spelling of Task_ID. * exp_ch4.adb (Expand_N_Indexed_Component): Do not call Insert_Dereference_Action when rewriting an implicit dereference into an explicit one, this will be taken care of during expansion of the explicit dereference. (Expand_N_Slice): Same. Always do the rewriting, even for the case of non-packed slices, since the dereference action generated by expansion of the explicit dereference is needed in any case. (Expand_N_Selected_Component): When rewriting an implicit dereference, analyze and resolve the rewritten explicit dereference so it is seen by the expander. (Insert_Dereference_Action): This procedure is now called only for the expansion of an N_Explcit_Dereference_Node. Do insert a check even for dereferences that do not come from source (including explicit dereferences resulting from rewriting implicit ones), but do not recursively insert a check for the dereference nodes contained within the check. (Insert_Dereference_Action): Clarify and correct comment. From-SVN: r79494
2004-03-15re PR java/14551 (Switch w sign-extended byte and >16 labels causes error in ↵Andrew Haley2-1/+14
tree.c) 2004-03-12 Andrew Haley <aph@redhat.com> PR java/14551 * typeck.c (convert): Clear TREE_OVERFLOW after an integer conversion. From-SVN: r79493
2004-03-15c-pretty-print.c (pp_c_semicolon): Fix formatting.Gabriel Dos Reis2-3/+26
* c-pretty-print.c (pp_c_semicolon): Fix formatting. (pp_c_cv_qualifier): Document. (pp_c_space_for_pointer_operator): Likewise. (pp_c_integer_constant): Likewise. (pp_c_identifier): Likewise. (pp_c_init_declarator): Don't print function body. From-SVN: r79492
2004-03-15Daily bump.GCC Administrator1-1/+1
From-SVN: r79488
2004-03-14contrib.texi, [...]: Capitalize "gcc", "g++" and "g77" or mark up with ↵Joseph Myers10-51/+59
appropriate markup. * doc/contrib.texi, doc/extend.texi, doc/gcov.texi, doc/install.texi, doc/invoke.texi, doc/makefile.texi, doc/sourcebuild.texi, doc/tm.texi, doc/trouble.texi: Capitalize "gcc", "g++" and "g77" or mark up with appropriate markup. Adjust wording and grammar. From-SVN: r79482
2004-03-14alias.c (get_alias_set): Replace calls via (*lang_hooks.foo) () with ↵Roger Sayle35-232/+297
lang_hooks.foo (). * alias.c (get_alias_set): Replace calls via (*lang_hooks.foo) () with lang_hooks.foo (). * builtins.c (expand_builtin_va_arg): Likewise. * c-common.c (fname_as_string, c_common_truthvalue_conversion, c_common_type_for_mode, c_common_nodes_and_builtins, handle_mode_attribute, handle_vector_size_attribute): Likewise. * c-convert.c (convert): Likewise. * c-format.c (check_format_types): Likewise. * c-objc-common.c (c_tree_printer): Likewise. * c-typeck.c (build_unary_op, build_conditional_expr, build_binary_op): Likewise. * calls.c (try_to_integrate, expand_call, emit_library_call_value_1): Likewise. * cgraph.c (cgraph_node_name, cgraph_function_possibly_inlined_p): Likewise. * cgraphunit.c (record_call_1, cgraph_analyze_function, cgraph_expand_function): Likewise. * convert.c (convert_to_pointer, convert_to_integer): Likewise. * coverage.c (build_fn_info_type, build_ctr_info_type, build_gcov_info, create_coverage): Likewise. * dbxout.c (dbxout_init): Likewise. * diagnostic.c (diagnostic_report_current_function): Likewise. * dojump.c (do_jump): Likewise. * dwarf2out.c (dwarf2_name): Likewise. * except.c (init_eh): Likewise. * explow.c (expr_size, int_expr_size): Likewise. * expmed.c (make_tree, const_mult_add_overflow_p, expand_mult_add): Likewise. * expr.c (store_expr, store_constructor, safe_from_p, expand_expr_real, do_store_flag, try_casesi): Likewise. * function.c (push_function_context_to, pop_function_context_from, free_after_parsing, assign_stack_local_1, assign_stack_temp_for_type, put_var_into_stack, allocate_struct_function, current_function_name): Likewise. * integrate.c (copy_decl_for_inlining, expand_inline_function): Likewise. * langhooks.c (lhd_clear_binding_stack, write_global_declarations, lhd_print_error_function): Likewise. * opts.c (handle_option, decode_options): Likewise. * passes.c (open_dump_file): Likewise. * print-tree.c (print_node): Likewise. * stmt.c (expand_fixup, fixup_gotos, expand_asm_operands, expand_decl_cleanup, emit_case_nodes): Likewise. * stor-layout.c (variable_size): Likewise. * toplev.c (announce_function, wrapup_global_declarations, check_global_declarations, compile_file, default_tree_printer, process_options, lang_dependent_init, finalize): Likewise. * tree-dump.c (dequeue_and_dump): Likewise. * tree-inline.c (remap_decl, remap_block, copy_body_r, initialize_inlined_parameters, declare_return_variable, inlinable_function_p, expand_call_inline, optimize_inline_calls, walk_tree, copy_tree_r): Likewise. * tree-optimize.c (tree_rest_of_compilation): Likewise. * tree.c (decl_assembler_name, tree_size, size_in_bytes, staticp, unsafe_for_reeval, get_unwidened, get_narrower, get_callee_fndecl, variably_modified_type_p, dump_tree_statistics): Likewise. * varasm.c (assemble_variable, compare_constant, copy_constant, force_const_mem, compute_reloc_for_constant, output_constant, output_addressed_constants, initializer_constant_valid_p): Likewise. From-SVN: r79481
2004-03-14install.texi: Make autoconf 2.13 the exception, not the rule.Kelley Cook2-5/+8
2004-03-14 Kelley Cook <kcook@gcc.gnu.org> * doc/install.texi: Make autoconf 2.13 the exception, not the rule. From-SVN: r79480
2004-03-14install.texi: Reflect autoconf and automake version for libffi.Andreas Tobler2-5/+11
2004-03-14 Andreas Tobler <a.tobler@schweiz.ch> * doc/install.texi: Reflect autoconf and automake version for libffi. Update autoconf version to 2.59. From-SVN: r79474
2004-03-14fold-const.c (negate_expr, [...]): Replace calls via (*lang_hooks.foo) () ↵Roger Sayle2-34/+44
with lang_hooks.foo (). * fold-const.c (negate_expr, operand_equal_for_comparison_p, optimize_bit_field_compare, decode_field_reference, all_ones_mask_p, make_range, build_range_check, fold_range_test, unextend, constant_boolean_node, fold_binary_op_with_conditional_arg, fold_truthop, fold_mathfn_compare, fold_inf_compare, fold_single_bit_test, fold): Replace calls via (*lang_hooks.foo) () with lang_hooks.foo (). From-SVN: r79471
2004-03-14* arm.h (EXTRA_CONSTRAINT_STR_ARM): Update comment.Richard Earnshaw2-1/+7
From-SVN: r79468
2004-03-14Daily bump.GCC Administrator1-1/+1
From-SVN: r79465
2004-03-13* doc/install.texi: Note status of -fnew-ra.Dara Hazeghi2-2/+6
From-SVN: r79459
2004-03-13re PR tree-optimization/14470 ([tree-ssa] trouble with post-increment)Eric Botcazou4-0/+31
PR middle-end/14470 * expr.c (store_expr): Call emit_queue before generating the move from the temporary to the original target. Protect the temporary from emit_queue. From-SVN: r79452
2004-03-13re PR target/14533 (s390x internal compiler error: in ↵Jakub Jelinek4-4/+50
legitimize_pic_address, at config/s390/s390.c:2276) PR target/14533 * config/s390/s390.c (legitimize_pic_address): Don't abort on UNSPEC other than UNSPEC_GOTOFF. * gcc.dg/20040311-2.c: New test. From-SVN: r79442
2004-03-13arm.c (arm_legitimate_address_p): New argument, OUTER.Richard Earnshaw7-190/+121
* arm.c (arm_legitimate_address_p): New argument, OUTER. Pass through to arm_legitimate_index_p. Update all callers with SET as default value. (arm_legitimate_index_p): New argument, OUTER. Restrict the index range if OUTER is a sign-extend operation on QImode. Correctly reject shift operations on sign-extended QImode addresses. (bad_signed_byte_operand): Delete. (arm_extendqisi_mem_op): New function. * arm.h (EXTRA_CONSTRAINT_ARM): Delete. Replace with... (EXTRA_CONSTRAINT_STR_ARM): ... this. Handle extended address constraints. (CONSTRAINT_LEN): New. (EXTRA_CONSTRAINT): Delete. Replace with... (EXTRA_CONSTRAINT_STR): ... this. (PREDICATE_CODES): Remove bad_signed_byte_operand. * arm.md (extendqihi_insn): Use new constraint Uq. Rework. Length is now always default. (define_splits for bad sign-extend loads): Delete. (arm_extendqisi, arm_extendqisi_v5): Likewise. * arm/vfp.md (arm_movsi_vfp, arm_movdi_vfp, movsf_vfp, movdf_vfp): Rework 'U' constraint to 'Uv'. * arm-protos.h: Remove bad_signed_byte_operand. Add arm_extendqisi_mem_op. * doc/md.texi (ARM constraints): Rename VFP constraint (now Uv). Add Uq constraint. From-SVN: r79440
2004-03-13rs6000.c (rs6000_va_arg): Replace SPLIT_COMPLEX_ARGS with targetm version.Alan Modra2-1/+4
* config/rs6000/rs6000.c (rs6000_va_arg): Replace SPLIT_COMPLEX_ARGS with targetm version. From-SVN: r79437
2004-03-13re PR target/14567 ([3.4 only] long double and va_arg complex args)Alan Modra3-73/+162
PR target/14567 * config/rs6000/rs6000.h (UNITS_PER_ARG, RS6000_ARG_SIZE): Delete. (HARD_REGNO_MODE_OK): Disallow TFmode for fp31. * config/rs6000/rs6000.c (rs6000_arg_size): New function. Update all users of RS6000_ARG_SIZE. (function_arg_advance): Count fregno using mode size. (function_arg): Handle long double split over regs and memory. (function_arg_partial_nregs): Likewise. (rs6000_va_arg): Repackage complex args. From-SVN: r79436
2004-03-13re PR target/14047 (__progmem__ attribute doesn't work)Dean Ferreyra1-0/+7
PR target/14047 * config/avr/avr.c (avr_progmem_p): Add "attributes" parameter. (avr_insert_attributes): Pass "attributes" to avr_progmem_p. * config/avr/avr-protos.h (avr_progmem_p): Change prototype. From-SVN: r79434
2004-03-13re PR target/14047 (__progmem__ attribute doesn't work)Dean Ferreyra2-4/+4
PR target/14047 * config/avr/avr.c (avr_progmem_p): Add "attributes" parameter. (avr_insert_attributes): Pass "attributes" to avr_progmem_p. * config/avr/avr-protos.h (avr_progmem_p): Change prototype. From-SVN: r79433
2004-03-13re PR other/14544 (gcc.c-torture/execute/20040307-1.c fails on 16-bit targets)Kazu Hirata2-1/+6
PR other/14544 * gcc.c-torture/execute/20040307-1.c: Remove the 24-bit bit-field. From-SVN: r79427
2004-03-13Daily bump.GCC Administrator1-1/+1
From-SVN: r79417
2004-03-12rs6000-protos.h (rs6000_output_dwarf_dtprel): Add prototype.Jakub Jelinek4-0/+36
* config/rs6000/rs6000-protos.h (rs6000_output_dwarf_dtprel): Add prototype. * config/rs6000/rs6000.c (rs6000_output_dwarf_dtprel): New. * config/rs6000/rs6000.h (ASM_OUTPUT_DWARF_DTPREL): Define. From-SVN: r79408
2004-03-12host-darwin.c (darwin_rs6000_gt_pch_use_address): Use ret instead of result.Andrew Pinski2-3/+8
2003-03-12 Andrew Pinski <apinski@apple.com> * config/rs6000/host-darwin.c (darwin_rs6000_gt_pch_use_address): Use ret instead of result. Use addr instead of base. From-SVN: r79404
2004-03-12install.texi (*-ibm-aix*): Document assembler and achiver fixes required by ↵David Edelsohn2-15/+24
libstdc++ and update... * doc/install.texi (*-ibm-aix*): Document assembler and achiver fixes required by libstdc++ and update installation instructions for libstdc++.a. From-SVN: r79401
2004-03-12winnt.c (i386_pe_strip_name_encoding_full): Strip leading '@' on fastcall ↵Danny Smith2-1/+11
symbols before stripping suffix. * config/i386/winnt.c (i386_pe_strip_name_encoding_full): Strip leading '@' on fastcall symbols before stripping suffix. From-SVN: r79400
2004-03-12combine.c (unmentioned_reg_p): New function to check whether an expression ↵Roger Sayle2-0/+64
is a "specialization" of another, i.e. * combine.c (unmentioned_reg_p): New function to check whether an expression is a "specialization" of another, i.e. that there are no registers or memory references mentioned in the first that don't appear in the second. (unmentioned_reg_p_1): New helper subroutine of unmentioned_reg_p. (combine_instructions): Also try combining instructions using the REG_EQUAL note from a preceding log-linked instruction. From-SVN: r79398
2004-03-12* config/i386/i386.c (ix86_split_ashrdi): Optimize shift by 63.Roger Sayle2-1/+12
From-SVN: r79397
2004-03-12Enabled linkonce support for Darwin.Matt Austern15-40/+450
* target.h (struct gcc_target): New target hook, unwind_label. * target-def.h (TARGET_ASM_EMIT_UNWIND_LABEL): New hook. * output.h (default_emit_unwind_label): New function. * default.h (TARGET_EXPLICIT_INSTANTIATIONS_ONE_ONLY): New macro. (TARGET_USES_WEAK_UNWIND_INFO): New target macro. (TARGET_SUPPORTS_HIDDEN): New target macro. * dwarf2out.c (struct dw_fde_struct): Add field for function decl that corresponds to this FDE. (FRAME_BEGIN_LABEL): Allow target to override default label. (output_call_frame_info): If FDEs are linknonce, then use extra indirection for FDE encoding, output a label for each FDE, and output an empty label for each function without an FDE. (dwarf2out_begin_prologue): Set up decl field when creating an FDE. * varasm.c (globalize_decl): Call ASM_MAKE_LABEL_LINKONCE for decls with DECL_ONE_ONLY set, if that macro is defined. (make_decl_one_only): Don't use DECL_COMMON if we're compiling for a SUPPORTS_ONE_ONLY target. * config/darwin-protos.h (darwin_unique_section): Declare. (darwin_asm_named_section): Likewise. (darwin_section_type_flags): Likewise. (darwin_non_lazy_pcrel): Likewise. (darwin_emit_unwind_label): Likewise. (darwin_make_decl_one_only): Likewise. * config/darwin.c (machopic_finish): Get rid of tweak that eliminate stubs for symbols that are defined. (darwin_encode_section_info): Don't treat weak functions as defined. (darwin_make_decl_one_only): Define. (darwin_asm_named_section): Likewise. (darwin_section_type_flags): Likewise. (darwin_unique_section): Likewise. (darwin_emit_unwind_label): Likewise. (darwin_non_lazy_pcrel): Likewise. (darwin_asm_output_dwarf_delta): Difference between two labels is local only if both labels are local. * config/darwin.h (MAKE_DECL_ONE_ONLY): Define. (ASM_MAKE_LABEL_LINKONCE): Likewise. (TARGET_SUPPORTS_HIDDEN): Likewise. (TARGET_USES_WEAK_UNWIND_INFO): Likewise. (TARGET_EXPLICIT_INSTANTIATIONS_ONE_ONLY): Likewise. (FRAME_BEGIN_LABEL): Likewise. (ASM_DECLARE_OBJECT_NAME): Make references to weak symbols indirect. (ASM_DECLARE_FUNCTION_NAME): Likewise. (darwin_eh_frame_section): Give __eh_frame section the coalesced flag. (TARGET_ASM_UNIQUE_SECTION): Define. (EH_FRAME_SECTION_NAME): Define. (EH_FRAME_SECTION_ATTR): Likewise. (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Likewise. (TARGET_ASM_NAMED_SECTION): Likewise. (TARGET_SECTION_TYPE_FLAGS): Likewise. * doc/tm.texi: Document TARGET_USES_WEAK_UNWIND_INFO, TARGET_EXPLICIT_INSTANTIATIONS_ONE_ONLY, TARGET_SUPPORTS_HIDDEN, TARGET_ASM_EMIT_UNWIND_LABEL. * cp/decl2.c (maybe_make_one_only): Look at TARGET_EXPLICIT_INSTANTIATION_ONE_ONLY when deciding whether to make an explicit instantiation weak. * cp/method.c (use_thunk): Make sure we call comdat_linkage when appropriate. * cp/pt.c (do_type_instantiation): On systems where weak symbols don't go in a static archive's TOC, explicit instantiation of a class must imply *explicit* instantiation of its memeber. From-SVN: r79394
2004-03-12* gcc.dg/20040305-2.c: Add missing return statement.Ulrich Weigand2-0/+6
From-SVN: r79387
2004-03-12builtins.c (expand_builtin_mathfn): Add pow10* to the existing exp10* case.Kaveh R. Ghazi4-2/+36
* builtins.c (expand_builtin_mathfn): Add pow10* to the existing exp10* case. (expand_builtin): Likewise. testsuite: * gcc.dg/builtins-34.c: Also check pow10*. From-SVN: r79383
2004-03-12tm.texi (registers): Add entry for REGMODE_NATURAL_SIZE.Eric Botcazou2-0/+14
* doc/tm.texi (registers) <Values in Registers>: Add entry for REGMODE_NATURAL_SIZE. From-SVN: r79377
2004-03-12re PR target/14547 (Passing _Complex long double does not follow the ABI)Richard Henderson14-61/+131
PR target/14547 * target.h (struct gcc_target): Move calls substructure before booleans. Add split_complex_arg. * function.c (assign_parms, split_complex_args): Use it. * calls.c (expand_call): Likewise. (split_complex_values): Likewise. Check for splittable types before allocating memory. (split_complex_types): Likewise. * system.h (SPLIT_COMPLEX_ARGS): Poison. * expr.h (SPLIT_COMPLEX_ARGS): Remove. * target-def.h (TARGET_SPLIT_COMPLEX_ARG): New. * config/alpha/alpha.c (alpha_split_complex_arg): New. (TARGET_SPLIT_COMPLEX_ARG): New. * config/alpha/alpha.h (SPLIT_COMPLEX_ARGS): Remove. * config/rs6000/rs6000.c (TARGET_SPLIT_COMPLEX_ARG): New. (rs6000_override_options): Zap it for non-AIX. (rs6000_function_value): Use targetm.calls.split_complex_arg. * config/rs6000/rs6000.h (SPLIT_COMPLEX_ARGS): Remove. * config/xtensa/xtensa.c (TARGET_SPLIT_COMPLEX_ARG): New. * config/xtensa/xtensa.h (SPLIT_COMPLEX_ARGS): Remove. * doc/tm.texi (TARGET_SPLIT_COMPLEX_ARG): Modify from old SPLIT_COMPLEX_ARGS entry. From-SVN: r79376
2004-03-11alpha.c (xfloating_ops, [...]): New.Richard Henderson3-80/+76
* config/alpha/alpha.c (xfloating_ops, vax_cvt_ops): New. (alpha_lookup_xfloating_lib_func): Use them, return rtx. (alpha_emit_xfloating_arith): Update to match. (alpha_emit_xfloating_compare): Likewise. (alpha_emit_xfloating_cvt): Likewise. (alpha_emit_xfloating_libcall): Take already built symbol, mark call const. * config/alpha/alpha.md (extendsftf2, extenddftf2): Take op1 in a register. From-SVN: r79371
2004-03-12Daily bump.GCC Administrator1-1/+1
From-SVN: r79357
2004-03-11* simplify-rtx.c (simplify_relational_operation): Fix typo.Richard Henderson2-1/+3
From-SVN: r79353
2004-03-11re PR target/14539 (128-bit long double improperly aligned)Richard Henderson2-1/+6
PR target/14539 * config/alpha/alpha.h (STACK_BOUNDARY): Set to 128. From-SVN: r79352
2004-03-11except.c (remove_unreachable_regions): Look thru CALL_PLACEHOLDER.Richard Henderson3-1/+38
* except.c (remove_unreachable_regions): Look thru CALL_PLACEHOLDER. * g++.dg/opt/eh1.C: New. From-SVN: r79350
2004-03-11re PR target/14262 (Structure size computed wrong)Ulrich Weigand4-3/+62
PR target/14262 * calls.c (load_register_parameters): If BLOCK_REG_PADDING is not defined, pass small BLKmode values in registers in the low-order part. * gcc.dg/20040305-2.c: New test. From-SVN: r79348
2004-03-11combine.c (if_then_else_cond): Check for NULL return value of ↵Ulrich Weigand4-5/+52
simplify_gen_subreg. ChangeLog: * combine.c (if_then_else_cond): Check for NULL return value of simplify_gen_subreg. testsuite/ChangeLog: * gcc.dg/20040310-1.c: New test. From-SVN: r79347
2004-03-11re PR target/14496 (ICE at recog.c:2083 building libgcc2.c)Richard Sandiford2-2/+10
PR target/14496 * config/mips/mips.h (UNITS_PER_FPVALUE): Fix value for TARGET_SINGLE_FLOAT. From-SVN: r79342
2004-03-11hpux.h (TARGET_INIT_LIBFUNCS): Add undef.Steve Ellcey4-0/+28
* config/ia64/hpux.h (TARGET_INIT_LIBFUNCS): Add undef. * config/ia64/ia64.h (TARGET_INIT_LIBFUNCS): Add define. * config/ia64/ia64.c (ia64_init_libfuncs): New. (ia64_hpux_init_libfuncs): Add call to ia64_init_libfuncs. From-SVN: r79339
2004-03-11* call.c, cp-tree.h, pt.c: Fix comment typos.Kazu Hirata4-3/+7
From-SVN: r79335
2004-03-11fold-const.c (negate_expr_p): We can optimize -((int)X>>C) where C is an ↵Roger Sayle5-0/+129
integer constant one bit less than... * fold-const.c (negate_expr_p) <RSHIFT_EXPR>: We can optimize -((int)X>>C) where C is an integer constant one bit less than the size of X into (unsigned)X>>C. Similarly for unsigned->signed. (negate_expr) <RSHIFT_EXPR>: Implement the above transformations. * simplify-rtx.c (simplify_unary_operation): Also implement the above transformations at the RTL level. * gcc.c-torture/execute/20040311-1.c: New test case. From-SVN: r79334
2004-03-12* real.c (encode_ibm_extended): Do round low word.Alan Modra2-3/+6
From-SVN: r79321
2004-03-12arm.md (is_xscale): Comment this attribute and move it a bit further up in ↵Ben Elliston2-1/+8
the file... * config/arm/arm.md (is_xscale): Comment this attribute and move it a bit further up in the file, closer to related attributes. From-SVN: r79319
2004-03-11host-solaris.c (sol_gt_pch_use_address): Add missing terminating marker to ↵Eric Botcazou2-1/+6
comment. * config/host-solaris.c (sol_gt_pch_use_address): Add missing terminating marker to comment. From-SVN: r79317
2004-03-11re PR c++/14476 (ICE after error about enum not being defined when using it ↵Mark Mitchell3-19/+11
as a bit field) PR c++/14476 * decl.c (xref_tag): Do not create dummy ENUMERAL_TYPEs. PR c++/14476 * g++.dg/lookup/enum1.C: New test. From-SVN: r79312