Commit Graph

59774 Commits

Author SHA1 Message Date
Giovanni Bajo dd29d26b24 re PR c++/8211 (-Weffc++ warns about copyable classes with func ptr members)
PR c++/8211
	PR c++/16165
	* class.c (check_field_decls): Improve -Weffc++ warning: do not
	warn for pointers to functions/members, or for classes without
	destructors.

	PR c++/8211
	PR c++/16165
	* g++.dg/warn/effc3.C: New test.

From-SVN: r84338
2004-07-09 00:59:05 +00:00
Kaz Kojima 45dc67b726 sh.c (sh_va_arg): Initinalize lab_over.
* config/sh/sh.c (sh_va_arg): Initinalize lab_over.
	* config/sh/sh.h (CONST_OK_FOR_J16): Use parentheses.
	(MODE_AFTER): Add cast appropriately.
	* config/sh/sh.md (movdi splitter): Likewise.
	(casesi_worker_2): Add const qualifier appropriately.
	(eh_return): Remove unused variable.
	(insv): Initialize v;

From-SVN: r84337
2004-07-09 00:47:47 +00:00
Richard Henderson 9d6bb56678 mmix-protos.h (mmix_expand_builtin_va_arg): Remove.
* config/mmix/mmix-protos.h (mmix_expand_builtin_va_arg): Remove.
        * config/mmix/mmix.c (TARGET_GIMPLIFY_VA_ARG_EXPR): New.
        (mmix_gimplify_va_arg_expr): Rewrite from mmix_expand_builtin_va_arg.
        * config/mmix/mmix.h (EXPAND_BUILTIN_VA_ARG): Remove.
        (FRAME_POINTER_REQUIRED): Use current_function_has_nonlocal_label.

From-SVN: r84336
2004-07-08 17:29:14 -07:00
Richard Henderson 4e15608a31 m32r-protos.h (m32r_va_arg): Remove.
* config/m32r/m32r-protos.h (m32r_va_arg): Remove.
        * config/m32r/m32r.c (TARGET_GIMPLIFY_VA_ARG_EXPR): New.
        (m32r_gimplify_va_arg_expr): Rewrite from m32r_va_arg.
        * config/m32r/m32r.h (EXPAND_BUILTIN_VA_ARG): Remove.

From-SVN: r84335
2004-07-08 17:19:25 -07:00
GCC Administrator 3bc0b10f9d Daily bump.
From-SVN: r84333
2004-07-09 00:16:13 +00:00
Richard Henderson fcdfad4233 iq2000-protos.h (iq2000_va_arg): Remove.
* config/iq2000/iq2000-protos.h (iq2000_va_arg): Remove.
        * config/iq2000/iq2000.c (TARGET_GIMPLIFY_VA_ARG_EXPR): New.
        (iq2000_gimplify_va_arg_expr): Rewrite from iq2000_va_arg.
        * config/iq2000/iq2000.h (EXPAND_BUILTIN_VA_ARG): Remove.

From-SVN: r84330
2004-07-08 17:02:54 -07:00
Richard Henderson 28cb76675e frv-protos.h (frv_expand_builtin_va_arg): Remove.
* config/frv/frv-protos.h (frv_expand_builtin_va_arg): Remove.
        * config/frv/frv.c (TARGET_GIMPLIFY_VA_ARG_EXPR): New.
        (frv_gimplify_va_arg_expr): Rewrite from frv_expand_builtin_va_arg.
        * config/frv/frv.h (EXPAND_BUILTIN_VA_ARG): Remove.

From-SVN: r84329
2004-07-08 16:53:14 -07:00
David Billinghurst c6db08cd56 f77-edit-i-in.f: Copy from g77.dg and change X to 1X in format.
2004-07-09  David Billinghurst (David.Billinghurst@riotinto.com)

	* gfortran.dg/g77/f77-edit-i-in.f: Copy from g77.dg and
	change X to 1X in format.
	* gfortran.dg/g77/20010216-1.f:  Copy from g77.dg and
	add data statements to conform to standard.

From-SVN: r84328
2004-07-08 23:43:13 +00:00
Richard Henderson 8d05a22ef2 i860-protos.h (i860_va_arg): Remove.
* config/i860/i860-protos.h (i860_va_arg): Remove.
        * config/i860/i860.c (TARGET_GIMPLIFY_VA_ARG_EXPR): New.
        (i860_gimplify_va_arg_expr): Rewrite from i860_va_arg.
        * config/i860/i860.h (EXPAND_BUILTIN_VA_ARG): Remove.

From-SVN: r84327
2004-07-08 16:37:00 -07:00
David Billinghurst e423d0f6c9 f77-edit-s-out.f: Copy from g77.dg.
2004-07-09  David Billinghurst (David.Billinghurst@riotinto.com)

	* gfortran.dg/g77/f77-edit-s-out.f: Copy from g77.dg. XFAIL
	* gfortran.dg/g77/f77-edit-t-in.f: Likewise
	* gfortran.dg/g77/f77-edit-x-out.f: Likewise

From-SVN: r84326
2004-07-08 23:36:52 +00:00
David Billinghurst 1555fc861a 7388.f: Copy from g77.dg
2004-07-09  David Billinghurst (David.Billinghurst@riotinto.com)

	* gfortran.dg/g77/7388.f: Copy from g77.dg
	* gfortran.dg/g77/f77-edit-i-out.f: Likewise
	* gfortran.dg/g77/f77-edit-apostrophe-out.f: Likewise
	* gfortran.dg/g77/f77-edit-slash-out.f: Likewise
	* gfortran.dg/g77/f77-edit-colon-out.f: Likewise
	* gfortran.dg/g77/f77-edit-t-out.f: Likewise
	* gfortran.dg/g77/f77-edit-h-out.f: Likewise
	* gfortran.dg/g77/strlen0.f: Likewise

From-SVN: r84325
2004-07-08 23:29:43 +00:00
David Billinghurst e726a6f679 gfortran-dg.exp: New file (adapted from lib/g77-dg.exp)
2004-07-09   David Billinghurst (David.Billinghurst@riotinto.com)

	* lib/gfortran-dg.exp: New file (adapted from lib/g77-dg.exp)
	* gfortran.dg/dg.exp: New file (adapted from g77.dg/dg.exp)

From-SVN: r84324
2004-07-08 23:12:47 +00:00
Aaron W. LaFramboise 6a25777816 system.h: Prototype getpagesize if missing.
* system.h: Prototype getpagesize if missing.
	* configure.ac: Add getpagesize to gcc_AC_CHECK_DECLS.
	* configure: Regenerate.
	* config.in: Regenerate.

From-SVN: r84323
2004-07-08 16:05:29 -07:00
Richard Henderson 0196fbb3c3 fr30-protos.h (fr30_va_arg): Remove.
* config/fr30/fr30-protos.h (fr30_va_arg): Remove.
        * config/fr30/fr30.c (TARGET_GIMPLIFY_VA_ARG_EXPR): New.
        (fr30_gimplify_va_arg_expr): New.
        (fr30_pass_by_reference, fr30_pass_by_value, fr30_va_arg): Remove.
        * config/fr30/fr30.h (EXPAND_BUILTIN_VA_ARG): Remove.

From-SVN: r84322
2004-07-08 15:38:18 -07:00
Richard Henderson 062fff1bad cris-protos.h (cris_expand_builtin_va_arg): Remove.
* config/cris/cris-protos.h (cris_expand_builtin_va_arg): Remove.
        * config/cris/cris.c (TARGET_GIMPLIFY_VA_ARG_EXPR): New.
        (cris_gimplify_va_arg_expr): Rewrite from cris_expand_builtin_va_arg.
        * config/cris/cris.h (EXPAND_BUILTIN_VA_ARG): Remove.

From-SVN: r84321
2004-07-08 15:17:48 -07:00
Vladimir Makarov 2d8f9759a2 re PR target/16414 (Gcc 3.4 ICE on valid code)
2004-07-08  Vladimir Makarov  <vmakarov@redhat.com>

	PR target/16414
	* config/ia64/ia64.c (ia64_dfa_new_cycle): Fix typo in comparison
	of asm_noperands result.

From-SVN: r84318
2004-07-08 22:13:40 +00:00
Richard Henderson 083385aae9 builtins.c (ind_gimplify_va_arg_expr): New.
* builtins.c (ind_gimplify_va_arg_expr): New.
        * tree.h (ind_gimplify_va_arg_expr): Declare.
        * config/arc/arc.c (arc_gimplify_va_arg_expr): Use it.

From-SVN: r84317
2004-07-08 15:03:57 -07:00
Jan Beulich b42271d678 expmed.c (extract_bit_field): Correct condition to use vec_extract patterns also on vector elements other...
* expmed.c (extract_bit_field): Correct condition to use vec_extract
        patterns also on vector elements other than the first one.
        * config/i386/i386.md (vec_extractv2df, vec_extractv4sf): Add missing
        break statements.

From-SVN: r84316
2004-07-08 14:52:36 -07:00
John David Anglin 3922b21671 re PR target/16344 (libstdc++'s PCH built by profiledbootstrap does not work with the built compiler)
PR target/16344
	* Makefile.tpl (profiledbootstrap): Build runtime libraries with
	feedback based compiler.
	* Makefile.in: Rebuilt.

From-SVN: r84315
2004-07-08 21:49:44 +00:00
Geoffrey Keating f37f25151b darwin-ldouble.c: Correct reference to the Linnainmaa paper.
* config/rs6000/darwin-ldouble.c: Correct reference
	to the Linnainmaa paper.

From-SVN: r84314
2004-07-08 21:16:17 +00:00
Richard Henderson 99680f9883 arc-protos.h (arc_va_arg): Remove.
* config/arc/arc-protos.h (arc_va_arg): Remove.
        * config/arc/arc.c (TARGET_GIMPLIFY_VA_ARG_EXPR): New.
        (arc_gimplify_va_arg_expr): Rewrite from arc_va_arg.
        * config/arc/arc.h (EXPAND_BUILTIN_VA_ARG): Remove.

From-SVN: r84313
2004-07-08 14:10:16 -07:00
Paolo Carlini b714a4192e gslice.h: Trivial formatting fixes.
2004-07-08  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/gslice.h: Trivial formatting fixes.
	* include/bits/gslice_array.h: Likewise.
	* include/bits/indirect_array.h: Likewise.
	* include/bits/mask_array.h: Likewise.
	* include/bits/slice_array.h: Likewise.
	* include/bits/valarray_after.h: Likewise.
	* include/bits/valarray_array.h: Likewise.
	* include/bits/valarray_before.h: Likewise.
	* include/std/std_valarray.h: Likewise.

From-SVN: r84312
2004-07-08 20:48:04 +00:00
Richard Henderson d222b827dc c4x-protos.h (c4x_va_arg): Remove.
* config/c4x/c4x-protos.h (c4x_va_arg): Remove.
        * config/c4x/c4x.c (TARGET_GIMPLIFY_VA_ARG_EXPR): New.
        (c4x_gimplify_va_arg_expr): Rewrite from c4x_va_arg.
        * config/c4x/c4x.h (EXPAND_BUILTIN_VA_ARG): Remove.

From-SVN: r84311
2004-07-08 13:34:26 -07:00
John David Anglin 09eeca5e30 * pa.md (prefetch_32, prefetch_64): Simplify constraint checks.
From-SVN: r84310
2004-07-08 20:21:00 +00:00
Eric Botcazou ef22126d1b 920428-2.x: Delete.
* gcc.c-torture/execute/920428-2.x: Delete.
	* gcc.c-torture/execute/920501-7.x: Likewise.

From-SVN: r84309
2004-07-08 20:17:01 +00:00
Andreas Krebbel dbe81a8b25 re PR libfortran/16291 (F2003 formatting of Inf /Nan on irix6.5)
PR fortran/16291
	* libgfortran/io/write.c: (write_float): Added length check.
	Remove pointless memset calls.

From-SVN: r84308
2004-07-08 19:58:56 +00:00
Zack Weinberg 36c1b0def4 c-decl.c (static_ctors, [...]): Make static.
* c-decl.c (static_ctors, static_dtors): Make static.
	(pop_file_scope): Call c_common_write_pch and
	cgraph_finalize_compilation_unit here.
	(build_cdtor): Moved here from c-objc-common.c; simplify.
	(c_write_global_declarations_1): Clarify comment.
	(c_write_global_declarations): Close the external scope before
	doing anything else.  Call build_cdtor, cgraph_optimize, and
	mudflap_finish_file here.
	* c-lang.c (finish_file): Don't call c_objc_common_finish_file.
	Clarify comment.
	* c-objc-common.c: No need to include cgraph.h.
	(build_cdtor): Moved to c-decl.c.
	(c_objc_common_finish_file): Delete.
	* c-tree.h: Update to match.
	* objc/objc-act.c (finish_file): Don't call c_objc_common_finish_file.
	(generate_static_references): Set TREE_USED before calling finish_decl.
	Eliminate unnecessary dummy declaration.  Call rest_of_decl_compilation
	on the static_instances_decl.

From-SVN: r84307
2004-07-08 19:50:17 +00:00
Zack Weinberg 5b02f0e004 c-decl.c (pop_scope): Do not set DECL_CONTEXT on file-scope decls when...
* c-decl.c (pop_scope): Do not set DECL_CONTEXT on file-scope
	decls when there is only one input translation unit.
	* langhooks.c (lhd_set_decl_assembler_name): Partially revert
	change of 2004-07-05; do not treat declarations with
	DECL_CONTEXT a TRANSLATION_UNIT_DECL specially.
	* opts.c (cur_in_fname): Delete.
	* opts.h: Likewise.
	* tree.c: Revert changes of 2004-07-05; no special treatment
	for TRANSLATION_UNIT_DECLs.
	* Makefile.in (tree.o): Update dependencies.

From-SVN: r84306
2004-07-08 19:49:08 +00:00
Alexandre Oliva 95bcca4705 Makefile.def (host_modules): Set bootstrap=true for flex.
* Makefile.def (host_modules): Set bootstrap=true for flex.
* Makefile.tpl (all-gcc): Depend on texinfo and flex.
* Makefile.in: Rebuilt.

From-SVN: r84305
2004-07-08 19:45:01 +00:00
Paul Brook 60c9a35baf intrinsic.c (add_sym_4s): New function.
* intrinsic.c (add_sym_4s): New function.
	(add_subroutines): Change gfc_add_sym_? to gfc_add_sym_?s.

From-SVN: r84304
2004-07-08 19:42:26 +00:00
Frank Ch. Eigler 00dcddaaa0 ANSI C conversion, libmudflap specialization, recursion limiting.
2004-07-08  Frank Ch. Eigler  <fche@redhat.com>

	ANSI C conversion, libmudflap specialization, recursion limiting.
	* splay-tree.h (splay_tree_{de,}allocate_fn): Remove allocation_data
	argument and indirection function pointers, update callers.
	(splay_tree_s): Add statistics and recursion control fields
	num_keys, max_depth, depth, rebalance_p.
	* splay-tree.c (splay_tree_splay_helper): Track recursion depth.
	Back out of search if it exceeds limit.
	(splay_tree_splay): Manage recursion limiting with rebalancing as
	needed.
	(splay_tree_new): More initialization.
	(splay_tree_rebalance): New function.
	(splay_tree_foreach): Rewrite using nonrecursive logic.
	(splay_tree_xmalloc_allocate, splay_tree_xmalloc_deallocate):
	Remove.  Point indirect calls to mf-runtime.c's routines.
	(splay_tree_compare_ints, splay_tree_compare_pointers): Remove unused
	functions.
	(splay_tree_delete, splay_tree_delete_helper): Ditto.
	* testsuite/heap-scalestress.c: New test based on one from
	Eyal Lebedinsky <eyal@eyal.emu.id.au>:

From-SVN: r84303
2004-07-08 19:11:44 +00:00
Roger Sayle a32e70c34d builtins.c (fold_builtin_strcpy): Merge functionality from simplify_builtin_strcpy.
* builtins.c (fold_builtin_strcpy): Merge functionality from
	simplify_builtin_strcpy.  Add additional len argument.  No longer
	static.  Remove function prototype.
	(fold_builtin_strncpy): Likewise integrate functionality from
	simplify_builtin_strncpy.  Add additional slen argument.  No
	longer static.  Remove function prototype.
	(simplify_builtin_strcy, simplify_builtin_strncpy): Delete.
	(simplify_builtin_fputs): Rename to fold_builtin_fputs.  Change
	types of "ignore" and "unlocked" parameters to bool.
	(fold_builtin_1):  Add additional ignore argument.  Call renamed
	fold_builtin_fputs to simplify GCC "fputs" and "fputs_unlocked"
	builtins.  Update arguments to fold_builtin_strncpy and
	fold_builtin_strcpy.  Add function prototype.
	(fold_builtin): Add additional Boolean ignore argument to pass
	to fold_builtin_1.
	(simplify_builtin): Call fold_builtin_fputs, fold_builtin_strcpy
	and fold_builtin_strncpy instead of simplify_builtin_fputs,
	simplify_builtin_strcpy and simplify_builtin_strncpy respectively.

	* expr.h (simplify_builtin_fputs, simplify_builtin_strcpy,
	simplify_builtin_strncpy): Delete function prototypes.
	* tree.h (fold_builtin_fputs, fold_builtin_strcpy,
	fold_builtin_strncpy): Add function prototypes here.
	(fold_builtin): Update function prototype with new "bool ignore".

	* tree-ssa-ccp.c (ccp_fold): Update call to fold_builtin.
	(ccp_fold_builtin):  Update call to fold_builtin.  Call
	fold_builtin_fputs, fold_builtin_strcpy and fold_builtin_strncpy
	instead of simplify_builtin_fputs, simplify_builtin_strcpy and
	simplify_builtin_strncpy respectively.
	* fold-const.c (fold): Update call to fold_builtin.

From-SVN: r84302
2004-07-08 17:40:22 +00:00
Alexandre Oliva ad4319ec12 builtins.c (expand_builtin_stpcpy): Un-simplify decay of stpcpy to strcpy.
* builtins.c (expand_builtin_stpcpy): Un-simplify decay of stpcpy
to strcpy.

From-SVN: r84301
2004-07-08 17:16:24 +00:00
Alexandre Oliva 652eb7440c expr.h (FUNCTION_ARG_PARTIAL_NREGS): Default to 0.
* expr.h (FUNCTION_ARG_PARTIAL_NREGS): Default to 0.
(FUNCTION_ARG_PASS_BY_REFERENCE): Likewise.
(FUNCTION_ARG_CALLEE_COPIES): Likewise.
* calls.c: Remove ifdefs of macros above.
* functions.c: Likewise.
* expr.c: Likewise.

From-SVN: r84300
2004-07-08 16:57:48 +00:00
Eric Botcazou 50711d27cf sparc.md (UNSPECV_GOTO_V9): Delete.
* config/sparc/sparc.md (UNSPECV_GOTO_V9): Delete.
	(arch attribute): Delete.
	(current_function_calls_alloca attribute): Rename into calls_alloca.
	(calls_eh_return): New attribute.
	(leaf_function): Likewise.
	(length attribute): Fix formula for sibcalls.
	(return insn): Correctly compute the 'length' attribute.
	(do_builtin_setjmp_setup): Adjust use of current_function_calls_alloca.

From-SVN: r84299
2004-07-08 16:39:10 +00:00
Richard Henderson cd7097527e tree-cfg.c (make_exit_edges): Use get_call_expr_in.
* tree-cfg.c (make_exit_edges): Use get_call_expr_in.
        (remove_useless_stmts_1, is_ctrl_altering_stmt): Likewise.
        (tree_block_ends_with_call_p, need_fake_edge_p): Likewise.
        * tree-eh.c (lower_eh_constructs_1): Likewise.
        * tree-sra.c (sra_walk_modify_expr): Likewise.
        * tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Likewise.
        (eliminate_unnecessary_stmts): Likewise.
        * tree-ssa-dse.c (dse_optimize_stmt): Likewise.
        * tree-tailcall.c (optimize_tail_call): Likewise.
        * tree-ssa-ccp.c (get_rhs, set_rhs): Reorg to use switch.

From-SVN: r84298
2004-07-08 09:16:41 -07:00
Jakub Jelinek c618c6ec7e [multiple changes]
2004-07-08  Paolo Bonzini  <bonzini@gnu.org>
            Jakub Jelinek  <jakub@redhat.com>

	* config/i386/i386.c (override_options): Enable
	SSE prefetches with -mtune, as long as we are
	compiling for i686 or higher.  All i686 processors
	accept SSE prefetches as NOPS, some i586's don't.

2004-07-08  Jakub Jelinek  <jakub@redhat.com>

	* gcc.mist-tests/i386-prefetch.exp (PREFETCH_SSE): Change all
	-march=i386 into -march=i686.  Add -march=i686 -mtune=x and
	-march=x for pentium3, pentium3m, pentium-m, pentium4m,
	prescott and c3-2.
	(PREFETCH_3DNOW): Add -march=c3.

From-SVN: r84297
2004-07-08 17:58:22 +02:00
Benjamin Kosnik 75f29cdded re PR c++/16169 (-Weffc++ item 15 improvements)
2004-07-08  Benjamin Kosnik  <bkoz@redhat.com>

	PR c++/16169
	* include/bits/basic_string.h (basic_string::operator=): Revert.

From-SVN: r84296
2004-07-08 15:56:21 +00:00
Diego Novillo 6f26317193 re PR tree-optimization/16437 (New c-torture failures after bitfield patch)
PR c/16437
	* gcc.c-torture/execute/991118-1.x: XFAIL for x86_64.
	* gcc.c-torture/execute/bf64-1.x: Likewise.

From-SVN: r84295
2004-07-08 11:50:55 -04:00
Eric Botcazou afdbd485c8 re PR target/10567 (-fno-delayed-branch not honored in back-end)
PR target/10567
	* config/sparc/sparc.md (update_return): Honor flag_delayed_branch.

From-SVN: r84293
2004-07-08 15:25:04 +00:00
Diego Novillo 7c35745cbf tree-ssa-operands.c (get_asm_expr_operands): Fix thinkos in the handling of clobbering ASM_EXPRs.
* tree-ssa-operands.c (get_asm_expr_operands): Fix thinkos in
	the handling of clobbering ASM_EXPRs.

From-SVN: r84292
2004-07-08 11:03:10 -04:00
Mark Mitchell 6f2838e398 name-lookup.h (struct cp_binding_level): Update documentation for class_shadowed.
* name-lookup.h (struct cp_binding_level): Update documentation
	for class_shadowed.

From-SVN: r84291
2004-07-08 14:53:42 +00:00
Eric Botcazou c74fd3f1fd re PR target/16430 (ICE when returning non-C aggregates larger than 16 bytes)
PR target/16430
	* config/sparc/sparc.c (function_value): In 64-bit mode,
	return the aggregates larger than 16 bytes like unions.

From-SVN: r84289
2004-07-08 14:33:20 +00:00
Eric Botcazou 1d511ed5fc re PR rtl-optimization/16199 (ICE while compiling apache 2.0.49)
PR target/16199
	* config/sparc/sparc.c (sparc_emit_set_symbolic_const64): When
	'temp' is zero, generate new pseudos as needed and emit the
	sequence of insns in single-assignment form.  Resync comments
	with code.
	(sparc_emit_set_const64): Pass zero as 'temp' argument to above
	function before reload.

From-SVN: r84285
2004-07-08 12:54:53 +00:00
Giovanni Bajo 47293da314 re PR c++/16169 (-Weffc++ item 15 improvements)
PR c++/16169
	* typeck.c (check_return_expr): Improve -Weffc++ warning: handle
	returning CALL_EXPR, and non-reference return type.

	PR c++/16169
	* g++.dg/warn/effc2.C: New test.

From-SVN: r84283
2004-07-08 10:03:59 +00:00
Nathan Sidwell 70ce47b582 * vec.c (vec_assert_fail): Remove duplicate 'function'.
From-SVN: r84282
2004-07-08 09:45:19 +00:00
Nathan Sidwell 7de5bcccab vec.c (vec_p_reserve, [...]): Allocation is signed.
.:	* vec.c (vec_p_reserve, vec_o_reserve): Allocation is signed.
	* vec.h (VEC_alloc, VEC_embedded_size, VEC_embedded_init):
	Allocation is signed.
	(VEC_reserve): Return flag, allocation is signed.
cp:
	* name-lookup.c (push_binding): Use VEC_reserve.

From-SVN: r84281
2004-07-08 09:39:17 +00:00
Richard Henderson 5df6d966d3 tree-ssa-ccp.c (fold_stmt): Get type directly from OBJ_TYPE_REF_OBJECT.
* tree-ssa-ccp.c (fold_stmt): Get type directly from
	OBJ_TYPE_REF_OBJECT.

From-SVN: r84280
2004-07-08 08:50:00 +00:00
Joseph Myers bc15d0efe4 re PR c/2511 (-pedantic not warning about bitfield overflow)
2004-07-08  Joseph S. Myers  <jsm@polyomino.org.uk>
            Neil Booth  <neil@daikokuya.co.uk>

	PR c/2511
	PR c/3325
	* c-decl.c (finish_struct): Ensure bit-fields are given the
	correct type.
	* c-common.c (c_common_signed_or_unsigned_type): For C, require
	the precision to match as well as the mode.
	* expr.c (reduce_to_bit_field_precision): New function.
	(expand_expr_real_1): Reduce expressions of bit-field type to
	proper precision.
	* langhooks.h (reduce_bit_field_operations): New hook.
	* langhooks-def.h (LANG_HOOKS_REDUCE_BIT_FIELD_OPERATIONS):
	Define.
	* c-lang.c, objc/objc-lang.c
	(LANG_HOOKS_REDUCE_BIT_FIELD_OPERATIONS): Define.
	* objc/objc-act.c (check_ivars): Convert types to bit-field types
	before checking.
	* tree.c (build_nonstandard_integer_type): New function.
	* tree.h (build_nonstandard_integer_type): New prototype.
	* tree-ssa.c (tree_ssa_useless_type_conversion_1): Don't treat
	conversions between integer and boolean types as useless.

testsuite:
	* gcc.c-torture/execute/bitfld-1.x: Remove.
	* gcc.c-torture/execute/bitfld-3.c: New test.
	* gcc.dg/bitfld-2.c: Remove XFAILs.

Co-Authored-By: Neil Booth <neil@daikokuya.co.uk>

From-SVN: r84279
2004-07-08 09:45:05 +01:00
Paolo Bonzini 942e59391c c-common.c (c_common_nodes_and_builtins): Do not create __builtin_ptrdiff_t and __builtin_size_t.
2004-07-08  Paolo Bonzini  <bonzini@gnu.org>

	* c-common.c (c_common_nodes_and_builtins): Do not
	create __builtin_ptrdiff_t and __builtin_size_t.

From-SVN: r84278
2004-07-08 08:25:52 +00:00