Commit Graph

33906 Commits

Author SHA1 Message Date
Nathan Sidwell
7eeb553cec typeck.c (build_static_cast): Allow enum to enum conversions as per DR 128.
cp:
	* typeck.c (build_static_cast): Allow enum to enum conversions
	as per DR 128.
testsuite:
	* g++.old-deja/g++.other/enum3.C: New test.

From-SVN: r40187
2001-03-02 11:48:38 +00:00
Nathan Sidwell
d282fcb29a class.c (check_field_decls): Pointers to member do not a non-pod struct make, as per DR 148.
cp:
	* class.c (check_field_decls): Pointers to member do not a
	non-pod struct make, as per DR 148.
testsuite:
	* g++.old-deja/g++.other/pod1.C: New test.

From-SVN: r40186
2001-03-02 11:44:57 +00:00
Nathan Sidwell
f86fdf68cf call.c (joust): cp_pedwarn when using gnu extension concerning worst conversion sequences.
cp:
	* call.c (joust): cp_pedwarn when using gnu extension concerning
	worst conversion sequences.
testsuite:
	* g++.old-deja/g++.ext/overload1.C: New test.

From-SVN: r40182
2001-03-02 11:32:45 +00:00
Jan Hubicka
68af29ce9d * ifcvt.c (noce_operand_ok): Handle properly unarry operations.
From-SVN: r40181
2001-03-02 11:00:29 +00:00
GCC Administrator
584bb3ec72 Daily bump.
From-SVN: r40179
2001-03-02 08:16:18 +00:00
Neil Booth
591e15a110 cppfiles.c (struct include_file): Update.
* cppfiles.c (struct include_file): Update.
        (stack_include_file): Use search_from.
        (cpp_included, find_include_file): Update.
        (cpp_execute_include): Update.  ptr->name may not be
        null terminated.  Use the new search_from member variable
        of cpp_buffer.
        (_cpp_compare_file_date): Similarly.
        (search_from): New function, similiar to actual_directory.
        (actual_directory): Delete.
        (remap_filename): Update.  loc->name may not be null terminated.
        (struct file_name_list): Rename search_path.  Update.
        * cpphash.h (struct cpp_buffer): Delete actual_dir.  New members
        search_from and dir.
        (struct cpp_reader): Remove actual_dirs.
        * cppinit.c (struct cpp_pending): Update for renamed objects.
        (append_include_chain, remove_dup_dir, remove_dup_dirs,
        merge_include_chains, cpp_destroy, cpp_start_read): Similarly.
        * cpplib.h (struct cpp_options): Similarly.

From-SVN: r40178
2001-03-02 07:35:12 +00:00
Per Bothner
c04278f74f Changes merged from Kawa's gnu.math.
* java/math/BigInteger.java
	* gnu/gcj/math/MPN.java (rshift0): New method handles zero shift count.
	(rshift(int[],int[],int,int):  Removed - not needed.
	(gcd):  Use rshift0 rather than rshift.
	* java/math/BigInteger.java (setShiftRight):  Likewise.
	(divide):  Simplify by using rshift0.
	(divide):  Zero-extend results if high-order bit set.

From-SVN: r40177
2001-03-01 22:55:33 -08:00
Zack Weinberg
d6edb99e92 xm-lynx.h, [...]: Do not define TRUE or FALSE.
* config/xm-lynx.h, config/xm-std32.h, config/a29k/xm-a29k.h,
	config/a29k/xm-unix.h, config/alpha/xm-alpha.h,
	config/arc/xm-arc.h, config/arm/xm-arm.h, config/c4x/xm-c4x.h,
	config/clipper/xm-clix.h, config/convex/xm-convex.h,
	config/d30v/xm-d30v.h, config/dsp16xx/xm-dsp16xx.h,
	config/elxsi/xm-elxsi.h, config/fr30/xm-fr30.h,
	config/h8300/xm-h8300.h, config/i370/xm-i370.h,
	config/i370/xm-linux.h, config/i370/xm-mvs.h,
	config/i370/xm-oe.h, config/i386/xm-aix.h,
	config/i386/xm-i386.h, config/i386/xm-osf.h,
	config/i860/xm-i860.h, config/i960/xm-i960.h,
	config/ia64/xm-ia64.h, config/m32r/xm-m32r.h,
	config/m68k/xm-m68k.h, config/m88k/xm-m88k.h,
	config/mcore/xm-mcore.h, config/mips/xm-mips.h,
	config/mn10200/xm-mn10200.h, config/mn10300/xm-mn10300.h,
	config/ns32k/xm-ns32k.h, config/pa/xm-linux.h,
	config/pa/xm-pa.h, config/pa/xm-pa64hpux.h,
	config/pa/xm-pahpux.h, config/pa/xm-papro.h,
	config/pj/xm-pj.h, config/romp/xm-romp.h,
	config/rs6000/xm-beos.h, config/rs6000/xm-rs6000.h,
	config/rs6000/xm-sysv4.h, config/sh/xm-sh.h,
	config/sparc/xm-sparc.h, config/sparc/xm-sysv4.h,
	config/v850/xm-v850.h, config/vax/xm-vax.h,
	config/vax/xm-vms.h, config/we32k/xm-we32k.h:
	Do not define TRUE or FALSE.

	* config/i386/xm-aix.h, config/i386/xm-osf.h: Delete; made
	empty by above change.
	* config.gcc: Remove references to these files.

	* configure.in: Detect stdbool.h.
	* configure, config.in: Regenerate.
	* system.h: Include stddef.h here if available.  Set
	HAVE__BOOL based on GCC_VERSION and __STDC_VERSION__.  Then
	set up a sensible boolean type at the very end.

	* combine.c, cse.c, expr.c, fold-const.c, gensupport.c,
	f/com.c, config/mcore/mcore.c:
	Rename variables named 'true' and/or 'false'.

	* hash.h: Delete 'boolean' typedef and related #undefs.
	* f/proj.h: Delete 'bool' type.  Don't include stddef.h here.

	* function.c, ggc-common.c, hash.h, hash.c, tlink.c, cp/decl.c,
	java/class.c, java/decl.c, java/java-tree.h:
	Replace all uses of 'boolean' with 'bool'.

From-SVN: r40176
2001-03-02 01:51:02 +00:00
John David Anglin
9bb9ef2834 safe-ctype.h (_sch_test): Cast enum bit to unsigned short int for pcc compatibility.
* safe-ctype.h (_sch_test): Cast enum bit to unsigned short int for pcc
	compatibility.

From-SVN: r40175
2001-03-02 01:17:23 +00:00
John David Anglin
37b8524ce8 cpplib.c (_cpp_init_stacks): Cast enum for comparison.
* cpplib.c (_cpp_init_stacks): Cast enum for comparison.
	* cppexp.c (lex): Cast enums for comparison.
	* cppinit.c (parse_option): Cast enum for comparison.
	* cpplex.c (cpp_spell_token): Cast enums to int for minus.
	(cpp_output_token): Likewise.
	(cpp_can_paste): Cast enums for comparsion and plus/minus.
	(cpp_avoid_paste): Cast enums for minus and comparison.

From-SVN: r40174
2001-03-02 01:11:50 +00:00
Zack Weinberg
f71434274c gcc.c, [...]: Add zero initializer for cpp_spec field to all array elements.
* gcc.c, cp/lang-specs.h, f/lang-specs.h, java/lang-specs.h,
	objc/lang-specs.h: Add zero initializer for cpp_spec field to
	all array elements.
	* cp/lang-specs.h: Don't put an #ifdef inside the initializer
	list; set a default for CPLUSPLUS_CPP_SPEC and use it.

From-SVN: r40173
2001-03-02 01:03:47 +00:00
Zack Weinberg
cb7738452f cpphash.h (struct cpp_reader): Add print_version field.
* cpphash.h (struct cpp_reader): Add print_version field.
	* cppinit.c (cpp_handle_option): For -v, -version, and --version,
	just set print_version and other flags as appropriate.
	(cpp_post_options): Print version here if print_version is set.

	* toplev.c (exit_after_options): New flag.
	(independent_decode_option): Don't exit here; just set
	exit_after_options.
	(main): Exit after calling lang_hooks.post_options if
	exit_after_options is true.

	* cppinit.c (append_include_chain): Drop never-used case QUOTE.
	(merge_include_chains): Adjust comment to match code.

From-SVN: r40171
2001-03-02 00:42:28 +00:00
Zack Weinberg
71b7be38c3 stringpool.c (set_identifier): New function.
* stringpool.c (set_identifier): New function.
	* tree.h: Prototype it.

	* c-parse.in: Kill D_YES. If compiled for objc, call
	save_and_forget_protocol_qualifiers from init_reswords.
	* objc/objc-act.c (remember_protocol_qualifiers,
	forget_protocol_qualifiers): Don't diddle C_IS_RESERVED_WORD.
	Swap out the non-keyword IDENTIFIER_NODEs for keyword ones, or
	vice versa.
	(save_and_forget_protocol_qualifiers): New function.
	* c-lex.h: Prototype save_and_forget_protocol_qualifiers.

From-SVN: r40170
2001-03-02 00:40:00 +00:00
Diego Novillo
5aa709ad7e c-semantics.c (prune_unused_decls): Return error_mark_node instead of (tree) 1 to stop traversing the tree chain.
2001-03-01  Diego Novillo  <dnovillo@redhat.com>

	* c-semantics.c (prune_unused_decls): Return error_mark_node
	instead of (tree) 1 to stop traversing the tree chain.

From-SVN: r40166
2001-03-01 18:11:05 -05:00
Phil Edwards
a810c64295 index.html: Update broken links.
2001-03-01  Phil Edwards  <pme@sources.redhat.com>

	* docs/html/faq/index.html:  Update broken links.
	* docs/html/faq/index.txt:  Regenerated.

From-SVN: r40165
2001-03-01 22:32:23 +00:00
Jeffrey A Law
913553ce15 som.h (ASM_IDENTIFY_GCC): Define.
* config/pa/som.h  (ASM_IDENTIFY_GCC): Define.
        (ASM_IDENTIFY_GCC_AFTER_SOURCE): Likewise.

From-SVN: r40164
2001-03-01 11:47:26 -07:00
Bernd Schmidt
791f5e8d0b Undo some breakage introduced Feb 18
From-SVN: r40162
2001-03-01 17:51:18 +00:00
Jeffrey A Law
9c1eed37c4 pa.c (emit_move_sequence): Verify operand0 is a hard register before determining its register class.
* pa.c (emit_move_sequence): Verify operand0 is a hard register
        before determining its register class.

From-SVN: r40160
2001-03-01 09:48:44 -07:00
Bernd Schmidt
2d1b811d7e Rotate bundles earlier in ia64_sched_reorder
From-SVN: r40157
2001-03-01 14:25:30 +00:00
Bernd Schmidt
7a87c39c56 Emit NOPs in the assembly output.
From-SVN: r40156
2001-03-01 14:20:17 +00:00
Bernd Schmidt
8cb714352c Fix register renaming problem
From-SVN: r40152
2001-03-01 14:04:23 +00:00
Nathan Sidwell
fbfe8c9e5a Implement using decls inside template functions.
cp:
	Implement using decls inside template functions.
	* decl2.c (validate_nonmember_using_decl): Don't special case
	fake_std_node in the global namespace. Don't reject early when
	processing a template.
	(do_local_using_decl): Add to statement tree. Don't do further
	processing when building a template.
	* pt.c (tsubst_expr, DECL_STMT case): Deal with USING_DECLs.
testsuite:
	* g++.old-deja/g++.pt/using1.C: New test.

From-SVN: r40151
2001-03-01 14:01:39 +00:00
Nathan Sidwell
4d24a88965 decl2.c (do_nonmember_using_decl): Don't complain if we find same function.
cp:
	* decl2.c (do_nonmember_using_decl): Don't complain if we find
	same function. Do complain about ambiguating extern "C"
	declarations.
testsuite:
	* g++.old-deja/g++.other/using9.C: New test.

From-SVN: r40148
2001-03-01 13:51:00 +00:00
Bernd Schmidt
1abdf5e747 Fix register elimination problem
From-SVN: r40147
2001-03-01 13:35:13 +00:00
Bernd Schmidt
21e4c9a8db Avoid exponential runtime
From-SVN: r40145
2001-03-01 13:21:30 +00:00
GCC Administrator
c2a3a48235 Daily bump.
From-SVN: r40143
2001-03-01 08:16:44 +00:00
Benjamin Kosnik
c14fe26a17 configure.target: Change irix* to irix6.5* in target_os table.
q
2001-02-28  Benjamin Kosnik  <bkoz@redhat.com>

	libstdc++/2064
	* configure.target: Change irix* to irix6.5* in target_os table.

From-SVN: r40141
2001-03-01 01:19:21 +00:00
Benjamin Kosnik
e08838ac57 c++config (__GLIBCPP__): Bump number in anticipation of 2.92.
2001-02-28  Benjamin Kosnik  <bkoz@redhat.com>

	libstdc++/2103
	* include/bits/c++config (__GLIBCPP__): Bump number in
	anticipation of 2.92.

	* include/bits/codecvt.h: Fix typo.
	* include/bits/basic_file.h (__basic_file): Don't use _M_wfile for
	stdio model.
	* acinclude.m4 (GLIBCPP_ENABLE_CSTDIO): Enable wchar_t
	instantiations for stdio model.

From-SVN: r40140
2001-03-01 00:37:18 +00:00
Benjamin Kosnik
f04885d3c8 Makefile.in (check-c++): Use tabs, not spaces.
2001-02-28  Benjamin Kosnik  <bkoz@redhat.com>
            Alexandre Oliva  <aoliva@redhat.com>

	* Makefile.in (check-c++): Use tabs, not spaces.

Co-Authored-By: Alexandre Oliva <aoliva@redhat.com>

From-SVN: r40139
2001-02-28 23:30:26 +00:00
DJ Delorie
d676911f34 m68k.h (MOVE_BY_PIECES_P): Avoid pushing bytes, since that doesn't work the way gcc wants on a generic m68k.
* config/m68k/m68k.h (MOVE_BY_PIECES_P): Avoid pushing bytes,
since that doesn't work the way gcc wants on a generic m68k.

From-SVN: r40138
2001-02-28 17:54:22 -05:00
Richard Henderson
d448e3e958 caller-save.c (save_call_clobbered_regs): Fix typo in comparison last change.
* caller-save.c (save_call_clobbered_regs): Fix typo in
        comparison last change.

From-SVN: r40136
2001-02-28 13:32:54 -08:00
Phil Edwards
5e3cbe0b4b acinclude.m4 (GLIBCPP_CONFIGURE): Remove GLIBCPP_CFLAGS and GLIBCPP_CXXFLAGS as unused variables.
2001-02-28  Phil Edwards  <pme@sources.redhat.com>

	* acinclude.m4 (GLIBCPP_CONFIGURE):  Remove GLIBCPP_CFLAGS
	  and GLIBCPP_CXXFLAGS as unused variables.
	* configure.host:  Likewise.
	* configure.target:  Likewise.
	* aclocal.m4:  Regenerated.
	* configure:  Regenerated.
	* Makefile.in:  Regenerated.
	* libio/Makefile.in:  Regenerated.
	* libmath/Makefile.in:  Regenerated.
	* libsupc++/Makefile.in:  Regenerated.
	* src/Makefile.in:  Regenerated.

From-SVN: r40135
2001-02-28 18:42:47 +00:00
Jan Hubicka
b4e89e2d67 i386.c (pentium4_cost): New.
* i386.c (pentium4_cost): New.
	(m_PENT4): New macro.
	(x86_push_memory, x86_movx,x86_cmove, x86_deep_branch, x86_use_sahf
	x86_sub_esp_4, x86_sub_esp_8, x86_add_esp_4, x86_add_esp_8
	x86_integer_DFmode_moves, x86_partial_reg_dependency,
	x86_memory_mismatch_stall): Add Pentium4
	(x86_use_q_reg, x86_use_any_reg): Kill.
	(override_options): Add pentium4.
	(incdec_operand): Return 0 for pentium4.
	(ix86_issue_rate): Add PROCESSOR_PENTIUM4 and PROCESSOR_ATHLON.
	* i386.h (x86_use_q_reg, x86_use_any_reg): Kill.
	(TARGET_PENTIUM4): Define.
	(enum processor_type): Add PROCESSOR_PENTIUM4.
	(CPP_CPU_DEFAULT_SPEC): Add pentium4 support.
	* i386.md (attribute "cpu"): Add pentium4.
	* invoke.texi (march): Add pentium4.

From-SVN: r40134
2001-02-28 18:34:35 +00:00
Jan Hubicka
0073023dde i386.md (sse_mov?fcc*): New patterns and splitters.
* i386.md (sse_mov?fcc*): New patterns and splitters.
	* i386.c (ix86_expand_movcc): Work post-reload; recognize
	the SSE based conditional moves.

From-SVN: r40133
2001-02-28 18:29:14 +00:00
Jan Hubicka
2b04e52b0b i386.md (attribute mode): Add "TI".
* i386.md (attribute mode): Add "TI".
	(movsf_1): Add pxor support; remove constant propagation splitter.
	(movdf_integer): Likewise.
	(movdf_nointeger): Likewise.
	(movxf constant prop splitter): Handle all modes; update for SSE.
	* i386.h (CONST_DOUBLE_OK_FOR_LETTER): Add 'H' for SSE constants.
	* i386.c (standard_80387_constant_p): Rewrite.
	(standard_sse_constant_p): New.
	* i386-protos.h (standard_sse_constant_p): New.

From-SVN: r40132
2001-02-28 18:19:23 +00:00
Jan Hubicka
a46d1d38ae i386.md (sse_setccsf, [...]): New.
* i386.md (sse_setccsf, sse_setccdf): New.
	(sse_cmp* patterns): Use '%D' instead of outputtting condition
	flag directly.
	* i386.c (sse_comparison_operator): Accept the supported unordered
	comparses; be ready for fast_math.
	(print_operand): Support 'D'.

From-SVN: r40131
2001-02-28 18:07:05 +00:00
Jan Hubicka
91afe94118 * jump.c (reversed_comparison_code): Kill.
From-SVN: r40130
2001-02-28 17:55:53 +00:00
Jan Hubicka
5274639a7c Undo the accidental checkin :(
From-SVN: r40129
2001-02-28 17:53:35 +00:00
Jan Hubicka
6f45f00591 toplev.c (rest_of_compilation): Do post-reload splitting unconditionally for STACK_REGS
* toplev.c (rest_of_compilation): Do post-reload splitting unconditionally
	for STACK_REGS

From-SVN: r40128
2001-02-28 17:52:30 +00:00
Jan Hubicka
c679d0489a i386.md (sse_andti3, [...]): Add SSE2 versions; add missing '%' in constraints.
* i386.md (sse_andti3, sse_nandti_3, sse_xorti3): Add SSE2 versions;
	add missing '%' in constraints.

From-SVN: r40127
2001-02-28 17:49:37 +00:00
Ovidiu Predescu
11014a3b38 objc-features.texi: Document the @compatibility_alias compiler directive (description from Nicola...
2001-02-28  Ovidiu Predescu  <ovidiu@cup.hp.com>

	* objc-features.texi: Document the @compatibility_alias compiler
	directive (description from Nicola Pero <n.pero@mi.flashnet.it>).

From-SVN: r40126
2001-02-28 17:17:09 +00:00
Ovidiu Predescu
2e226581cb Document the @compatibility_alias compiler directive (description from
Nicola Pero <n.pero@mi.flashnet.it>).

From-SVN: r40125
2001-02-28 17:16:17 +00:00
Ovidiu Predescu
25ad894fba bycopy-3.m: Added new test from Nicola Pero.
2001-02-28  Ovidiu Predescu  <ovidiu@cup.hp.com>

	* objc/execute/bycopy-3.m: Added new test from Nicola Pero.

	* objc/execute/protocol.m (main): Added patch from Nicola Pero.

From-SVN: r40124
2001-02-28 17:08:09 +00:00
Ovidiu Predescu
d291a19abe Added new test from Nicola Pero.
From-SVN: r40123
2001-02-28 17:05:10 +00:00
Ovidiu Predescu
10493d7721 Added.
From-SVN: r40122
2001-02-28 16:58:04 +00:00
Jan Hubicka
4ae3100368 c-common.c (build_common_tree_nodes): Build intTI_type_nodes for HOST_BITS_PER_WIDE_INT == 32 too.
* c-common.c (build_common_tree_nodes): Build intTI_type_nodes
	for HOST_BITS_PER_WIDE_INT == 32 too.

From-SVN: r40121
2001-02-28 16:25:05 +00:00
Jan Hubicka
787dc84216 caller-save.c (reg_save_code, [...]): Index by mode, not NREGS.
* caller-save.c (reg_save_code, reg_restore_code):  Index by mode, not
	NREGS.
	(insert_save, insert_restore): New parameter save_mode.
	(init_caller_save): Update initialization of reg_save_code
	and reg_restore_code.
	(save_call_clobbered_regs):  Compute save_modes and update calls to
	reg_save_code and reg_restore_code.
	(insert_restore):  Unsignetize numbers; use save_modes to choose mode
	of spill; update use of reg_restore_code.
	(insert_save):  Likewise.
	* i386.h (HARD_REGNO_CALLER_SAVE_MODE): Update.
	* c4x.h (HARD_REGNO_CALLER_SAVE_MODE): Update.
	* regs.h (HARD_REGNO_CALLER_SAVE_MODE): Likewise.

From-SVN: r40120
2001-02-28 16:24:00 +00:00
Jan Hubicka
dc2698bc26 ifcvt.c (noce_emit_store_flag, [...]): Use reversed_comparison_code instead of reverse_comparison and...
* ifcvt.c (noce_emit_store_flag, noce_try_store_flag_constants,
	noce_try_store_flag_inc, noce_try_store_flag_mask,
	noce_try_cmove_arith):
	Use reversed_comparison_code instead of reverse_comparison and
	can_reverse_comparison_p.

From-SVN: r40119
2001-02-28 16:20:43 +00:00
Jan Hubicka
2450703cc0 jump.c (reversed_comparison_code_parts): Allow reversal of unordered compares in -ffast-math mode...
* jump.c (reversed_comparison_code_parts): Allow reversal of
	unordered compares in -ffast-math mode; reverse ordered compares
	for FP even w/o -ffast-math.

From-SVN: r40118
2001-02-28 16:19:16 +00:00
Nathan Sidwell
e5844e6d39 Remove floating point and complex type template constant parms.
cp:
	Remove floating point and complex type template constant parms.
	* pt.c (convert_nontype_argument): Remove REAL_TYPE and
	COMPLEX_TYPE extensions.
	(invalid_nontype_parm_type_p): Likewise.
testuite:
	* g++.old-deja/g++.ext/realpt1.C: Remove.

From-SVN: r40117
2001-02-28 10:44:05 +00:00