Commit Graph

33297 Commits

Author SHA1 Message Date
Neil Booth
e9770d5120 c-decl.c (c_expand_body): Check TYPE_SIZE_UNIT (ret_type) is not NULL.
* c-decl.c (c_expand_body): Check TYPE_SIZE_UNIT (ret_type)
        is not NULL.
        * toplev.c (decode_W_option): Update warn_larger_than
        unconditionally for each processed switch.
        * testsuite/gcc.dg/Wlarger-than.c: New test.

From-SVN: r39352
2001-01-30 19:19:40 +00:00
John David Anglin
d966ae6066 pa.c (pa_init_machine_status): Initialize pic_offset_table_save_rtx to NULL_RTX.
* pa.c (pa_init_machine_status): Initialize pic_offset_table_save_rtx
        to NULL_RTX.
        (hppa_expand_prologue): Delete code to save pic offset table register
        in the function prologue.
        * pa.h (PIC_OFFSET_TABLE_SAVE_RTX): Correct type in comment.
        * pa.md (call, call_value, sibcall, sibcall_value): Save the pic offset
        table register at the beginning of the function after the prologue.

From-SVN: r39351
2001-01-30 10:25:29 -07:00
Jeff Law
633254a097 Daily bump.
From-SVN: r39350
2001-01-30 10:25:12 -07:00
Benjamin Kosnik
1f63887a44 c_locale_generic.cc: Remove langinfo include.
2001-01-30   Benjamin Kosnik  <bkoz@redhat.com>

	* config/c_locale_generic.cc: Remove langinfo include.

From-SVN: r39349
2001-01-30 17:21:50 +00:00
Benjamin Kosnik
0214010c60 Preliminary named locales.
2001-01-29  Benjamin Kosnik  <bkoz@redhat.com>

	Preliminary named locales.
	* acinclude.m4 (GLIBCPP_ENABLE_CLOCALE): New macro.
	* aclocal.m4: Regenerate.
	* configure.in: Use it.
	* configure: Regerate.
	* src/Makefile.am (sources): Add c++locale.cc.
	(build_headers): Add c++locale.h.
	* src/Makefile.in: Regenerate.
	* config/c_locale_gnu.h: New file.
	* config/c_locale_gnu.cc: New file. Non-inline member functions
	for named locales, gnu-specific.
	* config/c_locale_generic.h: New file.
	* config/c_locale_generic.cc: New file. Non-inline member
	functions for named locales, generic version.
	* docs/html/configopts.html: Add documentation on new options.

	* include/bits/locale_facets.h (class _Messages): Remove.
	(class _Moneypunct): Remove.
	* src/locale-inst.cc: Remove.

	* include/bits/locale_facets.h (class _Collate): Remove.
	* src/locale-inst.cc (std): Remove.
	* src/locale.cc: And here.

	* include/bits/localefwd.h (locale::_M_coalesce): New
	function. Correctly put together multi-name locales.
	(_Impl(const _Impl&, category, size_t)): Remove.

	* include/bits/localefwd.h (locale::_Impl): Remove _M_construct_*
	member functions.
	(_M_normalize_category_names): Remove.
	(_M_replace_categories): Fix.

	* src/localename.cc (locale::_Impl::_M_construct_collate): Remove.
	(locale::_Impl::_M_construct_ctype): Remove.
	(locale::_Impl::_M_construct_monetary): Remove.
	(locale::_Impl::_M_construct_numeric): Remove.
	(locale::_Impl::_M_construct_time): Remove.
	(locale::_Impl::_M_construct_messages): Remove.

	* include/bits/locale_facets.h (_Bad_use_facet): Remove.
	(_Use_facet_failure_handle): Remove.
	* src/locale.cc: Remove definitions.
	* src/locale-inst.cc: And here.

	* testsuite/22_locale/ctor_copy_dtor.cc (test01): Fixup. Add tests.

	* src/localename.cc (locale::facet::_S_create_c_locale): Properly
	create and error-check underlying locale object.
	(locale::facet::_S_destroy_c_locale): Add, take care of properly
	tearing down underlying locale object.
	* include/bits/localefwd.h (locale::facet): Declare.
	* testsuite/22_locale/members.cc: Don't test "fr_FR" locale for
	correctness, as glibc apparently has incorrect info in it. Test
	with it when it works again.....

	* include/bits/localefwd.h (locale::_Impl::__vec_string):
	Remove. Number of categories is fixed at six, so just simplify and
	make this an array of strings.
	(locale::_Impl::_M_has_name): Remove.
	(locale::_Impl::_M_name): Remove.
	(locale::_Impl::_M_category_names): Turns into...
	(locale::_Impl::_M_names): ...this.
	(locale::_Impl::_M_has_same_name()): New function.
	* src/localename.cc (locale::_Impl::~_Impl()): Remove here.
	(locale::_Impl::_Impl(size_t __refs, string __str)): Simplify
	signature.
	* src/locale.cc (locale::name()): Construct mangled name
	accurately reflecting combined locale categories.

	* src/locale.cc (locale::classic()): Don't initialize here.
	* src/localename.cc (locale::_Impl::_Impl(size_t __num, size_t
	__refs, bool __has_name, string __str): Do it here.

	* include/bits/localefwd.h: _S_categories_num to
	_S_num_categories. _S_facets_num to _S_num_facets.
	(locale:🆔:id()): Explicitly set _M_index to zero.
	* src/locale.cc: Same.

	* src/locale.cc: (locale::locale(const char*)): Construct named
	locales uniquely.

	* src/locale.cc: Remove numpunct_byname ctors.
	* testsuite/22_locale/numpunct_byname.cc: New file.
	* testsuite/22_locale/numpunct.cc: New file.

	* include/bits/localefwd.h (class locale): Change data members to
	protected, from private.
	(_Impl::_M_get_c_locale): Add member function.
	(locale::facet::_M_get_global_impl()): Add member function.
	* include/bits/locale_facets.h (numpunct::_M_init): Change to take
	a __c_locale pointer.
	(numpunct::numpunct( __c_locale*, size_t)): Add additonal ctor for
	named locales.
	* testsuite/22_locale/members.cc: New file, test name and combine.

	* include/bits/locale_facets.h (class numpunct): Remove class
	_Punct and _Numpunct. Rewrite class numpunct to be correct for
	named locales.
	* include/bits/localefwd.h (locale::_Imp::_M_c_locale): Add.
	* src/localename.cc (_Impl::~_Impl()): Call __frelocale.
	(_Imp::_Impl(size_t, size_t, bool, string)) Initialize _M_c_locale.
	* src/locale-inst.cc: Remove _Numpunct, _Punct instantiations.
	* testsuite/22_locale/numpunct_char_members.cc: New file.

From-SVN: r39347
2001-01-30 09:18:51 +00:00
Lars Brinkhoff
f25561bb8c * tm.texi (PUSH_ROUNDING): Remove duplicate lines.
From-SVN: r39346
2001-01-29 22:42:06 -07:00
John David Anglin
7ea9fcc649 pa.md (return): Revise comment for trivial return.
* pa.md (return): Revise comment for trivial return.
        (return_internal): Non-trivial return pattern for non-PIC code.
        (return_internal_pic): Non-trivial return pattern for PIC code.
        It uses the PIC register to ensure it is restored after
        function calls.
        (epilogue): Generate appropriate return for PIC and non-PIC code.

Co-Authored-By: Jeff Law <law@redhat.com>

From-SVN: r39345
2001-01-29 22:18:50 -07:00
Christopher Faylor
05d9f8b08c * config/i386/cygwin.h: Fix -mno-cygwin search path for link.
From-SVN: r39344
2001-01-30 04:56:08 +00:00
DJ Delorie
80c8b1aad6 combine.c (if_then_else_cond): Pass the correct mode to operand_subword() for constants.
* combine.c (if_then_else_cond): Pass the correct mode to
operand_subword() for constants.

From-SVN: r39342
2001-01-29 21:34:22 -05:00
Christopher Faylor
f6fc3552ee cygwin.h: Add w32api to include search.
* config/i386/cygwin.h: Add w32api to include search.  Search different
directories in a cross-build environment.

From-SVN: r39341
2001-01-30 01:41:27 +00:00
Richard Henderson
2b5f2501ea * tree.h (TYPE_STUB_DECL): Add documentation.
From-SVN: r39340
2001-01-29 17:38:41 -08:00
Laurynas Biveinis
1270a9b381 sdbout.c (sdbout_one_type): Skip types with indeterminate size.
* sdbout.c (sdbout_one_type): Skip types with indeterminate size.
        (sdbout_field_types): Likwise.  Fix use of host_integerp.

From-SVN: r39339
2001-01-29 17:26:25 -08:00
Bryce McKinlay
eb59e54788 java-tree.h: Remove JTI_INTEGER_NEGATIVE_ONE_NODE.
* java-tree.h: Remove JTI_INTEGER_NEGATIVE_ONE_NODE.
	* decl.c (init_decl_processing): Use integer_minus_one_node, not
	integer_negative_one_node.
	* expr.c (build_java_binop): Likewise.

From-SVN: r39337
2001-01-30 00:37:21 +00:00
Thomas Pfaff
9c7c6e6c1c mingw32.h: Override STARTFILE_SPEC and LINK_SPEC declared in cygwin.h.
* mingw32.h: Override STARTFILE_SPEC and LINK_SPEC declared in
cygwin.h.

From-SVN: r39336
2001-01-29 16:41:46 -05:00
Jeffrey Oldham
f1e9980ad4 iris6.h (SUPPORTS_INIT_PRIORITY): Revise definition to use flag_gnu_linker.
2001-01-29  Jeffrey Oldham  <oldham@codesourcery.com>

	* config/mips/iris6.h (SUPPORTS_INIT_PRIORITY): Revise definition
	to use flag_gnu_linker.

From-SVN: r39335
2001-01-29 19:36:52 +00:00
Neil Booth
766ee68176 cpplib.c (T_BAD_DIRECTIVE): Remove.
* cpplib.c (T_BAD_DIRECTIVE): Remove.
        (_cpp_init_stacks): Loop from 0 to N_DIRECTIVES - 1.

From-SVN: r39334
2001-01-29 19:20:12 +00:00
Neil Booth
24274aab39 * gcc.dg/cpp/avoidpaste1.c: Fix typos.
From-SVN: r39333
2001-01-29 18:58:38 +00:00
Joseph Myers
718b8ea51f tree.c, tree.h (build_parse_node): Remove; was identical to build_nt.
* tree.c, tree.h (build_parse_node): Remove; was identical to
	build_nt.
	* c-lang.c (start_cdtor), objc/objc-act.c
	(build_module_descriptor): Use build_nt instead of
	build_parse_node.

cp:
	* decl2.c (build_expr_from_tree), lex.c (make_pointer_declarator,
	make_reference_declarator, make_call_declarator), method.c
	(implicitly_declare_fn), parse.y (namespace_using_decl,
	notype_unqualified_id, expr_or_declarator, new_type_id,
	after_type_declarator, direct_after_type_declarator,
	notype_declarator, complex_notype_declarator,
	complex_direct_notype_declarator, qualified_id,
	notype_qualified_id, overqualified_id, direct_new_declarator,
	absdcl, direct_abstract_declarator, conversion_declarator), pt.c
	(tsubst), semantics.c (begin_constructor_declarator): Use build_nt
	instead of build_parse_node.

From-SVN: r39332
2001-01-29 18:57:24 +00:00
Jakub Jelinek
adc881318b i386.md (addqi_1_lea): Fix mode (QI instead of HI).
* config/i386/i386.md (addqi_1_lea): Fix mode (QI instead of HI).
	(testqi_1, andqi_2): If widening to SImode, make sure CONST_INT does
	not have any upper bits set.

	* gcc.c-torture/execute/20010129-1.c: New test.
	* gcc.c-torture/execute/20010129-1.x: Add -mcpu=i686 on ia32.

From-SVN: r39331
2001-01-29 19:31:35 +01:00
Phil Edwards
42c0c80add COPYING.LIB: Update to LGPL 2.1 from the FSF.
2001-01-29  Phil Edwards  <pme@sources.redhat.com>

	* COPYING.LIB:  Update to LGPL 2.1 from the FSF.

From-SVN: r39330
2001-01-29 13:32:47 +00:00
Jeff Law
02deb288db Daily bump.
From-SVN: r39329
2001-01-29 01:45:07 -07:00
Jeff Sturm
7be00c496f zextract.c (read_zip_archive): Read file_offset before writing zipd and consequently clobbering the header...
2000-01-24  Jeff Sturm  <jeff.sturm@commerceone.com>

	* zextract.c (read_zip_archive): Read file_offset before writing
	zipd and consequently clobbering the header contents.

(http://gcc.gnu.org/ml/gcc-patches/2001-01/msg02129.html)

From-SVN: r39328
2001-01-29 00:43:46 -08:00
Kaveh R. Ghazi
f2d1f0ba55 stmt.c (estimate_case_costs): Use integer_minus_one_node.
* stmt.c (estimate_case_costs): Use integer_minus_one_node.

	* tree.c (build_common_tree_nodes_2): Set integer_minus_one_node.

	* tree.h (tree_index): Add new element TI_INTEGER_MINUS_ONE.
	(integer_minus_one_node): Define.

ch:
	* ch-tree.h (integer_minus_one_node): Moved to top level gcc
	directory.

	* decl.c (integer_minus_one_node): Likewise.
	(init_decl_processing): Don't set integer_minus_one_node.

cp:
	* cp-tree.h (cp_tree_index): Delete CPTI_MINUS_ONE.
	(minus_one_node): Moved to top level gcc directory.  Renamed
	to integer_minus_one_node.

	* init.c (init_init_processing): Don't set minus_one_node.
	(build_vec_init): Use integer_minus_one_node.

	* rtti.c (get_tinfo_decl_dynamic): Likewise.

From-SVN: r39325
2001-01-29 02:46:30 +00:00
Alexandre Oliva
4f92461a87 * Makefile.in (bootstrap2-lean): Fix typo.
From-SVN: r39324
2001-01-29 01:48:06 +00:00
Gabriel Dos Reis
4870f47246 README: Add more comment.
2001-01-28  Gabriel Dos Reis  <gdr@codesourcery.com>

        * testsuite/README: Add more comment.
        * testsuite/lib/libstdc++.exp: Tweak comment.

From-SVN: r39321
2001-01-28 15:13:08 +00:00
Jakub Jelinek
64b9f19994 Clarify comment.
From-SVN: r39320
2001-01-28 15:04:19 +01:00
Neil Booth
14e2799a89 * gcc.dg/cpp/avoidpaste1.c: Test case.
From-SVN: r39319
2001-01-28 11:27:22 +00:00
Neil Booth
26ec42ee4d cpphash.c (_cpp_cleanup_hashtable, [...]): Don't set fe_value.
* cpphash.c (_cpp_cleanup_hashtable, _cpp_lookup_with_hash)
        : Don't set fe_value.
        * cpplib.h (AVOID_LPASTE): New flag.
        (struct cpp_hashnode): Remove fe_value.
        * cpplex.c (cpp_avoid_paste): Don't paste '.' with a number.
        * cppmacro.c (builtin_macro): Don't set flags here.
        (replace_args): Set AVOID_LPASTE flag on first token of an
        argument, and the token following it.
        (cpp_get_token): Set AVOID_LPASTE flag on first token of a
        macro expansion, and on the token following it.  Do it for
        builtins too.
        * cppmain.c (scan_buffer): Avoid pasting only flagged tokens.

From-SVN: r39318
2001-01-28 11:22:23 +00:00
Jakub Jelinek
6001735ea0 optimize.c (copy_body_r): If MODIFY_EXPR has both arguments identical and they would be replaced with...
* optimize.c (copy_body_r): If MODIFY_EXPR has both arguments
	identical and they would be replaced with constant, remove
	MODIFY_EXPR from the tree.

	* g++.old-deja/g++.other/inline18.C: New test.

From-SVN: r39317
2001-01-28 11:35:45 +01:00
Jeff Law
666bd4e752 Daily bump.
From-SVN: r39316
2001-01-28 01:45:08 -07:00
Richard Henderson
0be25992bc configure.in (target_makefile_frag): Use mt-alphaieee.
* configure.in (target_makefile_frag) [alpha*-*]: Use mt-alphaieee.

 	* mt-alphaieee: New file.

 	* config/alpha/t-ieee: Remove multilibbing.
 	(TARGET_LIBGCC2_CFLAGS): Add -mieee.

 	* configure.host (alpha*-*) [libgcj_flags]: Add -mieee.

From-SVN: r39309
2001-01-27 22:59:00 -08:00
Kaveh R. Ghazi
c913b6f18e configure.in: Arrange to include defaults.h in [ht]config.h/tm.h.
* configure.in: Arrange to include defaults.h in [ht]config.h/tm.h.

	* Makefile.in: Remove all dependencies on defaults.h.
	* builtins.c: Don't include defaults.h.
	* c-common.c: Likewise.
	* c-decl.c: Likewise.
	* c-pragma.c: Likewise.
	* c-typeck.c: Likewise.
	* combine.c: Likewise.
	* i386.c: Likewise.
	* frame-ia64.c: Likewise.
	* cppexp.c: Likewise.
	* crtstuff.c: Likewise.
	* dbxout.c: Likewise.
	* dwarf2out.c: Likewise.
	* dwarfout.c: Likewise.
	* emit-rtl.c: Likewise.
	* except.c: Likewise.
	* expr.c: Likewise.
	* final.c: Likewise.
	* frame-dwarf2.c: Likewise.
	* libgcc2.c: Likewise.
	* optabs.c: Likewise.
	* profile.c: Likewise.
	* sdbout.c: Likewise.
	* toplev.c: Likewise.
	* tradcif.y: Likewise.
	* tree.c: Likewise.
	* varasm.c: Likewise.

ch:
	* Makefile.in: Remove all dependencies on defaults.h.
	* decl.c: Don't include defaults.h.
	* timing.c: Likewise.

cp:
	* Make-lang.in: Remove all dependencies on defaults.h.
	* call.c: Don't include defaults.h.
	* decl.c: Likewise.
	* decl2.c: Likewise.
	* except.c: Likewise.
	* pt.c: Likewise.
	* rtti.c: Likewise.
	* tree.c: Likewise.
	* typeck.c: Likewise.

f:
	* Make-lang.in: Remove all dependencies on defaults.h.
	* com.c: Don't include defaults.h.

java:
	* Make-lang.in: Remove all dependencies on defaults.h.
	* decl.c: Don't include defaults.h.
	* expr.c: Likewise.
	* parse.y: Likewise.

From-SVN: r39308
2001-01-28 01:50:22 +00:00
Kaveh R. Ghazi
75c1416b92 stdio-opt-2.c: Also test __builtin_puts and __builtin_putchar.
* gcc.c-torture/execute/stdio-opt-2.c: Also test __builtin_puts
	and __builtin_putchar.

From-SVN: r39307
2001-01-28 01:27:25 +00:00
Kaveh R. Ghazi
013dea401a builtins.c (expand_builtin_fputs): Use size_one_node when transforming into fwrite.
* builtins.c (expand_builtin_fputs): Use size_one_node when
	transforming into fwrite.

From-SVN: r39306
2001-01-28 01:06:15 +00:00
Joseph Myers
2c5e91d224 * extend.texi (Attribute Syntax): New section.
From-SVN: r39305
2001-01-27 21:29:53 +00:00
Michael Sokolov
825ac70419 fixproto: Correctly install synthesised unistd.h and stdlib.h when they didn't need fixing.
* fixproto: Correctly install synthesised unistd.h and stdlib.h when
	they didn't need fixing.

From-SVN: r39304
2001-01-27 21:07:57 +00:00
Richard Henderson
70305f2b94 [multiple changes]
2001-01-27  Janis Johnson <janis@us.ibm.com>

        * config.gcc (i[34567]86-sequent-{ptx4*,sysv4*}): Use usegas.h
        if appropriate.
        * config/ptx4.h: Several fixes to build on DYNIX/ptx v4.[456], and
        to remove macro definitions that are duplicated from elfos.h.

2001-01-27  Richard Henderson  <rth@redhat.com>

        * config/i386/sco5gas.h: Move ...
        * config/usegas.h: ... here.
        * config.gcc (i[34567]86-*-sco3.2v5) [tm_file]: Update.

From-SVN: r39303
2001-01-27 12:50:52 -08:00
Jakub Jelinek
940ff66d0b c-typeck.c (struct constructor_stack): Add range_stack member.
* c-typeck.c (struct constructor_stack): Add range_stack member.
	(really_start_incremental_init): Clear it.
	(push_init_level): Save constructor_range_stack and clear it if
	pushing explicit braces.
	(pop_init_level): abort if constructor_range_stack is non-zero at
	explicit closing brace.  Restore saved constructor_range_stack if
	not implicit.

	* gcc.dg/gnu99-init-1.c: Add 3 more designated range initializer
	tests.

From-SVN: r39302
2001-01-27 21:33:54 +01:00
Alexandre Oliva
de1b33ddc0 expr.c (emit_move_insn): Add REG_EQUAL note when constant loaded into register was forced into memory.
* expr.c (emit_move_insn): Add REG_EQUAL note when constant loaded
into register was forced into memory.

From-SVN: r39301
2001-01-27 20:24:34 +00:00
Michael Sokolov
8a8de62d6d ltcf-cxx.sh (ac_cv_prog_cc_pic_works, [...]): Don't unset, it's non-portable and no longer necessary, set to empty instead.
* ltcf-cxx.sh (ac_cv_prog_cc_pic_works, ac_cv_prog_cc_static_works):
	Don't unset, it's non-portable and no longer necessary, set to empty
	instead.

From-SVN: r39300
2001-01-27 19:51:13 +00:00
Michael Sokolov
92769744ae * ltconfig: Shell portability fix for the tagname validity check.
From-SVN: r39299
2001-01-27 19:48:46 +00:00
Tom Tromey
65422ec58b jni.cc (_Jv_JNIFunctions): Added comment for each entry in native interface structure.
* jni.cc (_Jv_JNIFunctions): Added comment for each entry in
	native interface structure.

From-SVN: r39298
2001-01-27 19:30:31 +00:00
Alexandre Oliva
88a1c0abe9 ltcf-c.sh (ld_shlibs): Disable on unknown CPU types.
* ltcf-c.sh (ld_shlibs) [aix5*]: Disable on unknown CPU types.
* ltcf-cxx.sh, ltcf-gcj.sh: Likewise.

From-SVN: r39297
2001-01-27 19:12:14 +00:00
Benjamin Kosnik
58245fb122 pure.cc (writestr): Just use cstdio and std::fputs.
2001-01-26  Benjamin Kosnik  <bkoz@kredhat.com>

	* libsupc++/pure.cc (writestr): Just use cstdio and std::fputs.

From-SVN: r39296
2001-01-27 19:00:09 +00:00
Alexandre Oliva
3d84f80f1b * Makefile.in: Remove uses of + before $(MAKE).
From-SVN: r39295
2001-01-27 18:47:16 +00:00
Jeff Law
c9e8ee87fb Daily bump.
From-SVN: r39294
2001-01-27 01:45:08 -07:00
Bryce McKinlay
60b7365f52 ObjectInputStream.java (read): AND byte with 0xff to make result unsigned.
* java/io/ObjectInputStream.java (read): AND byte with 0xff to make
	result unsigned.
	(read (byte[], int, int)): Only call readNextBlock() if the block
	buffer would actually be overrun. Increment blockDataPosition.
	(callReadMethod): Propagate exceptions from invocation target.
	* java/io/ObjectOutputStream.java (callWriteMethod): Propagate
	exceptions from invocation target.

From-SVN: r39293
2001-01-27 06:04:29 +00:00
Loren J. Rittle
31e1e0a652 inserters_extractors.cc: Remove explicit reference to 'testsuite/'.
2001-01-25  Loren J. Rittle  <ljrittle@acm.org>

        * testsuite/21_strings/inserters_extractors.cc: Remove
        explicit reference to 'testsuite/'.

From-SVN: r39292
2001-01-26 23:31:57 +00:00
Richard Henderson
2a2137c461 stmt.c (cost_table): Remove.
* stmt.c (cost_table): Remove.
        (COST_TABLE, cost_table_initialized): New.
        (estimate_case_costs): Use the later instead of the former.
        (balance_case_nodes): Likewise.

From-SVN: r39291
2001-01-26 15:24:38 -08:00
Richard Henderson
d9de4b22f6 atomicity.h: Remove tricky .subsetion bits.
2001-01-25  Richard Henderson  <rth@redhat.com>

	* config/cpu/alpha/bits/atomicity.h: Remove tricky .subsetion
	bits. Fixes Tru64 build issues.

From-SVN: r39290
2001-01-26 23:07:38 +00:00