In gcc/objc/:
2010-11-15 Nicola Pero <nicola.pero@meta-innovation.com>
* objc-act.c (objc_build_setter_call): New.
(objc_maybe_build_modify_expr): Rewritten to build a compound
statement.
(objc_build_incr_expr_for_property_ref): Updated calls to
objc_maybe_build_modify_expr to call objc_build_setter_call
instead. Use build_modify_expr () instead of build2 (MODIFY_EXPR,
...). Use convert () instead of build1 (NOP_EXPR, ...). Use
TREE_NO_WARNING on the final compound statement to silence C++
warnings.
In gcc/testsuite/:
2010-11-15 Nicola Pero <nicola.pero@meta-innovation.com>
* objc.dg/property/dotsyntax-18.m: New.
* objc.dg/property/dotsyntax-19.m: New.
* objc.dg/property/dotsyntax-20.m: New.
* obj-c++.dg/property/dotsyntax-18.mm: New.
* obj-c++.dg/property/dotsyntax-19.mm: New.
* obj-c++.dg/property/dotsyntax-20.mm: New.
* objc.dg/property/dotsyntax-4.m: Removed some unused variables and code.
* objc.dg/property/dotsyntax-6.m: Same change.
* objc.dg/property/dotsyntax-16.m: Same change.
* objc.dg/property/dotsyntax-17.m: Same change.
* obj-c++.dg/property/dotsyntax-4.mm: Same change.
* obj-c++.dg/property/dotsyntax-6.mm: Same change.
* obj-c++.dg/property/dotsyntax-16.mm: Same change.
* obj-c++.dg/property/dotsyntax-17.mm: Same change.
* objc.dg/property/at-property-22.m: Added missing casts.
* obj-c++.dg/property/at-property-22.mm: Same change.
From-SVN: r166779
PR tree-optimization/46461
* tree-ssa-forwprop.c (simplify_builtin_call): Ensure ptr1 is
a gimple val.
* gcc.c-torture/compile/pr46461.c: New test.
From-SVN: r166776
gcc/:
* godump.c: New file.
* common.opt (fdump-go-spec=): New option.
* tree.h: Add comments for TYPE_SYMTAB_ADDRESS and friends.
(TYPE_SYMTAB_IS_ADDRESS, TYPE_SYMTAB_IS_POINTER): Define.
(TYPE_SYMTAB_IS_DIE): Define.
(struct tree_type): Change GTY for symtab field to use
TYPE_SYMTAB_IS_ADDRESS and friends and to use a debug_hooks field
to pick the union field.
* debug.h (struct gcc_debug_hooks): Add tree_type_symtab_field.
(dump_go_spec_init): Declare.
* toplev.c (process_options): Handle flag_dump_go_spec.
* debug.c: Include "tree.h".
(do_nothing_debug_hooks): Set tree_type_symtab_field.
* dwarf2out.c (dwarf2_debug_hooks): Likewise.
* dbxout.c (dbx_debug_hooks): Likewise.
(xcoff_debug_hooks): Likewise.
* vmsdbgout.c (vmsdbg_debug_hooks): Likewise.
* sdbout.c (sdb_debug_hooks): Likewise. Do not define if
SDB_DEBUGGING_INFO is not defined.
* doc/invoke.texi (Option Summary): Mention -fdump-go-spec.
(Overall Options): Document -fdump-go-spec.
* Makefile.in (OBJS-common): Add godump.o.
(debug.o): Add dependency on $(TREE_H).
(godump.o): New target.
(GTFILES): Add $(srcdir)/godump.c.
gcc/c-family/:
* c-lex.c (init_c_lex): Set macro debug callbacks if
flag_dump_go_spec is set.
From-SVN: r166770
PR debug/46095
* config/i386/i386.c (pro_epilogue_adjust_stack): Instead of
marking r11 set RTX_FRAME_RELATED_P if offset is too large for
style < 0, add REG_FRAME_RELATED_EXPR.
* gcc.target/i386/pr46095.c: New test.
From-SVN: r166767
PR debug/46387
* rtl.h (vt_equate_reg_base_value): New prototype.
* alias.c (vt_equate_reg_base_value): New function.
* var-tracking.c (vt_init_cfa_base): Use it.
* gcc.dg/pr46387.c: New test.
From-SVN: r166766
In gcc/:
2010-11-15 Nicola Pero <nicola.pero@meta-innovation.com>
* c-typeck.c (build_unary_op): Use
objc_build_incr_expr_for_property_ref to build the pre/post
increment/decrement of an Objective-C property ref, and skip the
lvalue_or_else check in that case.
In gcc/c-family/:
2010-11-15 Nicola Pero <nicola.pero@meta-innovation.com>
* c-common.h (objc_build_incr_expr_for_property_ref): New.
* stub-objc.c (objc_build_incr_expr_for_property_ref): New.
In gcc/cp/:
2010-11-15 Nicola Pero <nicola.pero@meta-innovation.com>
* typeck.c (cp_build_unary_op): Use
objc_build_incr_expr_for_property_ref to build the pre/post
increment/decrement of an Objective-C property ref.
In gcc/objc/:
2010-11-15 Nicola Pero <nicola.pero@meta-innovation.com>
* objc-act.c (objc_build_incr_expr_for_property_ref): New.
(objc_create_temporary_var): Moved it towards the beginning of the
file so that objc_build_incr_expr_for_property_ref can use it.
In gcc/testsuite/:
2010-11-15 Nicola Pero <nicola.pero@meta-innovation.com>
* objc.dg/property/dotsyntax-16.m: New.
* objc.dg/property/dotsyntax-17.m: New.
* obj-c++.dg/property/dotsyntax-16.mm: New.
* obj-c++.dg/property/dotsyntax-17.mm: New.
* objc.dg/property/at-property-10.m: Uncommented using 'x++'
syntax with properties, which now works.
* obj-c++.dg/property/at-property-10.mm: Same change.
From-SVN: r166763
gcc/c-family/
PR preprocessor/45038
* c-cppbuiltin.c (c_cpp_builtins): Use different format for C++
dialects.
gcc/testsuite/
PR preprocessor/45038
* g++.dg/pr45038.C: New test.
From-SVN: r166756
* Makefile.in (tm.texi): Replace with rule for:
($(srcdir)/doc/tm.texi).
(s-tm-texi): Depend on $(srcdir)/doc/../doc/tm.texi instead of on
$(srcdir)/doc/tm.texi .
(TEXI_GCCINT_FILES): Depend on $(srcdir)/doc/tm.texi instead of on
tm.texi .
From-SVN: r166745
2010-11-15 Richard Guenther <rguenther@suse.de>
PR lto/44150
* lto-opts.c (lto_write_options): Write -fexceptions even if
not set by the user.
From-SVN: r166744
2010-11-13 Paolo Bonzini <bonzini@gnu.org>
PR c/46462
* c-decl.c (declspecs_add_type): Make variables with error types
integers.
* c-parser.c (c_parser_next_tokens_start_declaration): Two IDs
do not start a declaration before an Objective-C foreach.
(c_parser_declaration_or_fndef): Improve recovery after unknown
type name.
(c_parser_for_statement): Hoist entrance of "foreach context"
before ifs, add corresponding reset where it was missing. Do
not set objc_could_be_foreach_context for C.
From-SVN: r166732
PR tree-optimization/45722
* tree-sra.c (build_ref_for_model): Always build a COMPONENT_REF if
this is a reference to a component.
* ipa-prop.c (ipa_get_member_ptr_load_param): Accept COMPONENT_REF.
(ipa_note_param_call): Adjust comment.
From-SVN: r166731
In gcc/objc/:
2010-11-14 Nicola Pero <nicola.pero@meta-innovation.com>
* objc-act.c (objc_add_property_declaration): Check that the decl
we received from the parser is a FIELD_DECL; reject array and
bitfield properties. Convert the warning when a property is
readonly and a setter is specified into an error. Convert errors
when a property declaration does not match a property declaration
in a superclass into warnings.
(objc_add_synthesize_declaration_for_property): Use
DECL_BIT_FIELD_TYPE to determine the type of an instance variable
if it is a bitfield. Throw an error if we are asked to synthesize
setters/getters for a bitfield instance variable but the property
is not appropriate - it must be assign and nonatomic. If the
property is readonly, allow the instance variable type to be a
specialization of the property type.
(objc_type_valid_for_messaging): Fixed returning 'false' for a
Class qualified with a protocol when the 'accept_classes' argument
is 'false'.
In gcc/testsuite/:
2010-11-14 Nicola Pero <nicola.pero@meta-innovation.com>
* objc.dg/property/at-property-21.m: New.
* objc.dg/property/at-property-22.m: New.
* objc.dg/property/at-property-23.m: New.
* objc.dg/property/synthesize-9.m: New.
* objc.dg/property/synthesize-10.m: New.
* objc.dg/property/synthesize-11.m: New.
* obj-c++.dg/property/at-property-21.mm: New.
* obj-c++.dg/property/at-property-22.mm: New.
* obj-c++.dg/property/at-property-23.mm: New.
* obj-c++.dg/property/synthesize-9.mm: New.
* obj-c++.dg/property/synthesize-10.mm: New.
* obj-c++.dg/property/synthesize-11.mm: New.
* objc.dg/property/at-property-4.m: Updated to match new compiler
where some errors have been converted into warnings and vice versa.
* objc.dg/property/at-property-16.m: Same change.
* objc.dg/property/at-property-18.m: Same change.
* objc.dg/property/property-neg-5.m: Same change.
* obj-c++.dg/property/at-property-4.mm: Same change.
* obj-c++.dg/property/at-property-16.mm: Same change.
* obj-c++.dg/property/at-property-18.mm: Same change.
* obj-c++.dg/property/property-neg-5.mm: Same change.
* obj-c++.dg/property/dynamic-2.mm: Enable tests that were
commented out because of testsuite problems; I found out that
using dg-warning instead of dg-message gets them to work.
* obj-c++.dg/property/property-neg-3.mm: Same change.
* obj-c++.dg/property/synthesize-6.mm: Same change.
* obj-c++.dg/property/at-property-5.mm: Same change.
* obj-c++.dg/property/at-property-14.mm: Same change.
* obj-c++.dg/property/at-property-18.mm: Same change.
* obj-c++.dg/property/at-property-16.mm: Same change (in this file,
some tests still do not work due to some other testsuite issue).
From-SVN: r166730
gcc/
* config/mips/mips.c (machine_function): Remove
initialized_mips16_gp_pseudo_p.
(mips16_gp_pseudo_reg): Use cfun->machine->mips16_gp_pseudo_rtx to
detect whether a pseudo has already been created. Unconditionally
create a new one if not.
(mips_pic_base_register): Only call mips16_gp_pseudo_reg when
expanding to rtl. Create a new pseudo otherwise, if allowed.
From-SVN: r166729
* stor-layout.c (place_union_field): Do not put location information
on offset expressions.
(place_field): Likewise.
(finalize_record_size): Likewise on size expressions.
(finalize_type_size): Likewise.
(layout_type): Likewise.
From-SVN: r166721