aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2000-04-03Apply Philip Blundell's patch to fix typos in SUBTARGET_EXTRA_LINK_SPECPhilip Blundell2-2/+6
From-SVN: r32882
2000-04-03* gcc.c-torture/compile/20000403-2.c: New test.Jeffrey A Law2-0/+7
From-SVN: r32881
2000-04-03* gcc.c-torture/compile/20000403-1.c: New test.Jeffrey A Law2-0/+22
From-SVN: r32880
2000-04-03server.c (find_shell): New function.Felix Lee2-0/+29
* fixinc/server.c (find_shell): New function. Avoid $SHELL. (run_shell): Use it. From-SVN: r32878
2000-04-03Makefile.in (stmp-int-hdrs): Make include subdir here...Jonathan Larmour2-1/+6
* Makefile.in (stmp-int-hdrs): Make include subdir here... (stmp-fixproto): ...rather than here. From-SVN: r32877
2000-04-03pa.c (print_operand): Compute 'base' only inside the code paths that use it.Jason Eckhardt2-1/+8
* pa.c (print_operand): Compute 'base' only inside the code paths that use it. From-SVN: r32875
2000-04-03stor-layout.c (byte_from_pos): Use TRUNC_DIV_EXPR rather than CEIL_DIV_EXPR.Geoff Keating2-1/+6
* stor-layout.c (byte_from_pos): Use TRUNC_DIV_EXPR rather than CEIL_DIV_EXPR. From-SVN: r32874
2000-04-03* i386.h (TARGET_SWITCHES): Remove bogus empty strings, fix typo.Philipp Thomas2-3/+7
From-SVN: r32873
2000-04-03* Makefile.in: Have alias.o depend on $(TREE_H).Brad Lucier2-1/+5
From-SVN: r32872
2000-04-02cppinit.c (cpp_start_read): Turn off -Wtraditional if processing C++.Zack Weinberg20-48/+122
* cppinit.c (cpp_start_read): Turn off -Wtraditional if processing C++. * cpplib.c (_cpp_handle_directive): Improve warnings for traditional C and indented directives. * enquire.c, gsyslimits.h, limity.h, config/convex/fixinc.convex, fixinc/fixinc.irix, fixinc/fixinc.sco, fixinc/fixinc.wrap, fixinc/inclhack.def: Indent the # of #include_next one space. * cp/rtti.c: Un-indent #if and #endif. * cppexp.c (_cpp_parse_expr): If lex returns '#', it's a syntax error, but an error has already been printed. * cpplex.c (_cpp_parse_assertion): Give a more specific error message when called with nothing remaining on the line. (_cpp_lex_token): If _cpp_parse_assertion fails, return an OTHER token, not an ASSERTION. * cpplib.c (do_assert): When we create a 'base' node, clear its aschain pointer. * gcc.c-torture/compile/981211-1.c: Move to... * gcc.dg/cpp-as1.c: ...here. * gcc.dg/cpp-as2.c: New file. * gcc.dg/cpp-tradwarn1.c: Change warning regexps to match the compiler. From-SVN: r32870
2000-04-02cppexp.c: New typedef op_t.Neil Booth2-14/+43
* cppexp.c: New typedef op_t. struct operation and struct token updated to use it. (op_to_str): New function. (_cpp_parse_expr): Error messages modified to use op_to_str. From-SVN: r32869
2000-04-02c4x.c (c4x_function_arg): Check for void_type_node before checking ↵Michael Hayes2-1/+12
MUST_PASS_IN_STACK. * config/c4x/c4x.c (c4x_function_arg): Check for void_type_node before checking MUST_PASS_IN_STACK. From-SVN: r32865
2000-04-02Daily bump.Jeff Law2-2/+2
From-SVN: r32864
2000-04-02cppexp.c: New FINISHED dummy token.Neil Booth2-186/+200
* cppexp.c: New FINISHED dummy token. Combine operator initial flags and initial priority into a single constant. New EQUALITY macro. New operator flag SHORT_CIRCUIT. (_parse_cpp_expr): Implement new constants. Take left operand checks out of reduction loop. Handle SHORT_CIRCUIT. End of parse indicated by reducing FINISHED token. Remove new lines from cpp_error messages. From-SVN: r32863
2000-04-022000-04-02 Neil Booth <NeilB@earthling.net>Neil Booth8-4/+170
* gcc.dg/cpp-cond.c New tests. * gcc.dg/cpp-ifparen.c New tests. Amend existing tests to make accidental success less likely. * gcc.dg/cpp-missingop.c New tests. * gcc.dg/cpp-missingparen.c New tests. * gcc.dg/cpp-shift.c New tests. * gcc.dg/cpp-shortcircuit.c New tests. * gcc.dg/cpp-unary.c New tests. From-SVN: r32862
2000-04-02emit-rtl.c (gen_rtx_CONST_INT): Create cached CONST_INTs on the permanent ↵Mark Mitchell2-1/+15
obstack. * emit-rtl.c (gen_rtx_CONST_INT): Create cached CONST_INTs on the permanent obstack. From-SVN: r32861
2000-04-01cpplib.c: Include symcat.h.Zack Weinberg8-67/+126
* cpplib.c: Include symcat.h. Add 'origin' field to struct directive. Add origin values to DIRECTIVE_TABLE. Generate the strings and function names on the fly. Take the #sccs entry out of the table if SCCS_DIRECTIVE is not defined. (_cpp_handle_directive): Decide if the # was at the beginning of the line here. Issue -pedantic warnings for extended directives here. Warn about K+R directives with the # indented, and C89/extended directives with the # not indented, here. (do_import, do_include_next, do_warning, do_ident, do_sccs, do_assert, do_unassert): Don't issue pedantic warning here. * cpphash.h: Add CPP_WTRADITIONAL macro. * cpplib.h (struct cpp_options): Rename warn_stringify to warn_traditional; update comments. * cppinit.c (handle_option): Set warn_traditional not warn_stringify. * cpphash.c: Replace CPP_OPTION (pfile, warn_stringify) with CPP_WTRADITIONAL (pfile). * cpplex.c (_cpp_lex_token): Don't decide if directives should be ignored in -traditional mode here. * cpplex.c: Copy ISTABLE macros from cppinit.c, and adapt them to initialize speccase[] and trigraph_map[]. Delete all references to pfile->input_speccase. Always treat '?' as a special character. Remove table-initialization code from _cpp_init_input_buffer. * cpplib.h (struct cpp_reader): Remove input_speccase field. * cppinit.c (cpp_cleanup): Don't free input_speccase. From-SVN: r32860
2000-04-01Add dg-do tagZack Weinberg1-0/+2
From-SVN: r32859
2000-04-01cpplex.c: Copy ISTABLE macros from cppinit.c...Zack Weinberg4-46/+76
* cpplex.c: Copy ISTABLE macros from cppinit.c, and adapt them to initialize speccase[] and trigraph_map[]. Delete all references to pfile->input_speccase. Always treat '?' as a special character. Remove table-initialization code from _cpp_init_input_buffer. * cpplib.h (struct cpp_reader): Remove input_speccase field. * cppinit.c (cpp_cleanup): Don't free input_speccase. From-SVN: r32858
2000-04-01Makefile.in (STAGESTUFF): Wildcard all debugging dumps at once.Richard Henderson3-621/+284
* Makefile.in (STAGESTUFF): Wildcard all debugging dumps at once. (mostlyclean): Likewise. * toplev.c (rtl_dump, jump_opt_dump, etc): Remove. (struct dump_file_info, enum dump_file_index, dump_file): New. (open_dump_file): Take a dump_file_index not a suffix, and a decl not a string. Clean out file if we havn't yet done so. Do nothing if the dump isn't enabled. (close_dump_file): Do nothing if the dump isn't open. Dump graph data if requested. (dump_rtl, clean_dump_file): Remove. (compile_file): Don't clean the dump files. Only finalize .bp dump if flag_test_coverage or flag_branch_probabilities. Only finalize .combine dump if optimizing. Iterate over dump_file to finalize the graph dumps. (rest_of_compilation): Update for open_dump_file/close_dump_file. Convert all uses of dump_rtl. (decode_d_option): Iterate over dump_file to implement 'a' and to locate pass-specific dumps. From-SVN: r32857
2000-04-01Daily bump.Jeff Law2-2/+2
From-SVN: r32856
2000-04-01cppexp.c: Redefine priority constants.Neil Booth2-64/+84
* cppexp.c: Redefine priority constants. (_cpp_parse_expr): Replace left and right priority scheme with single priority logic. Move LOGICAL to same place as COMPARE. Remove bogus check for multiple unary +/- operators. From-SVN: r32855
2000-04-01cppexp.c: (_cpp_parse_expr): Numerical constants are pushed within the ↵Neil Booth2-62/+76
switch statement. * cppexp.c: (_cpp_parse_expr): Numerical constants are pushed within the switch statement. Binary operations break out of the switch naturally. '(' tokens handled by forcing immediate shift. ')' handled by forcing immediate reduce to the previous '('. New error messages. From-SVN: r32854
2000-04-01rs6000.c (print_operand): Don't use %l for 'low part', it's already in use.Geoff Keating3-2/+19
* config/rs6000/rs6000.c (print_operand): Don't use %l for 'low part', it's already in use. Use %K instead. Add a return at the end of what is now %K. * config/rs6000/rs6000.md (elf_low): Use %K instead of %l. From-SVN: r32853
2000-03-31Fixed email address typo in Thu Mar 30, 2000 ChangeLog entry.Alexandre Petit-Bianco1-1/+1
From-SVN: r32852
2000-04-01builtins.c (expand_builtin_apply): Pass proper parameters to ↵Jan Hubicka6-33/+96
allocate_dynamic_stack_space. * builtins.c (expand_builtin_apply): Pass proper parameters to allocate_dynamic_stack_space. * calls.c (emit_call_1): Do not adjust stack pointer for SIB, update stack_pointer_delta; do not update arg_size_so_far. (compute_argument_block_size): Use stack_delta instead of stack_pointer_pending and arg_size_so_far. (expand_call): Add sanity checking for stack_pointer_delta; save and restore stack_pointer_delta for SIB, use stack_pointer_delta for alignment; do not update arg_space_so_far. (emit_library_call_value): Use stack_pointer_delta for alignment. (store_one_arg): Do not update arg_space_so_far. * explow.c (adjust_stack, anti_adjust_stack): Update stack_pointer_delta. (allocate_dynamic_stack_space): Add sanity checking for stack_pointer_delta. * expr.c (init_expr, clear_pending_stack_adjust): Clear stack_pointer_delta. (emit_push_insn): Update stack_pointer_delta. * function.h (struct expr_status): Add x_stack_pointer_delta; remove x_arg_space_so_far. (arg_space_so_far): Remove. (stack_pointer_delta): New macro. From-SVN: r32851
2000-03-31cpplib.h: Merge struct cpp_options into struct cpp_reader.Zack Weinberg12-696/+738
* cpplib.h: Merge struct cpp_options into struct cpp_reader. Reorder struct cpp_options and struct cpp_reader for better packing. Replace CPP_OPTIONS macro with CPP_OPTION which takes two args. Change all 'char' flags to 'unsigned char'. Move show_column flag into struct cpp_options. Don't prototype cpp_options_init. * cpphash.h, cpperror.c, cppexp.c, cppfiles.c, cpphash.c, cppinit.c, cpplex.c, cpplib.c: Replace CPP_OPTIONS (pfile)->whatever with CPP_OPTION (pfile, whatever), and likewise for opts = CPP_OPTIONS (pfile); ... opts->whatever; * cppinit.c (merge_include_chains): Take a cpp_reader *. Extract CPP_OPTION (pfile, pending) and work with that directly. (cpp_options_init): Delete. (cpp_reader_init): Turn on on-by-default options here. Allocate the pending structure here. (cl_options, enum opt_code): Define these from the same table, kept in a large macro. Add -fshow-column and -fno-show-column options. * cpperror.c (v_message): If show_column is off, don't print the column number. * cppmain.c: Update for new interface. * fix-header.c: Likewise. From-SVN: r32850
2000-03-31t-aix43 (AR_FLAGS_FOR_TARGET): Adjust for new definition.Geoff Keating3-16/+45
* config/rs6000/t-aix43 (AR_FLAGS_FOR_TARGET): Adjust for new definition. * Makefile.in (AR_FLAGS_FOR_TARGET): Is now the flags that are passed to any invocation of AR_FOR_TARGET. (AR_CREATE_FOR_TARGET): New macro. (AR_EXTRACT_FOR_TARGET): New macro. (ORDINARY_FLAGS_TO_PASS): Add AR_CREATE_FOR_TARGET, AR_EXTRACT_FOR_TARGET. (many places): Use AR_CREATE_FOR_TARGET, AR_EXTRACT_FOR_TARGET in place of `$(AR_FOR_TARGET) $(AR_FLAGS_FOR_TARGET)' and `$(AR_FOR_TARGET) x'. Pass AR_CREATE_FOR_TARGET and AR_EXTRACT_FOR_TARGET to sub-makes. From-SVN: r32849
2000-03-31cppexp.c: Delete SKIP_OPERAND.Neil Booth2-13/+27
* cppexp.c: Delete SKIP_OPERAND. Correct priority PAREN_INNER_PRIO. (_cpp_parse_expr): Check for multiple unary +/- operators. Correct priorities of ':' and '?'. Treat ')' as having a value. Ensure conditional expression is not void. From-SVN: r32848
2000-03-31alias.c (canon_rtx): Make it global.Mark Mitchell4-24/+69
* alias.c (canon_rtx): Make it global. (rtx_equal_for_memref_p): CONST_INT equality is now pointer equality. * cse.c (struct table_elt): Add canon_exp. (insert): Clear it. (invalidate): Canonicalize expressions only once. * rtl.h (canon_rtx): Declare. From-SVN: r32845
2000-03-31Makefile.in (emit-rtl.o): Depend on HASHTAB_H.Mark Mitchell7-32/+137
* Makefile.in (emit-rtl.o): Depend on HASHTAB_H. * alias.c (reg_known_value): Add comments. (init_alias_analysis): Likewise. * cse.c (exp_equiv_p): CONST_INTs are equal iff they have the same address. (cse_basic_block): Fix typo in comment. * emit-rtl.c: Include hashtab.h. (const_int_htab): New variable. (const_int_htab_hash): New function. (const_int_htab_eq): Likewise. (rtx_htab_mark_1): Likewise. (rtx_htab_mark): Likewise. (gen_rtx_CONST_INT): Cache all CONST_INTs. (unshare_all_rtx): Fix formatting. (init_emit_once): Initialize const_int_htab. * rtl.c (rtx_equal_p): CONST_INTs are equal iff they have the same address. * rtl.texi: Document the fact that all CONST_INTs with the same value are shared. From-SVN: r32844
2000-03-31Daily bump.Jeff Law2-2/+2
From-SVN: r32843
2000-03-30* alpha.h (FUNCTION_BOUNDARY): Reduce to 128 bits.Richard Henderson2-1/+5
From-SVN: r32841
2000-03-30c-parse.in (cast_expr): Move change from March 21 into c-parse.in since it ↵Jeffrey A Law4-6/+10
is used to generate c-parse.y. * c-parse.in (cast_expr): Move change from March 21 into c-parse.in since it is used to generate c-parse.y. * objc-parse.c, objc-parse.y: Regenerated. From-SVN: r32840
2000-03-30expr.c (java_lang_expand_expr): Added Anthony's Thu Jan 6 2000 patch missing ↵Alexandre Petit-Bianco2-5/+12
hunk. Thu Mar 30 15:26:56 2000 Alexandre Petit-Bianco <apbianco@dcygnus.com> * expr.c (java_lang_expand_expr): Added Anthony's Thu Jan 6 2000 patch missing hunk. Fixed indentation. From-SVN: r32839
2000-03-30configure.in: Comment out --enable-c-cpplib stanza.Zack Weinberg3-249/+243
* configure.in: Comment out --enable-c-cpplib stanza. * configure: Regenerate. From-SVN: r32838
2000-03-30expr.c (store_constructor): Properly compute displacement and alignment when ↵Richard Kenner2-8/+6
offset is variable. * expr.c (store_constructor): Properly compute displacement and alignment when offset is variable. From-SVN: r32837
2000-03-30expmed.c (store_bit_field, [...]): Fix more cases of alignment in bytes.Richard Kenner2-12/+16
* expmed.c (store_bit_field, store_fixed_bit_field): Fix more cases of alignment in bytes. From-SVN: r32836
2000-03-30function.c (expand_function_end): Pass alignment argument to emit_block_move ↵Jeffrey A Law2-1/+6
in bits, not bytes. * function.c (expand_function_end): Pass alignment argument to emit_block_move in bits, not bytes. From-SVN: r32835
2000-03-30added entry for patch that removed ASM_SPEC from config/arm/arm.h.Nick Clifton1-0/+9
From-SVN: r32833
2000-03-30gjavah.c (D_NAN_MASK): Only define as word-reversed when ↵Tom Tromey2-1/+6
HOST_FLOAT_WORDS_BIG_ENDIAN and... * gjavah.c (D_NAN_MASK): Only define as word-reversed when HOST_FLOAT_WORDS_BIG_ENDIAN and HOST_WORDS_BIG_ENDIAN disagree. From-SVN: r32832
2000-03-30expr.c (move_by_pieces_ninsns): Fix one more missing align correction.Richard Kenner2-1/+4
* expr.c (move_by_pieces_ninsns): Fix one more missing align correction. From-SVN: r32831
2000-03-30* expmed.c (store_fixed_bit_field): STRUCT_ALIGN is in bits.Richard Kenner2-2/+4
From-SVN: r32830
2000-03-30calls.c (expand_call): Pass bit alignment to mark_reg_pointer.Richard Kenner13-160/+167
* calls.c (expand_call): Pass bit alignment to mark_reg_pointer. * explow.c (memory_address, allocate_dynamic_stack_space): Likewise. * function.c (assign_parms): Likewise. * integrate.c (expand_inline_function): Likewise. * stmt.c (expand_decl): Likewise. (copy_rtx_and_substitute): Likewise. * expr.c (expand_expr, expand_expr_unaligned): Likewise. (clear_by_pieces): Fix error in last change. * emit-rtl.c (init_emit): Set known registers alignment in bits. * function.h (regno_pointer_align): Now unsigned. * config/arm/arm.c (alignable_memory_operand): REGNO_POINTER_ALIGN is in bits. * config/i386/i386.c (aligned_operand): Likewise. * config/sparc/sparc.c (mem_min_alignment): Likewise. * config/alpha/alpha.c (aligned_memory_operand): Likewise. (unaligned_memory_operand): Likewise. (alpha_expand_block_move, alpha_expand_block_clear): Likewise. Also make alignments and sizes unsigned and some whitespace cleanup. (alpha_va_start): Do nothing if VALIST's type is error_mark_node. From-SVN: r32829
2000-03-30rtti.c (class_hint_flags): Rename flags.Nathan Sidwell4-50/+86
* rtti.c (class_hint_flags): Rename flags. (class_initializer): Remove flags. (synthesize_tinfo_var): Combine offset and flags. Add flags for __vmi_class_type_info. (create_tinfo_types): Remove flags from __class_type_info and __si_class_type_info. Merge flags and offset from base_class_type_info. * inc/cxxabi.h (__base_class_info): Merge offset and vmi_flags. (__base_class_info::is_virtual_p): Adjust. (__base_class_info::is_public_p): Adjust. (__base_class_info::offset): New accessor. (__class_type_info::details): Remove member. (__class_type_info::__class_type_info): Lose details. (__class_type_info::detail_masks): Remove. (__si_class_type_info::__si_class_type_info): Lose details. (__vmi_class_type_info::details): New member. (__vmi_class_type_info::__vmi_class_type_info): Adjust. (__vmi_class_type_info::detail_masks): New member. * tinfo.cc (__class_type_info::do_upcast): Initialize result with unknown_details_mask. (__vmi_class_type_info::do_find_public_src): Adjust (__vmi_class_type_info::do_dyncast): Adjust. (__vmi_class_type_info::do_upcast): Set result details, if needed. Adjust. (__dynamic_cast): Temporarily #if out optimization. From-SVN: r32828
2000-03-30builtins.c (get_pointer_alignment): Use host_integerp & tree_low_cst.Richard Kenner14-285/+291
* builtins.c (get_pointer_alignment): Use host_integerp & tree_low_cst. (expand_builtin_apply): Pass alignment to emit_block_move in bits. (expand_builtin_memcpy, expand_builtin_va_copy): Likewise. (expand_builtin_memset): Likewise, but to clear_storage. * calls.c (save_fixed_argument_area): Likewise, to move_by_pieces. (restore_fixed_argument_area): Likewise. (store_unaligned_arguments_into_pseudos): Likewise, to store_bit_field. (load_register_parameters): Likewise, to emit_group_load. (expand_call): Likewise, to emit_group_store and emit_block_move. (emit_library_call_value_1): Likewise, to emit_block_move. (store_one_arg): Likewise, and to emit_push_insn. * expmed.c (extract_bit_field): Alignment is in bits, not bytes. (extract_fixed_bit_field, extract_split_bit_field): Likewise. * expr.c (move_by_pieces, move_by_pieces_ninsns): Likewise. (emit_block_move, emit_group_load, emit_group_store): Likewise. (clear_by_pieces, clear_storage, emit_push_insn): Likewise. (expand_assigment, store_expr, store_constructor_field): Likewise. (expand_expr_unaligned, do_jump, do_compare_and_jump): Likewise. (store_constructor, store_field, get_inner_reference): Likewise. Use host_integerp and tree_low_cst; sizes and positions HOST_WIDE_INT. (expand_expr, case COMPONENT_REF): Likewise. (copy_blkmode_from_regs): Use UNSIGNED_HOST_WIDE_INT for sizes and positions; reindent code. * expr.h (emit_cmp_insn, emit_cmp_and_jump_insns): Alignment unsigned. * function.c (purge_addressof_1): Pass bit align to store_bit_field. (assign_parms): Likewise to emit_group_store. * optbas.c (prepare_cmp_insn): Alignment is in bits. (emit_cmp_and_jump_insns, emit_cmp_insn): Likewise, and also unsigned. * stmt.c (expand_value_return): Pass align in bits to emit_group_load. (expand_return): Likewise to {extract,store}_bit_field. * stor-layout.c (get_mode_alignment): Minor cleanup. * config/rs6000/rs6000.h (SLOW_UNALIGNED_ACCESS): Align is in bits. * config/sh/sh.h (MOVE_BY_PIECES_P): Likewise. * ch/expr.c (chill_expand_expr): Pass bit alignment to emit_block_move. From-SVN: r32827
2000-03-30Daily bump.Jeff Law2-2/+2
From-SVN: r32826
2000-03-30cppinit.c (cpp_start_read): Call initialize_dependency_output only after ↵Zack Weinberg2-4/+9
reading in the primary source file. * cppinit.c (cpp_start_read): Call initialize_dependency_output only after reading in the primary source file. From-SVN: r32825
2000-03-29* i386/djgpp.h: Remove extraneous "+".Jeffrey A Law2-1/+3
From-SVN: r32824
2000-03-29* POTFILES.in: Remove config/rs6000/cygwin.hPhilipp Thomas2-1/+4
From-SVN: r32822