Commit Graph

94150 Commits

Author SHA1 Message Date
Ian Lance Taylor
c885ca8996 rs6000.c (rs6000_explicit_options): Make static.
* config/rs6000/rs6000.c (rs6000_explicit_options): Make static.
	(rs6000_attribute_table): Make static; move before use.

From-SVN: r148738
2009-06-20 01:23:50 +00:00
GCC Administrator
47ff3434c7 Daily bump.
From-SVN: r148737
2009-06-20 00:16:48 +00: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
Eric Botcazou
6569d386e2 tree.c (substitute_in_expr): Tweak and reformat.
* tree.c (substitute_in_expr) <COMPONENT_REF>: Tweak and reformat.
	<tcc_vl_exp>: Call process_call_operands on the new CALL_EXPR.
	Propagate the TREE_READONLY flag without overwriting it.
	(substitute_placeholder_in_expr) <tcc_vl_exp>: Likewise.
	Propagate the TREE_READONLY flag onto the result.
	(process_call_operands): Move around.  Use correct constant value.

From-SVN: r148729
2009-06-19 21:33:21 +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
Eric Botcazou
502c4bb950 trans.c (emit_check): Do not wrap up the result in a SAVE_EXPR.
* gcc-interface/trans.c (emit_check): Do not wrap up the result
	in a SAVE_EXPR.
	(protect_multiple_eval): Always protect complex expressions.

From-SVN: r148723
2009-06-19 18:18:54 +00:00
Ian Lance Taylor
d4aa4f4b78 i386.c (ix86_function_specific_save): Test that fields match values...
* config/i386/i386.c (ix86_function_specific_save): Test that
	fields match values, rather than testing the values are in a
	certain range.

From-SVN: r148721
2009-06-19 17:56:01 +00:00
Paolo Carlini
9b88236b34 random.h (_Adaptor): Simplify for _DInputType always a floating point type.
2009-06-19  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/random.h (_Adaptor): Simplify for _DInputType always
	a floating point type.
	(uniform_int_distribution<>::uniform_int_distribution(_IntType,
	_IntType)): Fix second default argument.
	(uniform_int_distribution<>::_M_call): Remove.
	(uniform_int_distribution<>::operator()(_UniformRandomNumberGenerator&,
	const param_type&)): Only declare.
	* include/bits/random.tcc (uniform_int_distribution<>::_M_call(
	_UniformRandomNumberGenerator&, result_type, result_type, true_type):
	Remove.
	uniform_int_distribution<>::operator()(_UniformRandomNumberGenerator&,
	const param_type&): Define here.
	(geometric_distribution<>::operator()(_UniformRandomNumberGenerator&,
	const param_type&), discrete_distribution<>::operator()
	(_UniformRandomNumberGenerator&, const param_type&), 
	piecewise_constant_distribution<>::operator()
	(_UniformRandomNumberGenerator&, const param_type&),
	piecewise_linear_distribution<>::operator()
	(_UniformRandomNumberGenerator&, const param_type&)): Use double as
	the second template argument of _Adaptor.
	* testsuite/26_numerics/random/uniform_int_distribution/cons/
	default.cc: Adjust.

From-SVN: r148720
2009-06-19 17:49:31 +00:00
Paolo Carlini
f8dd9e0de0 random.tcc (discrete_distribution<>::param_type:: param_type(size_t, double, double, _Func), [...]): Tidy.
2009-06-19  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/random.tcc (discrete_distribution<>::param_type::
      	param_type(size_t, double, double, _Func),
	discrete_distribution<>::operator()(_UniformRandomNumberGenerator&,
	const param_type&)): Tidy.
	(piecewise_constant_distribution<>::param_type::_M_initialize):
	Use reserve, fix.
	(piecewise_constant_distribution<>::param_type::
	param_type(initializer_list<>, _Func),
	piecewise_constant_distribution<>::param_type::
	param_type(size_t, _RealType, _RealType, _Func),
       	piecewise_linear_distribution<>::param_type::
	param_type(initializer_list<>, _Func),
       	piecewise_linear_distribution<>::param_type::
	param_type(size_t, _RealType, _RealType, _Func)): Use reserve, tidy.
	(piecewise_constant_distribution<>::param_type::
	param_type(_InputIteratorB, _InputIteratorB, _InputIteratorW),
	piecewise_constant_distribution<>::
	operator()(_UniformRandomNumberGenerator&, const param_type&),
      	piecewise_linear_distribution<>::
	operator()(_UniformRandomNumberGenerator&, const param_type&)): Fix.
	(operator>>(std::basic_istream<>&,
	piecewise_constant_distribution<>&),
	operator>>(std::basic_istream<>&, piecewise_linear_distribution<>&)):
	Use reserve.
	* include/bits/random.h: Minor cosmetic changes.

From-SVN: r148719
2009-06-19 17:17:14 +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
217655da6f * varasm.c (const_rtx_hash_1): Remove const qualifier from shift.
From-SVN: r148713
2009-06-19 15:57:06 +00:00
Ian Lance Taylor
50ae5feab3 * rtl.h (SUBREG_PROMOTED_UNSIGNED_P): Add cast to int.
From-SVN: r148712
2009-06-19 15:53:07 +00:00
Kaveh R. Ghazi
eb6f9a86c5 gfortran.h (gfc_expr): Use mpc_t to represent complex numbers.
* gfortran.h (gfc_expr): Use mpc_t to represent complex numbers.

	* arith.c, dump-parse-tree.c, expr.c, module.c, resolve.c,
	simplify.c, target-memory.c, target-memory.h, trans-const.c,
	trans-expr.c: Convert to mpc_t throughout.

From-SVN: r148711
2009-06-19 15:33:55 +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
28a876a429 see.c: Remove for real.
* see.c: Remove for real.

From-SVN: r148707
2009-06-19 16:26:24 +02: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
Arnaud Charlet
4646d048e4 Update comments.
From-SVN: r148703
2009-06-19 14:29:26 +02:00
Arnaud Charlet
1313f39c90 Minor reformatting.
From-SVN: r148702
2009-06-19 14:29:07 +02:00
Arnaud Charlet
659819b971 [multiple changes]
2009-06-19  Emmanuel Briot  <briot@adacore.com>

	* prj-ext.adb, makeutl.adb, makeutl.ads (Executable_Prefix_Path): Now
	make sure we always return a name ending with a path separator.

2009-06-19  Javier Miranda  <miranda@adacore.com>

	* sem_ch12.adb (Instantiate_Package_Body, Instantiate_Subprogram_Body):
	Save and restore the visibility of the parent when installed.

2009-06-19  Jose Ruiz  <ruiz@adacore.com>

	* s-tposen.ads (Protection_Entry): Replace fields L, Ceiling, and Owner
	by Common which contains all these fields.

	* s-tposen.adb (Initialize_Protection_Entry, Lock_Entry,
	Lock_Read_Only_Entry, Timed_Protected_Single_Entry_Call, Unlock_Entry):
	Remove code duplication in this package by means of calling the
	equivalent code in s-taprob.

2009-06-19  Robert Dewar  <dewar@adacore.com>

	* a-einuoc.ads: Minor reformatting

From-SVN: r148701
2009-06-19 14:23:38 +02:00
Ed Falis
0eed21bd6a a-einuoc.ads, [...]: Code clean up.
2009-06-19  Ed Falis  <falis@adacore.com>

	* a-einuoc.ads, s-osinte-vxworks.ads, s-vxwext.ads, s-vxwext-kernel.adb,
	s-vxwext-kernel.ads, s-vxwext-rtp.ads: Code clean up.

From-SVN: r148698
2009-06-19 13:06:38 +02:00
Arnaud Charlet
93c3fca75e [multiple changes]
2009-06-19  Eric Botcazou  <ebotcazou@adacore.com>

	* einfo.ads (Handling of Type'Size Values): Fix Object_Size values.

2009-06-19  Robert Dewar  <dewar@adacore.com>

	* a-nudira.adb (Need_64): Handle negative ranges and also dynamic
	ranges

	* checks.adb (Determine_Range): Move the test for generic types later.

	* sem_eval.adb (Compile_Time_Compare): Improve circuitry to catch more
	cases.
	(Eval_Relational_Op): Fold more cases including string compares

	* sem_util.ads, sem_util.adb (References_Generic_Formal_Type): New
	function.

From-SVN: r148697
2009-06-19 12:59:04 +02:00
Arnaud Charlet
e29e248316 [multiple changes]
2009-06-19  Robert Dewar  <dewar@adacore.com>

	* sem_type.ads, sem_ch12.adb: Minor reformatting

	* s-wchcnv.adb (UTF_32_To_Char_Sequence): Handle invalid data properly

2009-06-19  Ed Schonberg  <schonberg@adacore.com>

	* exp_ch9.adb (Build_Wrapper_Spec): Handle properly an overridden
	primitive operation of a rivate extension whose controlling argument
	is an out parameter.

	* sem.adb (Walk_Library_Units): exclude generic package declarations
	from check.

From-SVN: r148696
2009-06-19 12:54:36 +02:00
Arnaud Charlet
c3b74b8ac8 sem.adb (Walk_Library_Items): Include bodies in the list of units to traverse...
* sem.adb (Walk_Library_Items): Include bodies in the list of units to
	traverse, to account for front-end inlining and instantiations in a
	spec or in the main unit.

From-SVN: r148695
2009-06-19 12:49:31 +02:00
Arnaud Charlet
f26d5cd3cb [multiple changes]
2009-06-19  Thomas Quinot  <quinot@adacore.com>

	* i-vxwoio.ads: Add comments

2009-06-19  Thomas Quinot  <quinot@adacore.com>

	* socket.c, g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.adb,
	g-socthi-vxworks.ads, g-socthi-mingw.adb, g-socthi-mingw.ads,
	g-socthi.adb, g-socthi.ads, g-socket.adb, g-sothco.ads
	(GNAT.Sockets.Thin.C_Ioctl): Rename to Socket_Ioctl.
	(GNAT.Sockets.Thin.Socket_Ioctl): Use new function
	Thin_Common.Socket_Ioctl.
	(GNAT.Sockets.Thin_Common.Socket_Ioctl): Binding to new C wrapper
	__gnat_socket_ioctl.
	(__gnat_socket_ioctl): Wrapper for ioctl(2) called with a single int*
	argument after the file descriptor and request code.

2009-06-19  Robert Dewar  <dewar@adacore.com>

	* checks.adb: Minor reformatting

From-SVN: r148694
2009-06-19 12:47:49 +02:00
Arnaud Charlet
1abad480e0 [multiple changes]
2009-06-19  Jose Ruiz  <ruiz@adacore.com>

	* env.c (__gnat_environ): RTX does not support this functionality.

2009-06-19  Sergey Rybin  <rybin@adacore.com>

	* gnat_ugn.texi, vms_data.ads: Fix VMS qualifiers.

2009-06-19  Ed Schonberg  <schonberg@adacore.com>

	* sem.adb (Walk_Library_Items): Include bodies in the list of units to
	traverse, to account for front-end inlining and instantiations in a
	spec or in the main unit.

2009-06-19  Robert Dewar  <dewar@adacore.com>

	* checks.adb (Determine_Range): Do not attempt to get range of generic
	type.

From-SVN: r148693
2009-06-19 12:38:49 +02:00
Sergey Rybin
c38e990f94 gnat_ugn.texi, [...]: Add the documentation for the new gnatmetric option for generating the schema...
2009-06-19  Sergey Rybin  <rybin@adacore.com>

	* gnat_ugn.texi, vms_data.ads: Add the documentation for the new
	gnatmetric option for generating the schema file for gnatmetric XML
	output. Add corresponding VMS qualifier.

From-SVN: r148692
2009-06-19 12:34:46 +02:00
Arnaud Charlet
1175f0b6e5 [multiple changes]
2009-06-19  Robert Dewar  <dewar@adacore.com>

	* g-cgi.adb: Minor reformatting

2009-06-19  Eric Botcazou  <ebotcazou@adacore.com>

	* s-intman-solaris.adb (Notify_Exception): Do not discriminate on the
	signal code for SIGFPE and raise Program_Error for SIGILL.

	* s-osinte-solaris.ads: Remove signal code constants for SIGFPE.

2009-06-19  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch8.adb (Nvis_Messages): Do not list an entity declared in a
	generic package if there is a visibility candidate that is declared in
	a regular package.

From-SVN: r148691
2009-06-19 12:32:08 +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
Anatoly Sokolov
dd26af7063 avr.c (avr_override_options): Remove setting value of PARAM_INLINE_CALL_COST.
* config/avr/avr.c (avr_override_options): Remove setting value of
	PARAM_INLINE_CALL_COST.

From-SVN: r148689
2009-06-19 11:35:25 +04:00
GCC Administrator
ada506eaec Daily bump.
From-SVN: r148688
2009-06-19 00:16:33 +00:00
Richard Henderson
394bd84dd2 re PR testsuite/40488 (Revision 148642 caused extra failures)
PR 40488
        * tree-pass.h (TDF_ASMNAME): New.
        * tree-dump.c (dump_options): Add asmname.
        * doc/invoke.texi: Document it.

        * tree-pretty-print.c (maybe_dump_asm_name): Merge into...
        (dump_decl_name): ...here.
        (dump_function_name): New flags arg; mind TDF_ASMNAME.
        (dump_generic_node): Update dump_function_name calls.
        (print_call_name): New flags arg; update all dump calls.
        * diagnostic.h (print_call_name): Update.
        * gimple-pretty-print.c (dump_gimple_call): Update.

From-SVN: r148685
2009-06-18 16:27:40 -07: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
Aldy Hernandez
3600f67820 class.c (get_vtable_decl): Replace finish_decl with cp_finish_decl.
* class.c (get_vtable_decl): Replace finish_decl with cp_finish_decl.
        * decl.c (finish_decl): Remove.
        (declare_global_var): Replace finish_decl with cp_finish_decl.
        (start_method): Same.
        * rtti.c (emit_tinfo_decl): Same.
        * pt.c (tsubst_expr): Same.
        (instantiate_decl): Same.
        * decl2.c (grokbitfield): Same.
        * name-lookup.c (pushdecl_top_level_1): Same.
        * cp-tree.h: Remove finish_decl.

From-SVN: r148666
2009-06-18 18:09:12 +00:00
Sergei Dyshel
b6680d7271 see removal
From-SVN: r148665
2009-06-18 16:11:18 +00:00
Sergei Dyshel
8393a9c80c see removal
From-SVN: r148664
2009-06-18 16:08:00 +00:00
Martin Jambor
2a45675fd0 tree-sra.c: Include statistics.h
2009-06-18  Martin Jambor  <mjambor@suse.cz>

	* tree-sra.c: Include statistics.h
	(sra_stats): New variable.
	(sra_initialize): Clear sra_stats.
	(create_access_replacement): Increment sra_stats.replacements.
	(get_access_replacement): Do not return twice.
	(analyze_all_variable_accesses): Increment statistics counter by the
	number of scalarized aggregates.
	(generate_subtree_copies): Increment sra_stats.subtree_copies.
	(sra_modify_expr): Increment sra_stats.exprs.
	(load_assign_lhs_subreplacements): Increment sra_stats.subreplacements.
	(sra_modify_assign): Increment sra_stats.exprs,
	sra_stats.separate_lhs_rhs_handling and sra_stats.deleted.
	(perform_intra_sra): Update statistics counters.
	* Makefile.in (tree-sra.o): Add statistics.h to dependencies.

From-SVN: r148663
2009-06-18 17:38:36 +02: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
Olivier Hainque
4c1a901679 system-aix64.ads: New file.
* system-aix64.ads: New file.
	* gcc-interface/Makefile.in (aix LIBGNAT_TARGET_PAIRS): Use the
	64bit system.ads for ppc64 multilib variants.

From-SVN: r148659
2009-06-18 14:13:20 +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
Paul Brook
d9dd51dc46 sfp-machine.h (_FP_NANFRAC_H, [...]): Define.
2009-06-18  Paul Brook  <paul@codesourcery.com>
	    Sandra Loosemore  <sandra@codesourcery.com>

	gcc/
	* config/arm/sfp-machine.h (_FP_NANFRAC_H, _FP_NANSIGN_H): Define.
	(__extendhfsf2, __truncsfhf2): Define.
	* config/arm/fp16.c: New file.
	* config/arm/t-bpabi (LIB2FUNCS_STATIC_EXTRA): Add fp16.c.
	* config/arm/t-symbian (LIB2FUNCS_STATIC_EXTRA):  Add fp16.c.



Co-Authored-By: Sandra Loosemore <sandra@codesourcery.com>

From-SVN: r148655
2009-06-18 08:26:37 -04:00
Sandra Loosemore
0fd8c3ad1e extend.texi (Half-Precision): New section.
2009-06-18  Sandra Loosemore  <sandra@codesourcery.com>

	gcc/
	* doc/extend.texi (Half-Precision): New section.
	* doc/invoke.texi (Option Summary): List -mfp16-format.
	(ARM Options): List neon-fp16 as -mfpu value.  Document -mfp16-format.
	* config/arm/arm.opt (mfp16-format=): New.
	* config/arm/arm.c: Include intl.h.
	(TARGET_INVALID_PARAMETER_TYPE): Redefine.
	(TARGET_INVALID_RETURN_TYPE): Redefine.
	(TARGET_PROMOTED_TYPE): Redefine.
	(TARGET_CONVERT_TO_TYPE): Redefine.
	(arm_fp16_format): Define.
	(all_fpus): Add entry for neon-fp16.
	(fp_model_for_fpu): Likewise.
	(struct fp16_format): Declare.
	(all_fp16_formats): Define.
	(arm_init_libfuncs): Add entries for HFmode conversions and arithmetic
	functions.
	(arm_override_options): Set arm_fp16_format. Call sorry for fp16
	and no ldrh.
	(arm_legitimate_index_p): Treat HFmode like HImode.
	(thumb1_legitimate_address_p): Make it recognize HFmode constants.
	(coproc_secondary_reload_class): Special-case HFmode.
	(arm_print_operand): Add 'z' specifier for vld1.16/vst1.16.
	(arm_hard_regno_mode_ok): Allow HFmode values in VFP registers.
	(arm_init_fp16_builtins): New.
	(arm_init_builtins): Call it.
	(arm_invalid_parameter_type): New.
	(arm_invalid_return_type): New.
	(arm_promoted_type): New.
	(arm_convert_to_type).
	(arm_file_start): Deal with neon-fp16 as fpu_name.  Emit tag for fp16
	format.
	(arm_emit_fp16_const): New function.
	(arm_mangle_type): Mangle __fp16 as "Dh".
	* config/arm/arm.h (TARGET_VFPD32): Make it know about
	FPUTYPE_NEON_FP16.
	(TARGET_NEON_FP16): New.
	(TARGET_NEON): Make it know about FPUTYPE_NEON_FP16.
	(enum fputype): Add FPUTYPE_NEON_FP16.
	(enum arm_fp16_format_type): Declare.
	(arm_fp16_format): Declare.
	(LARGEST_EXPONENT_IS_NORMAL): Define.
	* config/arm/arm-protos.h (arm_emit_fp16_const): Declare.
	* config/arm/arm-modes.def (HFmode): Define.
	* config/arm/vfp.md: (*movhf_vfp): New.
	(extendhfsf2): New.
	(truncsfhf2): New.
	* config/arm/arm.md: (fpu): Add neon_fp16.
	(floatsihf2, floatdihf2): New.
	(fix_trunchfsi2, fix_trunchfdi2): New.
	(truncdfhf2): New.
	(extendhfdf2): New.
	(movhf): New.
	(*arm32_movhf): New.
	(*thumb1_movhf): New.
	(consttable_2): Add check for HFmode constants.
	(consttable_4): Handle HFmode constants.

From-SVN: r148654
2009-06-18 08:24:10 -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
Olivier Hainque
db4fa1c121 collect2.c (main): Use CONST_CAST2 to perform char ** to const char ** conversion in AIX specific...
* collect2.c (main): Use CONST_CAST2 to perform char ** to
	const char ** conversion in AIX specific section.

From-SVN: r148649
2009-06-18 07:45:09 +00:00