aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2003-07-18fold-const.c (const_binop): Avoid performing the FP operation at compile-time...Roger Sayle5-736/+801
* fold-const.c (const_binop): Avoid performing the FP operation at compile-time, if either operand is NaN and we honor signaling NaNs, or if we're dividing by zero and either flag_trapping_math is set or the desired mode doesn't support infinities. (fold_initializer): New function to fold an expression ignoring any potential run-time exceptions or traps. * tree.h (fold_initializer): Prototype here. * c-typeck.c (build_binary_op): Move to the end of the file so that intializer_stack is in scope. If constructing an initializer, i.e. when initializer_stack is not NULL, use fold_initializer to fold expressions. * simplify-rtx.c (simplify_binary_operation): Likewise, avoid performing FP operations at compile-time, if they would raise an exception at run-time. From-SVN: r69533
2003-07-18Daily bump.GCC Administrator2-2/+2
From-SVN: r69531
2003-07-17Andrew Pinski <pinskia@physics.uc.edu>Andrew Pinski7-0/+113
PR c++/10476 * g++.dg/expr/crash-1.C: New test. PR c++/11027 * g++.dg/template/init3.C: New test. PR c++/8222 * g++.dg/template/non-dependent1.C: New test. PR c++/11070 * g++.dg/template/non-dependent2.C: New test. PR c++/11071 * g++.dg/template/non-dependent3.C: New test. PR c++/9907 * g++.dg/template/sizeof5.C: New test. From-SVN: r69529
2003-07-17re PR middle-end/11498 (asm can't be used to give a variable its own name)Geoffrey Keating10-44/+91
PR 11498 * Makefile.in (c-opts.o): Add $(LANGHOOKS_DEF_H). (langhooks.o): Add $(GGC_H), gt-langhooks.h. (GTFILES): Add langhooks.c. (gt-langhooks.h): New. * c-common.h (c_static_assembler_name): Prototype. * c-lang.c (LANG_HOOKS_SET_DECL_ASSEMBLER_NAME): Define. * objc/objc-lang.c (LANG_HOOKS_SET_DECL_ASSEMBLER_NAME): Define. * c-opts.c: Include langhooks-def.h. (c_static_assembler_name): New. * langhooks.c: Include ggc.h. Include gt-langhooks.h. (var_labelno): New. (lhd_set_decl_assembler_name): Give static objects with context unique names. * varasm.c (var_labelno): Delete. (make_decl_rtl): Don't change the assembler name once it's set. From-SVN: r69527
2003-07-17c-opts.c (this_input_filename): New.Geoffrey Keating2-6/+18
* c-opts.c (this_input_filename): New. (finish_options): Take new parameter, name of file being compiled. Update callers. Set this_input_filename. (push_command_line_include): Use this_input_filename not main_input_filename. From-SVN: r69526
2003-07-17objc-lang.c: Override LANG_HOOKS_WRITE_GLOBALS to c_write_global_declarations.Zack Weinberg2-0/+6
* objc/objc-lang.c: Override LANG_HOOKS_WRITE_GLOBALS to c_write_global_declarations. From-SVN: r69525
2003-07-17Makefile.in: Depend .pot generation on options.c.Neil Booth3-6/+17
* Makefile.in: Depend .pot generation on options.c. * po/exgettext: Add an extra_files variable containing additional files to scan. From-SVN: r69524
2003-07-17GtkToolkit.java: Reworked imports.Michael Koch2-4/+10
2003-07-17 Michael Koch <konqueror@gmx.de> * gnu/java/awt/peer/gtk/GtkToolkit.java: Reworked imports. From-SVN: r69522
2003-07-17Missed this hunk - belongs with the previous patchZack Weinberg1-1/+2
From-SVN: r69521
2003-07-17c-decl.c: Fix typos in several comments.Zack Weinberg9-148/+85
* c-decl.c: Fix typos in several comments. Remove all #if 0 blocks; reindent as needed. Remove unused argument to declare_parm_level; all callers changed. * c-parse.in: Update calls to declare_parm_level. Avoid issuing a double warning in some circumstances. * c-typeck.c: Update calls to declare_parm_level. * c-tree.h: Update prototype of declare_parm_level. * c-pragma.c (apply_pragma_weak): Don't complain about a redundant #pragma weak. * objc/objc-act.c (forward_declare_categories, build_selector_reference_decl, build_class_reference_decl, build_objc_string_decl, synth_forward_declarations, build_protocol_reference): Set TREE_PUBLIC on synthetic forward decl to 0, consistent with eventual definition. Correct comments to match. cp: * pt.c (get_bindings): Make definition consistent with forward declaration. From-SVN: r69519
2003-07-17inclhack.def (solaris_mutex_init_2): Escape braces in regexp that don't form ↵Zack Weinberg3-11/+17
a range expression. * fixinc/inclhack.def (solaris_mutex_init_2): Escape braces in regexp that don't form a range expression. * fixinc/fixincl.def: Regenerate. From-SVN: r69517
2003-07-17re PR target/10907 ([IA64] gcc violates the ia64 ABI)Richard Henderson2-14/+15
PR target/10907 * config/ia64/ia64.c (ia64_epilogue_uses): GP is live at end even with !TARGET_CONST_GP. (ia64_function_ok_for_sibcall): Reject non-local functions. From-SVN: r69515
2003-07-17Fix typo in dateKriang Lerdsuwanakij1-1/+1
From-SVN: r69514
2003-07-17re PR c++/7809 (befriending inaccessible names)Kriang Lerdsuwanakij4-0/+28
PR c++/7809 * friend.c (add_friend): Check access for member functions and templates. * g++.dg/parse/access3.C: New test. From-SVN: r69513
2003-07-17guide.html: Fix typo.Phil Edwards2-1/+5
2003-07-17 Phil Edwards <pme@gcc.gnu.org> * docs/doxygen/guide.html: Fix typo. From-SVN: r69512
2003-07-17c-common.c (c_estimate_num_insns_1): Don't handle METHOD_CALL_EXPR.Steven Bosscher8-15/+12
2003-07-17 Steven Bosscher <steven@gcc.gnu.org> * c-common.c (c_estimate_num_insns_1): Don't handle METHOD_CALL_EXPR. * expr.c (safe_from_p): Likewise. * gengtype.c (adjust_field_tree_exp): Likewise. * stmt.c (warn_if_unused_value): Likewise * tree.c (first_rtl_op): Likewise. * tree.def: Don't define METHOD_CALL_EXPR. * java/lang.c (java_estimate_num_insns_1): Don't handle METHOD_CALL_EXPR. From-SVN: r69511
2003-07-17re PR c++/11384 (missing implicit instantiation of template static members)Andrew Pinski2-0/+26
2003-06-17 Andrew Pinski <pinskia@physics.uc.edu> PR c++/11384 * g++.dg/init/init-ref4.C: New test. From-SVN: r69510
2003-07-17re PR c++/10668 (assigning address of non-static member variable to pointer)Gabriel Dos Reis2-1/+9
PR c++/10668 * typeck.c (build_class_member_access_expr): Improve diagnostic. From-SVN: r69509
2003-07-17re PR other/11466 ('-mlittle-endian' doesn't work with GCC3.2.3 under ↵Eric Botcazou2-18/+26
Solaris 2.x) PR other/11466 * doc/invoke.texi (SPARC Options): Document "-mlittle-endian" and its restrictions for the SPARC64 port. Move the entry of "-mimpure-text" before that of "-mv8". From-SVN: r69497
2003-07-17install.texi (*-*-solaris2*): Document the step-by-step procedure to ↵Eric Botcazou2-2/+26
bootstrap and install. * doc/install.texi (*-*-solaris2*): Document the step-by-step procedure to bootstrap and install. Document the preference for the legacy Sun tools in /usr/bin over the POSIX tools in /usr/xpg4/bin for the build process. Co-Authored-By: Phil Edwards <phil@jaj.com> From-SVN: r69495
2003-07-17c.opt: Document Uncodumented; use it.Neil Booth10-288/+123
* c.opt: Document Uncodumented; use it. Document ObjC options. * opts.c (print_filtered_help): Skip undocumented switches. * opts.h (CL_UNDOCUMENTED): New. * opts.sh: Handle Undocumented. * toplev.c (documented_lang_options): Prevent its becoming empty. f: * lang-options.h: Remove. * lang.opt: Document most options. objc: * lang-options.h: Remove. From-SVN: r69494
2003-07-17re PR c++/11547 (ICE with const temporaries)Mark Mitchell9-93/+200
PR c++/11547 * cp-tree.h (DECL_INITIALIZED_BY_CONSTANT_EXPRESSION_P): New macro. (DECL_PRETTY_FUNCTION_P): Use VAR_DECL_CHECK. * decl.c (duplicate_decls): Merge DECL_INITIALIZED_BY_CONSTANT_EXPRESSION_P. * parser.c (cp_parser_postfix_expression): Adjust call to cp_parser_initializer_list and cp_parser_parenthesized_expression_list. (cp_parser_parenthesized_expression_list): Add non_constant_p. (cp_parser_new_placement): Adjust call to cp_parser_parenthesized_expression_list. (cp_parser_direct_new_declarator): Likewise. (cp_parser_conditional_expression): Remove. (cp_parser_constant_expression): Parse an assignment-expression, not a conditional-expression. (cp_parser_simple_declaration): Resolve expression/declaration ambiguity more quickly. (cp_parser_mem_initializer): Adjust call to cp_parser_parenthesized_expression_list. (cp_parser_init_declarator): Keep track of whether or not the initializer is a constant-expression. (cp_parser_initializer): Add non_constant_p parameter. (cp_parser_initializer_clause): Likewise. (cp_parser_initializer_list): Likewise. (cp_parser_attribute_list): Adjust call to cp_parser_parenthesized_expression_list. (cp_parser_functional_cast): Likewise. * pt.c (tsubst_decl): Copy DECL_INITIALIZED_BY_CONSTANT_EXPRESSION_P. (tsubst_expr): Tweak use of DECL_PRETTY_FUNCTION_P. * semantics.c (finish_id_expression): Use DECL_INITIALIZED_BY_CONSTANT_EXPRESSION_P. PR c++/11547 * g++.dg/parse/constant3.C: New test. * g++.dg/parse/crash7.C: Likewise. From-SVN: r69493
2003-07-17pod_char_traits.h: Add state template argument.Benjamin Kosnik2-6/+10
2003-07-16 Benjamin Kosnik <bkoz@redhat.com> * include/ext/pod_char_traits.h: Add state template argument. From-SVN: r69492
2003-07-17locale_facets.h (__num_base::_S_atoms_in): Add -+xX.Benjamin Kosnik5-165/+174
2003-07-16 Benjamin Kosnik <bkoz@redhat.com> * include/bits/locale_facets.h (__num_base::_S_atoms_in): Add -+xX. (num_get::_M_convert_int): To _M_insert_int. (num_get::_M_convert_float): To _M_insert_float. * include/bits/locale_facets.tcc (num_get::_M_extract_float): Use caches for ctype, num_get. (num_get::_M_extract_int): Same. (num_get::get(bool)): Same. (__verify_grouping): Use size_t. * src/locale-inst.cc: Update. * src/locale.cc: Adjust _S_atoms_in. From-SVN: r69491
2003-07-17loop.c (check_ext_dependent_givs): Pass const struct loop * instead of ↵Ulrich Weigand2-8/+46
struct loop_info * as argument. * loop.c (check_ext_dependent_givs): Pass const struct loop * instead of struct loop_info * as argument. Accept BIVs with increment +/- 1 provided there is a friendly exit test against a loop-invariant value. (strength_reduce): Adapt call to check_ext_dependent_givs. From-SVN: r69489
2003-07-17Daily bump.GCC Administrator2-2/+2
From-SVN: r69487
2003-07-16mainpage.html: Move building/writing instructions...Phil Edwards3-45/+119
2003-07-16 Phil Edwards <pme@gcc.gnu.org> * docs/doxygen/mainpage.html: Move building/writing instructions... * docs/doxygen/guide.html: ...to here. New file. From-SVN: r69485
2003-07-16prologue / epilogue / warning patches:J"orn Rennecke5-361/+558
2003-07-16 J"orn Rennecke <joern.rennecke@superh.com> Con Bradley <con.bradley@superh.com> * sh-protos.h (sh_get_pr_initial_val): Declare. * sh.c (regno_reg_class): Make its elements type enum reg_class. (output_stack_adjust): Remove emit_fn argument. Add epilogue_p and live_regs_mask arguments. Changed all callers. (save_schedule_s): New structure. (save_schedule): New typedef. (scavenge_reg, sh5_schedule_saves, sh5_schedule_saves): New functions. (calc_live_regs): For TARGET_SHMEDIA, use leaf_function_p. In interrupts handlers, also save registers that are usually partially saved, and make sure there is at least one general purpose register saved if a target register needs saving. Add casts in comparisons to avoid warnings. (sh_media_register_for_return): return -1 for interrupt handlers. (MAX_SAVED_REGS, MAX_TEMPS): New defines. (sh_expand_prologue): Use sh5_schedule_saves. Check that any temp registers used are available. Set RTX_FRAME_RELATED_P where appropriate. Add an REG_FRAME_RELATED_EXPR for r0 + offset addressing. (sh_expand_epilogue, sh_set_return_address): Use sh5_schedule_saves. (initial_elimination_offset): Likewise. * sh.h (DWARF_CIE_DATA_ALIGNMENT): Set to -4. (LOCAL_ALIGNMENT, GENERAL_REGISTER_P): Add casts to avoid warnings. (FP_REGISTER_P): Add casts to fix broken handling of unsigned REGNO. (XD_REGISTER_P, TARGET_REGISTER_P): Likewise. (HARD_REGNO_CALL_PART_CLOBBERED): Also yield nonzero for r15, and for target registers. (RETURN_IN_MEMORY): Add parentheses to avoid warnings. (regno_reg_class): Make its elements type enum reg_class. (CONSTRAINT_LEN): Don't use isdigit. (FUNCTION_ARG_REGNO_P): Add casts to avoid warnings. (FUNCTION_ARG): Add parentheses to avoid warnings. (RETURN_ADDR_RTX): Use sh_get_pr_initial_val. (RETURN_ADDR_OFFSET): Define to -1 for TARGET_SH5. (SH_DBX_REGISTER_NUMBER): Add casts to avoid warnings. (EH_RETURN_DATA_REGNO): Use unsigned constants to avoid warnings. * sh.md (xordi3+1): Remove unused variable regno. (return_media): Check that tr0 is available before using it. Co-Authored-By: Con Bradley <con.bradley@superh.com> From-SVN: r69480
2003-07-16file should have been named i386-pentium4-not-mull.c, not ↵Andrew Pinski1-0/+0
i386-pentium4-no-mull.c. From-SVN: r69478
2003-07-16c.opt: Document more options.Neil Booth4-163/+48
* c.opt: Document more options. cp: * lang-options.h: Remove. From-SVN: r69477
2003-07-16combine.c (subst): Also handle (subreg (const_double ...)) case if created ↵Roger Sayle2-1/+8
by a substitution... * combine.c (subst): Also handle (subreg (const_double ...)) case if created by a substitution, by using the original inner mode. From-SVN: r69476
2003-07-16simplify-rtx.c (simplify_replace_rtx): Convert constant comparisons to ↵Roger Sayle2-12/+52
MODE_FLOAT constants if... * simplify-rtx.c (simplify_replace_rtx): Convert constant comparisons to MODE_FLOAT constants if FLOAT_STORE_FLAG_VALUE is defined. (simplify_rtx): Likewise. Simplify (lo_sum (high X) X) as X. From-SVN: r69475
2003-07-16install.texi (--without-headers): New.Andrew Pinski2-5/+11
2003-07-16 Andrew Pinski <pinskia@physics.uc.edu> * doc/install.texi (--without-headers): New. From-SVN: r69474
2003-07-16Partial Fix PR/10129Andrew Pinski4-32/+40
2003-07-17 Andrew Pinski <pinskia@physics.uc.edu> Partial Fix PR/10129 * config/darwin.c (machopic_function_base_name): Only Return "<pic base>". (machopic_output_function_base_name): New; print the true pic label. (machopic_classify_ident): Pic Base is always a defined data. * config/darwin.h (ASM_OUTPUT_LABELREF): Support the pic base label. * config/darwin-proto.h (machopic_output_function_base_name): Prototype. From-SVN: r69472
2003-07-16gcse.c (gcse_constant_p): COMPARE of the same registers is a constant if...Andrew Pinski2-0/+16
2003-05-02 Andrew Pinski <pinskia@physics.uc.edu> * gcse.c (gcse_constant_p): COMPARE of the same registers is a constant if they are not floating point registers. From-SVN: r69471
2003-07-16re PR c/10962 (lookup_field is a linear search on a linked list (can be slow ↵Andrew Pinski11-80/+186
if large struct)) 2003-07-16 Andrew Pinski <pinskia@physics.uc.edu> ChangeLog: PR c/10962 * ggc.h: Add header guards. * c-decl.c (finish_struct): Sort fields if number greater than 15 and there are no anonymous structs/unions. * c-common.h: Include ggc.h. (sorted_fields_type): New struct. (field_decl_cmp): New prototype. (resort_sorted_fields): New prototype. (DECL_DECLARES_TYPE_NON_TEMPLATE_P): New macro. * c-tree.h: (lang_type): Use pointer to sorted_fields_type as s, removing other fields. * c-typeck.c (lookup_field): Use s in lang_type. These were mostly moved from cp/class.c: * c-common.c (field_decl_cmp): New static function. (field_decl_cmp): New function. (resort_sorted_fields): New function. cp/ChangeLog: * class.c (field_decl_cmp): Remove. (resort_field_decl_cmp): Remove. (resort_sorted_fields): Remove. (add_fields_to_vec): Rename to ... (add_fields_to_record_type): this. (finish_struct_1): Change to be using sorted_fields_type's fields. * cp-tree.h (lang_decl): In lang_decl_u3 change sorted_fields to be a pointer to sorted_fields_type. (resort_sorted_fields): Remove prototype. * search.c (lookup_field_1): Change to be using sorted_fields_type's fields. From-SVN: r69470
2003-07-16re PR target/11008 (improper multiply optimization for pentium4)Andrew Pinski2-0/+14
2003-07-16 Andrew Pinski <pinskia@physics.uc.edu> PR target/11008 * gcc.dg/i386-pentium4-not-mull.c: New. From-SVN: r69469
2003-07-16darwin.c (machopic_select_section): Use decl_readonly_section to do most of ↵Geoffrey Keating2-41/+25
the work. * config/darwin.c (machopic_select_section): Use decl_readonly_section to do most of the work. From-SVN: r69468
2003-07-16MAINTAINERS: Move self from Bug database only accounts to write-after-approval.Andrew Pinski2-1/+6
2003-07-16 Andrew Pinski <pinskia@physics.uc.edu> * MAINTAINERS: Move self from Bug database only accounts to write-after-approval. From-SVN: r69467
2003-07-16mmix-protos.h: Convert prototypes to ISO C90.Hans-Peter Nilsson3-387/+250
* config/mmix/mmix-protos.h: Convert prototypes to ISO C90. * config/mmix/mmix.c: Convert functions to ISO C90. (mmix_eh_return_handler_rtx, mmix_output_shifted_value): Tweak formatting. (mmix_get_hard_reg_initial_val): Tweak section head comment. From-SVN: r69466
2003-07-16howto.html: Update URL for SGI STL docs.Jonathan Wakely4-122/+128
2003-07-16 Jonathan Wakely <redi@gcc.gnu.org> * docs/html/ext/howto.html: Update URL for SGI STL docs. * docs/html/faq/index.html: Same. * docs/html/faq/index.txt: Regenerate. From-SVN: r69463
2003-07-16c-pragma.h (HANDLE_PRAGMA_WEAK): Always define to SUPPORTS_WEAK.J"orn Rennecke4-4/+11
gcc: * c-pragma.h (HANDLE_PRAGMA_WEAK): Always define to SUPPORTS_WEAK. gcc/testsuite: * gcc.dg/asm-names.c (ymain): Make it weak. From-SVN: r69459
2003-07-16re PR libstdc++/11528 (money_get does not get "$.00")Paolo Carlini4-1/+115
2003-07-16 Paolo Carlini <pcarlini@unitus.it> PR libstdc++/11528 * include/bits/locale_facets.tcc (money_get::do_get): Strip only _leading_ zeros. * testsuite/22_locale/money_get/get/char/11528.cc: Add. * testsuite/22_locale/money_get/get/wchar_t/11528.cc: Add. From-SVN: r69458
2003-07-16re PR c++/5421 (friends+templates: ICE: expected identifier_node, have ↵Kriang Lerdsuwanakij5-1/+35
template_id_expr in grokfndecl, at cp/decl.c:8835) PR c++/5421 * decl.c (grokdeclarator): Handle TEMPLATE_ID_EXPR if friend is a member of other class. * friend.c (do_friend): Don't build TEMPLATE_DECL if friend is a specialization of function template. * g++.dg/template/friend21.C: New test. From-SVN: r69457
2003-07-16hash_map (class hash_multimap): Remove extra semicolons from ↵Gerald Pfeifer3-6/+13
__glibcxx_class_requires3 entries. * include/ext/hash_map (class hash_multimap): Remove extra semicolons from __glibcxx_class_requires3 entries. * include/ext/hash_set (class hash_set): Ditto. (class hash_multiset): Ditto. From-SVN: r69451
2003-07-16unwind-dw2.c (MD_FROB_UPDATE_CONTEXT): Define.Jakub Jelinek10-116/+332
* unwind-dw2.c (MD_FROB_UPDATE_CONTEXT): Define. (uw_update_context_1): Use it. * config/rs6000/rs6000.c (insn_after_throw): Remove. (rs6000_aix_emit_builtin_unwind_init): Save $r2 to its location in parent frame if _Unwind_* called directly instead of through .plt. (rs6000_emit_eh_toc_restore): Remove. (rs6000_emit_prologue): Update stack pointer before doing any saving if current_function_calls_eh_return. Generate unwind info for $r2. (rs6000_emit_epilogue): Restore stack pointer after doing all restoring if current_function_calls_eh_return. Restore $r2. * config/rs6000/rs6000-protos.h (rs6000_emit_eh_toc_restore): Remove. * config/rs6000/rs6000.md (eh_return): Remove call to rs6000_emit_eh_toc_restore. * config/rs6000/linux64.h (MD_FROB_UPDATE_CONTEXT): Define. * config/rs6000/aix.h (MD_FROB_UPDATE_CONTEXT): Define. * gcc.dg/cleanup-8.c: New test. * gcc.dg/cleanup-9.c: New test. From-SVN: r69450
2003-07-16expr.c (emit_block_move): Don't move anything if size is const 0.Jakub Jelinek2-1/+10
* expr.c (emit_block_move): Don't move anything if size is const 0. (clear_storage): Test against const0_rtx instead of comparing INTVAL against 0. From-SVN: r69441
2003-07-16sparc.c (sparc_nonflat_function_epilogue): Only emit nop if the last real ↵David S. Miller2-3/+16
insn is CALL_INSN. 2003-07-15 David S. Miller <davem@redhat.com> * config/sparc/sparc.c (sparc_nonflat_function_epilogue): Only emit nop if the last real insn is CALL_INSN. From-SVN: r69440
2003-07-16* config.if: Remove unused libc_interface determination.Nathanael Nerode2-51/+4
From-SVN: r69439
2003-07-16re PR c++/10903 ([3.3 only] g++ says: "error: object ``type_decl' not ↵Gabriel Dos Reis3-1/+26
supported by dump_expr") PR c++/10903 * pt.c (convert_nontype_argument): Fix thinko in diagnostic. Improve. From-SVN: r69435