Age | Commit message (Collapse) | Author | Files | Lines |
|
From-SVN: r45715
|
|
arrays and flexible arrays.
* c-typeck.c (really_start_incremental_init): Discriminate
between zero-length arrays and flexible arrays.
(push_init_level): Detect zero-length arrays and handle them
like fixed-sized arrays.
* expr.c (store_constructor): Handle zero-length arrays and
flexible arrays correctly.
* doc/extend.texi: Update zero-length array notes.
* gcc.dg/20000926-1.c: Update expected warning messages.
* gcc.dg/array-2.c: Likewise, and test for warnings too.
* gcc.dg/array-4.c: Likewise, and don't verify the zero-length
array.
From-SVN: r45714
|
|
Fix for PR 3917.
* config/ia64/ia64.c (itanium_split_issue): Allow max 2 FP per cycle.
(insn_matches_slot): Handle TYPE_L and TYPE_X slots when checking
for issue port conflicts.
(cycle_end_fill_slots): TYPE_L instructions take two slots.
From-SVN: r45713
|
|
2001-09-20 Andrew MacLeod <amacleod@redhat.com>
* testsuite/gcc.c-torture/execute/990208-1.x: New. XFAIL at -O3
on ia64.
From-SVN: r45712
|
|
* fold-const.c (hashtab.h): Include.
(int_const_binop): Remove FORSIZE arg and compute from type; all
callers changed.
Call size_int_type_wide for all single-word constants.
(size_htab_hash, size_htab_eq): New functions.
(size_int_type_wide): Rework to use hash table.
* ggc-common.c (hashtab.h): Include.
(struct d_htab_root): New struct.
(d_htab_roots): New variable.
(ggc_add_deletable_htab, ggc_htab_delete): New functions
(ggc_mark_roots): Handle deletable htabs.
* ggc-page.c (ggc_marked_p): New function.
* ggc-simple.c (ggc_marked_p): Likewise.
* ggc.h: Reformatting throughout.
(ggc_marked_p, ggc_add_deletable_htab): New declarations.
* tree.c (init_obstacks): Make type_hash_table a deletable root.
(type_hash_add): Allocate struct type_hash from GC memory.
(mark_hash_entry, mark_type_hash): Deleted.
(type_hash_marked_p, type_hash_mark): New functions.
* Makefile.in (ggc-common.o, fold-const.o): Include hashtab.h.
From-SVN: r45710
|
|
* sh.c (shiftcosts): Don't use shiftcosts array for modes wider
than SImode.
From-SVN: r45709
|
|
for signed sizetype.
* stor-layout.c (layout_type, case ARRAY_TYPE): Kludge to disable
array-too-large test for signed sizetype.
From-SVN: r45707
|
|
* i386.md (indirect_jump): Allow Pmode operand.
(tablejump): LIkewise; perform expansion to 64bit mode.
* i386.c (symbolic_operand): Allow 64bit PIC references.
(pic_symbolic_operand): Likewise.
(ix86_find_base_term): Strip the 64bit PIC references.
(legitimate_pic_address_disp_p): Handle 64bit PIC.
(legitimize_pic_address): Likewise.
(i386_simplify_dwarf_addr): Strip down the 64bit PIC references.
* i386.h (CASE_VECTOR_MODE): Set to SImode for 64bit PIC compilation.
From-SVN: r45705
|
|
2001-09-20 Scott Johnston <scott@accom.com>
Peter Schmid <schmid@snake.iap.physik.tu-darmstadt.de>
* include/backward/alloc.h: Conditionally define malloc_alloc
* testsuite/backward/header_deque_h.cc: New file.
2001-09-20 Sylvain Pion <Sylvain.Pion@sophia.inria.fr>
* libstdc++-v3/include/bits/locale_facets.tcc (money_put::do_put):
change variable name so that it works with -fno-for-scope.
From-SVN: r45704
|
|
2001-09-20 Benjamin Kosnik <bkoz@redhat.com>
* testsuite/22_locale/numpunct_members_char.cc (test01): Remove
redundant sanity checks.
* testsuite/22_locale/money_put_members_wchar_t.cc (test01): Same.
(test02): Same.
* testsuite/22_locale/money_put_members_char.cc (test01): Same.
(test02): Same.
* testsuite/22_locale/moneypunct_members_wchar_t.cc (test01): Same.
* testsuite/22_locale/moneypunct_members_char.cc (test01): Same.
* testsuite/22_locale/money_get_members_wchar_t.cc (test01): Same.
(test02): Same.
* testsuite/22_locale/money_get_members_char.cc (test01): Same.
(test02): Same.
From-SVN: r45703
|
|
2001-09-19 Benjamin Kosnik <bkoz@redhat.com>
Implement std::time_put.
* include/bits/locale_facets.h: Include time_members.h.
(__timepunct): New.
(time_put): Implement.
* include/bits/locale_facets.tcc (do_put): Put generic versions here.
* include/bits/localefwd.h: Bump number of facets.
* config/locale/time_members_generic.h: New file.
* config/locale/time_members_gnu.h: New file.
* config/locale/c_locale_generic.h: Include clocale.
* src/locale-inst.cc: Add use_facet instantiations for __timepunct.
* src/locale.cc: Add __timepunct initializations.
* src/localename.cc (locale::_Impl::_Impl(string, size_t)): Same.
* include/Makefile.am (stamp-target): Add time_members.h.
* include/Makefile.in: Regenerate.
* acinclude.m4 (GLIBCPP_ENABLE_CLOCALE): Add CTIME_H.
* aclocal.m4: Regenerate.
* configure: Regenerate.
* testsuite/22_locale/time_put.cc: New file.
* testsuite/22_locale/time_put_members_char.cc: New file.
* docs/html/22_locale/locale.html: Add note.
From-SVN: r45702
|
|
From-SVN: r45701
|
|
2001-09-19 Alan Modra <amodra@bigpond.net.au>
David Edelsohn <edelsohn@gnu.org>
Revert:
* config/rs6000/rs6000.c (logical_operand): CONST_INTs are
already sign-extended.
* config/rs6000/aix.h (INIT_TARGET_OPTABS): Define TFmode handlers.
* config/rs6000/rs6000.c (logical_operand): Streamline comparison
with HOST_WIDE_INT.
(rs6000_emit_set_long_const): Avoid unnecessary shift.
(output_profile_hook): Declare label_name const.
* config/rs6000/rs6000.md (boolcsi3, boolcdi3): Change predicates
to match constraints.
Co-Authored-By: David Edelsohn <edelsohn@gnu.org>
From-SVN: r45699
|
|
* alias.c: Fix typos in comments.
* sched-rgn.c (init_ready_list): Ditto.
* unwind-dw2.c (uw_frame_state_for): Ditto.
* unwind-dw2-fde.c (_Unwind_Find_FDE): Ditto.
* unwind.inc (_Unwind_RaiseException_Phase2): Ditto.
* config/rs6000/rs6000.c (rs6000_adjust_priority): Ditto.
From-SVN: r45698
|
|
* cfg.c (force_nonfallthru_and_redirect): Handle redirecting
to the exit block.
* Makefile.in (cfg.o): Depend on TM_P_H.
From-SVN: r45696
|
|
* config/alpha/alpha.c (local_symbol_p): Split out from ...
(local_symbolic_operand): ... here.
(small_symbolic_operand): Check mode.
(global_symbolic_operand): New.
(input_operand): Reject symbolics if explicit relocs.
(call_operand): Tidy.
(alpha_legitimize_address): Use movdi_er_high_g.
(alpha_expand_mov): Likewise.
* config/alpha/alpha-protos.h: Update.
* config/alpha/alpha.h (PREDICATE_CODES): Update.
* config/alpha/alpha.md (UNSPEC_LITERAL, UNSPEC_LITUSE): New.
(UNSPEC_LDGP2, UNSPECV_PLDGP2): New.
(UNSPECV_LDGP2): Remove.
(all call patterns): Use 's' not 'i' for symbolic constraint.
(call_osf call_value_osf): Use call_operand.
(all osf call patterns): Use $gp. New peepholes for explicit relocs.
(movdi_er_nofix, movdi_er_fix): Remove symbolic alternative.
(prologue_ldgp_1_er): Remove.
(ldgp_er_1, ldgp_er_2, prologue_ldgp_er_2): New.
(builtin_setjmp_receiver_er patterns): Use them.
(exception_receiver_er): Likewise.
From-SVN: r45694
|
|
* recog.c (peephole2_optimize): Likewise. Handle EH_REGION;
copy over CALL_INSN_FUNCTION_USAGE.
From-SVN: r45693
|
|
From-SVN: r45692
|
|
NON_LOCAL_GOTO notes.
* emit-rtl.c (try_split): Copy NORETURN, SETJMP, ALWAYS_RETURN
and NON_LOCAL_GOTO notes.
From-SVN: r45691
|
|
From-SVN: r45690
|
|
From-SVN: r45688
|
|
testing for the /usr/ucb/cc compiler...
2001-09-19 Ben Elliston <bje@redhat.com>
* configure.in (sparc-sun-solaris2*): Don't use /usr/bin/which on
Solaris when testing for the /usr/ucb/cc compiler; it has incorrect
semantics. Use the shell built-in "type" command instead.
From-SVN: r45687
|
|
From-SVN: r45686
|
|
* config.gcc (s390-*-linux-*, s390x-*-linux*): Switch to
new-style tm_file specification. Specify correct tm_p_file,
md_file, and out_file for s390x.
* config/s390/linux.h, linux64.h: Don't include other target
macro header files. Now handled via tm_file.
* config/s390/linux.h, s390.h: (IEEE_FLOAT, TARGET_IEEE_FLOAT,
TARGET_IBM_FLOAT): Move from linux.h to s390.h to ensure they
are defined before use.
From-SVN: r45685
|
|
* libiberty.h (concat, concat_length, concat_copy, concat_copy2,
ACONCAT): Improve comments.
From-SVN: r45683
|
|
Gnu assembler.
Tue Sep 18 09:51:11 2001 Eric Christopher <ecechristo@redhat.com>
* config/mips/mips.c (mips_asm_file_start): Conditionalize Elf
code generation only for Gnu assembler.
From-SVN: r45681
|
|
From-SVN: r45680
|
|
From-SVN: r45679
|
|
* config/mips/mips.c (mips_frame_set): New.
(mips_emit_frame_related_store): When storing two 32-bit FPRs, use
a parallel frame-related expression with a set for each register.
From-SVN: r45678
|
|
From-SVN: r45677
|
|
2001-09-18 Philip Blundell <philb@gnu.org>
* config/arm/lib1funcs.asm (L_dvmd_lnx): Don't rely on kernel
header files.
From-SVN: r45674
|
|
From-SVN: r45672
|
|
* parse.y: Use VA_OPEN/VA_CLOSE/VA_FIXEDARG throughout.
* jv-scan.c: Likewise.
From-SVN: r45671
|
|
2001-09-17 Dale Johannesen <dalej@apple.com>
* config/rs6000/rs6000.h (FIXED_REGISTERS): Use FIXED_R2.
* config/rs6000/aix.h (FIXED_R2): Define.
* config/rs6000/darwin.h (FIXED_R2): Define.
* config/rs6000/sysv4.h (FIXED_R2): Define.
From-SVN: r45669
|
|
2001-09-17 Phil Edwards <pme@gcc.gnu.org>
* docs/html/configopts.html: HTML to XHTML change. Lowercase tags.
* docs/html/documentation.html: Likewise.
* docs/html/explanations.html: Likewise.
* docs/html/install.html: Likewise.
* docs/html/17_intro/howto.html: Likewise.
* docs/html/18_support/howto.html: Likewise.
* docs/html/19_diagnostics/howto.html: Likewise.
* docs/html/20_util/howto.html: Likewise.
* docs/html/21_strings/howto.html: Likewise.
* docs/html/22_locale/codecvt.html: Likewise.
* docs/html/22_locale/ctype.html: Likewise.
* docs/html/22_locale/howto.html: Likewise.
* docs/html/22_locale/locale.html: Likewise.
* docs/html/22_locale/messages.html: Likewise.
* docs/html/23_containers/howto.html: Likewise.
* docs/html/24_iterators/howto.html: Likewise.
* docs/html/25_algorithms/howto.html: Likewise.
* docs/html/26_numerics/howto.html: Likewise.
* docs/html/27_io/howto.html: Likewise.
* docs/html/ext/howto.html: Likewise.
* docs/html/faq/index.html: Likewise.
* docs/html/faq/index.txt: Regenerated.
From-SVN: r45668
|
|
* except.c (dw2_build_landing_pads): New local
clobbers_hard_regs. Emit an ASM_INPUT as a scheduling
barrier after clobbers. Fixes c++/4012.
From-SVN: r45667
|
|
include:
* libiberty.h (concat_length, concat_copy, concat_copy2,
libiberty_concat_ptr, ACONCAT): New.
libiberty:
* concat.c (vconcat_length, vconcat_copy, concat_length,
concat_copy, concat_copy2): New functions.
(concat): Use vconcat_length/vconcat_copy.
gcc:
* gcc.c (find_file): Use ACONCAT in lieu of alloca/strcpy/strcat.
From-SVN: r45664
|
|
* dostage2, dostage3, listing, make-l2.com, makefile.vms,
patch-apollo-includes, vmsconfig.com: Remove obsolete files.
From-SVN: r45661
|
|
include:
* libiberty.h (ASTRDUP): New macro.
libiberty_optr, libiberty_nptr, libiberty_len): Declare.
libiberty:
* alloca.c (libiberty_optr, libiberty_nptr, libiberty_len):
Define.
gcc:
* c-aux-info.c (affix_data_type): Use ASTRDUP in lieu of
alloca/strcpy.
From-SVN: r45657
|
|
* cpphash.h (_cpp_lex_direct): New.
* cpplex.c (_cpp_lex_token): Update.
(lex_token): Rename _cpp_lex_direct; lex into pfile->cur_token,
and increment that pointer.
* cppmacro.c (alloc_expansion_token): New.
(lex_expansion_token): Lex macro expansion directly into
macro storage.
From-SVN: r45656
|
|
* jcf-write.c (generate_bytecode_insns) [SWITCH_EXPR]: Call
NOTE_PUSH for single-case push. Fixes PR java/4189.
From-SVN: r45655
|
|
From-SVN: r45654
|
|
From-SVN: r45651
|
|
From-SVN: r45650
|
|
From-SVN: r45649
|
|
From-SVN: r45648
|
|
* basic-block.h (free_bb_for_insn): Declare.
* bb-reorder.c (label_for_bb): Use block_label.
(emit_jump_to_block_after): Remove.
(insert_intra_1): Do not update block_for_insn.
(insert_inter_bb_scope_notes): Likewise; update bb->end
* cfg.c (free_bb_for_insn): New.
(try_rediret_by_replacing_jump): Avoid set_block_for_new_insns call.
(force_nonfallthru_and_redirect): Likewise; do not update BB boundaries.
(commit_one_edge_insertion): Likewise.
(commit_one_edge_insertion): Do not update BB boundary.
(commit_edge_insertions): Do not call compute_bb_for_insn.
* cfgbuild.c (find_basic_blocks): Do not free basic_block_for_insn.
* cfgcleanup.c (merge_blocks_move_predecessor): Use reorder_insns_nobb.
(merge_blocks_move_successor_nojumps): Likewise.
(try_crossjump_to_edge): Do not update block_for_insn.
* combine.c (combine_instructions): Remove compute_bb_for_insn call.
* df.c (df_pattern_emit_later): Do not update BB boundary.
(df_jump_pattern_emit_after): Likewise.
(df_insn_move_before): Use emit_insn_before.
* emit-rtl.c (try_split): Emit after trial to get bb boundary updated
properly.
(add_insn_after, add_insn_before, emit_insns_after): Update BB
boundaries and basic_block_for_insn.
(reorder_insns_nobb): Rename from reorder_insns.
(reorder_insns): New.
(emit_block_insn_before, emit_block_insn_after): Kill.
* flow.c (check_function_return_warnings): Do not call
compute_bb_for_insn; Do not free basic_block_for_insn.
(attempt_auto_inc): Do not update basic_block_for_insn.
* function.c (emit_return_into_block): Likewise;
do not update BB boundaries.
* gcse.c (handle_avail_expr): Do not update basic_block_for_insn.
(insert_insn_end_bb): Use emit_insn_before; Likewise.
(pre_insert_copy_insn): Likewise.
(update_ld_motion_notes): Likewise.
(insert_insn_start_bb): Likewise.
(replace_store_insn): Likewise.
* ifcvt.c (noce_process_if_block): Likewise.
(if_convert): Do not call compute_bb_for_insn.
* lcm.c (optimize_mode_switching): Do not update BB boundaries.
Use emit_insn_before and emit_insn_after.
* recog.c (split_all_insns): Do not update BB boundaries;
Do not call compute_bb_for_insn.
(peephole2_optimize): Do not update BB boundaries.
* reg-stack.c (emit_pop_insn): Use emit_insn_after and
emit_insn_before.
(emit_swap_insn): Likewise.
(convert_regs_1): Likewise.
* reload1.c (reload): Call compute_bb_for_insn.
* rtl.h (reorder_insns_nobb): Declare.
* ssa.c (rename_equivalent_regs): Use emit_insn_before.
* toplev.c (rest_of_compilation): Call free_bb_for_insn
at places CFG is invalidated; do not call compute_bb_for_insn.
* cfg.c (expunge_block): Invalidate BB structure.
* (merge_blocks_nomove): Update properly BLOCK_FOR_INSN
array.
* cfg.c (verify_flow_info): Verify the basic_block_for_insn array.
From-SVN: r45647
|
|
* cpphash.h (_cpp_lex_token): Update prototype.
* cpplex.c (_cpp_lex_token): New prototype.
* cpplib.c (skip_rest_of_line, check_eol, _cpp_handle_directive,
lex_macro_node, read_flag, do_pragma_poison): Update.
* cppmacro.c (cpp_get_token, parse_params,
lex_expansion_token): Update.
From-SVN: r45646
|
|
hashes.
* cppmain.c (scan_translation_unit): Don't worry about
putting a space after hashes.
* cpplib.c (directive_diagnostics): New.
(_cpp_handle_directive): Update to use directive_diagnostics.
(run_directive): Don't toggle prevent_expansion.
(do_line): Backup in case of the line extension.
* cpplib.h (cpp_lexer_pos): Remove.
* cppmacro.c (_cpp_create_definition): Precede a leading #
with whitespace.
* gcc.dg/cpp/line5.c: New testcase.
From-SVN: r45645
|
|
From-SVN: r45644
|