Commit Graph

93247 Commits

Author SHA1 Message Date
Bob Duff
218e53ff25 exp_pakd.adb: Minor comment fixes.
2009-04-22  Bob Duff  <duff@adacore.com>

	* exp_pakd.adb: Minor comment fixes.

	* sinfo.ads, par-load.adb, sem_ch10.adb, lib-load.ads, lib-load.adb
	sem_ch12.adb: Change the meaning of the Library_Unit attribute to
	include units containing instantiations, as well as units that are
	generic instantiations.

	* sem.adb: Include dependents and corresponding specs/bodies in the
	unit walk.

	* gcc-interface/Make-lang.in:
	sem now depends on s-bitops, because of the packed array of Booleans.

From-SVN: r146556
2009-04-22 11:46:29 +02:00
Janus Weil
c73b647896 re PR fortran/39735 (procedure pointer assignments: return value is not checked)
2009-04-22  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/39735
	* decl.c (add_hidden_procptr_result): Bugfix for procptr results.
	(match_procedure_decl): Set if_source.
	* expr.c (gfc_check_pointer_assign): Bugfix: Return after error.
	And: Check interface also for IFSRC_UNKNOWN (return type may be known).
	* gfortran.h (typedef enum ifsrc): Remove IFSRC_USAGE,
	add documentation. Rename copy_formal_args and copy_formal_args_intr.
	* interface.c (gfc_compare_interfaces): Check for return types,
	handle IFSRC_UNKNOWN.
	(compare_intr_interfaces,compare_actual_formal_intr): Obsolete, removed.
	(gfc_procedure_use): Modified handling of intrinsics.
	* intrinsic.c (add_functions): Bugfix for "dim".
	* resolve.c (resolve_intrinsic): New function to resolve intrinsics,
	which copies the interface from isym to sym.
	(resolve_procedure_expression,resolve_function): Use new function
	'resolve_intrinsic'.
	(resolve_symbol): Add function attribute for externals with return type
	and use new function 'resolve_intrinsic'.
	* symbol.c (ifsrc_types): Remove string for IFSRC_USAGE.
	(copy_formal_args): Renamed to gfc_copy_formal_args.
	(copy_formal_args_intr): Renamed to gfc_copy_formal_args_intr.
	* trans-const.c (gfc_conv_const_charlen): Handle cl==NULL.


2009-04-22  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/39735
	* gfortran.dg/assumed_charlen_function_5.f90: Modified.
	* gfortran.dg/external_initializer.f90: Modified.
	* gfortran.dg/interface_26.f90: Modified.
	* gfortran.dg/intrinsic_subroutine.f90: Modified.
	* gfortran.dg/proc_ptr_3.f90: Modified.
	* gfortran.dg/proc_ptr_15.f90: New.
	* gfortran.dg/proc_ptr_result_1.f90: Modified.

From-SVN: r146554
2009-04-22 11:05:58 +02:00
Paolo Bonzini
6c34a09213 sh.c (shift_insns_rtx, [...]): Truncate shift counts to avoid out-of-bounds array accesses.
2009-04-22  Paolo Bonzini  <bonzini@gnu.org>

	* config/sh/sh.c (shift_insns_rtx, shiftcosts, gen_shifty_op,
	sh_dynamicalize_shift_p, shl_and_scr_length): Truncate
	shift counts to avoid out-of-bounds array accesses.

From-SVN: r146553
2009-04-22 09:01:43 +00:00
Paolo Bonzini
baa48dfaed sparc.h (POINTER_SIZE): Fix comment.
2009-04-22  Paolo Bonzini  <bonzini@gnu.org>

	* config/sparc/sparc.h (POINTER_SIZE): Fix comment.
	(Pmode): Move above.

From-SVN: r146552
2009-04-22 08:59:26 +00:00
Eric Botcazou
feec4372c1 ada-tree.def: Fix formatting nits.
* gcc-interface/ada-tree.def: Fix formatting nits.
	(REGION_STMT): Delete.
	(HANDLER_STMT): Likewise.
	* gcc-interface/ada-tree.h: Fix formatting nits.
	(IS_STMT): Delete.
	(REGION_STMT_BODY): Likewise.
	(REGION_STMT_HANDLE): Likewise.
	(REGION_STMT_BLOCK): Likewise.
	(HANDLER_STMT_ARG): Likewise.
	(HANDLER_STMT_LIST): Likewise.
	(HANDLER_STMT_BLOCK): Likewise.
	* gcc-interface/gigi.h (fp_prec_to_size): Update comment.
	(fp_size_to_prec): Likewise.
	(largest_move_alignment): Delete.
	(gnat_compute_largest_alignment): Likewise.
	Fix minor nits.
	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Signed_Integer_Subtype>:
	Remove redundant code.
	<E_Array_Type>: Remove redundant assert.
	<E_Array_Subtype>: Exit early from index computation in pathological
	cases.
	Rewrite conditional assignment.
	(make_type_from_size): Likewise.
	* gcc-interface/misc.c (largest_move_alignment): Delete.
	(gnat_finish_incomplete_decl): Likewise.
	(LANG_HOOKS_FINISH_INCOMPLETE_DECL): Likewise.
	(asm_out_file): Likewise
	(gnat_print_type) <INTEGER_TYPE>: Fall through to ENUMERAL_TYPE case.
	(gnat_dwarf_name): Move around.
	* gcc-interface/trans.c (Attribute_to_gnu): Fix minor nits.
	(gigi): Remove call to gnat_compute_largest_alignment.
	* utils.c (create_field_decl): Rewrite conditional assignment.
	Fix minor nits.

From-SVN: r146551
2009-04-22 08:34:09 +00:00
Uros Bizjak
7d83f4f536 alpha.c: Use REG_P...
* config/alpha/alpha.c: Use REG_P, MEM_P, CONST_INT_P, JUMP_P,
	NONJUMP_INSN_P, CALL_P, LABEL_P and NOTE_P predicates instead of
	GET_CODE macro.  Use IN_RANGE macro where appropriate.
	* config/alpha/alpha.h: Ditto.
	* config/alpha/alpha.md: Ditto.
	* config/alpha/constraints.md: Ditto.
	* config/alpha/predicates.md: Ditto.

From-SVN: r146550
2009-04-22 10:19:54 +02:00
Eric Botcazou
a8e05f922a decl.c (gnat_to_gnu_entity): Compute is_type predicate on entry.
* gcc-interface/decl.c (gnat_to_gnu_entity): Compute is_type predicate
	on entry.  Defer common processing for types.  Reorder and clean up.
	Compute the equivalent GNAT node and the default size for types only.
	<E_Modular_Integer_Type>: Directly use Esize for the type's precision.
	<E_Access_Type>: For an unconstrained designated type, do not pretend
	that a dummy type is always made.
	<all> Fix nits in comments.
	(validate_size): Fix formatting nits and comments.
	(set_rm_size): Likewise.
	* gcc-interface/utils.c (create_param_decl): Replace bogus argument
	passed to TARGET_PROMOTE_PROTOTYPES hook.

From-SVN: r146549
2009-04-22 07:57:09 +00:00
Paolo Bonzini
3ad606bc11 defaults.h (GO_IF_MODE_DEPENDENT_ADDRESS): Provide empty default.
2009-04-22  Paolo Bonzini  <bonzini@gnu.org>

	* defaults.h (GO_IF_MODE_DEPENDENT_ADDRESS): Provide empty default.
	* config/frv/frv.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete.
	* config/s390/s390.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete.
	* config/m32c/m32c.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete.
	* config/spu/spu.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete.
	* config/i386/i386.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete.
	* config/sh/sh.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete.
	* config/pdp11/pdp11.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete.
	* config/avr/avr.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete.
	* config/crx/crx.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete.
	* config/fr30/fr30.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete.
	* config/m68hc11/m68hc11.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete.
	* config/cris/cris.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete.
	* config/iq2000/iq2000.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete.
	* config/mn10300/mn10300.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete.
	* config/ia64/ia64.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete.
	* config/m68k/m68k.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete.
	* config/picochip/picochip.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete.
	* config/arc/arc.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete.
	* config/mcore/mcore.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete.
	* config/score/score.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete.
	* config/arm/arm.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete.
	* config/pa/pa.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete.
	* config/mips/mips.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete.
	* config/v850/v850.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete.
	* config/mmix/mmix.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete.
	* config/bfin/bfin.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete.

From-SVN: r146548
2009-04-22 07:49:46 +00:00
Eric Botcazou
0fb2335d4c fe.h (Get_External_Name): Declare.
* fe.h (Get_External_Name): Declare.
	* gcc-interface/gigi.h (concat_id_with_name): Rename to...
	(concat_name): ...this.
	* gcc-interface/decl.c (gnat_to_gnu_entity): Rename gnu_entity_id to
	gnu_entity_name and adjust for above renaming.
	<E_Access_Type>: Use create_concat_name to get the name of the various
	types associated with unconstrained array types.
	(make_aligning_type): Adjust for above renaming.
	(maybe_pad_type): Likewise.
	(components_to_record): Likewise.  Use get_identifier_with_length for
	the encoding of the variant.
	(get_entity_name): Use get_identifier_with_length.
	(create_concat_name): Likewise.  Use Get_External_Name if no suffix.
	Do not fiddle with Name_Buffer.
	(concat_id_with_name): Rename to...
	(concat_name): ...this.  Use get_identifier_with_length.  Do not fiddle
	with Name_Buffer.
	* gcc-interface/utils.c (rest_of_record_type_compilation): Adjust for
	above renaming.

From-SVN: r146547
2009-04-22 07:28:48 +00:00
Eric Botcazou
8ff1dd8364 Split ChangeLog
From-SVN: r146545
2009-04-22 06:44:39 +00:00
Laurynas Biveinis
3cabd6d17c cfghooks.c (tidy_fallthru_edges): Remove find_basic_blocks references from comments.
2009-04-22  Laurynas Biveinis  <laurynas.biveinis@gmail.com>

	* cfghooks.c (tidy_fallthru_edges): Remove find_basic_blocks
	references from comments.
	* cfgbuild.c: (count_basic_blocks): Delete.
	(find_basic_blocks_1): Delete.
	(find_basic_blocks): Delete.
	* except.c (finish_eh_generation): Make static.  Move comment 
from
	except.h here.  Remove find_basic_blocks references from
	comments.
	* except.h (finish_eh_generation): Delete.
	* basic-block.h (find_basic_blocks): Delete.
	* config/sh/sh.c (sh_output_mi_thunk): Delete a "#if 0" block.

From-SVN: r146544
2009-04-22 04:48:34 +00:00
Dave Korn
270d1bcd87 sdbout.c (sdbout_symbol): Pass VOIDmode to eliminate_regs.
* sdbout.c (sdbout_symbol):  Pass VOIDmode to eliminate_regs.
	(sdbout_parms):  Likewise.

From-SVN: r146543
2009-04-22 01:50:03 +00:00
GCC Administrator
228ee4f616 Daily bump.
From-SVN: r146542
2009-04-22 00:16:51 +00:00
Kaz Kojima
b757d36fac sh.c (prepare_cbranch_operands): Use LAST_AND_UNUSED_RTX_CODE instead of CODE_FOR_nothing.
* config/sh/sh.c (prepare_cbranch_operands): Use
	LAST_AND_UNUSED_RTX_CODE instead of CODE_FOR_nothing.
	(expand_cbranchdi4): Likewise.
	(from_compare): Add cast to enum type.
	(expand_cbranchsi4): Use add_reg_note.
	(output_stack_adjust, push, pop, sh_expand_prologue): Likewise.
	(sh_insn_length_adjustment): Use sh_cpu_attr instead of sh_cpu.
	(sh_initialize_trampoline): Change 0 to LCT_NORMAL in function call.
	(sh_expand_builtin): Change 0 to EXPAND_NORMAL in function call.
	* config/sh/sh.md (cbranchsi4): Use LAST_AND_UNUSED_RTX_CODE
	instead of CODE_FOR_nothing.
	(cbranchdi4): Likewise.  Fix the order of arguments for
	gen_rtx_fmt_ee.
	(push_fpscr): Use add_reg_note.
	(pop_fpscr, movdf_i4+1, reload_outdf__RnFRm+3, reload_outdf__RnFRm+4,
	reload_outdf__RnFRm+5, fpu_switch+1, fpu_switch+2): Likewise.

From-SVN: r146539
2009-04-21 22:18:34 +00:00
Manuel López-Ibáñez
36ef72625c re PR c++/35711 (bad text in -Wcast-qual warning (forgets volatile))
2009-04-21  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>

	PR c++/35711
cp/
	* typeck.c (check_for_casting_away_constness): We diagnose casting
	away any qualifiers not just constness.
	(casts_away_constness): Mention that it handles more than just
	constness.
testsuite/
	* g++.dg/warn/pr35711.C: New.
	* g++.dg/conversion/ptrmem2.C: Update.

From-SVN: r146537
2009-04-21 19:49:23 +00:00
Joseph Myers
ad41bd84ff ABOUT-GCC-NLS, [...]: Add copyright and license notices.
* ABOUT-GCC-NLS, ChangeLog, ChangeLog-1997, ChangeLog-1998,
	ChangeLog-1999, ChangeLog-2000, ChangeLog-2001, ChangeLog-2002,
	ChangeLog-2003, ChangeLog-2004, ChangeLog-2005, ChangeLog-2006,
	ChangeLog-2007, ChangeLog-2008, ChangeLog.dataflow, ChangeLog.lib,
	ChangeLog.ptr, ChangeLog.tree-ssa, ChangeLog.tuples, FSFChangeLog,
	FSFChangeLog.10, FSFChangeLog.11, LANGUAGES, ONEWS, acinclude.m4,
	config/alpha/gnu.h, config/alpha/libgcc-alpha-ldbl.ver,
	config/alpha/t-osf4, config/alpha/t-vms, config/alpha/va_list.h,
	config/alpha/x-vms, config/arc/t-arc,
	config/arm/README-interworking, config/arm/arm-c.c,
	config/arm/gentune.sh, config/arm/libgcc-bpabi.ver,
	config/arm/t-arm, config/arm/t-arm-elf, config/arm/t-arm-softfp,
	config/arm/t-bpabi, config/arm/t-linux, config/arm/t-linux-eabi,
	config/arm/t-netbsd, config/arm/t-pe, config/arm/t-strongarm-elf,
	config/arm/t-symbian, config/arm/t-vxworks, config/arm/t-wince-pe,
	config/avr/t-avr, config/bfin/elf.h, config/bfin/libgcc-bfin.ver,
	config/bfin/linux.h, config/bfin/t-bfin, config/bfin/t-bfin-elf,
	config/bfin/t-bfin-linux, config/bfin/t-bfin-uclinux,
	config/bfin/uclinux.h, config/cris/mulsi3.asm, config/cris/t-cris,
	config/cris/t-elfmulti, config/crx/t-crx,
	config/darwin-ppc-ldouble-patch.def, config/darwin-sections.def,
	config/divmod.c, config/fr30/t-fr30, config/frv/libgcc-frv.ver,
	config/frv/t-frv, config/frv/t-linux, config/h8300/genmova.sh,
	config/h8300/t-h8300, config/i386/athlon.md,
	config/i386/darwin-libgcc.10.4.ver,
	config/i386/darwin-libgcc.10.5.ver, config/i386/libgcc-glibc.ver,
	config/i386/mach.h, config/i386/netbsd.h, config/i386/t-crtpc,
	config/i386/t-cygming, config/i386/t-cygwin, config/i386/t-i386,
	config/i386/t-linux64, config/i386/t-nwld,
	config/i386/t-rtems-i386, config/i386/t-sol2-10,
	config/i386/x-mingw32, config/ia64/div.md, config/ia64/elf.h,
	config/ia64/ia64.opt, config/ia64/libgcc-glibc.ver,
	config/ia64/libgcc-ia64.ver, config/ia64/linux.h,
	config/ia64/sysv4.h, config/ia64/t-hpux, config/ia64/t-ia64,
	config/iq2000/abi, config/iq2000/lib2extra-funcs.c,
	config/iq2000/t-iq2000, config/libgcc-glibc.ver,
	config/m32r/libgcc-glibc.ver, config/m32r/t-linux,
	config/m32r/t-m32r, config/m68hc11/t-m68hc11,
	config/m68k/t-floatlib, config/m68k/t-linux, config/m68k/t-mlibs,
	config/m68k/t-uclinux, config/mcore/t-mcore,
	config/mcore/t-mcore-pe, config/mips/20kc.md, config/mips/4130.md,
	config/mips/5400.md, config/mips/5500.md, config/mips/crti.asm,
	config/mips/crtn.asm, config/mips/irix-crti.asm,
	config/mips/irix-crtn.asm, config/mips/libgcc-mips16.ver,
	config/mips/mips-dsp.md, config/mips/mips-dspr2.md,
	config/mips/mips-fixed.md, config/mips/sb1.md,
	config/mips/sr71k.md, config/mips/t-elf, config/mips/t-gofast,
	config/mips/t-iris6, config/mips/t-isa3264,
	config/mips/t-libgcc-mips16, config/mips/t-linux64,
	config/mips/t-mips, config/mips/t-r3900, config/mips/t-rtems,
	config/mips/t-sb1, config/mips/t-sde, config/mips/t-sdemtk,
	config/mips/t-slibgcc-irix, config/mips/t-sr71k, config/mips/t-st,
	config/mips/t-vr, config/mips/t-vxworks, config/mmix/t-mmix,
	config/mn10300/t-linux, config/mn10300/t-mn10300,
	config/pa/pa32-regs.h, config/pa/t-hpux-shlib, config/pa/t-linux,
	config/pa/t-linux64, config/pa/t-pa64, config/pdp11/t-pdp11,
	config/picochip/libgccExtras/clzsi2.asm,
	config/picochip/t-picochip, config/rs6000/darwin-ldouble-format,
	config/rs6000/darwin-libgcc.10.4.ver,
	config/rs6000/darwin-libgcc.10.5.ver,
	config/rs6000/libgcc-ppc-glibc.ver, config/rs6000/ppc-asm.h,
	config/rs6000/t-aix43, config/rs6000/t-aix52,
	config/rs6000/t-darwin, config/rs6000/t-fprules,
	config/rs6000/t-fprules-fpbit, config/rs6000/t-linux64,
	config/rs6000/t-lynx, config/rs6000/t-netbsd,
	config/rs6000/t-ppccomm, config/rs6000/t-ppcendian,
	config/rs6000/t-ppcgas, config/rs6000/t-rs6000,
	config/rs6000/t-rtems, config/rs6000/t-spe,
	config/rs6000/t-vxworks, config/s390/libgcc-glibc.ver,
	config/score/t-score-elf, config/sh/divcost-analysis,
	config/sh/libgcc-glibc.ver, config/sh/t-netbsd, config/sh/t-sh,
	config/sh/t-sh64, config/sh/t-superh, config/sh/t-symbian,
	config/sparc/libgcc-sparc-glibc.ver, config/sparc/sol2-bi.h,
	config/sparc/sol2-gas.h, config/sparc/sol2-gld-bi.h,
	config/sparc/t-elf, config/sparc/t-linux64, config/sparc/t-sol2,
	config/stormy16/stormy-abi, config/stormy16/t-stormy16,
	config/t-darwin, config/t-libunwind, config/t-libunwind-elf,
	config/t-linux, config/t-lynx, config/t-slibgcc-elf-ver,
	config/t-slibgcc-sld, config/t-sol2, config/t-vxworks,
	config/udivmod.c, config/udivmodsi4.c, config/v850/t-v850,
	config/v850/t-v850e, config/xtensa/t-xtensa, diagnostic.def,
	gdbinit.in, glimits.h, gstab.h, gsyms.h, java/ChangeLog,
	java/ChangeLog.ptr, java/ChangeLog.tree-ssa, libgcc-std.ver,
	limitx.h, version.c, xcoff.h: Add copyright and license notices.
	* config/h8300/genmova.sh: Include copyright and license notices
	in generated output.
	* config/h8300/mova.md: Regenerate.
	* doc/install.texi2html: Include word "Copyright" in copyright
	notice and use name "Free Software Foundation, Inc.".
	* ChangeLog, ChangeLog-2000, ChangeLog-2001, ChangeLog-2002,
	ChangeLog-2003, ChangeLog-2004, ChangeLog-2005, ChangeLog-2006,
	ChangeLog-2007, ChangeLog-2008: Correct dates.

ada:
	* ChangeLog, ChangeLog.ptr, ChangeLog.tree-ssa: Add copyright and
	license notices.

cp:
	* ChangeLog, ChangeLog-1993, ChangeLog-1994, ChangeLog-1995,
	ChangeLog-1996, ChangeLog-1997, ChangeLog-1998, ChangeLog-1999,
	ChangeLog-2000, ChangeLog-2001, ChangeLog-2002, ChangeLog-2003,
	ChangeLog-2004, ChangeLog-2005, ChangeLog-2006, ChangeLog-2007,
	ChangeLog-2008, ChangeLog.ptr, ChangeLog.tree-ssa, NEWS,
	cfns.gperf: Add copyright and license notices.
	* cfns.h: Regenerate.
	* ChangeLog, ChangeLog-2004: Correct dates.

fortran:
	* ChangeLog, ChangeLog-2002, ChangeLog-2003, ChangeLog-2004,
	ChangeLog-2005, ChangeLog-2006, ChangeLog-2007, ChangeLog-2008,
	ChangeLog.ptr, config-lang.in, ioparm.def, mathbuiltins.def: Add
	copyright and license notices.
	* ChangeLog, ChangeLog-2005, ChangeLog-2006, ChangeLog-2007,
	ChangeLog-2008: Correct dates.

java:
	* ChangeLog, ChangeLog.ptr, ChangeLog.tree-ssa: Add copyright and
	license notices.

objc:
	* ChangeLog: Add copyright and license notices.

objcp:
	* ChangeLog: Add copyright and license notices.

po:
	* ChangeLog, EXCLUDES: Add copyright and license notices.

testsuite:
	* ChangeLog, ChangeLog-1993-2007, ChangeLog-2008, ChangeLog.ptr,
	ChangeLog.tree-ssa, README, README.QMTEST, README.compat,
	README.gcc, g++.dg/README, g++.dg/compat/break/README,
	g++.dg/gomp/gomp.exp, g++.old-deja/g++.brendan/README,
	g++.old-deja/g++.oliva/ChangeLog, g++.old-deja/g++.robertl/README,
	gcc.c-torture/ChangeLog.0,
	gcc.c-torture/execute/builtins/builtins.exp, gcc.dg/README,
	gcc.dg/gomp/gomp.exp, gcc.target/frv/frv.exp,
	gcc.target/i386/math-torture/math-torture.exp,
	gcc.target/mips/inter/mips16-inter.exp,
	gcc.target/mips/mips-nonpic/README,
	gcc.target/x86_64/abi/README.gcc,
	gcc.target/xstormy16/xstormy16.exp, gcc.test-framework/README,
	gfortran.dg/g77/README, gfortran.dg/gomp/gomp.exp,
	gfortran.fortran-torture/ChangeLog.g95: Add copyright and license
	notices.
	* ChangeLog-1993-2007, ChangeLog: Correct dates.

From-SVN: r146533
2009-04-21 20:03:23 +01:00
Eric Botcazou
ca80e52b01 c-common.c (c_common_truthvalue_conversion): Use LOCATION to build NE_EXPR operations as well.
* c-common.c (c_common_truthvalue_conversion): Use LOCATION to build
	NE_EXPR operations as well.
	* c-parser.c (c_parser_condition): Do not set location information on
	the condition.
	(c_parser_conditional_expression): Likewise.
	(c_parser_binary_expression): Set location information on operators.
	* c-typeck.c (build_unary_op) <TRUTH_NOT_EXPR>: Reset the location if
	TRUTH_NOT_EXPR has been folded.
	* fold-const.c (fold_truth_not_expr): Copy location information from
	the incoming expression to the outgoing one.
	* gimplify.c (shortcut_cond_r): Add locus parameter.  Pass it to
	recursive calls on the LHS of the operator but pass that of the
	operator to recursive calls on the RHS of the operator.  Set it
	on the COND_EXPR.
	(shortcut_cond_expr): Set the locus of the operator on the second
	COND_EXPR and that of the expression on the first in degenerate cases.
	Pass the locus of the expression to calls to shortcut_cond_r.
	Set the locus of the 'then' block on the associated jump, if any.
	(gimplify_boolean_expr): Add locus parameter.  Set it on the COND_EXPR.
	(gimplify_expr) <TRUTH_ANDIF_EXPR>: Pass the locus of the outer
	expression to call to gimplify_boolean_expr.
ada/
	* gcc-interface/trans.c (gnat_to_gnu): Do not overwrite location info.

From-SVN: r146532
2009-04-21 17:17:13 +00:00
Eric Botcazou
71b495a2ac Fix paths
From-SVN: r146531
2009-04-21 17:09:47 +00:00
Eric Botcazou
b4680ca1ec ada-tree.h (TYPE_RM_SIZE_NUM): Delete.
* ada-tree.h (TYPE_RM_SIZE_NUM): Delete.
	(TYPE_RM_SIZE): Access TYPE_LANG_SLOT_1 directly for integral types.
	* decl.c (gnat_to_gnu_entity) <E_Modular_Integer_Type>: Remove useless
	support code for packed array types and assert its uselessness.
	<E_Signed_Integer_Subtype>: Reuse entity identifier in more places and
	adjust for TYPE_RM_SIZE change.
	<all> Fix nits in comments.  Use Original_Array_Type accessor instead
	of Associated_Node_For_Itype accessor for packed array types.
	(make_packable_type): Likewise.
	(maybe_pad_type): Likewise.
	(set_rm_size): Likewise.  Rework conditional statement.  Adjust for
	TYPE_RM_SIZE change.
	(make_type_from_size): Adjust for TYPE_RM_SIZE change.
	(rm_size): Fix nits in comments.  Rework conditional statements.
	* misc.c (gnat_print_type): Adjust for TYPE_RM_SIZE change.
	* trans.c (Attribute_to_gnu): Fix nits in comments.
	* utils.c (gnat_init_decl_processing): Use more appropriate function
	to initialize the size_type_node.  Adjust for TYPE_RM_SIZE change.

From-SVN: r146530
2009-04-21 17:05:09 +00:00
Kai Tietz
350916301f config.gcc: Add additional configuration for i686-w64-mingw* and x86_64-w64-mingw* triplet.
2009-04-21  Kai Tietz  <kai.tietz@onevision.com>

        * config.gcc: Add additional configuration for
        i686-w64-mingw* and x86_64-w64-mingw* triplet.
        * config/i386/mingw-w64.h: New mingw-w64 specific header.
        (CPP_SPEC): Redefine for allowing -municode option.
        (STARTFILE_SPEC): Likewise.
        * config/i386/t-mingw-w64: New.
        * config/i386/mingw-w64.opt: New.
        (municode): Add new target option.
        * doc/invoke.texi (municode): Add documentation for new option.

From-SVN: r146529
2009-04-21 18:41:14 +02:00
Ian Lance Taylor
0267afc48d rs6000-c.c (altivec_resolve_overloaded_builtin): Correct test for number of arguments.
* config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
	Correct test for number of arguments.
	* config/spu/spu-c.c (spu_resolve_overloaded_builtin): Likewise.

From-SVN: r146526
2009-04-21 13:59:28 +00:00
Andreas Schwab
2ba9daa701 linux.h (FINALIZE_TRAMPOLINE): Use enum for second argument of emit_library_call.
* config/m68k/linux.h (FINALIZE_TRAMPOLINE): Use enum for second
argument of emit_library_call.

From-SVN: r146525
2009-04-21 13:50:36 +00:00
Richard Guenther
ad8a1ac09d re PR tree-optimization/39829 (ICE with some code that produces VCE)
2009-04-21  Richard Guenther  <rguenther@suse.de>

	PR middle-end/39829
	* gimple.c (walk_stmt_load_store_addr_ops): Catch addresses
	inside VIEW_CONVERT_EXPRs.

	* gcc.dg/torture/pr39829.c: New testcase.

From-SVN: r146521
2009-04-21 12:42:24 +00:00
Martin Jambor
7156c8abaf tree-switch-conversion.c (build_constructors): Split a long line.
2009-04-21  Martin Jambor  <mjambor@suse.cz>

	* tree-switch-conversion.c (build_constructors): Split a long line.
	(constructor_contains_same_values_p): New function.
	(build_one_array): Create assigns of constants if possible, do not call
	mark_sym_for_renaming, call update_stmt.
	(build_arrays): Call make_ssa_name (create_tmp_var ()) instead of
	make_rename_temp.  Do not call mark_symbols_for_renaming, call
	update_stmt.
	(gen_def_assigns): Do not call mark_symbols_for_renaming or
	find_new_referenced_vars, call update_stmt.
	(gen_inbound_check): Use create_tmp_var and create ssa names manually
	instead of calling make_rename_temp.  Do not call
	find_new_referenced_vars or mark_symbols_for_renaming, call
	update_stmt.

	* testsuite/gcc.dg/tree-ssa/cswtch-2.c: New test.

From-SVN: r146517
2009-04-21 13:55:41 +02:00
Paolo Carlini
ed2807f4cd re PR libstdc++/39835 (Bootstrap failure: libstdc++-v3/include/bits/random.h:3630: error: expected â,â or â...â before numeric constant)
2009-04-21  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/39835
	* include/bits/random.h: Avoid the badname __alpha (and, for
	consistency, __beta too).
	* include/bits/random.tcc: Likewise.

From-SVN: r146516
2009-04-21 11:42:51 +00:00
Richard Guenther
2970ccb3bb re PR middle-end/39827 (ICE (segfault) when compiling gcc/varasm.c (in notice_global_symbol))
2009-04-21  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/39827
	* tree-ssa-phiprop.c (propagate_with_phi): Check SSA_NAME
	is in range.
	(tree_ssa_phiprop): Pass the correct array size.

From-SVN: r146515
2009-04-21 09:58:38 +00:00
Uros Bizjak
47f402d18f alpha.md (tune): Add cast to enum attr_tune.
* config/alpha/alpha.md (tune): Add cast to enum attr_tune.

From-SVN: r146484
2009-04-21 10:44:25 +02:00
Manuel López-Ibáñez
1e4ae551dd re PR c/16202 (The -Wsequence-point warning misses many important instances)
2009-04-21  Manuel López-Ibáñez  <manu@gcc.gnu.org>

	PR 16202
	* c-typeck.c (lvalue_p): Move declaration ...
	* c-common.h (lvalue_p): ... to here.
	* c-common.c (candidate_equal_p): New.
	(add_tlist): Use it.
	(merge_tlist): Use it.
	(warn_for_collisions_1): Likewise.
	(warning_candidate_p): Accept more candidates.
	(verify_tree): A warning candidate can be an expression. Use
	candidate_equal_p.
cp/
	* tree.c (lvalue_p_1): Use const_tree.
	Use CONST_CAST_TREE to avoid warning.
	(lvalue_p): Returns bool, receives const_tree.
testsuite/
	* gcc.dg/sequence-pt-1.c: Remove XFAILs.
	* gcc.dg/sequence-pt-2.c: New.
	* gcc.dg/sequence-pt-3.c: New.
	* g++.dg/warn/sequence-pt-1.C: Remove XFAILs.
	* g++.dg/warn/sequence-pt-2.c: New.
	* g++.dg/warn/sequence-pt-3.c: New.

From-SVN: r146472
2009-04-21 07:47:13 +00:00
Jakub Jelinek
6e9a9f9fed * gcc.dg/torture/pr39678.c (struct X): Make c field signed char.
From-SVN: r146470
2009-04-21 09:39:17 +02:00
Eric Botcazou
a962b0a184 decl.c (gnat_to_gnu_entity): Do not set force_global for imported subprograms.
* gcc-interface/decl.c (gnat_to_gnu_entity): Do not set force_global
	for imported subprograms.

From-SVN: r146469
2009-04-21 07:27:26 +00:00
Eric Botcazou
2f283818fc decl.c (gnat_to_gnu_entity): Do not make constant objects covered by 13.3(19) volatile.
* gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Do not make
	constant objects covered by 13.3(19) volatile.

From-SVN: r146468
2009-04-21 07:10:01 +00:00
Eric Botcazou
ac53d5f254 utils.c (create_type_decl): Do not pass declarations of dummy fat pointer types to the debug back-end.
* gcc-interface/utils.c (create_type_decl): Do not pass declarations
	of dummy fat pointer types to the debug back-end.

From-SVN: r146467
2009-04-21 07:00:44 +00:00
GCC Administrator
59356222e0 Daily bump.
From-SVN: r146466
2009-04-21 00:16:54 +00:00
Ben Elliston
244609a618 re PR target/5267 (invoke.texi "RS/6000 and PowerPC Options" list needs cleanup)
PR target/5267
	* doc/invoke.texi (RS/6000 and PowerPC Options): Add documentation
	for -mcall-eabi, -mcall-aixdesc, -mcall-freebsd and -mcall-openbsd
	options.  Remove -mcall-solaris documentation.

From-SVN: r146463
2009-04-21 09:55:53 +10:00
Andrew Pinski
f28a61ab11 Fix misspelling of process_init_element.
From-SVN: r146462
2009-04-20 16:13:17 -07:00
Andrew Pinski
158ec531fe handler-1.m: For the NeXT runtime, just return 0.
2009-04-20  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        * objc/execute/exceptions/handler-1.m: For the NeXT runtime, just return 0.

From-SVN: r146461
2009-04-20 15:23:55 -07:00
Tobias Burnus
47b0b4fa4f re PR fortran/39811 (Bogus warning for valid continuation lines)
2009-04-20  Tobias Burnus  <burnus@net-b.de>

        PR fortran/39811
        * scanner.c (load_line): Fix bogus "&" compile-time diagnostic.

2009-04-20  Tobias Burnus  <burnus@net-b.de>

        PR fortran/39811
        * gfortran.dg/continuation_11.f90: New test.

From-SVN: r146460
2009-04-21 00:19:25 +02:00
Manuel López-Ibáñez
9c650d90ab re PR c++/13358 (long long and C++ do not mix well)
2009-04-21  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>

	PR c++/13358
	* doc/invoke.texi (-Wlong-long): Update description.
	* c-lex (interpret_integer): Only warn if there was no previous
	overflow and -Wlong-long is enabled.
	* c-decl.c (declspecs_add_type): Drop redundant flags.
	* c.opt (Wlong-long): Init to -1.
	* c-opts.c (sanitize_cpp_opts): Synchronize cpp's warn_long_long
	and front-end warn_long_long. Wlong-long only depends on other
	flags if it is uninitialized.
	* c-parser.c (disable_extension_diagnostics): warn_long_long is
	the same for CPP and FE.
	(restore_extension_diagnostics): Likewise.
libcpp/
	* init.c (cpp_create_reader): Wlong_long is disabled by default.
	* expr.c (cpp_classify_number): Give different messages for C and
	C++ front-ends.
cp/
	* parser.c (cp_parser_check_decl_spec): Drop redundant flags.
	* error.c (pedwarn_cxx98): New.
	* cp-tree.h (pedwarn_cxx98): Declare.
testsuite/
	* gcc.dg/wtr-int-type-1.c: Use two dg-warning to match two
	messages. Test for "long long" in system headers.
	* gcc.dg/c99-longlong-2.c: New.
	* g++.dg/warn/pr13358.C: New.
	* g++.dg/warn/pr13358-2.C: New.
	* g++.dg/warn/pr13358-3.C: New.
	* g++.dg/warn/pr13358-4.C: New.

From-SVN: r146459
2009-04-20 22:12:52 +00:00
Andrew Pinski
37041295f5 framework-2.c: Fix up for non existent includes being fatal errors now.
2009-04-20  Andrew Pinski <andrew_pinski@playstation.sony.com>

        * gcc.dg/framework-2.c: Fix up for non existent includes
        being fatal errors now.

From-SVN: r146458
2009-04-20 14:59:38 -07:00
Paul Thomas
c867b7b653 re PR fortran/39800 (Rejects PRIVATE TYPE as compont of local type declaration)
2009-04-20  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/39800
	* resolve.c (is_sym_host_assoc): New function.
	(resolve_fl_derived): Call it when checking PRIVATE components
	of PUBLIC derived types.  Change gfc_error to a gfc_notify_std
	with std=f2003.
	(resolve_fl_namelist): Call it twice to check for host
	association.

2009-04-20  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/39800
	* gfortran.dg/private_type_13.f90: New test.
	* gfortran.dg/private_type_2.f90: Add option -std=f95.

From-SVN: r146457
2009-04-20 21:55:26 +00:00
Le-Chun Wu
311fa510e6 re PR c++/39803 (Bogus 'unused value' warning on declarations of non-POD arrays)
PR c++/39803
	* gcc/cp/init.c (build_vec_init): Set TREE_NO_WARNING on the
	compiler-generated INDIRECT_REF expression.
	* gcc/testsuite/g++.dg/warn/Wunused-14.C: New test.

From-SVN: r146454
2009-04-20 21:13:08 +00:00
Eric Botcazou
6e0f0975e5 decl.c (gnat_to_gnu_entity): Rewrite Esize calculation.
* gcc-interface/decl.c (gnat_to_gnu_entity): Rewrite Esize calculation.
	<E_Signed_Integer_Subtype>: Set the RM size on the integer type
	before wrapping it up in the record type.  Do not overwrite the
	Ada size of the record type with the Esize.

From-SVN: r146452
2009-04-20 19:56:48 +00:00
Ian Lance Taylor
bbbbb16a88 Fix enum conversions which are invalid in C++:
gcc/:
	Fix enum conversions which are invalid in C++:
	* auto-inc-dec.c (attempt_change): Change 0 to SET in function
	call.
	* calls.c (store_one_arg): Change 0 to EXPAND_NORMAL in function
	call.
	* cse.c (hash_rtx_cb): Change 0 to VOIDmode in function call.
	* dbgcnt.c (dbg_cnt_set_limit_by_name): Add cast to enum type.
	* dbxout.c (dbxout_symbol): Change 0 to VOIDmode in function
	call.
	(dbxout_parms): Likewise.
	* df-core.c (df_set_flags): Change changeable_flags parameter to
	int.
	(df_clear_flags): Likewise.
	* df-problems.c (df_rd_bb_local_compute_process_def): Change
	top_flag parameter to int.
	(df_chain_create_bb_process_use): Likewise.
	(df_chain_add_problem): Change chain_flags parameter to unsigned
	int.  Remove cast.
	* df-scan.c (df_ref_create): Change ref_flags parameter to int.
	(df_ref_create_structure, df_def_record_1): Likewise.
	(df_defs_record, df_uses_record, df_get_call_refs): Likewise.
	(df_notes_rescan): Change 0 to VOIDmode in function call.
	(df_get_call_refs, df_insn_refs_collect): Likewise.
	(df_bb_regs_collect): Likewise.
	(df_entry_block_defs_collect): Likewise.
	(df_exit_block_uses_collect): Likewise.
	* df.h: Update declarations.
	* double-int.c (double_int_divmod): Add cast to enum type.
	* dse.c (replace_inc_dec): Reverse parameters to gen_int_mode.
	* dwarf2out.c (new_reg_loc_descr): Add casts to enum type.
	(based_loc_descr): Likewise.
	(loc_descriptor_from_tree_1): Change first_op and second_op to
	enum dwarf_location_atom.  Add cast to enum type.
	* expmed.c (init_expmed): Change 0 to SET in function call.
	* expr.c (init_expr_target): Change 0 to VOIDmode in function
	call.
	(expand_expr_real_1): Change 0 to EXPAND_NORMAL in function call.
	(do_store_flag): Likewise.
	* fixed-value.h (struct fixed_value): Change mode to enum
	machine_mode.
	* function.c (assign_parms): Change 0 to VOIDmode in function
	call.
	* genautomata.c (insert_automaton_decl): Change 1 to INSERT in
	function call.
	(insert_insn_decl, insert_decl, insert_state): Likewise.
	(automata_list_finish): Likewise.
	* genrecog.c (process_define_predicate): Add cast to enum type.
	* gensupport.c (init_predicate_table): Add cast to enum type.
	* gimple.c (gimple_build_return): Change 0 to ERROR_MARK in
	function call.
	(gimple_build_call_1, gimple_build_label): Likewise.
	(gimple_build_goto, gimple_build_asm_1): Likewise.
	(gimple_build_switch_1, gimple_build_cdt): Likewise.
	* gimple.h (GIMPLE_CHECK): Change 0 to ERROR_MARK in function
	call.
	(enum fallback): Rename from enum fallback_t.
	(fallback_t): Typedef as int.
	* gimple-low.c (lower_builtin_setjmp): Change TSI_SAME_STMT to
	GSI_SAME_STMT in function call.
	* ira.c (setup_class_subset_and_memory_move_costs): Add casts to
	enum type.
	(setup_reg_class_relations): Likewise.
	(setup_reg_class_nregs): Change cl to int.  Add casts to enum
	type.
	(setup_prohibited_class_mode_regs): Add cast to enum type.
	(setup_prohibited_mode_move_regs): Likewise.
	* ira-costs.c (record_reg_classes): Change rclass to enum
	reg_class.
	(record_address_regs): Change i to enum reg_class.
	* lists.c (alloc_EXPR_LIST): Add cast to enum type.
	* machmode.h (GET_MODE_CLASS): Cast value to enum mode_class.
	(GET_MODE_WIDER_MODE): Cast value to enum machine_mode.
	(GET_MODE_2XWIDER_MODE): Likewise.
	(GET_CLASS_NARROWEST_MODE): Likewise.
	* omp-low.c (expand_omp_for): Add cast to enum type.
	* optabs.c (debug_optab_libfuncs): Add casts to enum type.
	* opts.c (enable_warning_as_error): Change kind to diagostic_t.
	* postreload.c (reload_cse_simplify_operands): Change rclass local
	to enum reg_class.
	* predict.c (combine_predictions_for_insn): Change best_predictor
	and predictor to enum br_predictor.
	(combine_predictions_for_bb): Likewise.
	(build_predict_expr): Change assignment to PREDICT_EXPR_OUTCOME to
	use SET_PREDICT_EXPR_OUTCOME.
	* real.c (real_arithmetic): Change icode to code in function
	call.
	* reginfo.c (init_move_cost): Add casts to enum type.
	(init_reg_sets_1, init_fake_stack_mems): Likewise.
	* regmove.c (regclass_compatible_p): Change class0 and class1 to
	enum reg_class.
	* reload.c (find_valid_class): Add casts to enum type.
	(push_reload): Change 0 to NO_REGS in function call.
	(find_reloads): Change this_alternative to array of enum
	reg_class.  Remove some now-unnecessary casts.
	(make_memloc): Change 0 to VOIDmode in function call.
	* reload1.c (reload): Change 0 to VOIDmode in function call.
	(eliminate_regs_1, elimination_effects): Likewise.
	(eliminate_regs_in_insn): Likewise.
	(emit_input_reload_insns): Add cast to enum type.
	(delete_output_reload): Change 0 to VOIDmode in function call.
	* reorg.c (insn_sets_resource_p): Convert include_delayed_effects
	to enum type in function call.
	* tree.h (PREDICT_EXPR_OUTCOME): Add cast to enum type.
	(SET_PREDICT_EXPR_OUTCOME): Define.
	* tree-dump.c (get_dump_file_info): Change phase parameter to
	int.
	(get_dump_file_name, dump_begin, dump_enabled_p): Likewise.
	(dump_initialized_p, dump_flag_name, dump_end): Likewise.
	(dump_function): Likewise.
	* tree-dump.h: Update declarations.
	* tree-pass.h: Update declarations.
	* varasm.c (assemble_integer): Change mclass to enum mode_class.
	* config/arm/arm.c (thumb_legitimize_reload_address): Add cast to
	enum type.
	(arm_rtx_costs_1): Correct parenthesization.
	(arm_rtx_costs): Add casts to enum type.
	(adjacent_mem_locations): Reverse arguments to const_ok_for_op.
	(vfp_emit_fstmd): Use add_rg_note.
	(emit_multi_reg_push, emit_sfm): Likewise.
	(thumb_set_frame_pointer): Likewise.
	(arm_expand_prologue): Likewise.
	(arm_regno_class): Change return type to enum reg_class.
	(thumb1_expand_prologue): Use add_reg_note.
	* config/arm/arm-protos.h (arm_regno_class): Update declaration.
	* config/arm/arm.h (INITIALIZE_TRAMPOLINE): Change 0 to LCT_NORMAL
	in function call.
	* config/arm/gentune.sh: Add cast to enum type.
	* config/arm/arm-tune.md: Rebuild.
	* config/i386/i386.c (ix86_expand_prologue): Use add_reg_note.
	(ix86_split_fp_branch, predict_jump): Likewise.
	(ix86_expand_multi_arg_builtin): Change sub_code from enum
	insn_code to enum rtx_code.
	(ix86_builtin_vectorized_function): Add cast to enum type.
	* config/i386/i386.md (truncdfsf2): Change slot to enum
	ix86_stack_slot.
	(truncxf<mode>2, isinf<mode>2): Likewise.
	* config/i386/i386-c.c (ix86_pragma_target_parse): Add cast to
	enum type.
	* config/ia64/ia64.c (ia64_split_tmode_move): Use add_reg_note.
	(spill_restore_mem, do_spill, ia64_expand_prologue): Likewise.
	(insert_bundle_state): Change 1 to INSERT in function call.
	(ia64_add_bundle_selector_before): Likewise.
	* config/ia64/ia64.md (cpu attr): Add cast to enum type.
	(save_stack_nonlocal): Change 0 to LCT_NORMAL in function call.
	(restore_stack_nonlocal): Likewise.
	* config/mips/mips.h (MIPS_ICACHE_SYNC): Change 0 to LCT_NORMAL in
	function call.
	* config/mips/mips.c (mips_binary_cost): Change 0 to SET in
	function call.
	(mips_rtx_costs): Likewise.
	(mips_override_options): Add casts to enum type.
	* config/mips/sdemtk.h (MIPS_ICACHE_SYNC): Change 0 to LCT_NORMAL
	in function call.
	* config/pa/pa.c (legitimize_pic_address): Use add_reg_note.
	(store_reg, set_reg_plus_d): Likewise.
	(hppa_expand_prologue, hppa_profile_hook): Likewise.
	* config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): Add
	cast to enum type.
	(altivec_expand_vec_set_builtin): Change 0 to EXPAND_NORMAL in
	function call.
	(emit_unlikely_jump): Use add_reg_note.
	(rs6000_emit_allocate_stack): Likewise.
	(rs6000_frame_related, rs6000_emit_prologue): Likewise.
	(output_toc): Change 1 to INSERT in function call.
	(output_profile_hook): Change 0 to LCT_NORMAL in function call.
	(rs6000_initialize_trampoline): Likewise.
	(rs6000_init_dwarf_reg_sizes_extra): Change 0 to EXPAND_NORMAL in
	function call.
	* config/s390/s390.c (s390_rtx_costs): Add cast to enum type.
	(s390_expand_movmem): Change 0 to OPTAB_DIRECT in function call.
	(s390_expand_setmem, s390_expand_cmpmem): Likewise.
	(save_gprs): Use add_reg_note.
	(s390_emit_prologue): Likewise.
	(s390_expand_builtin): Change 0 to EXPAND_NORMAL in function
	call.
	* config/sparc/sparc.c (sparc_expand_prologue): Use add_reg_note.
	(sparc_fold_builtin): Add cast to enum type.
	* config/spu/spu.c (spu_emit_branch_or_set): Change ior_code to
	enum insn_code.
	(spu_expand_prologue): Use add_reg_note.
	(expand_builtin_args): Change 0 to EXPAND_NORMAL in function
	call.

	* c-parser.c (c_parser_attributes): Change VEC back to tree list.
	(c_parser_postfix_expression_after_primary): Get VEC for list of
	arguments.  Get original types of arguments.  Call
	build_function_call_vec.
	(cached_expr_list_1, cached_expr_list_2): New static variables.
	(c_parser_expr_list): Change return type to VEC *.  Add
	p_orig_types parameter.  Change all callers.
	(c_parser_release_expr): New static function.
	(c_parser_vec_to_tree_list): New static function.
	* c-typeck.c (build_function_call): Rewrite to build a VEC and
	call build_function_call_vec.
	(build_function_call_vec): New function, based on old
	build_function_call.
	(convert_arguments): Remove nargs and argarray parameters.  Change
	values to a VEC.  Add origtypes parameter.
	(build_modify_expr): Add rhs_origtype parameter.  Change all
	callers.
	(convert_for_assignment): Add origtype parameter.  Change all
	callers.  If warn_cxx_compat, check for conversion to an enum
	type when calling a function.
	(store_init_value): Add origtype parameter.  Change all callers.
	(digest_init): Likewise.
	(struct init_node): Add origtype field.
	(add_pending_init): Add origtype parameter.  Change all callers.
	(output_init_element): Likewise.
	(output_pending_init_elements): Pass origtype from init_node to
	output_init_element.
	(process_init_elemnt): Pass origtype from c_expr to
	output_init_element.
	(c_finish_return): Add origtype parameter.  Change all callers.
	* c-common.c (sync_resolve_size): Change params to VEC *.  Change
	caller.
	(sync_resolve_params): Likewise.
	(sync_resolve_return): Change params to first_param.  Change
	caller.
	(resolve_overloaded_builtins): Change params to VEC *.  Change
	callers.   Save first parameter around call to
	build_function_call_vec.
	* c-decl.c (finish_decl): Add origtype parameter.  Change all
	callers.  Call build_function_call_vec rather than
	build_function_call for cleanup.
	* c-tree.h: Update declarations.
	* c-common.h: Update declarations.
	* stub-objc.c (objc_rewrite_function_call): Change parameter from
	params to first_param.
	* target.h (struct gcc_target): Change resolve_overloaded_builtin
	params parameter from tree to void *.
	* config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
	Change arglist parameter to have type void *, and to be a pointer
	to a VEC.
	* config/rs6000/rs6000-protos.h
	(altivec_resolve_overloaded_builtin): Update declaration.
	* config/spu/spu-c.c (spu_resolved_overloaded_builtin): Change
	fnargs parameter to have type void *, and to be a pointer to a
	VEC.  Call build_function_call_vec instead of
	build_function_call.
	* config/spu/spu-protos.h (spu_expand_builtin): Update
	declaration.

gcc/cp/:
	* typeck.c (build_function_call_vec): New function.
	(cp_build_function_call): Only pass first parameter to
	objc_rewrite_function_call.
	(build_modify_expr): Add rhs_origtype parameter.  Change all
	callers.
	* decl.c (finish_decl): Add origtype parameter.  Change all
	callers.
	* semantics.c (finish_call_expr): Pass VEC to
	resolve_overloaded_builtin.

gcc/objc:
	* objc-act.c (objc_rewrite_function_call): Change parameter from
	params to first_param.  Change all callers.

gcc/testsuite:
	* gcc.dg/Wcxx-compat-3.c: New testcase.

From-SVN: r146451
2009-04-20 19:35:00 +00:00
Eric Botcazou
c2efda0dee trans.c (unchecked_conversion_lhs_nop): New predicate.
* gcc-interface/trans.c (unchecked_conversion_lhs_nop): New predicate.
	(gnat_to_gnu) <N_Unchecked_Type_Conversion>: Return the expression
	if the conversion is on the LHS of an assignment and a no-op.
	<all> Do not convert the result to the result type if the Parent
	node is such a conversion.

From-SVN: r146450
2009-04-20 19:30:55 +00:00
Ian Lance Taylor
a916d97fc0 cp-tree.h (base_access): Change typedef to int.
* cp-tree.h (base_access): Change typedef to int.
	* parser.c (cp_parser_omp_flush): Change 0 to OMP_CLAUSE_ERROR.
	(cp_parser_omp_threadprivate): Likewise.
	* pt.c (unify_pack_expansion): Add casts to enum type.

From-SVN: r146448
2009-04-20 17:45:15 +00:00
Eric Botcazou
77022fa873 ada-tree.h (DECL_HAS_REP_P): Delete.
* gcc-interface/ada-tree.h (DECL_HAS_REP_P): Delete.
	* gcc-interface/decl.c (gnat_to_gnu_entity): Add support for extension
	of types with unknown discriminants.
	(substitute_in_type): Rewrite and restrict to formal substitutions.
	* gcc-interface/utils.c (create_field_decl): Do not set DECL_HAS_REP_P.
	(update_pointer_to): Update comment.

From-SVN: r146447
2009-04-20 17:41:33 +00:00
Ian Lance Taylor
d9d3eaab8c * verify-impl.c (verify_instructions_0): Add cast to enum type.
From-SVN: r146446
2009-04-20 17:38:23 +00:00
Ian Lance Taylor
8fa2df72bb module.c (import_iso_c_binding_module): Add casts to enum type.
* module.c (import_iso_c_binding_module): Add casts to enum type.
	* trans-intrinsic.c (gfc_conv_intrinsic_minmax): Change op to enum
	tree_code.
	(gfc_conv_intrinsic_anyall): Likewise.
	(gfc_conv_intrinsic_arith): Likewise.
	(gfc_conv_intrinsic_minmaxloc): Likewise.
	(gfc_conv_intrinsic_minmaxval): Likewise.
	(gfc_conv_intrinsic_bitop): Likewise.
	(gfc_conv_intrinsic_singlebitop): Likewise.
	(gfc_conv_intrinsic_strcmp): Likewise.

From-SVN: r146445
2009-04-20 17:37:49 +00:00
Joey Ye
6ff078d4f4 atom.md: Add bypasses with ix86_dep_by_shift_count.
2009-04-20  Joey Ye  <joey.ye@intel.com>
	    Xuepeng Guo <xuepeng.guo@intel.com>
	    H.J. Lu  <hongjiu.lu@intel.com>

	* config/i386/atom.md: Add bypasses with ix86_dep_by_shift_count.

	* config/i386/i386.c (LEA_SEARCH_THRESHOLD): New macro.
	(IX86_LEA_PRIORITY): Likewise.
	(distance_non_agu_define): New function.
	(distance_agu_use): Likewise.
	(ix86_lea_for_add_ok): Likewise.
	(ix86_dep_by_shift_count): Likewise.

	* config/i386/i386.md: Call ix86_lea_for_add_ok to decide we
	should split for LEA.

	* config/i386/i386-protos.h (ix86_lea_for_add_ok): Declare new
	function.
	(ix86_dep_by_shift_count): Likewise.

Co-Authored-By: H.J. Lu <hongjiu.lu@intel.com>
Co-Authored-By: Xuepeng Guo <xuepeng.guo@intel.com>

From-SVN: r146443
2009-04-20 10:09:25 -07:00
Richard Guenther
87a5b4cc3c expr.c (handled_component_p): Move ...
2009-04-20  Richard Guenther  <rguenther@suse.de>

	* expr.c (handled_component_p): Move ...
	* tree.h (handled_component_p): ... here.
	* tree.def: Re-order BIT_FIELD_REF, COMPONENT_REF,
	ARRAY_REF, ARRAY_RANGE_REF, VIEW_CONVERT_EXPR, IMAGPART_EXPR
	and REALPART_EXPR to be in one group.

From-SVN: r146427
2009-04-20 14:11:34 +00:00