Commit Graph

72460 Commits

Author SHA1 Message Date
GCC Administrator
67c4e19e47 Daily bump.
From-SVN: r108140
2005-12-07 00:17:27 +00:00
Jon Grimm
ad6ed77efd cpplib.h (CPP_N_DFLOAT): New.
* include/cpplib.h (CPP_N_DFLOAT): New.
	* expr.c (interpret_float_suffix): Identify df, dd, and dl
	suffixes as decimal floating point constants.
	(cpp_classify_number): Disallow hexadecimal DFP constants.

Co-Authored-By: Ben Elliston <bje@au.ibm.com>

From-SVN: r108133
2005-12-07 10:13:15 +11:00
Janis Johnson
2b948876d8 * lib/gcc-dg.exp (cleanup-dump): Remove options from test name.
From-SVN: r108129
2005-12-06 20:50:27 +00:00
Geoffrey Keating
9e1700983b * config/darwin.h (TARGET_CXX_CLASS_DATA_ALWAYS_COMDAT): New.
From-SVN: r108128
2005-12-06 20:06:35 +00:00
Aldy Hernandez
d7d9383746 re PR c++/24138 (ICE with the code in PR 20407)
PR C++/24138
        * tree.c (integer_all_onesp): Always return true if all bits on.

        * cp/decl.c (reshape_init_array_1): Handle max_index of -1.

        * testsuite/g++.dg/init/array0.C: New.

From-SVN: r108126
2005-12-06 19:45:00 +00:00
Paolo Carlini
3af22b23b3 basic_string.h (insert(iterator, _CharT), [...]): Avoid troubles with ADL, user defined operators and __normal_iterator.
2005-12-06  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/basic_string.h (insert(iterator, _CharT),
	erase(iterator), erase(iterator, iterator)): Avoid troubles
	with ADL, user defined operators and __normal_iterator.
	* include/bits/stl_iterator.h (operator-(const __normal_iterator
	<_Iterator, _Container>&, const __normal_iterator<_Iterator,
	_Container>&)): Add overload for left and right iterators of
	the same type.
	* include/debug/safe_iterator.h (operator-(const _Safe_iterator
	<_Iterator, _Sequence>&, const _Safe_iterator<_Iterator,
	_Sequence>&)): Likewise.
	* testsuite/21_strings/basic_string/types/1.cc: New.

From-SVN: r108123
2005-12-06 17:19:30 +00:00
Adrian Straetling
d1a4872d76 md.texi: Adapt to implementation.
2005-12-06  Adrian Straetling  <straetling@de.ibm.com>

	  * doc/md.texi: Adapt to implementation.

From-SVN: r108121
2005-12-06 15:15:36 +00:00
Roger Sayle
eda0cd9827 typeck.c (build_binary_op): Issue warning if either operand of a comparison operator is a string literal...
* typeck.c (build_binary_op): Issue warning if either operand of a
	comparison operator is a string literal, except for testing equality
	or inequality against NULL.

	* g++.dg/warn/Wstring-literal-comparison-1.C: New test case.
	* g++.dg/warn/Wstring-literal-comparison-2.C: Likewise.
	* g++.dg/warn/Wstring-literal-comparison-3.C: Likewise.
	* g++.dg/warn/Wstring-literal-comparison-4.C: Likewise.

From-SVN: r108120
2005-12-06 14:05:58 +00:00
Roger Sayle
9116d529f6 re PR c++/25263 (ICE on invalid array bound: int x[1/0];)
PR c++/25263
	* decl.c (compute_array_index_type): Check that itype is an
	INTEGER_CST node before testing/clearing TREE_OVERFLOW.

	* g++.dg/other/array2.C: New test case.

From-SVN: r108119
2005-12-06 14:00:09 +00:00
Joseph Myers
c032882353 * vi.po: Update.
From-SVN: r108117
2005-12-06 13:40:58 +00:00
Andreas Schwab
553fa844fd * opts.c (decode_options): Fix typo in message.
From-SVN: r108115
2005-12-06 11:27:09 +00:00
Alan Modra
fb28435fb7 re PR other/13873 (gcc/longlong.h uses test for PPC)
PR other/13873
	* longlong.h: Merge PPC tests from upstream.

From-SVN: r108110
2005-12-06 20:25:04 +10:30
Richard Guenther
4564b2d2c6 fold-const.c (fold_convert): Do not build and fold CONVERT_EXPR, but always use NOP_EXPR.
2005-12-06  Richard Guenther  <rguenther@suse.de>

	* fold-const.c (fold_convert): Do not build and fold
	CONVERT_EXPR, but always use NOP_EXPR.

From-SVN: r108107
2005-12-06 09:12:50 +00:00
Jan Beulich
1b004b5818 i386.c (builtin_description): Use MASK_SSE2 for __builtin_ia32_paddq and __builtin_ia32_subq.
2005-12-06  Jan Beulich  <jbeulich@novell.com>

	* config/i386/i386.c (builtin_description): Use MASK_SSE2 for
	__builtin_ia32_paddq and __builtin_ia32_subq.
	(ix86_init_mmx_sse_builtins): Use MASK_SSE|MASK_3DNOW_A for
	__builtin_ia32_pshufw.
	* config/i386/i386.md (mmx_adddi3, mmx_subdi3): Depend on TARGET_SSE2.

From-SVN: r108106
2005-12-06 09:07:23 +00:00
James E Wilson
e395963ff6 re PR target/24934 (profilebootstrap failure)
PR target/24934
* opts.c (decode_options): Turn off partitioning if flag_unwind_tables
is set.

From-SVN: r108103
2005-12-05 21:31:39 -08:00
Daniel Berlin
326eda4b25 In gcc/ 2005-12-05 Daniel Berlin <dberlin@dberlin.org>
In gcc/
2005-12-05  Daniel Berlin  <dberlin@dberlin.org>
	
	* print-tree.c (print_node): Ditto.
	* tree-dfa.c (add_referenced_var): Tag's don't have DECL_INITIAL.
	* tree-dump.c (dequeue_and_dump): Check for decl_common structure
	before accessing DECL_ARTIFICIAL. 
	Handle new tag tree codes.
	* tree-flow-inline.h (clear_call_clobbered): Update for tag
	changes.
	(unmodifiable_var_p): Ditto.
	* tree-flow.h (mem_tag_kind): Remove.
	(struct var_ann_d): Remove mem_tag_kind member.
	* tree-gimple.c (is_gimple_reg): Tags are not gimple registers.
	* tree-pretty-print.c (dump_generic_node): Handle memory tags.
	* tree-ssa-alias.c (init_alias_info): Update for memory tag changes.
	(group_aliases): Ditto.
	(setup_pointers_and_addressables): Ditto.
	(is_escape_site): Ditto.					  
	(may_alias_p): Ditto.
	(create_tag_raw): New function.
	(create_memory_tag): Use it.
	(dump_alias_info): Update for tags.
	(may_be_aliased): Ditto.
	(add_type_alias): Ditto.
	(new_type_alias): Ditto.
	(create_sft): Ditto.
	(create_structure_vars): Ditto.
	* tree-ssa-ccp.c (get_default_value): Ditto.
	* tree-ssa-operands.c (get_expr_operands): Ditto.
	(add_stmt_operand): Ditto.
	(add_call_clobber_ops): Remove duplicated condition.
	* tree-ssa.c (verify_flow_insensitive_alias_info): Update for
	tags.
	* tree-tailcall.c (suitable_for_tail_opt_p): Ditto.
	* tree-vect-transform.c (vect_create_data_ref_ptr): Ditto.
	* tree.c (init_ttree): Update structures for new tree codes.
	(tree_code_size): Update sizes for new tree codes.
	(make_node_stat): Don't try to set common things on minimal
	structures.
	(tree_node_structure): Update for tags.
	(is_global_var): Ditto.
	* tree.def: Add new tree codes.
	* tree.h (MTAG_P): New macro.
	(TREE_MEMORY_TAG_CHECK): Ditto.
	(SSA_VAR_P): Update for tags.
	(struct tree_memory_tag): New structure.
	(MTAG_GLOBAL): New macro.
	(union tree_node): Add memory tag member.
	* treestruct.def (TS_MEMORY_TAG): New.

In gcc/cp

2005-12-05  Daniel Berlin  <dberlin@dberlin.org>

	* ptree.c (cxx_print_decl): Update to check for decl_common
	structure.

From-SVN: r108102
2005-12-06 04:22:11 +00:00
Tom Tromey
45c76dbb43 parse.y (patch_new_array_init): Don't set length on array.
gcc/java:
	* parse.y (patch_new_array_init): Don't set length on array.
libjava:
	* testsuite/libjava.compile/rh174912.java: New file.

From-SVN: r108099
2005-12-06 02:30:11 +00:00
GCC Administrator
409e35fadc Daily bump.
From-SVN: r108086
2005-12-06 00:17:34 +00:00
Dale Johannesen
3287a0401c re PR target/24323 (_MM_TRANSPOSE4_PS could be improved)
2005-12-05  Dale Johannesen  <dalej@apple.com>

        * config/i386/xmmintrin.h (_MM_TRANSPOSE4_PS):  Fix to match
        what was approved (PR 24323).

From-SVN: r108080
2005-12-05 23:04:28 +00:00
Gabriel Dos Reis
0499d0accb c-tree.texi (Function Bodies): Remove description of RETURN_INIT.
* doc/c-tree.texi (Function Bodies): Remove description of
        RETURN_INIT.

From-SVN: r108078
2005-12-05 22:21:29 +00:00
Joseph Myers
a3f9ee6316 libgcc.texi (__floatunsisf, [...]): Document.
* doc/libgcc.texi (__floatunsisf, __floatunsidf, __floatunsitf,
	__floatunsixf, __floatundisf, __floatundidf, __floatunditf,
	__floatundixf, __floatuntisf, __floatuntidf, __floatuntitf,
	__floatuntixf, __powisf2, __powidf2, __powixf2, __mulsc3,
	__muldc3, __multc3, __mulxc3, __divsc3, __divdc3, __divtc3,
	__divxc3): Document.

From-SVN: r108077
2005-12-05 21:48:17 +00:00
Geoffrey Keating
0f9bc2d6bf Index: gcc/ChangeLog
2005-12-05  Geoffrey Keating  <geoffk@apple.com>

	* config/darwin.c (machopic_select_section): It's not defined
	as weak if it's only marked as weak_import.
	
Index: gcc/testsuite/ChangeLog
2005-12-05  Geoffrey Keating  <geoffk@apple.com>

	* gcc.dg/darwin-weakimport-3.c: New.

From-SVN: r108076
2005-12-05 21:38:27 +00:00
Geoffrey Keating
a9b0b82578 Index: gcc/ChangeLog
2005-12-05  Geoffrey Keating  <geoffk@apple.com>

	* varasm.c (default_binds_local_p_1): Weakrefs don't bind locally.
	A hidden weak object does bind locally.  Strong linkonce data
	counts like any other strong symbol for binding.
	(weak_finish_1): Don't specially handle weakrefs, they no longer
	arrive here.
	(assemble_alias): Weakrefs can't be TREE_PUBLIC yet.
	* c-common.c (handle_alias_attribute): Allow static aliases
	of variables.
	(handle_weakref_attribute): Don't call declare_weak on weakrefs.
	* gthr-dce.h: Make weakrefs static.
	* gthr-tpf.h: Likewise.
	* gthr-solaris.h: Likewise.
	* gthr-posix.h: Likewise.
	* gthr-posix95.h: Likewise.
	* config/darwin.c (darwin_encode_section_info): static weakref
	variables are not necessarily defined in this translation unit.
	* doc/extend.texi (Function Attributes): Mention that an alias
	attribute creates a definition for the thing it's attached to.
	Change the documentation for weakref to say that the thing
	it's attached to must be static.

Index: gcc/testsuite/ChangeLog
2005-12-05  Geoffrey Keating  <geoffk@apple.com>

	* g++.old-deja/g++.abi/vtable2.C: Make weakrefs static.
	* gcc.dg/attr-weakref-1.c: Modify to not try to test public weakrefs,
	and to work on Darwin.
	* gcc.dg/attr-weakref-1b.c: New file.
	* gcc.dg/attr-weakref-2.c: New test.
	* gcc.dg/darwin-weakref-1.c: New test.

From-SVN: r108074
2005-12-05 20:38:37 +00:00
Geoffrey Keating
68e58c3346 host-darwin.c (segv_handler): Unblock SEGV so we don't go into an infinite loop.
* config/rs6000/host-darwin.c (segv_handler): Unblock SEGV so
	we don't go into an infinite loop.

From-SVN: r108070
2005-12-05 19:37:11 +00:00
Janis Johnson
c44ca1626c re PR testsuite/25247 (syntax error in target selector for gcc.dg/torture/fp-int-convert-float128-timode.c)
PR testsuite/25247
	* lib/target-supports-dg.exp (dg-skip-if): Fix target selector for
	use in selector expressions.
	(dg-xfail-if): Ditto.
	* gcc.test-framework/dg-dot-run-sif-exp-P.c: New test.
	* gcc.test-framework/dg-dot-run-sif-exp-U.c: New test.
	* gcc.test-framework/dg-dot-run-xif-exp-P.c: New test.
	* gcc.test-framework/dg-dot-run-xif-exp-XP.c: New test.
	* gcc.test-framework/test-framework.exp: Skip generated tests if
	CHECK_TEST_FRAMEWORK is not 1.

From-SVN: r108069
2005-12-05 19:06:11 +00:00
Eric Botcazou
6ef6ea5ea2 re PR tree-optimization/24963 (gcc.dg/vect/vect-62.c scan-tree-dump-times not vectorized: redundant loop. no profit to vectorize. 1 fails)
PR tree-optimization/24963
	* gcc.dg/vect/vect-62.c: Remove outdated dg-line.

	PR target/24108
	* gcc.dg/vect/vect-76.c: Do not XFAIL on vect_no_align platforms.

	PR target/18580
	* gcc.dg/vect/vect-reduc-1char.c: XFAIL on vect_no_int_max platforms.
	* gcc.dg/vect/vect-reduc-2short.c: Likewise.
	* gcc.dg/vect/vect-reduc-1short.c: Likewise.
	* gcc.dg/vect/vect-reduc-2char.c: Likewise.

From-SVN: r108067
2005-12-05 18:53:04 +00:00
Paolo Bonzini
410c459d48 predicates.md (logical_const_operand): Split out of logical_operand.
2005-12-05  Paolo Bonzini  <bonzini@gnu.org>

        * config/rs6000/predicates.md (logical_const_operand): Split
        out of logical_operand.
        (logical_operand): Use it.
        * config/rs6000/rs6000.md (cmp -> xor peephole2): Use
        logical_const_operand.

From-SVN: r108065
2005-12-05 17:20:49 +00:00
Paolo Carlini
afe6d70550 sso_string_base.h (__sso_string_base<>::_M_assign): Simplify, avoid pointless reallocations.
2005-12-05  Paolo Carlini  <pcarlini@suse.de>

	* include/ext/sso_string_base.h (__sso_string_base<>::_M_assign):
	Simplify, avoid pointless reallocations.

From-SVN: r108063
2005-12-05 16:39:18 +00:00
Richard Guenther
53917868b8 utils.c (convert): Use fold_convert where appropriate.
2005-12-05  Richard Guenther  <rguenther@suse.de>

	* utils.c (convert): Use fold_convert where appropriate.

From-SVN: r108061
2005-12-05 16:24:47 +00:00
Paolo Bonzini
2abefe3d99 configure.in (CONFIGURED_BISON, [...]): Remove "CONFIGURED_" from the AC_CHECK_PROGS invocation.
toplevel:
2005-12-05  Paolo Bonzini  <bonzini@gnu.org>

	* configure.in (CONFIGURED_BISON, CONFIGURED_YACC, CONFIGURED_M4,
	CONFIGURED_FLEX, CONFIGURED_LEX, CONFIGURED_MAKEINFO): Remove
	"CONFIGURED_" from the AC_CHECK_PROGS invocation.  Move below.
	Find in-tree tools if available.
	(EXPECT, RUNTEST, LIPO, STRIP): Find them and substitute them.
	(CONFIGURED_*_FOR_TARGET): Don't set nor substitute.
	(*_FOR_TARGET): Set them with GCC_TARGET_TOOL.
	(COMPILER_*_FOR_TARGET): New.
	* Makefile.tpl (HOST_EXPORTS): Add *_FOR_TARGET symbols that gcc needs.
	(BASE_TARGET_EXPORTS): Use COMPILER_*_FOR_TARGET symbols.
	(CONFIGURED_*, USUAL_*): Remove.
	(BISON, YACC, FLEX, LEX, M4, MAKEINFO, EXPECT, RUNTEST, LIPO,
	STRIP): Use autoconf substitutions.
	(COMPILER_AS_FOR_TARGET, COMPILER_LD_FOR_TARGET,
	COMPILER_NM_FOR_TARGET): New.
	(EXTRA_HOST_FLAGS): Pass LIPO and STRIP.

	(all): Make all-host and all-target in parallel.
	(do-[+make_target+], do-check, install, [+compare-target+]): Ensure
	that $$r and $$s are set before invoking a recursive make.
	(stage[+id+]-bubble): Likewise, and invoke the comparison at the end.
	([+bootstrap-target+]): Inline most of the `all' target.

config:
2005-12-05  Paolo Bonzini  <bonzini@gnu.org>

        * acx.m4 (GCC_TARGET_TOOL): New.

From-SVN: r108059
2005-12-05 15:00:27 +00:00
Paolo Bonzini
40077270f8 Makefile.in (FLAGS_TO_PASS): Add GCC_FOR_TARGET.
libada:
2005-12-05  Paolo Bonzini  <bonzini@gnu.org>

	* Makefile.in (FLAGS_TO_PASS): Add GCC_FOR_TARGET.

gcc/ada:
2005-12-05  Paolo Bonzini  <bonzini@gnu.org>

        * Makefile.in (gnatlib): Fix regex, using \. instead of . when
	a period is meant.

From-SVN: r108058
2005-12-05 14:40:27 +00:00
Richard Guenther
25637db27c treetree.c (tree_code_if_start, [...]): Use fold_convert where appropriate.
2005-12-05  Richard Guenther  <rguenther@suse.de>

	* treetree.c (tree_code_if_start, tree_code_create_variable,
	tree_code_generate_return, tree_code_get_expression,
	tree_code_add_parameter): Use fold_convert where appropriate.

From-SVN: r108051
2005-12-05 10:01:06 +00:00
Jan Beulich
4501d314f2 i386.c (enum ix86_builtins): Remove IX86_BUILTIN_CMPNEPS and IX86_BUILTIN_CMPNESS.
2005-12-05  Jan Beulich  <jbeulich@novell.com>

	* config/i386/i386.c (enum ix86_builtins): Remove IX86_BUILTIN_CMPNEPS
	and IX86_BUILTIN_CMPNESS.
	(ix86_init_mmx_sse_builtins): Remove ti_ftype_ti_ti.
	* config/i386/i386.h (ALIGN_MODE_128): Don't check TFmode explicitly.
	* config/i386/i386.md (movti_internal): Correct type attribute.
	Simplify mode attribute.
	(movti_rex64, movsf_1, movdf_nointeger, movdf_integer, movtf_internal):
	Correct type attribute.
	(absxf2): Correct operator.
	* config/i386/mmx.md (mov<mode>_internal_rex64, mov<mode>_internal,
	movv2sf_internal_rex64, movv2sf_internal): Correct type attribute.
	* config/i386/sse.md (mov<mode>_internal, movv2df_internal): Simplify
	mode attribute.
	(sse2_vmsqrtv2df2): Correct mode attribute.

From-SVN: r108048
2005-12-05 08:44:17 +00:00
Jan Beulich
51094457ec ia64.md (rotlsi3_internal): Don't split if rotating by 16 bits.
2005-12-05  Jan Beulich  <jbeulich@novell.com>

	* config/ia64/ia64.md (rotlsi3_internal): Don't split if rotating by
	16 bits. Provide insn pattern for this case.

From-SVN: r108047
2005-12-05 08:38:20 +00:00
Jan Beulich
4000debbd3 libgcc2.c (__popcountSI2): Don't use wide type for iterator and result.
2005-12-05  Jan Beulich  <jbeulich@novell.com>

	* libgcc2.c (__popcountSI2): Don't use wide type for iterator and
	result.
	(__popcountDI2): Likewise.

From-SVN: r108046
2005-12-05 08:34:25 +00:00
Jakub Jelinek
9df6c3295b movq-2.c: Add -mtune=pentium4 to dg-options.
* gcc.target/i386/movq-2.c: Add -mtune=pentium4 to
	dg-options.

From-SVN: r108042
2005-12-05 08:46:40 +01:00
John David Anglin
7db0cc7eb2 re PR target/25166 (FAIL: gcc.c-torture/execute/conversion.c compilation)
PR target/25166
	* pa/pa.c (pa_hpux_init_libfuncs): Add _U_Qfcnvxf_usgl_to_quad and
	_U_Qfcnvxf_udbl_to_quad to set of initialized libfuncs.
	* pa/quadlib.c (_U_Qfcnvxf_usgl_to_quad, _U_Qfcnvxf_udbl_to_quad): New
	functions.

From-SVN: r108039
2005-12-05 03:23:37 +00:00
Paolo Carlini
56540d20c2 sso_string_base.h (__sso_string_base<>::_M_reserve): Simplify.
2005-12-04  Paolo Carlini  <pcarlini@suse.de>

	* include/ext/sso_string_base.h (__sso_string_base<>::_M_reserve):
	Simplify.

From-SVN: r108036
2005-12-05 01:57:59 +00:00
Paolo Carlini
cf8829194f vstring.h (__versa_string<>::operator+, [...]): Move out of line...
2005-12-04  Paolo Carlini  <pcarlini@suse.de>

	* include/ext/vstring.h (__versa_string<>::operator+, all
	versions): Move out of line...
	* include/ext/vstring.tcc (__versa_string<>::operator+): ...
	here; consistently use reserve for the benefit of sso_string_base;
	prefer push_back to single-char append when appropriate.

	* include/ext/vstring.h (__versa_string<>::push_back): Don't
	call _M_reserve, _M_mutate instead.
	(reserve): Just forward to _M_reserve.
	* include/ext/vstring.tcc (__versa_string<>::_M_reserve): Remove.
	* include/ext/rc_string_base.h (__rc_string_base<>::_M_reserve): Also
	do the initial checks (first on length, in case __res == capacity).
	* include/ext/sso_string_base.h (__sso_string_base<>::_M_reserve:
	Likewise; don't call _M_set_length unnecessarily.

2005-12-04  Paolo Carlini  <pcarlini@suse.de>

	* include/ext/vstring.h (__versa_string<>::_M_append): New.
	(append(const __versa_string&), append(const __versa_string&,
	size_type, size_type), append(const _CharT*, size_type),
	append(const _CharT*)): Use it.
	(append(size_type, _CharT)): Delegate to _M_replace_aux.
	(assign(const __versa_string&, size_type, size_type),
	assign(const _CharT*), replace(size_type, size_type,
	const _CharT*, size_type)): Forward to _M_replace.
	* include/ext/vstring.tcc (__versa_string<>::_M_append):
	Define, core append functionality.
	(_M_replace): Simplify, move __s == 0 case to _M_replace_aux.
	(_M_replace_aux): Reorganize, don't call _M_replace.

2005-12-04  Paolo Carlini  <pcarlini@suse.de>

	* include/ext/vstring.tcc (__versa_string<>::_M_replace):
	Perform _M_check_length at the beginning and remove it from ...
	(replace, _M_replace_dispatch, _M_replace_aux, assign): ... here.
	(assign): Now move inline.
	(resize): Don't call _M_check_length redundantly, append does.

2005-12-04  Paolo Carlini  <pcarlini@suse.de>

	* include/ext/sso_string_base.h (__sso_string_base<>::_M_get_allocator):
	Add non const version.
	* include/ext/rc_string_base.h (__rc_string_base<>::_M_get_allocator):
	Likewise.
	
	* include/ext/sso_string_base.h (__sso_string_base<>::_M_erase): Add.
	* include/ext/rc_string_base.h (__rc_string_base<>::_M_erase): Likewise.
	(_M_leak_hard): Use it.
	* include/ext/vstring.h (__versa_string<>::clear, erase, all
	versions): Use it.
	* include/ext/vstring.tcc (__versa_string<>::resize): Likewise.

	* include/ext/vstring.h (__versa_string<>::_M_replace_safe):
	Remove.
	* include/ext/vstring.h (__versa_string<>::_M_replace): New, does
	the in-place work or delegates to _M_mutate in case of reallocation.
	* include/ext/vstring.tcc (__versa_string<>::_M_replace_safe):
	Remove.
	* include/ext/vstring.tcc (__versa_string<>::_M_replace): Define.
	(assign, replace, _M_replace_dispatch, _M_replace_aux): Use it.
	* include/ext/sso_string_base.h (__sso_string_base<>::_M_mutate):
	Change to manage only reallocations.
	* include/ext/rc_string_base.h (__rc_string_base<>::_M_mutate):
	Likewise.

	* include/ext/vstring.h (__versa_string<>::insert(size_type,
	const __versa_string&), insert(size_type, const __versa_string&,
	size_type, size_type), insert(size_type, const _CharT*, size_type),
	insert(size_type, const _CharT*)): Delegate to replace.

	* include/ext/vstring.h (__versa_string<>::reserve): Move out of
	line.
	* include/ext/vstring.tcc (__versa_string<>::reserve): Do the
	checks and call _M_reserve.
	* include/ext/vstring.h (__versa_string<>::append): Call _M_reserve
	instead of reserve.
	* include/ext/vstring.tcc (__versa_string<>::append, all versions):
	Likewise.
	* include/ext/sso_string_base.h (__sso_string_base<>::_M_reserve):
	Adjust.
	* include/ext/rc_string_base.h (__rc_string_base<>::_M_reserve):
	Likewise.

From-SVN: r108034
2005-12-05 00:32:31 +00:00
GCC Administrator
7343398692 Daily bump.
From-SVN: r108031
2005-12-05 00:17:32 +00:00
Ben Elliston
c01731362e Makefile.in (clean): Remove stray reference to libcpp.a.
* Makefile.in (clean): Remove stray reference to libcpp.a.

	* decimal128.h, decContext.c, decRound.c, decimal32.c,
	decNumber.c, decContext.h, decimal64.c, decimal32.h, decNumber.h,
	decimal64.h, decUtility.c, decLibrary.c, configure.ac,
	decNumberLocal.h, decUtility.h, decDPD.h, decimal128.c: Update FSF
	office address.

From-SVN: r108024
2005-12-05 10:50:48 +11:00
Joseph Myers
6aa3c60d7f c-typeck.c (null_pointer_constant_p): New function.
* c-typeck.c (null_pointer_constant_p): New function.
	(build_conditional_expr, build_c_cast, convert_for_assignment,
	build_binary_op): Use it.

testsuite:
	* gcc.dg/c90-const-expr-5.c, gcc.dg/c99-const-expr-5.c: New tests.

From-SVN: r108022
2005-12-04 23:04:59 +00:00
Joseph Myers
1344f9a318 c-common.c (binary_op_error): Do not allow NOP_EXPR.
* c-common.c (binary_op_error): Do not allow NOP_EXPR.
	(c_common_truthvalue_conversion): Handle NOP_EXPR the same as
	CONVERT_EXPR.
	(check_function_arguments_recurse): Allow both NOP_EXPR and
	CONVERT_EXPR but check conversions preserve precision.
	* c-typeck.c (pointer_diff): Allow both NOP_EXPR and CONVERT_EXPR
	but check conversions preserve precision.
	(build_unary_op): Don't allow NOP_EXPR.  Use gcc_unreachable () in
	default case.

testsuite:
	* gcc.dg/format/cast-1.c: New test.

From-SVN: r108020
2005-12-04 21:45:41 +00:00
Roger Sayle
d77314ece6 re PR c/7776 (const char* p = "foo"; if (p == "foo") ... is compiled without warning!)
PR c/7776
	* doc/invoke.texi: Document new -Wstring-literal-comparison option.

From-SVN: r108019
2005-12-04 19:58:37 +00:00
Roger Sayle
e994a705a9 re PR c/7776 (const char* p = "foo"; if (p == "foo") ... is compiled without warning!)
PR c/7776
	* common.opt (Wstring-literal-comparison): New command line option.
	* c-opts.c (c_common_handle_option): Set it with -Wall.
	* c-typeck.c (parser_build_binary_op): Issue warning if either
	operand of a comparison operator is a string literal, except for
	testing equality or inequality against NULL.

	* doc/invoke.texi: Document new -Wstring-literal-comparison option.

	* gcc.dg/Wstring-literal-comparison-1.c: New test case.
	* gcc.dg/Wstring-literal-comparison-2.c: Likewise.
	* gcc.dg/Wstring-literal-comparison-3.c: Likewise.
	* gcc.dg/Wstring-literal-comparison-4.c: Likewise.

From-SVN: r108018
2005-12-04 19:56:47 +00:00
Francois-Xavier Coudert
93af36c5c1 format.c: Removing unused code.
* io/format.c: Removing unused code.
	* intrinsics/random.c: Likewise.

From-SVN: r108014
2005-12-04 18:13:59 +00:00
GCC Administrator
0954310ff3 Daily bump.
From-SVN: r108007
2005-12-04 00:17:29 +00:00
Joseph Myers
4c7a6c1bdb c-common.c (c_sizeof_or_alignof_type): Use fold_convert instead of building a NOP_EXPR.
* c-common.c (c_sizeof_or_alignof_type): Use fold_convert instead
	of building a NOP_EXPR.
	(c_alignof_expr): Likewise.  Handle CONVERT_EXPR the same as
	NOP_EXPR.
	* c-convert.c (convert): Use fold_convert instead of building
	NOP_EXPRs and CONVERT_EXPRs directly.  Don't special case
	c_objc_common_truthvalue_conversion returning a NOP_EXPR.  Remove
	#if 0 code.
	* c-pretty-print.c (pp_c_cast_expression, pp_c_expression): Handle
	NOP_EXPR the same as CONVERT_EXPR.
	* c-typeck.c (build_function_call): Use fold_convert instead of
	building a NOP_EXPR directly.
	(build_compound_expr): Handle NOP_EXPR the same as CONVERT_EXPR.

testsuite:
	* gcc.dg/cast-pretty-print-1.c: New test.

From-SVN: r108001
2005-12-03 18:58:43 +00:00
Francois-Xavier Coudert
a34a91f0b7 re PR fortran/25106 ([4.0/4.1] statement label is zero)
PR fortran/25106
	* parse.c (next_free): Use new prototype for gfc_match_st_label.
	Correctly emit hard error if a label is zero.
	* match.c (gfc_match_st_label): Never allow zero as a valid
	label.
	(gfc_match, gfc_match_do, gfc_match_goto): Use new prototype for
	gfc_match_st_label.
	* primary.c (): Use new prototype for gfc_match_st_label.
	* io.c (): Likewise.
	* match.h: Likewise.

From-SVN: r107999
2005-12-03 15:32:04 +00:00
Alan Modra
1b2bb2edfa typo fix
From-SVN: r107993
2005-12-03 15:01:16 +10:30