aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2000-11-28pa-64.h (ASM_OUTPUT_SECTION_NAME): Use a hash table, not a list, to keep ↵Jeffrey A Law2-38/+55
track of the sections. * pa/pa-64.h (ASM_OUTPUT_SECTION_NAME): Use a hash table, not a list, to keep track of the sections. From-SVN: r37843
2000-11-29Fix pic_l;oad_addr to work in Thumb mode.Nick Clifton3-15/+40
From-SVN: r37838
2000-11-28calls.c (expand_call): Defer const/pure NO_DEFER_POP until after sibcall ↵Richard Henderson2-5/+10
do_pending_stack_adjust. * calls.c (expand_call): Defer const/pure NO_DEFER_POP until after sibcall do_pending_stack_adjust. From-SVN: r37836
2000-11-29jump.c (delete_insn): Check that REG_LABEL note actually contains a CODE_LABEL.J"orn Rennecke2-1/+8
* jump.c (delete_insn): Check that REG_LABEL note actually contains a CODE_LABEL. From-SVN: r37835
2000-11-28c-common.h: Remove flag_digraphs.Neil Booth4-22/+11
* c-common.h: Remove flag_digraphs. * c-decl.c: Remove flag_digraphs. (c_decode_option): Don't set it. * c-lex.c (init_c_lex): Don't do anything for digraphs. From-SVN: r37834
2000-11-28* com.c (ffecom_member_phase2_): Set TREE_USED on the debugging decl.Richard Henderson2-0/+5
From-SVN: r37833
2000-11-28c-parse.in (finish_parse): Update for parse_in type change.Richard Henderson2-4/+9
* c-parse.in (finish_parse): Update for parse_in type change. (_yylex): Likewise. From-SVN: r37832
2000-11-28940510-1.c: Update to test c89 functionality.Geoffrey Keating4-3/+13
* gcc.dg/noncompile/940510-1.c: Update to test c89 functionality. Move from here ... * gcc.dg/940510-1.c: ... to here. * gcc.dg/20000926-1.c: GNU C now allows initializations of zero-size arrays in toplevel structures. From-SVN: r37830
2000-11-28cppmacro.c (cpp_scan_buffer_nooutput): Take a boolean indicating whether to ↵Neil Booth5-5/+15
scan all buffers on the stack or just one. * cppmacro.c (cpp_scan_buffer_nooutput): Take a boolean indicating whether to scan all buffers on the stack or just one. * cppinit.c (do_includes): Update. * cppmain.c (main): Update. * cpplib.h: Update prototype. From-SVN: r37829
2000-11-28genoutput.c (validate_insn_operands): New.Richard Henderson11-58/+94
* genoutput.c (validate_insn_operands): New. (gen_insn): Call it. * config/alpha/alpha.md (divmodsi_internal): Renumber operands. (divmoddi_internal): Likewise. * config/arm/arm.md (andsi3_compare0_scratch): Likewise. * config/i960/i960.md (branch patterns): Likewise. * config/ia64/ia64.md (tbit_and_0): Likewise. (tbit_and_1, tbit_or_0, tbit_or_1): Likewise. * config/m68k/m68k.md (zero_extract memory patterns): Likewise. * config/mips/mips.md (divmodsi4_internal): Likewise. (divmoddi4_internal): Likewise. * config/rs6000/rs6000.md (call patterns): Likewise. * config/sh/sh.md (movsi_y): Likewise. * config/sparc/sparc.md: Comment out if 0 v8p shift pattern. From-SVN: r37828
2000-11-28* config.gcc: Kill residual pyramid support.Richard Henderson2-3/+4
From-SVN: r37827
2000-11-28c-lex.h (parse_in): Change parse_in to a cpp_reader *.Neil Booth13-134/+156
* c-lex.h (parse_in): Change parse_in to a cpp_reader *. * c-decl.c (c_decode_option): Update to match. * c-lex.c (init_c_lex, yyparse): Update to match. * c-lang.c (lang_init_options): Use cpp_create_reader. * cppinit.c (cpp_init): Rename initialize. (cpp_reader_init): Rename cpp_create_reader. Create the reader. Initialize cpplib if appropriate. * cpplib.h (cpp_create_reader) New prototype. (cpp_init, cpp_reader_init): Delete prototypes. * cppmain.c (general_init, setup_callbacks): New functions. (main): Use them. * fix-header.c (scan_in): Change type to cpp_reader *. (read_scan_file): Update for new cpplib interface and scan_in type. * cp/decl.c (parse_in): Change to cpp_reader *. (lang_decode_option): Update. * cp/lex.c (lang_init_options): Use new cpplib interface. (init_cp_pragma, finish_parse, handle_pragma_implementation): Update. * cp/spew.c (read_token): Update. * objc/objc-act.c (lang_init_options): Update new cpplib interface. From-SVN: r37826
2000-11-28loop.c (load_mems): Avoid using next_label to find end_label.Jakub Jelinek4-20/+64
* loop.c (load_mems): Avoid using next_label to find end_label. If jumping outside of the loop (other than loop end), don't hoist MEMs out of loop. * gcc.c-torture/execute/loop-8.c: New test. From-SVN: r37823
2000-11-28calls.c (expand_call): Don't disable tail recursion based on the loop nest.Jan Hubicka2-4/+7
* calls.c (expand_call): Don't disable tail recursion based on the loop nest. From-SVN: r37822
2000-11-28tradcpp.c (enum node_type): New hash types T_ASSERT, T_UNASSERT.Neil Booth2-93/+172
* tradcpp.c (enum node_type): New hash types T_ASSERT, T_UNASSERT. (struct directive): Drop 4th argument from handlers. (do_define, do_line, do_include, do_undef, do_else, do_elif, do_endif): Similarly. (do_assert, do_unassert, do_ifdef, do_ifndef): New handlers. (do_ifxdef): Update as common handler of do_ifdef and do_ifndef. (make_definition, make_undef): Take a const char*. (make_assertion): New function. (struct directive_table): Update. (main): Handle -A command line argument. (handle_directive): Drop fourth handler argument. From-SVN: r37820
2000-11-28Ignore SETs that are anything except REG or MEM, but look inside ↵Bernd Schmidt2-8/+26
STRICT_LOW_PART. From-SVN: r37819
2000-11-28system.h (IS_DIR_SEPARATOR): Use uppercase macro name.Richard Kenner3-21/+30
* system.h (IS_DIR_SEPARATOR): Use uppercase macro name. (IS_ABSOLUTE_PATHNAME): New macro. * gcc.c (find_a_file, process_command, do_spec_1, main): Use it. From-SVN: r37818
2000-11-28parse.y (base_class.1): Produce a _TYPE not a _DECL.Nathan Sidwell5-17/+42
cp: * parse.y (base_class.1): Produce a _TYPE not a _DECL. * semantics.c (finish_base_specifier): Accept a _TYPE not a _DECL. testsuite: * g++.old-deja/g++.other/base1.C: New test. From-SVN: r37817
2000-11-28spew.c (yyerror): Cope if yylval.ttype is NULL.Nathan Sidwell4-4/+27
cp: * spew.c (yyerror): Cope if yylval.ttype is NULL. testsuite: * g++.old-deja/g++.other/parse2.C: New test. From-SVN: r37816
2000-11-28decl.c (grokdeclarator): Diagnose undefined template contexts.Nathan Sidwell4-13/+24
cp: * decl.c (grokdeclarator): Diagnose undefined template contexts. testsuite: * g++.old-deja/g++.pt/incomplete1.C: New test. From-SVN: r37815
2000-11-28decl.c (grokdeclarator): Do type access control on friend class.Nathan Sidwell4-1/+36
cp: * decl.c (grokdeclarator): Do type access control on friend class. testsuite: * g++.old-deja/g++.other/friend9.C: New test. From-SVN: r37814
2000-11-28i386.md (truncxfsf2_2): Fix predicate.Jakub Jelinek4-1/+25
* config/i386/i386.md (truncxfsf2_2): Fix predicate. * gcc.dg/20001127-1.c: New test. From-SVN: r37812
2000-11-28Daily bump.Jeff Law2-2/+2
From-SVN: r37811
2000-11-27Handle frame sizes larger than int.Jim Wilson2-1/+5
* reload1.c (reload): Use HOST_WIDE_INT for old_frame_size. From-SVN: r37809
2000-11-27* extend.texi (Nested Functions): Update URL of Usenix paper.Matthias Klose2-1/+5
From-SVN: r37807
2000-11-27* function.c (free_after_compilation): Clear x_clobber_return_insn.Mark Mitchell2-0/+5
From-SVN: r37806
2000-11-27cppinit.c (cpp_reader_init): Remove handling of warn_paste command line options.Neil Booth4-18/+17
* cppinit.c (cpp_reader_init): Remove handling of warn_paste command line options. (cpp_handle_option): Similarly. * cpplib.h (struct cpp_options): Remove warn_paste. * cppmacro.c (paste_tokens): Apart from assembler, make unpasteable token warning mandatory. From-SVN: r37804
2000-11-27tradcpp.c (enum pending_dir_t, [...]): New.Neil Booth2-34/+45
* tradcpp.c (enum pending_dir_t, struct pending_dir): New. (main): Allocate a pending directive set of these. Use it. Merge handling of -D and -U. Update handling of pending directives. Free the memory after use. From-SVN: r37803
2000-11-27While building global lifetime information, keep track of which registers ↵Bernd Schmidt5-19/+78
are only conditionally set. While building global lifetime information, keep track of which registers are only conditionally set. Use this to force rescans in more cases where they are needed. From-SVN: r37801
2000-11-27sh.md (udivsi3_i4, [...]): Clobber T register.Kaz Kojima2-0/+7
* gcc/config/sh/sh.md (udivsi3_i4, udivsi3_i4_single): Clobber T register. From-SVN: r37800
2000-11-27arm.c (select_dominance_cc_mode): Handle new way that combine canonicalizes ↵Richard Earnshaw1-0/+10
conditional compares. * arm.c (select_dominance_cc_mode): Handle new way that combine canonicalizes conditional compares. (arm_select_cc_mode): Likewise. * arm.md: Garbage collect some dead code. (cmp_and, cmp_ior): New patterns. (splitter for conditional move with inverted false): Use cond_exec and handle unordered comparisons. From-SVN: r37799
2000-11-27ChangeLogRichard Earnshaw2-40/+115
From-SVN: r37798
2000-11-27i386.c (ix86_force_to_memory, [...]): New.Jan Hubicka4-46/+110
* i386.c (ix86_force_to_memory, ix86_free_from_memory): New. * i386-protos.h (ix86_force_to_memory, ix86_free_from_memory): Declare * i386.md (float?i?f, int/fp operations): Rewrite spliters to use ix86_force_to_memory and ix86_free_from_memory. From-SVN: r37797
2000-11-27arm.md (arm_adddi3, [...]): Merge with splitters to create ↵Richard Earnshaw2-321/+225
define_insn_and_split patterns. * arm.md (arm_adddi3, adddi_sesidi_di, adddi_zesidi_di, arm_addsi3, arm_subsi3_insn, anddi_zesidi_di, arm_andsi3_insn, anddi_notdi_di, anddi_notzesidi_di, anddi_notsesidi_di, arm_iorsi3, one_cmpldi2): Merge with splitters to create define_insn_and_split patterns. Remove redundant splits. (peephole2 for add:SI of invalid immediate): New. (peephole2 for minus:SI of invalid immediate): New. (peephole2 for ior:SI of invalid immediate): New. (peephole for merge of move and compare): Convert ot peephole2. (addsf3, adddf3): Mark as commutative. * arm.md (thumb peephole for merging stack adjustments): Convert to peephole2. From-SVN: r37796
2000-11-27Prettier visualization of COND_EXECsBernd Schmidt2-3/+15
From-SVN: r37795
2000-11-27Re-apply an earlier fix, with a small updateBernd Schmidt2-15/+26
From-SVN: r37794
2000-11-27decl.c (grokfndecl): Undo COMPONENT_REF damage caused by bison parser ickiness.Nathan Sidwell6-15/+77
cp: * decl.c (grokfndecl): Undo COMPONENT_REF damage caused by bison parser ickiness. * pt.c (tsubst_friend_function): Enter namespace scope when tsubsting the function name. * cp-tree.h (DECL_TI_TEMPLATE): Update comment to reflect reality. testsuite: * g++.old-deja/g++.other/friend46.C: New test. From-SVN: r37793
2000-11-27In cselib, do not consider constants with different modes equivalent.Bernd Schmidt3-14/+65
From-SVN: r37792
2000-11-27cp-tree.h (binfo_from_vbase): Return the virtual base's binfo.Nathan Sidwell7-25/+133
cp: * cp-tree.h (binfo_from_vbase): Return the virtual base's binfo. * cvt.c (cp_convert_to_pointer): Add force parameter. Allow conversions via virtual base if forced. (convert_to_pointer_force): Adjust call to cp_convert_to_pointer. (ocp_convert): Likewise. * search.c (binfo_from_vbase): Return the virtual base's binfo. * typeck.c (get_delta_difference): Adjust handling of virtual bases. testsuite: * g++.old-deja/g++.other/ptrmem8.C: New test. From-SVN: r37791
2000-11-27configure.in (extra_objs): Enclose extra_headers in quotes.Alexandre Oliva3-246/+262
* configure.in (extra_objs): Enclose extra_headers in quotes. * configure: Rebuilt. From-SVN: r37790
2000-11-27Daily bump.Jeff Law2-2/+2
From-SVN: r37787
2000-11-27c-lex.c (cb_enter_file, [...]): Combine into the new function cb_change_file.Neil Booth10-467/+262
* c-lex.c (cb_enter_file, cb_leave_file, cb_rename_file): Combine into the new function cb_change_file. (init_c_lex): Update. * cppfiles.c (stack_include_file): Use _cpp_do_file_change. (cpp_syshdr_flags): Delete. * cpphash.h (_cpp_do_file_change): New prototype. Move struct cpp_buffer here from... * cpplib.h (struct cpp_buffer): ... here. (enum cpp_fc_reason, struct cpp_file_loc, struct_cpp_file_change, change_file): New. (enter_file, leave_file, rename_file, cpp_syshdr_flags): Delete. * cpplib.c (do_line): Update for new cb_change_file callback. (_cpp_do_file_change): New function. (_cpp_pop_buffer): Update to use it. * cppmain.c (move_printer): Delete. (main): Set up single callback cb_change_file. (cb_enter_file, cb_leave_file, cb_rename_file): Delete. (cb_change_file): New. * fix-header.c (cur_file, cb_change_file): New. (recognized_function, read_scan_file): Update. * scan-decls.c (scan_decls): Update. * scan.h (recognized_function): Update prototype. From-SVN: r37784
2000-11-27tree.h (mark_tree_hashtable): New function.Mark Mitchell5-91/+109
* tree.h (mark_tree_hashtable): New function. * tree.c (mark_tree_hashtable_entry): New function. (mark_tree_hashtable): Likewise. * tree.c (struct list_hash): Remove. (list_hash_table): Make it be an htab. (struct list_proxy): New type. (list_hash_eq): New function. (list_hash_pieces): Renamed from ... (list_hash): ... this. (list_hash_lookup): Remove. (list_hash_add): Remove. (hash_tree_cons): Use the generic hashtable. (mark_list_hash): Remove. (init_tree): Create the hashtable. From-SVN: r37783
2000-11-27Fix rename registers problem; Rewrite 64-bit conditionals in terms of ↵Michael Meissner4-118/+79
COND_EXEC instead of IF_THEN_ELSE From-SVN: r37781
2000-11-27ChangeLog for:Kaveh Ghazi1-0/+5
testsuite: * gcc.c-torture/execute/string-opt-7.c: New test. * gcc.c-torture/execute/string-opt-8.c: Likewise. From-SVN: r37778
2000-11-27builtins.c (expand_builtin_strncmp, [...]): New functions.Kaveh R. Ghazi7-6/+332
* builtins.c (expand_builtin_strncmp, expand_builtin_strncpy): New functions. (expand_builtin): Handle BUILT_IN_STRNCPY and BUILT_IN_STRNCMP. * builtins.def (BUILT_IN_STRNCPY, BUILT_IN_STRNCMP): New entries. * c-common.c (c_common_nodes_and_builtins): Declare builtin strncpy and strncmp. * extend.texi (strncmp, strncpy): Document new builtins. testsuite: * gcc.c-torture/execute/string-opt-7.c: New test. * gcc.c-torture/execute/string-opt-8.c: Likewise. From-SVN: r37777
2000-11-27elfos.h (ASM_OUTPUT_SECTION_NAME): Use a hash table, not a list, to keep ↵Mark Mitchell3-19/+38
track of the sections. * config/elfos.h (ASM_OUTPUT_SECTION_NAME): Use a hash table, not a list, to keep track of the sections. * tm.texi (ASM_OUTPUT_SECTION_NAME): Document the fact that the parameter provided will always be a canonical string. From-SVN: r37776
2000-11-26RELEASE-PREP: Remove obsolete EGCS reference.Joseph Myers6-1865/+149
* RELEASE-PREP: Remove obsolete EGCS reference. * g77.texi: Adjust reference to EGCS as something current. * lang-options.h (FTNOPT): Remove macro and obsolete comment. Include doc strings directly in option listing instead of through this macro. * root.texi: Remove support for multiple different (FSF and EGCS) distributions of g77. * g77install.texi: Remove conditioned out instructions applying only to obsolete distributions of g77 not as part of GCC. Change "superceded" to the correct spelling "superseded". From-SVN: r37766
2000-11-26g77spec.c (lang_specific_driver): Update copyright year to 2000.Joseph Myers6-4/+13
f: * g77spec.c (lang_specific_driver): Update copyright year to 2000. java: * gjavah.c (version), jcf-dump.c (version), jv-scan.c (version): Update copyright year to 2000. From-SVN: r37765
2000-11-26cppmacro.c (cpp_scan_buffer_nooutput): Only scan the current buffer.Neil Booth2-1/+7
* cppmacro.c (cpp_scan_buffer_nooutput): Only scan the current buffer. From-SVN: r37764