Commit Graph

12601 Commits

Author SHA1 Message Date
DJ Delorie 7acf4da6f9 MAINTAINERS: Add myself as mep maintainer.
[toplevel]

	* MAINTAINERS: Add myself as mep maintainer.

[gcc]

	Add MeP port.
	* config.gcc: Add mep support.
	* recog.c: Resurrect validate_replace_rtx_subexp().
	* recog.h: Likewise.
	* config/mep/: Add new port:
	* config/mep/constraints.md: New file.
	* config/mep/default.h: New file.
	* config/mep/intrinsics.h: New file.
	* config/mep/intrinsics.md: New file.
	* config/mep/ivc2-template.h: New file.
	* config/mep/mep-c5.cpu: New file.
	* config/mep/mep-core.cpu: New file.
	* config/mep/mep-default.cpu: New file.
	* config/mep/mep-ext-cop.cpu: New file.
	* config/mep/mep-intrin.h: New file.
	* config/mep/mep-ivc2.cpu: New file.
	* config/mep/mep-lib1.asm: New file.
	* config/mep/mep-lib2.c: New file.
	* config/mep/mep-pragma.c: New file.
	* config/mep/mep-protos.h: New file.
	* config/mep/mep-tramp.c: New file.
	* config/mep/mep.c: New file.
	* config/mep/mep.cpu: New file.
	* config/mep/mep.h: New file.
	* config/mep/mep.md: New file.
	* config/mep/mep.opt: New file.
	* config/mep/predicates.md: New file.
	* config/mep/t-mep: New file.

[gcc/testsuite]

	Add MeP port.
	* lib/target-supports.exp: Add mep support (no profiling).

[libgcc]

	Add MeP port.
	* config.host: Add mep support.

[libstdc++-v3]

	Add MeP port.
	* configure.host: Add mep support.

From-SVN: r148890
2009-06-24 00:16:25 -04:00
Steve Ellcey 33436e2977 re PR testsuite/39297 (gcc.dg/tree-ssa/loop-31.c)
2009-06-23  Steve Ellcey  <sje@cup.hp.com>

	PR testsuite/39297
	* gcc.dg/ssa/loop-31.c: Change scan rules.

From-SVN: r148862
2009-06-23 18:28:26 +00:00
Manuel López-Ibáñez a28fbdbac8 directives.c (parse_include): Add location argument.
2009-06-23  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>

libcpp/
	* directives.c (parse_include): Add location argument. Update all
	calls.
	(parse_answer): Likewise.
	(do_include_common): Error with exact location.
	(parse_assertion): Likewise.
testsuite/
	* gcc.dg/cpp/empty-include.c: Update column info.
	* gcc.dg/cpp/assert2.c: Update column info.

From-SVN: r148857
2009-06-23 16:30:58 +00:00
Jakub Jelinek 8593e0b6b9 tree-object-size.c (addr_object_size): Instead of checking for non-NULL TREE_CHAIN of the FIELD_DECL check that there...
* tree-object-size.c (addr_object_size): Instead of checking
	for non-NULL TREE_CHAIN of the FIELD_DECL check that there
	are no FIELD_DECLs following it.

	* g++.dg/ext/builtin-object-size1.C: New test.
	* g++.dg/ext/builtin-object-size2.C: New test.

From-SVN: r148851
2009-06-23 16:27:04 +02:00
Andreas Krebbel fef015a857 tree-ssa-math-opts.c (find_bswap): Increase the search depth in order to match bswaps with signed source operands.
2009-06-23  Andreas Krebbel  <krebbel1@de.ibm.com>

	* tree-ssa-math-opts.c (find_bswap): Increase the search depth in
	order to match bswaps with signed source operands.

2009-06-23  Andreas Krebbel  <krebbel1@de.ibm.com>

	* gcc.dg/optimize-bswapsi-1.c: Add new bswap implementation.
	* gcc.dg/optimize-bswapdi-1.c: Likewise.

From-SVN: r148848
2009-06-23 12:10:06 +00:00
Adam Nemet cfb8805e0f combine.c (combine_simplify_rtx): Remove TRULY_NOOP_TRUNCATION check when calling force_to_mode on TRUNCATE's operand.
* combine.c (combine_simplify_rtx): Remove TRULY_NOOP_TRUNCATION
	check when calling force_to_mode on TRUNCATE's operand.

testsuite/
	* gcc.target/mips/truncate-3.c: New test.

From-SVN: r148827
2009-06-23 00:31:44 +00:00
Janus Weil 03bd096b3b re PR fortran/37254 (Reject valid PROCEDURE statement with implicit interface)
2009-06-22  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/37254
	PR fortran/39850
	* interface.c (compare_parameter): Set implicit type for function
	actual arguments with BT_UNKNOWN.


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

	PR fortran/37254
	PR fortran/39850
	* gfortran.dg/interface_30.f90: Modified error message.
	* gfortran.dg/proc_decl_22.f90: New.

From-SVN: r148816
2009-06-22 23:02:19 +02:00
Ian Lance Taylor 7a5d2eb861 linux.opt: Put mglibc ahead of muclibc.
./:	* config/linux.opt: Put mglibc ahead of muclibc.

	* c-decl.c (diagnose_mismatched_decls): Add -Wc++-compat warning
	for duplicate decls.
testsuite/:
	* gcc.dg/Wcxx-compat-19.c: New testcase.

From-SVN: r148808
2009-06-22 16:49:03 +00:00
Matthias Klose 0a7d7dea56 re PR objc++/28050 (ICE on invalid initializer)
gcc/
2009-06-22  Steven Bosscher  <steven@gcc.gnu.org>

        PR objc/28050
        * c-parser.c (c_parser_objc_message_args): Return error_mark_node
        instead of NULL if a parser error occurs.

gcc/objc/
2009-06-22  Steven Bosscher  <steven@gcc.gnu.org>

        PR objc/28050
        * objc-act.c (objc_build_message_args): Return if ARGS is the
        error_mark_node.

gcc/testsuite/
2009-06-22  Matthias Klose  <doko@ubuntu.com>

        PR objc/28050
        * pr28050.m: New testcase.

From-SVN: r148804
2009-06-22 15:18:38 +00:00
H.J. Lu 8e6e7620b3 re PR testsuite/40481 (gcc.dg/plugin/one_time-test-1.c doesn't work on ia64)
2009-06-22  H.J. Lu  <hongjiu.lu@intel.com>

	PR testsuite/40481
	* gcc.dg/plugin/one_time_plugin.c (one_pass_exec): Return 0;

From-SVN: r148795
2009-06-22 06:36:37 -07:00
Martin Jambor ac6cb60cdf re PR tree-optimization/40492 (ice in create_tmp_var)
2009-06-22  Martin Jambor  <mjambor@suse.cz>

	PR tree-optimization/40492
	* tree-sra.c (sra_modify_assign): Pass zero offsets to
	build_ref_for_offset.

	* testsuite/g++.dg/torture/pr40492.C: New test.

From-SVN: r148787
2009-06-22 12:54:16 +02:00
Uros Bizjak a6e8d911c0 dump-noaddr.x (dump_compare): Determine dumpbase file name from $src.
* gcc.c-torture/unsorted/dump-noaddr.x (dump_compare): Determine
	dumpbase file name from $src.  Add -fdump-ipa-all to compile flags.

From-SVN: r148784
2009-06-22 11:27:04 +02:00
Olivier Hainque 2832688098 pa.c (output_call): Don't optimize post call jumps into return address adjustments if...
* config/pa/pa.c (output_call): Don't optimize post call jumps
	into return address adjustments if the call may throw.

	testsuite/
	* gnat.dg/raise_ce.adb: Helper for ...
	* gnat.dg/handle_and_return.adb: New test.

From-SVN: r148780
2009-06-22 09:08:58 +00:00
Paul Thomas 79e9c4aa0e re PR fortran/40443 (Elemental procedure in genericl interface incorrectly selected in preference to specific procedure)
2009-06-22  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/40443
	* interface.c (gfc_search_interface): Hold back a match to an
	elementary procedure until all other possibilities are
	exhausted.

2009-06-22  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/40443
	* gfortran.dg/generic_18.f90: New test.

From-SVN: r148777
2009-06-22 04:41:53 +00:00
Paul Thomas 0e6640d89d re PR fortran/40472 (Simplification of spread intrinsic takes a long time)
2009-06-22  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/40472
	* simplify.c (gfc_simplify_spread): Restrict the result size to
	the limit for an array constructor.

2009-06-22  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/40472
	* gfortran.dg/spread_size_limit.f90: New test.

From-SVN: r148775
2009-06-22 04:39:40 +00:00
Uros Bizjak ee372c4b96 dump-noaddr.x (dump_compare): Use --dumpbase to put dump files in a subdirectory.
* gcc.c-torture/unsorted/dump-noaddr.x (dump_compare): Use --dumpbase
	to put dump files in a subdirectory.
	* gcc/testsuite/lib/gcc-dg.exp (cleanup-saved-temps): Also remove
	".o" temporary files.

From-SVN: r148768
2009-06-21 21:10:30 +02:00
Janus Weil 9b63f28250 re PR fortran/39850 (Too strict checking for procedures as actual argument)
2009-06-21  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/39850
	* interface.c (gfc_compare_interfaces): Take care of implicit typing
	when checking the function attribute. Plus another bugfix.
	(compare_parameter): Set attr.function and attr.subroutine according
	to the usage of a procedure as actual argument.


2009-06-21  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/39850
	* gfortran.dg/interface_19.f90: Add 'cleanup-modules'.
	* gfortran.dg/interface_20.f90: Ditto.
	* gfortran.dg/interface_21.f90: Ditto.
	* gfortran.dg/interface_22.f90: Ditto.
	* gfortran.dg/interface_30.f90: New.
	* gfortran.dg/proc_ptr_11.f90: Fix invalid test case.

From-SVN: r148767
2009-06-21 21:05:35 +02:00
Uros Bizjak 45a1ba933e fre-vce-1.c: Cleanup "fre" tree dump.
* gcc.dg/tree-ssa/fre-vce-1.c: Cleanup "fre" tree dump.
	* gcc.dg/vect/vect-shift-2.c: Cleanup "vect" tree dump.
	* gcc.dg/vect/vect.exp (VECT_SLP_CFLAGS): Initialize with original
	DEFAULT_VECTFLAGS.

From-SVN: r148766
2009-06-21 19:38:47 +02:00
Ira Rosen c64c5552f1 Fix 40359
Co-Authored-By: Revital Eres <eres@il.ibm.com>

From-SVN: r148762
2009-06-21 11:36:03 +00:00
Ira Rosen 3d25028c8f re PR testsuite/40475 (gcc.dg/vect/vect-nest-cycle-[12].c)
PR testsuite/40475
	* gcc.dg/vect/vect-nest-cycle-1.c: Fail to vectorize on targets 
	without misalignment support.
	* gcc.dg/vect/vect-nest-cycle-2.c: Likewise.

From-SVN: r148758
2009-06-21 07:25:21 +00:00
Tobias Burnus cb7a89619d re PR fortran/40452 (-fbounds-check: False positive due to ignoring storage association)
2009-06-20  Tobias Burnus  <burnus@net-b.de>

        PR fortran/40452
        * trans-decl.c (add_argument_checking): Disable bounds check
        for allowed argument storage association.

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

        PR fortran/40452
        * gfortran.dg/bounds_check_strlen_9.f90: New test.

From-SVN: r148750
2009-06-20 20:07:10 +02:00
Paul Thomas 47f71eb95c re PR fortran/40440 (Automatic deallocation component of DT function return value)
2009-06-19  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/40440
	* trans-expr.c (gfc_conv_procedure_call): Do not deallocate
	allocatable components if the argument is a pointer.

2009-06-19  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/40440
	* gfortran.dg/alloc_comp_result_2.f90: New test.

From-SVN: r148731
2009-06-19 21:58:27 +00:00
Ramana Radhakrishnan ce41c38bfc Fix PR 40482 2009-06-19 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
Fix PR 40482
2009-06-19  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>

	    PR target/40482
	    * config/arm/arm.c (thumb_shiftable_const): Truncate val to 
	    32 bits.
	    * config/arm/arm.md: Likewise.

2009-06-19  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>

	    PR target/40482
	    * gcc.target/arm/pr40482.c: New test.

From-SVN: r148728
2009-06-19 21:22:44 +00:00
Ian Lance Taylor d130ae1156 tree-cfg.c (gimple_redirect_edge_and_branch): Change ERROR_MARK to GIMPLE_ERROR_MARK.
./:	* tree-cfg.c (gimple_redirect_edge_and_branch): Change ERROR_MARK
	to GIMPLE_ERROR_MARK.

	* c-typeck.c (build_conditional_expr): Add op1_original_type and
	op2_original_type parameters.  Warn about using different enum
	types.
	* c-parser.c (c_parser_conditional_expression): Pass original
	types to build_conditional_expr.
	* c-tree.h (build_conditional_expr): Update declaration.
testsuite/:
	* gcc.dg/Wcxx-compat-18.c: New testcase.

From-SVN: r148727
2009-06-19 20:55:27 +00:00
Richard Guenther 779704e7cf tree-ssa-alias.c (ptr_deref_may_alias_decl_p): Handle ADDR_EXPR pointers.
2009-06-19  Richard Guenther  <rguenther@suse.de>

	* tree-ssa-alias.c (ptr_deref_may_alias_decl_p): Handle
	ADDR_EXPR pointers.
	(ptr_derefs_may_alias_p): Likewise.
	(ptr_deref_may_alias_ref_p_1): New function.
	(ptr_deref_may_alias_ref_p): Likewise.
	(ref_maybe_used_by_call_p_1): Handle builtins that are not
	covered by looking at the ESCAPED solution.
	(call_may_clobber_ref_p_1): Likewise.
	* tree-ssa-structalias.c (get_constraint_for_ptr_offset):
	Handle NULL_TREE offset.  Do not produce redundant constraints.
	(process_all_all_constraints): New helper function.
	(do_structure_copy): Use it.
	(handle_lhs_call): Likewise.
	(find_func_aliases): Handle some builtins with pointer arguments
	and/or return values explicitly.

	* gcc.c-torture/execute/20090618-1.c: New testcase.

From-SVN: r148718
2009-06-19 16:47:35 +00:00
Ian Lance Taylor 642324bb16 ggc-page.c (ggc_pch_write_object): Initialize emptyBytes.
./:	* ggc-page.c (ggc_pch_write_object): Initialize emptyBytes.
	* sdbout.c (sdb_debug_hooks): Initialize non-SDB_DEBUGGING_INFO
	version.

	* c-decl.c (finish_decl): If -Wc++-compat, warn about
	uninitialized const.
testsuite/:
	* gcc.dg/Wcxx-compat-17.c: New testcase.

From-SVN: r148710
2009-06-19 15:32:43 +00:00
Ian Lance Taylor dc491a250a dse.c (struct store_info): Rename bitmap field to bmap.
./:	* dse.c (struct store_info): Rename bitmap field to bmap.  Change
	all uses.

	* c-decl.c (in_struct, struct_types): Remove.
	(struct c_binding): Add in_struct field.
	(c_binding_ptr): Define type, along with VEC.
	(struct c_struct_parse_info): Define.
	(struct_parse_info): New static variable.
	(bind): Initialize in_struct field.
	(start_struct): Remove enclosing_in_struct and
	enclosing_struct_types parameters.  Add
	enclosing_struct_parse_info parameter.  Change all callers.  Set
	struct_parse_info rather than in_struct and struct_types.
	(grokfield): If -Wc++-compat and there is a symbol binding for the
	field name, set the in_struct flag and push it on the
	struct_parse_info->fields vector.
	(warn_cxx_compat_finish_struct): New static function.
	(finish_struct): Remove enclosing_in_struct and
	enclosing_struct_types parameters.  Add
	enclosing_struct_parse_info parameter.  Change all callers.  Don't
	set C_TYPE_DEFINED_IN_STRUCT here.  Call
	warn_cxx_compat_finish_struct.  Free struct_parse_info and set to
	parameter.  Only push on struct_types if warn_cxx_compat.
	(finish_enum): Only push on struct_types if warn_cxx_compat.
	(declspecs_add_type): Add loc parameter.  Change all callers.
	Change all error calls to error_at.  Pass loc, not input_location,
	to pedwarn calls.  Warn if -Wc++-compat and a typedef name is
	defined in a struct.  If -Wc++-compat and parsing a struct, record
	that a typedef name was used.
	* c-parser.c (c_parser_declspecs): Get location to pass to
	declspecs_add_type.
	(c_parser_struct_or_union_specifier): Update calls to start_struct
	and finish_struct.
	* c-tree.h (struct c_struct_parse_info): Declare.
	(finish_struct, start_struct): Update declarations.
	(declspecs_add_type): Update declaration.
objc/:
	* objc-act.c (objc_in_struct, objc_struct_types): Remove.
	(objc_struct_info): New static variable.
	(objc_start_struct): Pass &objc_struct_info, not &objc_in_struct
	and &objc_struct_types, to start_struct.
	(objc_finish_struct): Likewise for finish_struct.
objcp/:
	* objcp-decl.h (start_struct): Remove in_struct and struct_types
	parameters.  Add struct_info parameter.
	(finish_struct): Likewise.
testsuite/:
	* gcc.dg/Wcxx-compat-15.c: New testcase.

From-SVN: r148709
2009-06-19 15:29:18 +00:00
Ian Lance Taylor 88eeff6f5a c-decl.c (grokdeclarator): If -Wc++-compat, warn about a global variable with an anonymous type.
./:	* c-decl.c (grokdeclarator): If -Wc++-compat, warn about a global
	variable with an anonymous type.
fortran/:
	* cpp.c (struct gfc_cpp_option_data): Give this struct, used for
	the global variable gfc_cpp_option, a name.
testsuite/:
	* gcc.dg/Wcxx-compat-16.c: New testcase.

From-SVN: r148708
2009-06-19 15:25:16 +00:00
Uros Bizjak dc6707b847 re PR testsuite/40491 (Revision 148663 caused extra failures)
* optabs.h (enum optab_index): Add new OTI_significand.
	(significand_optab): Define corresponding macro.
	* optabs.c (init_optabs): Initialize significand_optab.
	* genopinit.c (optabs): Implement significand_optab using
	significand?f2 patterns.
	* builtins.c (expand_builtin_mathfn): Handle
	BUILT_IN_SIGNIFICAND{,F,L}.
	(expand_builtin): Expand BUILT_IN_SIGNIFICAND{,F,L} using
	expand_builtin_mathfn if flag_unsafe_math_optimizations is set.

	* config/i386/i386.md (significandxf2, significand<mode>2): New
	expanders to implement significandf, significand and significandl
	built-ins as inline x87 intrinsics.

testsuite/ChangeLog:

	* gcc.dg/builtins-34.c: Add significand cases.

	PR testsuite/40491
	* testsuite/gcc.dg/20080522-1.c: Remove testcase for real.
	* testsuite/gcc.dg/20080528-1.c: Ditto.

From-SVN: r148705
2009-06-19 16:22:16 +02:00
Janus Weil 7e9c61e83e re PR fortran/40450 ([F03] procedure pointer as actual argument)
2009-06-19  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/40450
	* trans-expr.c (gfc_conv_procedure_call): Only add an extra addr_expr
	to a procedure pointer actual argument, if it is not itself a
	dummy arg.

2009-06-19  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/40450
	* gfortran.dg/proc_ptr_20.f90: New.

From-SVN: r148690
2009-06-19 10:11:21 +02:00
H.J. Lu 2a457a9b4f re PR target/40470 (unable to find a register to spill in class ‘SSE_FIRST_REG’)
gcc/

2009-06-18  H.J. Lu  <hongjiu.lu@intel.com>

	PR target/40470
	* config/i386/i386.h (CLASS_LIKELY_SPILLED_P): Add SSE_FIRST_REG.

gcc/testsuite/

2009-06-18  H.J. Lu  <hongjiu.lu@intel.com>

	PR target/40470
	* gcc.dg/torture/pr40470-1.c: New.
	* gcc.dg/torture/pr40470-2.c: Likewise.
	* gcc.dg/torture/pr40470-3.c: Likewise.
	* gcc.dg/torture/pr40470-4.c: Likewise.

From-SVN: r148673
2009-06-18 14:12:12 -07:00
Diego Novillo fca5bb5ca8 plugins.texi: Document plugin_is_GPL_compatible.
* doc/plugins.texi: Document plugin_is_GPL_compatible.
	* plugin.c (str_license): Declare.
	(try_init_one_plugin): Assert that the symbol
	'plugin_is_GPL_compatible' exists.

testsuite/ChangeLog

	* gcc.dg/plugin/selfassign.c: Declare plugin_is_GPL_compatible.
	* gcc.dg/plugin/ggcplug.c: Likewise.
	* gcc.dg/plugin/one_time_plugin.c: Likewise.
	* g++.dg/plugin/selfassign.c: Likewise.
	* g++.dg/plugin/attribute_plugin.c: Likewise.
	* g++.dg/plugin/dumb_plugin.c: Likewise.

From-SVN: r148667
2009-06-18 15:48:35 -04:00
Manuel López-Ibáñez b506a5a238 expr.c (num_div_op): Take explicit location.
2009-06-18  Manuel López-Ibáñez  <manu@gcc.gnu.org>

libcpp/	
	* expr.c (num_div_op): Take explicit location.
testsuite/	
	* gcc.dg/cpp/arith-3.c: Add column info.

From-SVN: r148662
2009-06-18 15:10:23 +00:00
Sandra Loosemore bdc4827b1c arm.c (TARGET_SCALAR_MODE_SUPPORTED_P): Redefine.
2009-06-18  Sandra Loosemore  <sandra@codesourcery.com>

	gcc/
	* config/arm/arm.c (TARGET_SCALAR_MODE_SUPPORTED_P): Redefine.
	(arm_scalar_mode_supported_p): New function.

	gcc/testsuite/
	* gcc.target/arm/fp16-compile-none-2.c: New.
	* gcc.target/arm/fp16-compile-ieee-12.c: New.
	* gcc.target/arm/fp16-compile-alt-12.c: New.

From-SVN: r148657
2009-06-18 08:33:27 -04:00
Sandra Loosemore 76d6502fc9 fp16-compile-alt-1.c: New.
2009-06-18  Sandra Loosemore  <sandra@codesourcery.com>

	gcc/testsuite/
	* gcc.target/arm/fp16-compile-alt-1.c: New.
	* gcc.target/arm/fp16-compile-alt-2.c: New.
	* gcc.target/arm/fp16-compile-alt-3.c: New.
	* gcc.target/arm/fp16-compile-alt-4.c: New.
	* gcc.target/arm/fp16-compile-alt-5.c: New.
	* gcc.target/arm/fp16-compile-alt-6.c: New.
	* gcc.target/arm/fp16-compile-alt-7.c: New.
	* gcc.target/arm/fp16-compile-alt-8.c: New.
	* gcc.target/arm/fp16-compile-alt-9.c: New.
	* gcc.target/arm/fp16-compile-alt-10.c: New.
	* gcc.target/arm/fp16-compile-alt-11.c: New.
	* gcc.target/arm/fp16-compile-ieee-1.c: New.
	* gcc.target/arm/fp16-compile-ieee-2.c: New.
	* gcc.target/arm/fp16-compile-ieee-3.c: New.
	* gcc.target/arm/fp16-compile-ieee-4.c: New.
	* gcc.target/arm/fp16-compile-ieee-5.c: New.
	* gcc.target/arm/fp16-compile-ieee-6.c: New.
	* gcc.target/arm/fp16-compile-ieee-7.c: New.
	* gcc.target/arm/fp16-compile-ieee-8.c: New.
	* gcc.target/arm/fp16-compile-ieee-9.c: New.
	* gcc.target/arm/fp16-compile-ieee-10.c: New.
	* gcc.target/arm/fp16-compile-ieee-11.c: New.
	* gcc.target/arm/fp16-compile-none-1.c: New.
	* gcc.target/arm/fp16-compile-exprtype.c: New.
	* gcc.target/arm/fp16-compile-vcvt.c: New.
	* gcc.target/arm/fp16-builtins-1.c: New.
	* gcc.target/arm/fp16-rounding-alt-1.c: New.
	* gcc.target/arm/fp16-rounding-ieee-1.c: New.
	* gcc.target/arm/fp16-param-1.c: New.
	* gcc.target/arm/fp16-return-1.c: New.
	* gcc.target/arm/fp16-unprototyped-1.c: New.
	* gcc.target/arm/fp16-unprototyped-2.c: New.
	* gcc.target/arm/fp16-variadic-1.c: New.
	* gcc.dg/torture/arm-fp16-compile-assign.c: New.
	* gcc.dg/torture/arm-fp16-compile-convert.c: New.
	* gcc.dg/torture/arm-fp16-int-convert-alt.c: New.
	* gcc.dg/torture/arm-fp16-int-convert-ieee.c: New.
	* gcc.dg/torture/arm-fp16-ops.h: New.
	* gcc.dg/torture/arm-fp16-ops-1.c: New.
	* gcc.dg/torture/arm-fp16-ops-2.c: New.
	* gcc.dg/torture/arm-fp16-ops-3.c: New.
	* gcc.dg/torture/arm-fp16-ops-4.c: New.
	* gcc.dg/torture/arm-fp16-ops-5.c: New.
	* gcc.dg/torture/arm-fp16-ops-6.c: New.
	* gcc.dg/torture/arm-fp16-ops-7.c: New.
	* gcc.dg/torture/arm-fp16-ops-8.c: New.
	* g++.dg/ext/arm-fp16/fp16-overload-1.C: New.
	* g++.dg/ext/arm-fp16/fp16-return-1.C: New.
	* g++.dg/ext/arm-fp16/fp16-param-1.C: New.
	* g++.dg/ext/arm-fp16/fp16-mangle-1.C: New.
	* g++.dg/ext/arm-fp16/arm-fp16-ops.h: New.
	* g++.dg/ext/arm-fp16/arm-fp16-ops-1.C: New.
	* g++.dg/ext/arm-fp16/arm-fp16-ops-2.C: New.
	* g++.dg/ext/arm-fp16/arm-fp16-ops-3.C: New.
	* g++.dg/ext/arm-fp16/arm-fp16-ops-4.C: New.
	* g++.dg/ext/arm-fp16/arm-fp16-ops-5.C: New.
	* g++.dg/ext/arm-fp16/arm-fp16-ops-6.C: New.
	* g++.dg/ext/arm-fp16/arm-fp16-ops-7.C: New.
	* g++.dg/ext/arm-fp16/arm-fp16-ops-8.C: New.

From-SVN: r148656
2009-06-18 08:30:19 -04:00
Uros Bizjak 2c2f70e1f2 convert.c (convert_to_integer): Convert (int)logb() into ilogb().
* convert.c (convert_to_integer): Convert (int)logb() into ilogb().

testsuite/ChangeLog:

	* gcc.dg/builtins-65.c: New test.

From-SVN: r148653
2009-06-18 13:35:38 +02:00
Janus Weil f99098233b re PR fortran/40451 ([F03] procedure pointer assignment rejected)
2009-06-18  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/40451
	* resolve.c (resolve_contained_fntype): Prevent implicit typing for
	procedures with explicit interface.
	* symbol.c (gfc_check_function_type): Ditto.

2009-06-18  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/40451
	* gfortran.dg/proc_ptr_result_4.f90: New.

From-SVN: r148652
2009-06-18 10:09:40 +02:00
Uros Bizjak c637b0fa0d ChangeLog: Various fixes.
* ChangeLog: Various fixes.
	* testsuite/ChangeLog: Ditto.

From-SVN: r148651
2009-06-18 09:58:17 +02:00
Adam Nemet 23314e77ec tree.h (STRIP_NOPS, [...]): Use tree_strip_nop_conversions...
* tree.h (STRIP_NOPS, STRIP_SIGN_NOPS,
	STRIP_USELESS_TYPE_CONVERSION): Use tree_strip_nop_conversions,
	tree_strip_sign_nop_conversions and
	tree_ssa_strip_useless_type_conversions rather than stripping
	the operations here.
	(tree_strip_nop_conversions, tree_strip_sign_nop_conversions):
	Declare them.
	* gimple.h (tree_ssa_strip_useless_type_conversions): Declare it.
	* tree-ssa.c (tree_ssa_strip_useless_type_conversions): New function.
	* tree.c (tree_nop_conversion, tree_sign_nop_conversion,
	tree_strip_nop_conversions, tree_strip_sign_nop_conversions): New
	functions.

testsuite/
	* gcc.c-torture/execute/bitfld-5.c: New test.

From-SVN: r148631
2009-06-17 22:11:47 +00:00
David Daney 2cb0a60da1 jump.c (cleanup_barriers): Handle case of no insns before a barrier.
2009-06-17  David Daney  <ddaney@caviumnetworks.com>

	* jump.c (cleanup_barriers): Handle case of no insns before a
	barrier.

2009-06-17  David Daney  <ddaney@caviumnetworks.com>

	* gcc.dg/builtin-unreachable-3.c: New test.

From-SVN: r148624
2009-06-17 19:27:35 +00:00
David Daney f9c3538320 builtin-unreachable.c: New test.
2009-06-17  David Daney  <ddaney@caviumnetworks.com>

	* gcc.target/i386/builtin-unreachable.c: New test.

From-SVN: r148622
2009-06-17 19:14:56 +00:00
Ian Lance Taylor 5eb4df45ce c-pch.c (get_ident): Don't set size of templ array.
./:	* c-pch.c (get_ident): Don't set size of templ array.
	(pch_init): Don't set size of partial_pch array.

	* c-typeck.c (digest_init): If -Wc++-compat, warn about using a
	string constant to intialize an array whose size is the length of
	the string.
testsuite/:
	* gcc.dg/Wcxx-compat-14.c: New testcase.

From-SVN: r148611
2009-06-17 13:21:23 +00:00
Aldy Hernandez 6958c7802c * gcc.dg/func-ptr-conv-1.c: Update column info.
From-SVN: r148609
2009-06-17 12:59:39 +00:00
Richard Guenther 4bc3052992 re PR middle-end/40404 (Comparison involving unsigned int:17 bitfield seems wrong)
2009-06-17  Richard Guenther  <rguenther@suse.de>

	PR middle-end/40404
	* gcc.c-torture/execute/pr40404.c: New testcase.

From-SVN: r148606
2009-06-17 12:30:54 +00:00
Richard Guenther 3cb8677cc0 re PR middle-end/40460 (Enormous memory usage during compilation with -O2 or -O3 optimizations.)
2009-06-17  Richard Guenther  <rguenther@suse.de>

	PR middle-end/40460
	* tree-chrec.h (build_polynomial_chrec): If we cannot determine
	if there is no evolution of left in the loop bail out.
	* tree-chrec.c (chrec_fold_multiply_poly_poly): CSE one
	chrec_fold_multiply.

	* g++.dg/torture/pr40460.C: New testcase.

From-SVN: r148593
2009-06-17 10:26:24 +00:00
Olatunji Ruwase 8dd1bca076 [multiple changes]
2009-06-16  Olatunji Ruwase  <tjruwase@google.com>

	* plugin.c(position_pass): Skip newly inserted pass during list
	traversal to avoid repeated insertion.

2009-06-05  Olatunji Ruwase  <tjruwase@google.com>

	* gcc.dg/plugin/one_time_plugin.c: New test.
	* gcc.dg/plugin/one_time-test-1.c: New test.
	* gcc.dg/plugin/plugin.exp: Added one_time_plugin.c test.

From-SVN: r148566
2009-06-16 22:18:55 -04:00
Ian Lance Taylor 7d882b8356 c-common.c (skip_evaluation): Don't define.
./:	* c-common.c (skip_evaluation): Don't define.
	(c_inhibit_evaluation_warnings): Define global variable.
	(overflow_warning): Check c_inhibit_evaluation_warnings rather
	than skip_evaluation.
	(convert_and_check, warn_for_div_by_zero): Likewise.
	* c-common.h (skip_evaluation): Don't declare.
	(c_inhibit_evaluation_warnings): Declare.
	* c-parser.c (c_parser_typeof_specifier): Set
	c_inhibit_evaluation_warnings rather than skip_evaluation.
	(c_parser_conditional_expression): Likewise.
	(c_parser_binary_expression): Likewise.
	(c_parser_sizeof_expression): Likewise.
	(c_parser_alignof_expression): Likewise.
	* c-typeck.c (build_indirect_ref): Check
	c_inhibit_evaluation_warnings rather than skip_evaluation.
	(build_conditional_expr, build_binary_op): Likewise.
cp/:
	* parser.c (cp_unevaluated_operand): Define global variable.
	(cp_parser_question_colon_clause): Increment
	c_inhibit_evaluation_warnings when evaluating an expression which
	will never be executed.
	(cp_parser_decltype): Increment cp_unevaluated_operand and
	c_inhibit_evaluation_warnings, not skip_evaluation.
	(cp_parser_sizeof_operand): Likewise.
	(cp_parser_enclosed_template_argument_list): Save
	cp_unevaluated_operand and c_inhibit_evaluation_warnings, not
	skip_evaluation.
	* cp-tree.h (struct saved_scope): Remove skip_evaluation field.
	Add unevaluated_operand and inhibit_evaluation_warnings fields.
	(cp_unevaluated_operand): Declare.
	* name-lookup.c (push_to_top_level): Save cp_unevaluated_operand
	and c_inhibit_evaluation_warnings rather than skip_evaluation.
	(pop_from_top_level): Restore cp_unevaluated_operand and
	c_inhibit_evaluation_warnings rather than skip_evaluation.
	* class.c (build_base_path): Check cp_unevaluated_operand rather
	than skip_evaluation.
	* typeck.c (build_class_member_access_expr): Likewise.
	(cp_build_binary_op): Don't warn about bad shift counts if
	c_inhibit_evaluation_warnings is non-zero.
	* pt.c (coerce_template_parms): Save state of
	cp_unevaluated_operand and c_inhibit_evaluation_warnings, not
	skip_evaluation.
	(tsubst_aggr_type): Likewise.
	(tsubst_pack_expansion): Check cp_unevaluated_operand rather than
	skip_evaluation.
	(tsubst_copy): Likewise.
	(tsubst): Set cp_unevaluated_operand and
	c_inhibit_evaluation_warnings, not skip_evaluation.
	(tsubst_copy_and_build): Likewise.
	* call.c (convert_arg_to_ellipsis): Check cp_unevaluated_operand
	rather than skip_evaluation.
	* decl2.c (mark_used): Likewise.
	* semantics.c (finish_non_static_data_member): Likewise.
	* cvt.c (cp_convert_and_check): Check
	c_inhibit_evaluation_warnings rather than skip_evaluation.
	* mangle.c (write_type): Set cp_unevaluated_operand rather than
	skip_evaluation.
testsuite/:
	* g++.dg/warn/skip-1.C: New testcase.

From-SVN: r148535
2009-06-16 14:24:40 +00:00
Jakub Jelinek f2ff88729a re PR middle-end/40446 (ICE in gen_lowpart_general)
PR middle-end/40446
	* expr.c (expand_expr_real_1) <case VIEW_CONVERT_EXPR>: Don't
	use gen_lowpart if op0 has complex mode.

	* g++.dg/other/pr40446.C: New test.

From-SVN: r148533
2009-06-16 15:48:07 +02:00
Richard Guenther de70bb20ba tree-ssa-structalias.c (do_ds_constraint): Stores in global variables add them to ESCAPED.
2009-06-16  Richard Guenther  <rguenther@suse.de>

	* tree-ssa-structalias.c (do_ds_constraint): Stores in global
	variables add them to ESCAPED.
	(find_func_aliases): Do not make all indirectly stored values
	escaped.

	* gcc.dg/tree-ssa/pta-escape-1.c: New testcase.
	* gcc.dg/tree-ssa/pta-escape-2.c: Likewise.
	* gcc.dg/tree-ssa/pta-escape-3.c: Likewise.
	* gcc.dg/tree-ssa/ssa-fre-27.c: Likewise.

From-SVN: r148525
2009-06-16 12:31:49 +00:00
Martin Jambor 0ec19b8c10 re PR tree-optimization/40432 (verify_stmts failed with -O2: non-register as LHS of unary operation)
2009-06-16  Martin Jambor  <mjambor@suse.cz>

	PR tree-optimization/40432
	* tree-sra.c (sra_modify_assign): When creating VIEW_CONVERT_EXPR,
	check whether we need to force gimple register operand.

	* testsuite/gcc.c-torture/compile/pr40432.c: New file.

From-SVN: r148522
2009-06-16 12:16:40 +02:00