Commit Graph

49192 Commits

Author SHA1 Message Date
Roger Sayle
712b7a052f builtins.c (expand_builtin_strlen): Evaluate the lengths of string literals at compile-time.
* builtins.c (expand_builtin_strlen):  Evaluate the lengths of
	string literals at compile-time.

From-SVN: r65585
2003-04-14 20:23:27 +00:00
Roger Sayle
15d4fd9863 fold-const.c (fold): Transform (c1 - x) cmp c2...
* fold-const.c (fold):  Transform (c1 - x) cmp c2, where cmp is a
	comparison operation and c1/c2 are floating point constants into
	x swap(cmp) (c1 - c2).

	* gcc.dg/20030414-2.c: New test case.

From-SVN: r65584
2003-04-14 20:16:58 +00:00
Paolo Carlini
22fc0e9ffe fstream.tcc (basic_filebuf::setbuf): Don't set _M_out_end, _M_set_indeterminate() does it.
2003-04-14  Paolo Carlini  <pcarlini@unitus.it>

	* include/bits/fstream.tcc (basic_filebuf::setbuf): Don't set
	_M_out_end, _M_set_indeterminate() does it.

From-SVN: r65582
2003-04-14 17:57:48 +00:00
Vladimir Makarov
2fcb395cd4 genautomata.c (output_translate_vect): Fix a typo in loop condition.
2003-04-14  Vladimir Makarov  <vmakarov@redhat.com>

	* genautomata.c (output_translate_vect): Fix a typo in loop
	condition.

From-SVN: r65580
2003-04-14 15:50:08 +00:00
Hans-Peter Nilsson
747a0d9d6a re PR target/10377 (gcc-3.2.2 creates bad assembler for cris)
PR target/10377
	* config/cris/cris.md ("*mov_sideqi", "*mov_sidehi")
	("*mov_sidesi", "*mov_sideqi_mem", "*mov_sidehi_mem")
	("*mov_sidesi_mem", "*clear_sidesi", "*clear_sidehi")
	("*clear_sideqi", "*ext_sideqihi", "*ext_sideqisi")
	("*ext_sidehisi", "*op_sideqi", "*op_sidehi", "*op_sidesi")
	("*op_swap_sideqi", "*op_swap_sidehi", "*op_swap_sidesi")
	("*extopqihi_side", "*extopqisi_side", "*extophisi_side")
	("*extopqihi_swap_side", "*extopqisi_swap_side")
	("*extophisi_swap_side", 8th, 9th, 10th, 11th, 14th peepholes):
	When next to constraint R, replace constraint i with n.

From-SVN: r65575
2003-04-14 14:32:44 +00:00
Kaveh R. Ghazi
39e8d04986 configure.in (HAVE_UINTPTR_T): Always define.
* configure.in (HAVE_UINTPTR_T): Always define.
	* configure: Regenerated.

From-SVN: r65574
2003-04-14 14:29:14 +00:00
Jan Hubicka
58e6ae30c7 re PR rtl-optimization/10024 ([HP-PA] inline optimization ICE)
PR opt/10024
	* cfgrtl.c (force_nonfallthru_and_redirect): Use unchecked_make_edge.

From-SVN: r65571
2003-04-14 14:19:12 +00:00
Hans-Peter Nilsson
26224a84b5 re PR target/10377 (gcc-3.2.2 creates bad assembler for cris)
PR target/10377
	* gcc.dg/20030414-1.c: New test.

From-SVN: r65565
2003-04-14 14:01:42 +00:00
Kriang Lerdsuwanakij
88657a26e6 * doc/contrib.texi (Contributors): Correct my entry.
From-SVN: r65563
2003-04-14 10:02:30 +00:00
Tom Tromey
e6311b9e25 * gjavah.c (print_c_decl): Indentation fix.
From-SVN: r65562
2003-04-14 04:42:21 +00:00
Roger Sayle
7f685e177e tree.h (DECL_BUILT_IN_NONANSI): Remove.
* tree.h (DECL_BUILT_IN_NONANSI): Remove.
	* c-common.c (builtin_function_2): Don't set DECL_BUILT_IN_NONANSI.
	* c-decl.c (duplicate_decls): Use invariant DECL_BUILT_IN_NONANSI
	implies DECL_BUILT_IN to simplify logic.
	* print-tree.c (print_node): Don't dump DECL_BUILT_IN_NONANSI.

From-SVN: r65561
2003-04-14 03:13:07 +00:00
Roger Sayle
1331d16fd4 builtin-types.def (BT_FN_STRING_CONST_STRING): New builtin type.
* builtin-types.def (BT_FN_STRING_CONST_STRING): New builtin type.
	(BT_FN_PTR_SIZE_SIZE): Likewise.
	* builtins.def (BUILT_IN_MALLOC, BUILT_IN_CALLOC, BUILT_IN_STRDUP):
	New built-in functions for malloc, calloc and strdup respectively.
	* calls.c (special_function_p): No need to handle malloc-like
	functions any longer.  ECF_MALLOC is set via built-in attributes.

	* c-decl.c (duplicate_decls): Preserve pure and malloc attributes.
	* cp/decl.c (duplicate_decls): Preserve pure and malloc attributes.
	* f/com.c (duplicate_decls): Preserve pure and malloc attributes.

	* doc/extend.texi: Document these new built-in functions.

	* gcc.dg/builtins-13.c: New test case.
	* gcc.dg/builtins-14.c: New test case.

From-SVN: r65560
2003-04-14 02:55:31 +00:00
Kaveh Ghazi
e235df1f71 Fix formatting in last commit.
From-SVN: r65559
2003-04-14 02:23:45 +00:00
GCC Administrator
fda8869be8 Daily bump.
From-SVN: r65558
2003-04-14 00:17:06 +00:00
Kaveh R. Ghazi
9cb65f923c builtins.c (expand_builtin_memcpy): Add `endp' argument, use it.
gcc:
	* builtins.c (expand_builtin_memcpy): Add `endp' argument, use it.
	(expand_builtin_stpcpy): New.
	(expand_builtin): Add BUILT_IN_MEMPCPY & BUILT_IN_STPCPY.
	* builtins.def: Add mempcpy & stpcpy support.
	* doc/extend.texi (mempcpy, stpcpy): Document new builtins.

testsuite:
	* gcc.c-torture/execute/string-opt-18.c: New test.

From-SVN: r65551
2003-04-13 23:46:11 +00:00
Mark Mitchell
f4f4610e03 re PR c++/10300 (use of array-new (nothrow) in segfaults on NULL return)
PR c++/10300
	* init.c (build_new_1): Reorganize.

	PR c++/10300
	* g++.dg/init/new5.C: New test.

From-SVN: r65550
2003-04-13 17:54:03 +00:00
Nick Clifton
5de601cf57 Replace "GNU CC" with "GCC"
From-SVN: r65549
2003-04-13 17:51:08 +00:00
Nick Clifton
c7992b22ff oops - forgot to delete file whne comitting previous delta
From-SVN: r65547
2003-04-13 17:19:44 +00:00
Nick Clifton
50d440bc05 config-ml.in: Remove support for --disable-aix removing call-aix multilibs.
config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Delete support for
 -mcall-aix switch.
config/rs6000/eabiaix.h: Delete.
config/rs6000/rs6000.h (rs6000_abi): Remove ABI_AIX_NODESC.
 (RS6000_REG_SAVE, RS6000_SAVE_AREA, FP_ARGS_MAX_REG, RETURN_ADDRESS_OFFSET):
 Remove use of ABI_AIX_NODESC.
config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Likewise.
config/rs6000/rs6000.c (print_operand, rs6000_stack_info, debug_stack_info,
 output_function_profiler, rs6000_trampoline_size,
 rs6000_initialise_trampoline): Likewise.
config/rs6000/rs6000.md (call, call_value, call_nonlocal_sysv,
 call_indirect_nonlocal_sysv, call_value_indirect_nonlocal_sysv,
 call_value_nonlocal_sysv, sibcall_value_nonlocal_sysv, sibcall_nonlocal_sysv,
 sibcall_value_local64): Likewise.
config/rs6000/t-ppcgas (MULTILIB_OPTIONS): Remove mcall-aix multilibs.
 (MULTILIB_DIRNAMES): Remove mcall-aix directories.
 (MULTILIB_EXCEPTIONS): Delete.
 (MULTILIB_MATCHES): Remove mcall-aix matches.
doc/fragments.texi: Replace -mcall-aix example with an ARM one.
doc/install.texi: Delete powerpc-*-eabiaix target.
doc/invoke.texi: Remove documentation of mcall-aix switch.
doc/tm.texi: Remove mcall-aix from example CPP_SPEC.
config.gcc: Delete powerpc-*-eabiaix target.

From-SVN: r65546
2003-04-13 16:59:45 +00:00
Kazu Hirata
62b9c42c44 invoke.texi: Fix typos.
* doc/invoke.texi: Fix typos.
	* doc/tm.texi: Likewise.

From-SVN: r65544
2003-04-13 11:18:36 +00:00
John David Anglin
26af0e5d07 * os/hpux/ctype_inline.h: Replace with gnu-linux version.
From-SVN: r65542
2003-04-13 03:56:20 +00:00
Zack Weinberg
6d0c8bb1bc * c-typeck.c (digest_init, push_init_level): Use CONSTRUCTOR_ELTS.
From-SVN: r65540
2003-04-13 03:31:09 +00:00
Zack Weinberg
dcf92453c8 tree.c (build_constructor): New function.
* tree.c (build_constructor): New function.
	* tree.h: Prototype it.

	* c-typeck.c (build_c_cast, pop_init_level)
	* profile.c (build_function_info_value, build_gcov_info_value)
	(create_profiler):
	Use build_constructor.

	* builtins.c (expand_builtin_args_info): Remove #if 0 blocks.

	* objc/objc-act.c (build_constructor):
	Rename objc_build_constructor. Use build_constructor.
	(build_objc_string_object, objc_add_static_instance)
	(init_def_list, init_objc_symtab, init_module_descriptor)
	(generate_static_references, build_selector_translation_table)
	(build_descriptor_table_initializer, generate_descriptor_table)
	(build_protocol_initializer, build_ivar_list_initializer)
	(generate_ivars_list, build_dispatch_table_initializer)
	(generate_dispatch_table, generate_protocol_list)
	(build_category_initializer, build_shared_structure_initializer):
	Update to match.

ada:
	* gigi.h, utils2.c (build_constructor):
	Rename gnat_build_constructor. Use build_constructor.
	* decl.c (gnat_to_gnu_entity)
	* trans.c (tree_transform, pos_to_constructor, extract_values)
	* ada/utils.c (build_template, convert_to_fat_pointer, convert)
	(unchecked_convert)
	* ada/utils2.c (build_binary_op, build_call_raise, build_allocator)
	(fill_vms_descriptor):
	Update to match.

cp:
	* class.c (initialize_array)
	* decl.c (reshape_init)
	* decl2.c (build_expr_from_tree)
	* init.c (build_zero_init)
	* pt.c (tsubst_copy, tsubst_copy_and_build)
	* rtti.c (tinfo_base_init, generic_initializer, ptr_initializer)
	(ptm_initializer, class_initializer, get_pseudo_ti_init)
	* semantics.c (finish_compound_literal)
	* typeck.c (build_ptrmemfunc1)
	* typeck2.c (store_init_value, process_init_constructor)
	(build_functional_cast): Use build_constructor.

f:
	* com.c (ffecom_build_complex_constant_, ffecom_expr_)
	(ffecom_init_zero_, ffecom_transform_namelist_, ffecom_vardesc_)
	(ffecom_vardesc_array_, ffecom_vardesc_dims_, ffecom_2)
	* ste.c (ffeste_io_ialist_, ffeste_io_cilist_, ffeste_io_cllist_)
	(ffeste_io_icilist_, ffeste_io_inlist_, ffeste_io_olist_):
	Use build_constructor.

java:
	* class.c (make_field_value, make_method_value, get_dispatch_table)
	(make_class_data, emit_offset_symbol_table)
	* constants.c (build_constants_constructor)
	* java-tree.h (START_RECORD_CONSTRUCTOR)
	* parse.y (maybe_build_array_element_wfl):
	Use build_constructor.

From-SVN: r65539
2003-04-13 01:45:35 +00:00
GCC Administrator
71707889ed Daily bump.
From-SVN: r65538
2003-04-13 00:17:05 +00:00
Zack Weinberg
c85b28e8f3 * intl.h: #define gcc_gettext_width to strlen when !ENABLE_NLS.
From-SVN: r65531
2003-04-12 23:07:34 +00:00
Stephane Carrez
cebcfdc87f * config/m68hc11/m68hc11-protos.h
(m68hc11_eq_compare_operator): Declare
	* config/m68hc11/m68hc11.h (PREDICATE_CODES): Register new predicate.
	* config/m68hc11/m68hc11.c (m68hc11_eq_compare_operator): New predicate
	(d_register_operand): Check the operand mode.
	(hard_addr_reg_operand): Likewise.

From-SVN: r65529
2003-04-12 23:52:33 +02:00
Stephane Carrez
0ae32ec0d7 m68hc11.md ("decrement_and_branch_until_zero"): New pattern for dbcc/ibcc generation for 68HC12.
* config/m68hc11/m68hc11.md ("decrement_and_branch_until_zero"): New
	pattern for dbcc/ibcc generation for 68HC12.
	("doloop_end"): New pattern.
	("m68hc12_dbcc_dec_hi"): New pattern for dbeq/dbne.
	("m68hc12_dbcc_inc_hi"): New pattern for ibeq/ibne.
	("m68hc12_dbcc_dec_qi"): New pattern.
	("m68hc12_dbcc_inc_qi"): New pattern.
	(split): Add split for the above when we can't use dbcc/ibcc due to
	reloading.
	(peephole2): Add peephole2 to generate the above when possible.

From-SVN: r65527
2003-04-12 23:22:49 +02:00
David Edelsohn
4440f5b597 3983-fstream.cc: Change basic_streambuf instantiation to "unsigned char".
* testsuite/27_io/basic_istream/sentry/char/3983-fstream.cc:
        Change basic_streambuf instantiation to "unsigned char".
        * testsuite/27_io/basic_ostream/sentry/char/3983-fstream.cc: Same.

From-SVN: r65526
2003-04-12 17:13:12 -04:00
Stephane Carrez
a67bac5fc4 m68hc11.md ("bitcmpqi" split): No need to test the mode of operand 0.
* config/m68hc11/m68hc11.md ("bitcmpqi" split): No need to test the
	mode of operand 0.
	(peephole2 optimize const load): Likewise for operand 2.
	("*rotlhi3_with_carry"): Change pattern to a const 1 rotate which
	clobbers CC_REGNUM.
	("*rotrhi3_with_carry"): Likewise.
	(ashift:DI 1 split): Update pattern to create the above rotate.
	(lshiftrt:DI 1 split): Likewise.

From-SVN: r65524
2003-04-12 22:35:28 +02:00
Stephane Carrez
0921442473 m68hc11.md (SOFT_Z_REGNUM): New constant.
* config/m68hc11/m68hc11.md (SOFT_Z_REGNUM): New constant.
	("tstqi_z_used" split): Use it.
	("cmphi_z_used"): Likewise.
	("bitcmpqi_z_used"): Likewise; also use SP_REGNUM constant.
	("cmpqi_z_used"): Likewise.

From-SVN: r65522
2003-04-12 22:05:55 +02:00
Mark Mitchell
355b81d5b3 re PR c++/7910 ([cygwin] Seg fault when compiling OpenSceneGraph 0.9.1)
PR c++/7910
	* config/i386/winnt.c (i386_pe_mark_dllimport): Fix thinko.

	PR c++/7910
	* g++.dg/ext/dllimport1.C: New test.

From-SVN: r65519
2003-04-12 20:01:29 +00:00
Paolo Carlini
7ef9fd85ef Remove _M_buf_size_opt, use directly _M_buf_size instead.
2003-04-12  Paolo Carlini  <pcarlini@unitus.it>

	Remove _M_buf_size_opt, use directly _M_buf_size instead.
	* include/bits/fstream.tcc
	(basic_filebuf::_M_allocate_internal_buffer, setbuf): Remove
	references to _M_buf_size_opt.
	* include/bits/sstream.tcc (basic_stringbuf::overflow): Likewise.
	* include/bits/streambuf.tcc (__copy_streambufs): Likewise, rename
	__bufsize to __in_avail and __size_opt to __buf_size.
	* include/ext/stdio_filebuf.h (stdio_filebuf::stdio_filebuf): Likewise.
	* include/std/std_sstream.h (_M_stringbuf_init, setbuf): Likewise.
	* include/std/std_streambuf.h (~basic_streambuf(),
	basic_streambuf()): Likewise, remove _M_buf_size_opt member.
	* testsuite/27_io/basic_filebuf/close/char/3.cc: Set _M_buf_size.
	* testsuite/27_io/basic_filebuf/in_avail/char/1.cc: Likewise.
	* testsuite/27_io/basic_filebuf/sbumpc/char/1.cc: Likewise.
	* testsuite/27_io/basic_filebuf/seekoff/char/1.cc: Likewise.
	* testsuite/27_io/basic_filebuf/seekpos/char/1.cc: Likewise.
	* testsuite/27_io/basic_filebuf/sgetc/char/1.cc: Likewise.
	* testsuite/27_io/basic_filebuf/sgetn/char/1.cc: Likewise.
	* testsuite/27_io/basic_filebuf/snextc/char/1.cc: Likewise.
	* testsuite/27_io/basic_filebuf/sputbackc/char/1.cc: Likewise.
	* testsuite/27_io/basic_filebuf/sputc/char/1.cc: Likewise.
	* testsuite/27_io/basic_filebuf/sputn/char/1.cc: Likewise.
	* testsuite/27_io/basic_filebuf/sungetc/char/1.cc: Likewise.

From-SVN: r65518
2003-04-12 19:21:35 +00:00
Zack Weinberg
2bd020439a configure.in: Check for wchar.h, mbstowcs, and wcswidth.
* configure.in: Check for wchar.h, mbstowcs, and wcswidth.
        * configure, config.in: Regenerate.
        * intl.c (gcc_gettext_width): New function.
        * intl.h: Prototype it.
cp:
        * call.c (print_z_candidates): Use gcc_gettext_width, not
        strlen, to determine how much padding to use.

From-SVN: r65517
2003-04-12 18:07:06 +00:00
Eric Botcazou
48ed72a399 * gcc.dg/ultrasp8.c: Fix for 32-bit Sparc.
From-SVN: r65514
2003-04-12 17:45:01 +00:00
Paolo Carlini
2ad0022889 stdio_filebuf.h (stdio_filebuf::stdio_filebuf(...), ...): _M_buf_size_opt == 0 means only...
2003-04-12  Paolo Carlini  <pcarlini at unitus dot it>

	* include/ext/stdio_filebuf.h
	(stdio_filebuf::stdio_filebuf(int, openmode, bool, size_t),
	stdio_filebuf::stdio_filebuf(__c_file*, openmode, size_t):
	_M_buf_size_opt == 0 means only "not to use an allocated buffer"
	since a stack-based buffer is used for small values of the size_t
	parameter.
	* include/bits/fstream.tcc (basic_filebuf::_M_really_overflow).
	If _M_buf_size != 0 flush out the buffer (any kind, stack-based too).
	* testsuite/ext/stdio_filebuf_2.cc: New testfile.

From-SVN: r65513
2003-04-12 16:07:51 +00:00
Stephane Carrez
96cd90694f m68hc11.h (TARGET_SWITCHES): Fix -mnominmax option; recognize -mnorelax.
* config/m68hc11/m68hc11.h (TARGET_SWITCHES): Fix -mnominmax option;
	recognize -mnorelax.
	(reg_class): Add Z_OR_S_REGS to represent soft registers with Z
	(REG_CLASS_NAMES): Add its name.
	(REG_CLASS_CONTENTS): Define its content.

From-SVN: r65511
2003-04-12 17:14:26 +02:00
Stephane Carrez
c364c3a60d larith.asm (memcpy): Use ARG macro to access stack parameters so that offsets are valid for far...
* config/m68hc11/larith.asm (memcpy): Use ARG macro to access stack
	parameters so that offsets are valid for far definition.
	(__mulsi3): Likewise and use ret to return.
	(___adddi3, ___subdi3, ___notdi2, ): Don't use it to save the result.

From-SVN: r65509
2003-04-12 16:52:17 +02:00
David Edelsohn
09501938ed * config/rs6000/rs6000.c (rs6000_hash_constant): Skip '0' fields.
From-SVN: r65508
2003-04-12 10:50:21 -04:00
Paolo Carlini
2bc67e0663 re PR libstdc++/9533 (Can't read from tty with ifstream)
2003-04-12  Paolo Carlini  <pcarlini@unitus.it>

	PR libstdc++/9533
	* testsuite/27_io/basic_filebuf/showmanyc/char/9533-1.cc: New.
	* testsuite/27_io/basic_filebuf/showmanyc/char/9533-2.cc: Ditto.

From-SVN: r65507
2003-04-12 13:56:37 +00:00
Alexandre Oliva
17a15c67ee mklibgcc.in (libgcc-stage-start): For every multilib directory containing a libgcc.a...
* mklibgcc.in (libgcc-stage-start): For every multilib  directory
containing a libgcc.a, move lib* to the corresponding stage dir.

From-SVN: r65505
2003-04-12 09:06:46 +00:00
Alexandre Oliva
ff3d4e83ed Makefile.in (stage1-start, [...]): Move $(SPECS) to specs in stage dir.
* Makefile.in (stage1-start, stage2-start, stage3-start,
stage4-start): Move $(SPECS) to specs in stage dir.
(unstage1 unstage2 unstage3 unstage4): Move specs in stage dir
back as $(SPECS).

From-SVN: r65504
2003-04-12 09:00:27 +00:00
Alexandre Oliva
9e6ccb985d mklibgcc.in (libgcc-stage-start): Move into the stage directory object files from the non-libgcc/ multilib...
* mklibgcc.in (libgcc-stage-start): Move into the stage directory
object files from the non-libgcc/ multilib directories as well.

From-SVN: r65503
2003-04-12 06:22:52 +00:00
Geoffrey Keating
0aaafe7349 * profile.c (read_counts_file): Initialise 'checksum'.
From-SVN: r65502
2003-04-12 03:51:23 +00:00
Geoffrey Keating
d5b9108c1e * emit-rtl.c (gen_rtx): Really correct typo.
From-SVN: r65501
2003-04-12 02:54:22 +00:00
Geoffrey Keating
a37db56bde re PR c++/9393 (Anonymous namespaces and compiling the same file twice)
PR c++/9393
	* doc/invoke.texi (Debugging Options): Document -frandom-seed.
	* configure.in: Check for gettimeofday.
	* tree.c (flag_random_seed): Define.
	(default_flag_random_seed): New.
	(append_random_chars): Use flag_random_seed rather than trying
	to acquire randomness here.
	* tree.h (default_flag_random_seed): Declare.
	* toplev.c (display_help): Add -frandom-seed and -fstack-limit-*
	descriptions.
	(decode_f_option): Handle -frandom-seed.
	(print_switch_values): Call default_flag_random_seed.
	* flags.h (flag_random_seed): Declare.
	* configure: Regenerate.
	* config.in: Regenerate.
	* config/alpha/t-crtfm: Use -frandom-seed.

From-SVN: r65500
2003-04-12 02:16:46 +00:00
Geoffrey Keating
df02618685 c-pch.c: Include flags.h.
* c-pch.c: Include flags.h.  Add comments to routines.
	(struct c_pch_validity): New.
	(get_ident): Update PCH file version number.
	(pch_init): Output current debugging type.
	(c_common_valid_pch): Check debugging type.
	* Makefile.in (c-pch.o): Update dependencies.
	* flags.h (debug_type_names): Declare.
	* toplev.c (debug_type_names): Move out of decode_g_option.

From-SVN: r65499
2003-04-12 01:58:33 +00:00
Geoffrey Keating
ba05abd3e0 * doc/extend.texi (Empty Structures): New.
From-SVN: r65497
2003-04-12 01:43:11 +00:00
Eric Christopher
15c812e3f7 emit-rtl.c (gen_rtx): Fix typos.
2003-04-11  Eric Christopher  <echristo@redhat.com>

	* emit-rtl.c (gen_rtx): Fix typos.

From-SVN: r65496
2003-04-12 01:27:20 +00:00
GCC Administrator
bedd8bed3a Daily bump.
From-SVN: r65495
2003-04-12 00:17:08 +00:00
Richard Henderson
a73071bc4e * emit-rtl.c (gen_rtx): Zero '0' fields.
From-SVN: r65488
2003-04-11 16:27:59 -07:00