2002-06-19 Vladimir Makarov <vmakarov@redhat.com>
* genautomata.c (DECL_UNIT, DECL_BYPASS, DECL_AUTOMATON,
DECL_EXCL, DECL_PRESENCE, DECL_ABSENCE, DECL_RESERV,
DECL_INSN_RESERV, REGEXP_UNIT, REGEXP_RESERV, REGEXP_SEQUENCE,
REGEXP_REPEAT, REGEXP_ALLOF, REGEXP_ONEOF): New macros with
checking and without it.
(decl_name, decl_mode_check_failed, regexp_name,
regexp_mode_check_failed): New functions.
(gen_cpu_unit, gen_query_cpu_unit, gen_bypass, gen_excl_set,
gen_presence_set, gen_absence_set, gen_automaton,
gen_regexp_repeat, gen_regexp_allof, gen_regexp_oneof,
gen_regexp_sequence, gen_reserv, gen_insn_reserv,
automaton_decl_hash, automaton_decl_eq_p): Use the macros.
(find_automaton_decl): Ditto. Set up mode of work_automaton_decl.
(insn_decl_hash, insn_decl_hash, insn_decl_eq_p): Use the macros.
(find_insn_decl): Ditto. Set up mode of work_insn_decl.
(decl_hash, decl_eq_p): Use the macros.
(find_decl): Ditto. Set up mode of work_decl.
(process_excls, process_presence_absence, process_decls,
check_automaton_usage, process_regexp, process_regexp_decls,
check_usage, loop_in_regexp, check_loops_in_regexps,
process_regexp_cycles, add_advance_cycle_insn_decl,
initiate_states, initiate_excl_sets,
initiate_presence_absence_sets, copy_insn_regexp, transform_1,
transform_2): Use the macros.
(transform_3): Ditto. Check mode before making transformations of
ALLOF.
(regexp_transform_func, transform_insn_regexps,
process_unit_to_form_the_same_automaton_unit_lists,
form_the_same_automaton_unit_lists_from_regexp,
form_the_same_automaton_unit_lists,
process_seq_for_forming_states, process_alts_for_forming_states,
create_alt_states, form_ainsn_with_same_reservs, make_automaton,
form_arcs_marked_by_insn, NDFA_to_DFA, set_new_cycle_flags,
estimate_one_automaton_bound, compare_max_occ_cycle_nums,
units_to_automata_heuristic_distr, create_ainsns,
units_to_automata_distr, create_automata): Use the macros.
(form_regexp): Ditto. Fix typo in access to fields of ALLOF.
(longest_path_length, min_issue_delay_pass_states,
output_dead_lock_vect, output_tables, output_insn_code_cases,
output_internal_insn_latency_func, output_print_reservation_func,
output_description, output_automaton_units, generate): Use the
macros.
(make_insn_alts_attr): Ditto. Check case when there are not
alternatives in the reservation.
(make_internal_dfa_insn_code_attr, make_default_insn_latency_attr,
make_bypass_attr, form_important_insn_automata_lists,
expand_automata): Use the macros.
From-SVN: r54802
2002-06-19 Steve Ellcey <sje@cup.hp.com>
* configure.in (HAVE_FINITE*, HAVE_ISINF*, HAVE_ISNAN*): Remove
definitions in hpux11 cross-build because these functions do
not exist on hpux11 (but some exist on hpux10); move defaults out
into existing sections.
* configure: Regenerate.
From-SVN: r54799
* config/ns32k/ns32k.md: Give "*xxx" names to all unnamed insn's.
(sCOND): Restrict operand class so that gcc knows how to reload them.
(bitfield_set): Merge two unnamed insn's using alternatives.
(call_value): Remove constraint on unused uperand.
(udivmodhi4, udivmodsi4, udivmoddihi4_internal): Remove.
(udivmoddiqi4_internal, udivmoddihi4, udivmoddiqi4): Remove.
* longlong.h (count_trailing_zeros): Escape newline and beautify.
From-SVN: r54788
* cpphash.h (struct cpp_reader): Make date and time strings.
(_cpp_builtin_macro_text, _cpp_copy_replacement_text,
_cpp_replacement_text_len): New.
* cppinit.c (cpp_create_reader): Update.
(init_builtins): Register appropriate builtins for -traditional-cpp.
* cppmacro.c (new_number_token): Remove.
(_cpp_builtin_macro_text): New.
(builtin_macro): Use it.
(cpp_macro_definition): Update to handle traditional macros.
* cppmain.c (cb_line_change): Don't do column positioning for
traditional output.
* cpptrad.c (enum ls): Rename ls_fun_macro to ls_fun_open. New
state ls_fun_close.
(skip_whitespace): Fix.
(maybe_start_funlike): Don't set state.parsing_args.
(scan_out_logical_line): Remove duplicate error. Use lex_state
rather than state.parsing_args.
(push_replacement_text): Handle builtins.
(_cpp_replacement_text_len, _cpp_copy_replacement_text): New.
From-SVN: r54771
* config/fp-bit.c (_fpmul_parts, _fpdiv_parts): Mark with
attribute __always_inline__.
Co-Authored-By: Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
From-SVN: r54768
2002-06-18 Phil Edwards <pme@gcc.gnu.org>
* configure: For in-source builds, make a subdir and re-exec there.
* Makefile: New file. Pass targets through to build directory.
* .cvsignore: No longer ignore "Makefile".
From-SVN: r54759
2002-06-18 Phil Edwards <pme@gcc.gnu.org>
* configure.host: Delete file.
* configure.target: More documentation. Factor out common parts of
script into "intelligent" settings about defaults. Remove redundancy.
* acinclude.m4: Update comments. Do not call configure.host.
(GLIBCPP_ENABLE_SYMVERS): If disabled, do not bother checking for
libgcc_s.
* configure.in: Slight reformatting, more comments. Factor out
"config/" from all the directories.
* docs/html/17_intro/porting.texi: Update and expand.
* testsuite/Makefile.am (AM_RUNTESTFLAGS): Move empty setting
from configure.host.
* aclocal.m4, configure, docs/html/17_intro/porting.html,
testsuite/Makefile.in: Regenerate.
From-SVN: r54757
* java/net/natPlainDatagramSocketImpl.cc (receive):
Check bounds of argument to FD_SET.
(setOption): Throw exception if socket is closed.
* java/net/natPlainSocketImpl.cc (accept, read):
Check bounds of argument to FD_SET.
(setOption): Throw exception if socket is closed.
From-SVN: r54750
2002-06-18 Vladimir Makarov <vmakarov@redhat.com>
* rtl.def (DEFINE_AUTOMATON): Add description of new options
`time' and `v'. Fix incorrect description of option `w'.
* doc/md.texi: Ditto.
* genautomata.c (TIME_OPTION, V_OPTION): New macros.
(gen_automata_option): Process the new options.
(transform_2, transform_3): Initialize some variables.
(initiate_automaton_gen): Use the new macros.
From-SVN: r54748
* cpplib.c (dtable): Update.
(end_directive): Decrement expansion prevention count.
Clear state.in_expression.
(prepare_directive_trad): Set state.in_expression.
Increment expansion prevention count.
* cpptrad.c (enum ls): New.
(_cpp_overlay_buffer): Set overlaid_buffer.
(_cpp_remove_overlay): Use overlaid_buffer.
(_cpp_read_logcial_line_trad): Update buffer when it might
have changed.
(scan_out_logical_line): Handle state transitions for assertions
and defined() in #if, and for funlike invocations including the
directive case. Handle '<' and '>' as a quote mechanism in
#include. Warn about unterminated macro invocations.
* cpphash.h (struct lexer_state): New member in_expression.
(struct cpp_reader): New member overlaid buffer.
From-SVN: r54732
2002-06-16 Aldy Hernandez <aldyh@redhat.com>
* gcc.c-torture/execute/simd-1.c: New.
* gcc.dg/simd-1.c: New.
* doc/extend.texi (Vector Extensions): Document that we can
specify simd types not specifically supported by the hardware.
Document that simd types can be used as function arguments.
Document that signness does make a difference in SIMD types.
Misc cleanups and revisions to the "vector extensions" section.
* simplify-rtx.c (simplify_subreg): Simplify subregs of vector
constants.
* expr.c (vector_mode_valid_p): New.
* expr.h: Add vector_mode_valid_p.
* defaults.h (VECTOR_MODE_SUPPORTED_P): Set default.
* emit-rtl.c (immed_double_const): Do not abort on vectors.
* c-common.c (type_for_mode): Always build vector nodes regardless
of VECTOR_MODE_SUPPORTED_P.
(handle_mode_attribute): Error if we can't emulate a nonexisting
vector mode.
(handle_vector_size_attribute): Same.
* optabs.c (expand_binop): Open-code vector operations.
(expand_unop): Open-code vector unops.
(expand_vector_binop): New.
(expand_vector_unop): New.
* c-typeck.c (build_binary_op): Allow vectors in binops.
Allow vectors in conditional operatiors.
(build_unary_op): Allow vectors in unary minus.
* config/rs6000/rs6000.h (ALTIVEC_VECTOR_MODE): Conditionalize on
TARGET_ALTIVEC.
From-SVN: r54727