* ifcvt.c: New file.
* Makefile.in (OBJS): Add it.
(ifcvt.o): New target.
* jump.c (jump_optimize_1): Remove all code related to if-conversion,
and conditional arithmetic.
(find_insert_position): Remove.
* timevar.def (TV_IFCVT, TV_IFCVT2): New.
* toplev.c (DFI_ce, DFI_ce2): New.
(dump_file): Add ce and ce2 dumps.
(rest_of_compilation): Run if_convert a couple o times. Set
cse_not_expected after cse2. Don't set no_new_pseudos until
after sched1 or recompute_reg_usage.
From-SVN: r33547
* cpphash.h (enum node_type: Take out T_MCONST.
(union hashval): Move into struct hashnode.
(struct hashnode): Pack tighter. Remove file, line, col
members.
* cpphash.c: Constify most of the macro-definition structures.
(struct definition): Replace by struct object_defn
and struct funct_defn. Put file, line, column information
here. All users updated to match.
(_cpp_create_definition, _cpp_macroexpand): Remove special
case for #define WORD OTHERWORD.
* cpplib.c (do_undef): Remove T_MCONST case.
From-SVN: r33538
* config/alpha/crtend.asm: Use C comments instead of #.
* config/alpha/crtbegin.asm: Likewise. Mark __dso_handle hidden.
* config/alpha/elf.h (SELECT_SECTION): Treat CONSTRUCTOR like VAR_DECL.
From-SVN: r33537
* cpphash.h: Move struct reflist, struct definition, and the
DEFINITION typedef to cpphash.c. Use 'struct definition *' in
union hashval. _cpp_free_definition takes a HASHNODE pointer.
* cpphash.c (_cpp_free_definition): Free data pointed to by
MCONST, XCONST, MACRO, and FMACRO nodes properly.
(_cpp_create_definition, del_HASHNODE): Just call
_cpp_free_definition to clear out a hashnode.
* cpplib.c (do_pragma_poison): Likewise.
From-SVN: r33536
* regmove.c (struct record_stack_memrefs_data): New.
(record_stack_memrefs): New function.
(combine_stack_adjustments_for_block): Use it.
From-SVN: r33529
(libiberty_demanglers): new table for demangle styles
(cplus_demangle_set_style): New function for setting style
(cplus_demangle_name_to_style): New function to translate name
* include/demangle.h
(libiberty_demanglers): new table for different styles
(cplus_demangle_set_style): New function for setting style
(cplus_demangle_name_to_style): New function to translate name
Co-Authored-By: Jason Merrill <jason@casey.cygnus.com>
From-SVN: r33525
* configure.in (sparc-hal-solaris2*): protect [] glob from
my expansion.
(mips*-*-ecoff*, mips*-*-elf*, mips*-*-*): use MASK_ defines
rather than hard-coded constants in target_cpu_default2.
* configure: Regenerate.
From-SVN: r33520
* tree.c (get_callee_fndecl): Extract the initial value from
a readonly decl.
* cp/optimize.c (initialize_inlined_parameters): Call
c_apply_type_quals_to_decl. Set DECL_INITIAL.
From-SVN: r33518
* calls.c (combine_pending_stack_adjustment_and_call): Return the
adjustment; don't do the stack adjust.
(expand_call): Call compute_argument_block_size right before
allocating the block; update comment; don't do alignment sanity
checking for sibling call; use args_size instead of
unadjusted_args_size before args_size is adjusted. Use
combine_pending_stack_adjustment_and_call to compute stack adjust
for must_preallocate case.
* expr.c (push_block): Remove shadow `temp' in inner scope.
Co-Authored-By: Jan Hubicka <jh@suse.cz>
From-SVN: r33516
2000-04-28 Bryce McKinlay <bryce@albatross.co.nz>
Test for PR gcj/218:
* libjava.lang/PR218.java: New file.
* libjava.lang/PR218.out: New file.
From-SVN: r33506
* optimize.c (copy_body_r): Use STRIP_TYPE_NOPS when copying
variables.
(initialize_inlined_parameters): Try to avoid creating new
VAR_DECLs.
From-SVN: r33505
* Makefile.in (timevar.o): Depend on flags.h.
* timevar.c (unused_stack_instances): New variable.
(timevar_push): Take a timevar_stack_def from
unused_stack_instances if available.
(timevar_pop): Push the popped timevar_stack_def onto
unused_stack_instances.
(TIMEVAR_ENABLE): New macro.
(timevar_def): Make standalone a 1-bit field. Add field used.
(get_time): Rename parameter to now. Return after clearing it if
not TIMEVAR_ENABLE.
(init_timevar): Do nothing if not TIMEVAR_ENABLE.
(timevar_pop): Likewise.
(timevar_stop): Likewise.
(timevar_push): Likewise. Mark the timing variable as used.
(timevar_start): Likewise.
(timevar_print): Do nothing if not TIMEVAR_ENABLE. Don't print
timevars that were never used.
From-SVN: r33504
2000-04-26 Nathan C. Myers <ncm@cantrip.org>
* bits/basic_string.h: include <bits/atomicity.h> instead
of <atomicity.h>, and use the uglified names.
* config/cpu/*/atomicity.h: replace with bits/atomicity.h;
uglify names, eliminate dependence on <inttypes.h>.
* src/Makefile.in, src/Makefile.am: refer to correct place
for atomicity.h header.
From-SVN: r33503
2000-04-26 Nathan C. Myers <ncm@cantrip.org>
* bits/basic_string.h: include <bits/atomicity.h> instead
of <atomicity.h>, and use the uglified names.
* config/cpu/*/atomicity.h: replace with bits/atomicity.h;
uglify names, eliminate dependence on <inttypes.h>.
* src/Makefile.in, src/Makefile.am: refer to correct place
for atomicity.h header.
2000-04-25 Steven King <sxking@uswest.net>
* bits/basic_string.h: Fix syntax error.
2000-04-25 Benjamin Kosnik <bkoz@redhat.com>
* acinclude.m4 (GLIBCPP_CHECK_MATH_SUPPORT): Improve checks for
USE_LONG_DOUBLE.
(GLIBCPP_ENABLE_DEBUG): If alpha, use -gdwarf-2.
* math/Makefile.am (EXTRA_LONG_DOUBLE_yes): Add all the long
versions to this as copysignl is needed anyway for these targets.
* math/Makefile.in: Regenerate.
* bits/streambuf.tcc (streambuf::xsgetn): Tweak.
* bits/fstream.tcc (underflow): Cast to libio types.
* bits/basic_file.h (seekoff): Fixes for alpha: use __c_streamoff.
* config/c_io_libio.cc (seekoff): And here.
From-SVN: r33501
* aclocal.m4: New file with new test libiberty_AC_FUNC_STRNCMP.
* configure.in (AC_CHECK_HEADERS): Add sys/mman.h fcntl.h.
(libiberty_AC_FUNC_STRNCMP): Invoke.
* strncmp.c: New file.
From-SVN: r33498