1. 30 Oct, 2010 2 commits
    • In gcc/: 2010-10-30 Nicola Pero <nicola.pero@meta-innovation.com> · 46a88c12
      In gcc/:
      2010-10-30  Nicola Pero  <nicola.pero@meta-innovation.com>
      
      	Implemented Objective-C 2.0 @property, @synthesize and @dynamic.
      	* c-parser.c (c_parser_objc_at_property_declaration): Removed
      	parsing of RID_COPIES and RID_IVAR.  Updated call to
      	objc_add_property_declaration.
      	* c-typecheck.c (build_component_ref): Call
      	objc_maybe_build_component_ref instead of objc_build_setter_call.
      	Use objc_is_property_ref to improve Objective-C checks.
      	(cp_build_modify_expr): Call objc_maybe_build_modify_expr instead
      	of objc_build_getter_call.
      
      In gcc/c-family/:
      2010-10-30  Nicola Pero  <nicola.pero@meta-innovation.com>
      
      	Implemented Objective-C 2.0 @property, @synthesize and @dynamic.
      	* c-common.h (enum rid): Removed RID_COPIES and RID_IVAR.
      	(objc_add_property_declaration): Removed arguments for copies and
      	ivar.
      	(objc_build_getter_call): Renamed to
      	objc_maybe_build_component_ref.
      	(objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
      	(objc_is_property_ref): New.
      	* c-common.c (c_common_reswords): Removed copies and ivar.
      	* stub-objc.c (objc_add_property_declaration): Removed arguments
      	for copies and ivar.
      	(objc_build_getter_call): Renamed to
      	objc_maybe_build_component_ref.
      	(objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
      	(objc_is_property_ref): New.
      
      In gcc/cp/:
      2010-10-30  Nicola Pero  <nicola.pero@meta-innovation.com>
      
      	Implemented Objective-C 2.0 @property, @synthesize and @dynamic.
      	* parser.c (cp_parser_objc_at_property_declaration): Removed
      	parsing of RID_COPIES and RID_IVAR.  Updated call to
      	objc_add_property_declaration.
      	* typecheck.c (finish_class_member_access_expr): Call
      	objc_maybe_build_component_ref instead of objc_build_setter_call.
      	(cp_build_modify_expr): Call objc_maybe_build_modify_expr instead
      	of objc_build_getter_call.
      	
      In gcc/objc/:
      2010-10-30  Nicola Pero  <nicola.pero@meta-innovation.com>
      
      	Implemented Objective-C 2.0 @property, @synthesize and @dynamic.
      	* objc-tree.def (PROPERTY_REF): New.
      	* objc-act.h: Added comments for all the PROPERTY_ macros.
      	(PROPERTY_NAME): Use DECL_NAME.
      	(PROPERTY_COPIES): Removed.
      	(PROPERTY_READONLY): Use DECL_LANG_FLAG_0 for it.
      	(PROPERTY_NONATOMIC): New.
      	(objc_property_assign_semantics): Make it a typedef.
      	(PROPERTY_ASSIGN_SEMANTICS): New.
      	(PROPERTY_DYNAMIC): New.
      	(PROPERTY_REF_OBJECT): New.
      	(PROPERTY_REF_PROPERTY_DECL): New.
      	* objc-act.c (CALL_EXPR_OBJC_PROPERTY_GETTER): Removed.
      	(in_objc_property_setter_name_context): Removed.
      	(objc_add_property_declaration): Removed copies and ivar arguments
      	and code supporting them.  Fixed recovering when readonly and
      	setter attributes are specified.  Removed support for @property in
      	@implementation context.  Updated error message.  Double-check
      	that a property does not have a DECL_INITIAL.  Validate the
      	property assign semantics and emit appropriate errors and
      	warnings.  Check for duplicate property declarations.  Set
      	DECL_SOURCE_LOCATION, TREE_DEPRECATED, PROPERTY_NONATOMIC,
      	PROPERTY_ASSIGN_SEMANTICS and PROPERTY_DYNAMIC of the new
      	PROPERTY_DECL.  Do not set PROPERTY_COPIES.  Set
      	PROPERTY_IVAR_NAME to NULL_TREE.
      	(objc_build_getter_call): Renamed to
      	objc_maybe_build_component_ref.  If the property is not found in
      	the interface, search in the protocol list.  Do not generate the
      	getter call; instead, build and return a PROPERTY_REF.
      	(objc_is_property_ref): New.
      	(objc_setter_func_call): Removed.
      	(get_selector_from_reference): Removed.
      	(is_property): Removed.
      	(objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
      	Updated to work on a PROPERTY_REF and use the PROPERTY_DECL from
      	the PROPERTY_REF.  Generate an error if the property is read-only.
      	(build_property_reference): Removed.
      	(objc_finish_message_expr): Removed check to produce "readonly
      	property can not be set" error when
      	in_objc_property_setter_name_context.  We now generate the error
      	earlier, in objc_maybe_build_modify_expr, which will only generate
      	the setter call if the property is readwrite.
      	(check_methods): Recognize dynamic properties.
      	(check_methods_accessible): Same change.
      	(objc_build_property_ivar_name): Removed.
      	(objc_build_property_setter_name): Dropped bool argument.  Always
      	add the ':' at the end.
      	(objc_gen_one_property_datum): Removed.
      	(objc_process_getter_setter): Removed.
      	(objc_synthesize_getter): Mark 'klass' argument as unused.  Use
      	PROPERTY_GETTER_NAME instead of PROPERTY_NAME.  Set the
      	DECL_SOURCE_LOCATION of the new method to be the same as the one
      	for the @synthesize.  Always use PROPERTY_IVAR_NAME as it is
      	instead of trying to guess what it should be.  Removed use of
      	CLASS_IVARS.  Use the location of @synthesize for c_finish_return
      	and c_end_compound_statement.
      	(objc_synthesize_setter): Mark 'klass' argument as unused.  Use
      	PROPERTY_SETTER_NAME instead of trying to guess what it should be.
      	Set the DECL_SOURCE_LOCATION of the new method to be the same as
      	the one for the @synthesize.  Always use PROPERTY_IVAR_NAME as it
      	is instead of trying to guess what it should be.  Removed use of
      	CLASS_IVARS.  Use the location of @synthesize for c_finish_return
      	and c_end_compound_statement.  Emit an error and keep going,
      	instead of aborting, if the setter prototype does not have the
      	expected argument.
      	(objc_add_synthesize_declaration_for_property): New.
      	(objc_add_synthesize_declaration): Removed ATTRIBUTE_UNUSED from
      	all arguments.  Improved error message.  Filled in the rest of the
      	function, which used to be a placeholder, with an actual
      	implementation.
      	(objc_add_dynamic_declaration_for_property): New.
      	(objc_add_dynamic_declaration): Removed ATTRIBUTE_UNUSED from all
      	arguments.  Improved error message.  Filled in the rest of the
      	function, which used to be a placeholder, with an actual
      	implementation.
      	(objc_gen_property_data): Rewritten.
      	(finish_class): Added explicit switch cases for
      	CLASS_INTERFACE_TYPE, CATEGORY_INTERFACE_TYPE and
      	PROTOCOL_INTERFACE_TYPE.  Added a default switch case which is
      	gcc_unreachable.  Rewritten the processing of properties, in
      	particular to not synthesize prototypes for getters and setters if
      	they already exist and to install the getter and setter names into
      	PROPERTY_GETTER_NAME and PROPERTY_SETTER_NAME.  Do not generate
      	warnings about setter, getter and ivar property attributes.
      	(objc_lookup_ivar): Removed support for properties.
      	(objc_gimplify_property_ref): New.
      	(objc_gimplify_expr): Use a switch.  In case of a PROPERTY_REF, call
      	objc_gimplify_property_ref.
      
      In gcc/testsuite/:
      2010-10-30  Nicola Pero  <nicola.pero@meta-innovation.com>
      
      	Implemented Objective-C 2.0 @property, @synthesize and @dynamic.
      	* objc.dg/property/property-neg-1.m: Updated for changes in the
      	syntax of @property and the implementation of
      	@synthesize/@dynamic.
      	* objc.dg/property/property-neg-2.m: Same change.
      	* objc.dg/property/property-neg-3.m: Same change.
      	* objc.dg/property/property-neg-4.m: Same change.
      	* objc.dg/property/property-neg-5.m: Same change.
      	* objc.dg/property/property-neg-7.m: Same change.
      	* objc.dg/property/property-1.m: Same change.	
      	* objc.dg/property/synthesize-1.m: Same change.
      	* objc.dg/property/at-property-2.m: Same change.
      	* objc.dg/property/at-property-4.m: Same change.
      
      	* objc.dg/property/fsf-property-method-acces.m: Updated for
      	changes in the syntax of @property and the implementation of
      	@synthesize/@dynamic.  Use the same code for GNU and NeXT runtime.
      	* objc.dg/property/fsf-property-basic.m: Same change.
      	* objc.dg/property/fsf-property-named-ivar.m: Same change.
      	
      	* objc.dg/property/at-property-5.m: New.
      	* objc.dg/property/at-property-6.m: New.
      	* objc.dg/property/at-property-7.m: New.
      	* objc.dg/property/at-property-8.m: New.
      	* objc.dg/property/at-property-9.m: New.
      	* objc.dg/property/at-property-10.m: New.	
      	* objc.dg/property/at-property-11.m: New.
      	* objc.dg/property/synthesize-2.m: New.
      	* objc.dg/property/dynamic-2.m: New.
      
      	* obj-c++.dg/property/property-neg-1.mm: Updated for changes in the
      	syntax of @property and the implementation of
      	@synthesize/@dynamic.
      	* obj-c++.dg/property/property-neg-2.mm: Same change.
      	* obj-c++.dg/property/property-neg-3.mm: Same change.
      	* obj-c++.dg/property/property-neg-4.mm: Same change.
      	* obj-c++.dg/property/property-neg-5.mm: Same change.
      	* obj-c++.dg/property/property-neg-7.mm: Same change.
      	* obj-c++.dg/property/property-1.mm: Same change.	
      	* obj-c++.dg/property/synthesize-1.mm: Same change.
      	* obj-c++.dg/property/at-property-2.mm: Same change.
      	* obj-c++.dg/property/at-property-4.mm: Same change.
      
      	* obj-c++.dg/property/fsf-property-method-acces.mm: Updated for
      	changes in the syntax of @property and the implementation of
      	@synthesize/@dynamic.  Use the same code for GNU and NeXT runtime.
      	* obj-c++.dg/property/fsf-property-basic.mm: Same change.
      	* obj-c++.dg/property/fsf-property-named-ivar.mm: Same change.
      
      	* obj-c++.dg/property/at-property-5.mm: New.
      	* obj-c++.dg/property/at-property-6.mm: New.	
      	* obj-c++.dg/property/at-property-7.mm: New.
      	* obj-c++.dg/property/at-property-8.mm: New.
      	* obj-c++.dg/property/at-property-9.mm: New.
      	* obj-c++.dg/property/at-property-10.mm: New.
      	* obj-c++.dg/property/at-property-11.mm: New.
      	* obj-c++.dg/property/synthesize-2.mm: New.
      	* obj-c++.dg/property/dynamic-2.mm: New.
      
      From-SVN: r166087
      Nicola Pero committed
    • Daily bump. · cc74e2a1
      From-SVN: r166084
      GCC Administrator committed
  2. 29 Oct, 2010 19 commits
  3. 28 Oct, 2010 19 commits
    • configure: Regenerate. · 5eae2844
      2010-10-29  Paolo Bonzini  <bonzini@gnu.org>
      
      	* configure: Regenerate.
      
      From-SVN: r166050
      Paolo Bonzini committed
    • 20101011-1.c: Fix #ifdef. · f87f47fc
      	* gcc.c-torture/execute/20101011-1.c: Fix #ifdef.
      
      From-SVN: r166049
      Pat Haugen committed
    • recog.c (split_all_insns): Remove dead code. · 74a28b08
      2010-10-28  Paolo Bonzini  <bonzini@gnu.org>
      
      	* recog.c (split_all_insns): Remove dead code.
      
      From-SVN: r166048
      Paolo Bonzini committed
    • Partially revert: · 2fe4dc01
      	2010-10-28  Uros Bizjak  <ubizjak@gmail.com>
      
      	PR target/46153
      	* config/i386/sse.md (*avx_movhlps): Use ix86_binary_operator_ok
      	in insn predicate.
      	(sse_movhlps): Ditto.
      	(*avx_movlhps): Ditto.
      	(sse_movlhps): Ditto.
      	(*avx_loadhps): Ditto.
      	(sse_loadhps): Ditto.
      	(*avx_loadhpd): Ditto.
      	(sse_loadhpd): Ditto.
      	(*avx_storelps): Prevent both operands in memory.
      	(sse_storelps): Ditto.
      
      From-SVN: r166047
      Uros Bizjak committed
    • * score.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete. · 05fda848
      From-SVN: r166046
      Nathan Froyd committed
    • cris.h (FUNCTION_ARG, [...]): Delete. · 73f3f841
      	* config/cris/cris.h (FUNCTION_ARG, FUNCTION_INCOMING_ARG): Delete.
      	(FUNCTION_ARG_ADVANCE): Delete.
      	* config/cris/cris.c (cris_function_arg_1, cris_function_arg): New
      	functions.
      	(cris_function_incoming_arg, cris_function_arg_advance): New
      	functions.
      	(TARGET_FUNCTION_ARG, TARGET_FUNCTION_INCOMING_ARG): Define.
      	(TARGET_FUNCTION_ARG_ADVANCE): Define.
      
      From-SVN: r166045
      Nathan Froyd committed
    • lm32-protos.h (lm32_function_arg): Delete. · 3acf034c
      	* config/lm32/lm32-protos.h (lm32_function_arg): Delete.
      	* config/lm32/lm32.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
      	* config/mcore/mcore.c (mcore_function_arg): Declare.  Make static.
      	Take a const_tree and a bool.
      	(mcore_function_arg_advance): New function.
      	(TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
      
      From-SVN: r166044
      Nathan Froyd committed
    • mcore-protos.h (mcore_function_arg): Delete. · 4665ac17
      	* config/mcore/mcore-protos.h (mcore_function_arg): Delete.
      	* config/mcore/mcore.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
      	* config/mcore/mcore.c (mcore_function_arg): Declare.  Make static.
      	Take a const_tree and a bool.
      	(mcore_function_arg_advance): New function.
      	(TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
      
      From-SVN: r166043
      Nathan Froyd committed
    • h8300-protos.h (function_arg): Delete. · 56f9413b
      	* config/h8300/h8300-protos.h (function_arg): Delete.
      	* config/h8300/h8300.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
      	* config/h8300/h8300.c (function_arg): Rename to...
      	(h8300_function_arg): ...this.  Make static.  Take a const_tree and
      	a bool.
      	(h8300_function_arg_advance): New function.
      	(TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
      
      From-SVN: r166042
      Nathan Froyd committed
    • arc.h (FUNCTION_ARG, [...]): Move code to... · 66d5ee14
      	* config/arc/arc.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Move code
      	to...
      	* config/arc/arc.c (arc_function_arg): ...here and...
      	(arc_function_arg_advance): ...here.  New functions.
      	(TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
      
      From-SVN: r166041
      Nathan Froyd committed
    • crx-protos.h (crx_function_arg): Delete. · a6a54b6f
      	* config/crx/crx-protos.h (crx_function_arg): Delete.
      	(crx_function_arg_advance): Delete.
      	* config/crx/crx.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
      	* config/crx/crx.c (crx_function_arg): Make static.  Take a
      	const_tree and a bool.
      	(crx_function_arg_advance): Make static.  Take a const_tree and
      	a bool.
      	(enough_regs_for_param): Take a const_tree.
      	(TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
      
      From-SVN: r166040
      Nathan Froyd committed
    • m68hc11-protos.h (m68hc11_function_arg): Delete. · da15f931
      	* config/m68hc11/m68hc11-protos.h (m68hc11_function_arg): Delete.
      	(m68hc11_function_arg_advance): Delete.
      	* config/m68hc11/m68hc11.h (FUNCTION_ARG): Delete.
      	(FUNCTION_ARG_ADVANCE): Delete.
      	* config/m68hc11/m68hc11.c (m68hc11_function_arg): Make static.
      	Take a const_tree and a bool.
      	(m68hc11_function_arg_advance): Likewise.
      	(TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
      
      From-SVN: r166039
      Nathan Froyd committed
    • stormy16-protos.h (xstormy16_function_arg): Delete. · bf425ddd
      	* config/stormy16/stormy16-protos.h (xstormy16_function_arg): Delete.
      	(xstormy16_function_arg_advance): Delete.
      	* config/stormy16/stormy16.h (FUNCTION_ARG): Delete.
      	(FUNCTION_ARG_ADVANCE): Delete.
      	* config/stormy16/stormy16.c (xstormy16_function_arg): Make static.
      	Take a const_tree and a bool.
      	(xstormy16_function_arg_advance): Likewise.  Return void, updating
      	the CUM parameter instead.
      	(TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
      
      From-SVN: r166038
      Nathan Froyd committed
    • moxie-protos.h (moxie_function_arg): Delete. · 4c05cbb2
      	* config/moxie/moxie-protos.h (moxie_function_arg): Delete.
      	* config/moxie/moxie.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
      	(MOXIE_FUNCTION_ARG_SIZE): Move to...
      	* config/moxie/moxie.c (MOXIE_FUNCTION_ARG_SIZE): ...here.
      	(moxie_function_arg): Make static.  Take a const_tree and a bool.
      	(moxie_function_arg_advance): New function.
      	(TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
      
      From-SVN: r166037
      Nathan Froyd committed
    • mn10300-protos.h (function_arg): Delete. · ce236858
      	* config/mn10300/mn10300-protos.h (function_arg): Delete.
      	* config/mn10300/mn10300.h (FUNCTION_ARG): Delete.
      	(FUNCTION_ARG_ADVANCE): Delete.
      	* config/mn10300/mn10300.c (function_arg): Rename to...
      	(mn10300_function_arg): ...this.  Make static.  Take a const_tree
      	and a bool.
      	(mn10300_function_arg_advance): New function.
      	(TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
      
      From-SVN: r166036
      Nathan Froyd committed
    • iq2000-protos.h (function_arg): Delete. · 24ef86d7
      	* config/iq2000/iq2000-protos.h (function_arg): Delete.
      	(function_arg_advance): Delete.
      	* config/iq2000/iq2000.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
      	* config/iq2000/iq2000.c (function_arg): Rename to...
      	(iq2000_function_arg): ...this.  Make static.  Take a const_tree and
      	a bool.
      	(function_arg_advance): Rename to...
      	(iq2000_function_arg_advance): ...this.  Make static.  Take a
      	const_tree and a bool.
      	(iq2000_expand_prologue): Call iq2000_function_arg_advance and
      	iq2000_function_arg.
      	(iq2000_pass_by_reference): Call iq2000_function_arg).
      	(TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
      
      From-SVN: r166035
      Nathan Froyd committed
    • fr30-protos.h (fr30_num_arg_regs): Delete. · b60613c3
      	* config/fr30/fr30-protos.h (fr30_num_arg_regs): Delete.
      	* config/fr30/fr30.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
      	* config/fr30/fr30.c (fr30_num_arg_regs): Make static.  Take a
      	const_tree.
      	(fr30_function_arg): New function.
      	(fr30_function_arg_advance): New function.
      	(TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
      
      From-SVN: r166034
      Nathan Froyd committed
    • frv-protos.h (frv_function_arg): Delete. · 88a1f47f
      	* config/frv/frv-protos.h (frv_function_arg): Delete.
      	(frv_function_arg_advance): Delete.
      	* config/frv/frv.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
      	* config/frv/frv.c (frv_function_arg): Rename to...
      	(frv_function_arg_1): Make static.  Take const_tree and bool
      	arguments.
      	(frv_function_arg, frv_function_incoming_arg): New functions.
      	(frv_function_arg_advance): Make static.  Take a const_tree and
      	a bool.
      	(TARGET_FUNCTION_ARG, TARGET_FUNCTION_INCOMING_ARG): Define.
      	(TARGET_FUNCTION_ARG_ADVANCE): Define.
      
      From-SVN: r166033
      Nathan Froyd committed
    • Add ARM VFP ABI support to libffi. · 46e0720d
      From-SVN: r166032
      Chung-Lin Tang committed