2010-11-30 Richard Guenther <rguenther@suse.de>
PR tree-optimization/46722
* tree-ssa-math-opts.c (convert_mult_to_fma): Get multiplication
operands as arguments.
(execute_optimize_widening_mul): Also handle power of two as
multiplication.
* gcc.target/i386/fma4-fma-2.c: New testcase.
From-SVN: r167304
PR middle-end/46725
Revert
2010-11-30 Eric Botcazou <ebotcazou@adacore.com>
* tree.c (build_range_type_1): Do not set TYPE_STRUCTURAL_EQUALITY_P
because of self-referential bounds.
From-SVN: r167300
2010-11-30 Richard Guenther <rguenther@suse.de>
PR tree-optimization/46717
* value-prof.c (gimple_ic): Preserve EH edges of the indirect
call. Manually create EH edges for the direct call and update
target PHI nodes.
From-SVN: r167298
2010-11-30 Richard Guenther <rguenther@suse.de>
PR lto/44986
* gcc.c (main): Use the first input with a compiler as infile
for link spec processing.
From-SVN: r167292
In gcc/objc/:
2010-11-29 Nicola Pero <nicola.pero@meta-innovation.com>
* objc-act.c (start_class): When a class is reimplemented,
generate an error and avoid adding the class to the list of
implemented classes again, but do not return error_mark_node.
In gcc/testsuite/:
2010-11-29 Nicola Pero <nicola.pero@meta-innovation.com>
* objc.dg/duplicate-class-1.m: New.
* obj-c++.dg/duplicate-class-1.mm: New.
From-SVN: r167270
2010-11-29 Kai Tietz <kai.tietz@onevision.com>
* configure: Regenerated.
* Makefile.in: Regenerated.
* configure.ac (ACX_NONCANONICAL_TARGET): Call it.
(target_alias): Use AC_SUBST for it.
(GCC_NO_EXECUTABLES): Call it.
(AC_PROG_CC): Improve multilib handling.
Check that gcc is used for compilation.
Use pattern from libssp for symbol versioning checking.
* Makefile.am (LTLDFLAGS): Removed.
(libquadmath_la_LDFLAGS): Add -no-undefined.
(libquadmath_la_LINK): Commented out.
(libquadmath_la_DEPENDENCIES): Add libquadmath_la_LIBADD.
(AM_MAKEFLAGS): Add hack for argument passing by top-level.
(MAKEOVERRIDES): New.
* aclocal.m4: Regenerated.
From-SVN: r167259
gcc/testsuite:
* gcc/testsuite/objc.dg/strings-1.m: Move to...
* gcc/testsuite/objc.dg/strings/strings-1.m: ... here. Update paths.
* gcc/testsuite/objc.dg/strings-2.m: Move to ...
* gcc/testsuite/objc.dg/strings/strings-2.m ... here, provide a
constructor and class reference for NeXT runtime. Update paths.
* gcc/testsuite/obj-c++.dg/strings-1.m: Move to...
* gcc/testsuite/obj-c++.dg/strings/strings-1.m: ... here. Update paths.
* gcc/testsuite/obj-c++.dg/strings-2.m: Move to ...
* gcc/testsuite/obj-c__.dg/strings/strings-2.m ... here, provide a
constructor and class reference for NeXT runtime. Update paths.
From-SVN: r167253
gcc/cp/
c++/42260
* call.c (add_builtin_candidate): At this point the resulting type
of an indirection operator should be complete.
gcc/testsuite/
c++/42260
c++/45383
* g++.dg/conversion/cast2.C: New test.
* g++.dg/conversion/cond4/C: Likewise. Ensures we don't regress on
PR c++/45383
From-SVN: r167250
Fix PR debug/46101
gcc/
* dwarf2out.c (lookup_type_die_strip_naming_typedef): New
function.
(scope_die_for, gen_type_die_for_member): Replace uses of
lookup_type_die with use of lookup_type_die_strip_naming_typedef.
gcc/testsuite/
* g++.dg/debug/dwarf2/typedef5.C: New test
From-SVN: r167246
PR target/26427
PR target/33120
PR testsuite/35710
gcc:
* config/i386/darwin.h (ASM_OUTPUT_COMMON): Remove
(ASM_OUTPUT_LOCAL): Likewise.
* config/darwin-protos.h (darwin_asm_declare_object_name): New.
(darwin_output_aligned_bss): Likewise.
(darwin_asm_output_aligned_decl_local): Likewise.
(darwin_asm_output_aligned_decl_common): Likewise.
(darwin_use_anchors_for_symbol_p): Likewise.
* config/rs6000/darwin.h (ASM_OUTPUT_COMMON): Remove.
(TARGET_ASM_OUTPUT_ANCHOR): Define.
(TARGET_USE_ANCHORS_FOR_SYMBOL_P): Define.
(DARWIN_SECTION_ANCHORS): Set to 1.
* config/darwin.c (emit_aligned_common): New var.
(darwin_init_sections): Check that the Darwin private zero-size section
marker is in range.
(darwin_text_section): Check for zero-sized objects.
(darwin_mergeable_string_section): Likewise.
(darwin_mergeable_constant_section): Likewise.
(machopic_select_section): Adjust to check for zero-sized objects.
Assert that OBJC meta data are non-zero sized.
(darwin_asm_declare_object_name): New.
(darwin_asm_declare_constant_name): Adjust for zero-sized
object sections.
(BYTES_ZFILL): Define.
(darwin_emit_weak_or_comdat): New.
(darwin_emit_local_bss): New.
(darwin_emit_common): New.
(darwin_output_aligned_bss): New.
(darwin_asm_output_aligned_decl_common): New.
(darwin_asm_output_aligned_decl_local): New.
(darwin_file_end): Disable subsections_via_symbols when section
anchoring is active.
(darwin_asm_output_anchor): Re-enable.
(darwin_use_anchors_for_symbol_p): New.
(darwin_override_options): Check for versions that can emit
aligned common. Update usage of flags to current.
* config/darwin-sections.def: Update comments and flags for
non-anchor sections. zobj_const_section, zobj_data_section,
zobj_bss_section, zobj_const_data_section: New.
* config/darwin.h (ASM_DECLARE_OBJECT_NAME): Redefine.
(ASM_OUTPUT_ALIGN): Make whitespace output consistent.
(L2_MAX_OFILE_ALIGNMENT): Define.
(ASM_OUTPUT_ALIGNED_BSS): Define.
(ASM_OUTPUT_ALIGNED_DECL_LOCAL): Define.
(ASM_OUTPUT_ALIGNED_DECL_COMMON): Define.
(SECTION_NO_ANCHOR): Define.
(TARGET_ASM_OUTPUT_ANCHOR) Define with a default of NULL.
(DARWIN_SECTION_ANCHORS): Define with a default of 0.
boehm-gc:
* dyn_load.c (GC_register_dynamic_libraries/DARWIN): Add new writable
data section names.
(GC_dyld_name_for_hdr): Adjust layout.
(GC_dyld_image_add): Adjust layout, add new Darwin sections, adjust
debug to name the sections.
(GC_dyld_image_remove): Adjust layout, remove new Darwin sections,
adjust debug to name the sections.
(GC_register_dynamic_libraries): Adjust layout.
(GC_init_dyld): Likewise.
(GC_register_main_static_data): Likewise.
gcc/testsuite:
* gcc.target/powerpc/darwin-abi-12.c: Adjust for new allocators.
* gcc.dg/pr26427.c: Remove redundant warning for powerpc.
* gcc.dg/darwin-comm.c: Adjust for new allocators.
* gcc.dg/darwin-sections.c: New test.
* g++.dg/ext/instantiate2.C: Adjust for new allocators.
Co-Authored-By: Mike Stump <mrs@gcc.gnu.org>
From-SVN: r167242
In gcc/objc/:
2010-11-29 Nicola Pero <nicola.pero@meta-innovation.com>
* objc-act.c (objc_eh_runtime_type): Avoid ICE if error_mark_node
is passed as argument.
(objc_begin_catch_clause): Added code to deal with an
error_mark_node or NULL_TREE argument. Improved checks for
invalid arguments. Added code to traverse typedefs.
In gcc/testsuite/:
2010-11-29 Nicola Pero <nicola.pero@meta-innovation.com>
* objc.dg/exceptions-1.m: New.
* objc.dg/exceptions-2.m: New.
* objc.dg/exceptions-3.m: New.
* objc.dg/exceptions-4.m: New.
* objc.dg/exceptions-5.m: New.
* obj-c++.dg/exceptions-1.mm: New.
* obj-c++.dg/exceptions-2.mm: New.
* obj-c++.dg/exceptions-3.mm: New.
* obj-c++.dg/exceptions-4.mm: New.
* obj-c++.dg/exceptions-5.mm: New.
In gcc/cp/:
2010-11-29 Nicola Pero <nicola.pero@meta-innovation.com>
* parser.c (cp_parser_objc_try_catch_finally_statement): Parse
@catch(...) and pass NULL_TREE to objc_begin_catch_clause() in
that case. Improved error recovery. Reorganized code to be
almost identical to c_parser_objc_try_catch_finally_statement.
In gcc/:
2010-11-29 Nicola Pero <nicola.pero@meta-innovation.com>
* c-parser.c (c_parser_objc_try_catch_statement): Renamed to
c_parser_objc_try_catch_finally_statement for consistency with the
C++ parser. Parse @catch(...) and pass NULL_TREE to
objc_begin_catch_clause() in that case. Improved error recovery.
Reorganized code to be almost identical to
cp_parser_objc_try_catch_finally_statement.
From-SVN: r167233
In gcc/objc/:
2010-11-29 Nicola Pero <nicola.pero@meta-innovation.com>
* objc-act.c (objc_demangle): Return immediately if the string is
too short. Detect names that do not need demangling, and return
them unchanged.
From-SVN: r167231