Richard Henderson [Tue, 28 Sep 2010 22:40:07 +0000 (15:40 -0700)]
Implement TARGET_BUILTIN_DECL for alpha.
From-SVN: r164707
Nicola Pero [Tue, 28 Sep 2010 22:13:12 +0000 (22:13 +0000)]
In gcc/: 2010-09-28 Nicola Pero <nicola.pero@meta-innovation.com>
In gcc/:
2010-09-28 Nicola Pero <nicola.pero@meta-innovation.com>
* doc/standards.texi (Standards): Expanded the section on
Objective-C and Objective-C++.
From-SVN: r164706
DJ Delorie [Tue, 28 Sep 2010 22:01:54 +0000 (18:01 -0400)]
re PR target/45800 ([M32C] compile error on increment volatile long var)
PR target/45800
* config/m32c/m32c.c (m32c_subreg): Force adjustment of subregs of
volatile MEMs.
From-SVN: r164705
Jason Merrill [Tue, 28 Sep 2010 21:20:32 +0000 (17:20 -0400)]
tree.c (lvalue_kind): Rename from lvalue_p_1, make nonstatic.
* tree.c (lvalue_kind): Rename from lvalue_p_1, make nonstatic.
(real_lvalue_p): Take const_tree.
* cp-tree.h: Adjust.
* typeck.c (lvalue_or_else): Make temporary arg a permerror.
(cp_build_addr_expr_1): Likewise.
From-SVN: r164704
Jason Merrill [Tue, 28 Sep 2010 21:20:25 +0000 (17:20 -0400)]
900121_02.C: Adjust for C++0x mode.
* g++.old-deja/g++.bugs/900121_02.C: Adjust for C++0x mode.
* g++.old-deja/g++.mike/misc6.C: Likewise.
From-SVN: r164703
Iain Sandoe [Tue, 28 Sep 2010 21:02:38 +0000 (21:02 +0000)]
add parsing for ObjC* method & method parm attributes
gcc/cp:
Partially merged from apple/trunk branch on FSF servers:
2006-04-26 Fariborz Jahanian <fjahanian@apple.com>
Radar
3803157 (method attributes)
* parser.c (cp_parser_objc_method_keyword_params): Handle attributes.
(cp_parser_objc_method_tail_params_opt): Likewise.
(cp_parser_objc_method_signature): Likewise.
(cp_parser_objc_method_maybe_bad_prefix_attributes): New.
(cp_parser_objc_method_prototype_list): Handle attributes.
(cp_parser_objc_method_definition_list): Likewise.
gcc/objc:
* objc-act.c (objc_add_method_declaration): Handle attributes.
(objc_start_method_definition): Likewise.
(objc_generate_cxx_ctor_or_dtor): Pass NULL attributes to ctor/dtor.
(objc_build_keyword_decl): Handle attributes.
gcc:
* c-parser.c (c_parser_declaration_or_fndef): Diagnose incorrect prefix
attributes on methods.
(c_parser_objc_method_definition): Handle attributes.
(c_parser_objc_methodproto): Likewise.
(c_parser_objc_maybe_method_attributes): New.
(c_parser_objc_method_decl): Handle attributes, add a similar diagnostic
to ObjC++ for a missing definition.
gcc/c-family:
* c-common.h: Update declarations to include attributes.
* stub-objc.c: Likewise.
testsuite:
* objc.dg/attributes/method-attribute-1.m: New.
* objc.dg/attributes/method-attribute-2.m: New.
* obj-c++.dg/attributes/method-attribute-1.m: New.
* obj-c++.dg/attributes/method-attribute-2.m: New.
From-SVN: r164702
Richard Henderson [Tue, 28 Sep 2010 20:44:58 +0000 (13:44 -0700)]
Hookize TARGET_UNWIND_INFO et al.
From-SVN: r164701
Iain Sandoe [Tue, 28 Sep 2010 20:08:38 +0000 (20:08 +0000)]
add ObjC* class, category and protocol attribute parsers
gcc/c-family:
* c-common.h (objc_start_class_interface): Adjust prototype.
(objc_start_category_interface): Likewise.
(objc_start_protocol): Likewise.
* stub-objc.c (objc_start_protocol): Adjust for extra argument.
(objc_start_class_interface): Likewise.
(objc_start_category_interface): Likewise.
gcc/objc:
* objc-act.c (objc_start_class_interface): Handle and ignore attributes.
(objc_start_category_interface): Likewise.
(objc_start_protocol): Likewise.
gcc/cp:
* parser.c (cp_parser_objc_valid_prefix_attributes): New.
(cp_parser_declaration): Parse prefix attributes for ObjC++.
(cp_parser_objc_protocol_declaration): Handle attributes.
(cp_parser_objc_class_interface): Likewise.
(cp_parser_objc_declaration): Likewise.
gcc:
* c-parser.c (c_parser_objc_class_definition): Adjust prototype.
(c_parser_objc_protocol_definition): Likewise.
(c_parser_external_declaration): Provide dummy attribute arguments.
(c_parser_declaration_or_fndef): Parse prefix attributes for ObjC.
(c_parser_objc_class_definition): Handle attributes.
(c_parser_objc_protocol_definition): Likewise.
gcc/testsuite:
* objc.dg/attributes: New.
* objc.dg/attributes/attributes.exp: New.
* objc.dg/attributes/class-attribute-1.m: New.
* objc.dg/attributes/class-attribute-2.m: New
* objc.dg/attributes/categ-attribute-1.m: New
* objc.dg/attributes/categ-attribute-2.m: New
* objc.dg/attributes/proto-attribute-1.m: New
* obj-c++.dg/attributes: New.
* obj-c++.dg/attributes/attributes.exp: New
* obj-c++.dg/attributes/class-attribute-1.mm: New
* obj-c++.dg/attributes/class-attribute-2.mm: New
* obj-c++.dg/attributes/categ-attribute-1.mm: New
* obj-c++.dg/attributes/categ-attribute-2.mm: New
* obj-c++.dg/attributes/proto-attribute-1.mm: New
From-SVN: r164700
Tobias Burnus [Tue, 28 Sep 2010 19:51:38 +0000 (21:51 +0200)]
re PR fortran/40569 (F2008: Support COMPILER_OPTIONS() / COMPILER_VERSION())
gcc/
2010-09-28 Tobias Burnus <burnus@net-b.de>
PR fortran/40569
PR fortran/40568
* toplev.h (save_decoded_options, save_decoded_options_count):
New global variables.
* toplev.c (save_decoded_options, save_decoded_options_count):
export variables.
gcc/fortran/
2010-09-28 Tobias Burnus <burnus@net-b.de>
PR fortran/40569
PR fortran/40568
* intrinsic.c (add_functions): Make compiler_version and
compiler_options CLASS_INQUIRY.
* gfortran.h (gfc_get_option_string): New prototype.
* intrinsic.texi (COMPILER_VERSION, COMPILER_OPTIONS):
Add documentation.
(C_SIZEOF): Mark as inquiry function of ISO_C_BINDING.
(ISO_FORTRAN_ENV): Refer to COMPILER_VERSION and COMPILER_OPTIONS.
(ISO_C_BINDING): Refer to C_SIZEOF.
* options.c (gfc_get_option_string): New function.
* simplify.c (gfc_simplify_compiler_options): Use it.
(gfc_simplify_compiler_version): Include compiler name.
From-SVN: r164698
Michael Eager [Tue, 28 Sep 2010 18:58:54 +0000 (18:58 +0000)]
Add self to MAINTAINERS for MicroBlaze CPU port.
From-SVN: r164697
Ian Lance Taylor [Tue, 28 Sep 2010 18:24:54 +0000 (18:24 +0000)]
i386.c (ix86_supports_split_stack): Test HAVE_GAS_CFI_PERSONALITY_DIRECTIVE rather than dwarf2out_do_cfi_asm.
* config/i386/i386.c (ix86_supports_split_stack): Test
HAVE_GAS_CFI_PERSONALITY_DIRECTIVE rather than
dwarf2out_do_cfi_asm.
From-SVN: r164696
Ian Lance Taylor [Tue, 28 Sep 2010 18:22:13 +0000 (18:22 +0000)]
re PR target/45815 (error: '-fsplit-stack' currently only supported on GNU/Linux)
PR target/45815
* opts.c (decode_options): Don't test whether the target supports
split stack if flag_split_stack == 0.
From-SVN: r164695
Nicola Pero [Tue, 28 Sep 2010 17:58:55 +0000 (17:58 +0000)]
In gcc/objc/: 2010-09-28 Nicola Pero <nicola.pero@meta-innovation.com>
In gcc/objc/:
2010-09-28 Nicola Pero <nicola.pero@meta-innovation.com>
Merge from 'apple/trunk' branch on FSF servers.
2005-08-23 Stuart Hastings <stuart@apple.com>
Ziemowit Laski <zlaski@apple.com>
Radar
4209854
* objc-act.c (objc_decay_parm_type): New function.
(get_arg_type_list): Decay types for all named arguments.
(objc_push_parm): Rebuild the PARM_DECL if its type has
been decayed.
In gcc/testsuite/:
2010-09-28 Nicola Pero <nicola.pero@meta-innovation.com>
Merge from 'apple/trunk' branch on FSF servers (test method-20.m
from the branch renamed to method-20b.m to avoid clashes).
2005-08-23 Stuart Hastings <stuart@apple.com>
Ziemowit Laski <zlaski@apple.com>
Radar
4209854
* obj-c++.dg/method-23.mm: New.
* objc.dg/method-20.m: New.
From-SVN: r164694
Nicola Pero [Tue, 28 Sep 2010 17:39:43 +0000 (17:39 +0000)]
In gcc/objc/: 2010-09-28 Nicola Pero <nicola@nicola.brainstorm.co.uk>
In gcc/objc/:
2010-09-28 Nicola Pero <nicola@nicola.brainstorm.co.uk>
* objc-act.c (encode_type): Fixed encoding enums with the next
runtime.
From-SVN: r164693
Jan Hubicka [Tue, 28 Sep 2010 16:34:36 +0000 (18:34 +0200)]
builtin-attrs.def (ATTR_LEAF): New attribute.
* builtin-attrs.def (ATTR_LEAF): New attribute.
(ATTR_NOVOPS_LEAF_LIST, ATTR_LEAF_LIST, ATTR_NOTHROW_LEAF_LIST,
ATTR_CONST_NOTHROW_LEAF_LIST, ATTR_PURE_NOTHROW_LEAF_LIST,
ATTR_PURE_NOTHROW_NOVOPS_LEAF_LIST, ATTR_NORETURN_NOTHROW_LEAF_LIST,
ATTR_MALLOC_NOTHROW_LEAF_LIST, ATTR_SENTINEL_NOTHROW_LEAF_LIST,
ATTR_NOTHROW_NONNULL_LEAF, ATTR_CONST_NOTHROW_NONNULL_LEAF,
ATTR_CONST_NOTHROW_TYPEGENERIC_LEAF, ATTR_PURE_NOTHROW_NONNULL_LEAF,
ATTR_MALLOC_NOTHROW_NONNULL_LEAF): New attribute lists.
* sync-builtins.def: Annotate all builtins by leaf.
* omp-builtins.def: Annotate all builtins by leaf.
* builtins.def: Annotate relevant builtins with leaf attribute.
(ATTR_MATHFN_ERRNO, ATTR_MATHFN_FPROUNDING,
ATTR_MATHFN_FPROUNDING_ERRNO, ATTR_MATHFN_FPROUNDING_STORE): Make
leaf.
* gcc-interface/utils.c (handle_leaf_attribute): New function.
(gnat_internal_attribute_tables): Add leaf.
* lto-lang.c (handle_leaf_attribute): New function.
(lto_attribute_tables): Add leaf.
* f95-lang.c (gfc_define_builtin): Make leaf.
(gfc_init_builtin_functions): Handle only ATTR_CONST_NOTHROW_LEAF_LIST
and ATTR_NOTHROW_LEAF_LIST.
(DEF_SYNC_BUILTIN): Check ATTR_CONST_NOTHROW_LEAF_LIST.
(DEF_GOMP_BUILTIN): Likewise.
From-SVN: r164689
Jan Hubicka [Tue, 28 Sep 2010 16:28:39 +0000 (18:28 +0200)]
tree-ssa-ccp.c (fold_ctor_reference): New function.
* tree-ssa-ccp.c (fold_ctor_reference): New function.
(fold_const_aggregate_ref): Use it.
* fold-const.c (canonicalize_constructor_val): Check that we don't fold
into external static.
From-SVN: r164688
Rainer Orth [Tue, 28 Sep 2010 16:24:11 +0000 (16:24 +0000)]
re PR target/44452 (gcc.target/i386/abi-2.c and gcc.target/i386/pr22076.c fail on 32-bit Solaris 10+/x86)
gcc/testsuite:
PR target/44452
* gcc.target/i386/pr22076.c: Add -mno-vect8-ret-in-mem on
i?86-*-solaris2.[89], *-*-vxworks*.
* gcc.target/i386/pr22152.c: Likewise.
* gcc.target/i386/vect8-ret.c: New test.
gcc:
PR target/44452
* config/i386/i386.opt (mvect8-ret-in-mem): Define.
* config/i386/i386.c (ix86_target_string): Handle -mvect8-ret-in-mem.
(ix86_solaris_return_in_memory): Remove.
* config/i386/i386-protos.h (ix86_solaris_return_in_memory): Remove.
* config/i386/sol2.h (SUBTARGET_RETURN_IN_MEMORY): Remove.
(TARGET_SUBTARGET_DEFAULT): Redefine.
* config/i386/sol2-10.h (TARGET_SUBTARGET_DEFAULT): Update comment.
* config/i386/vx-common.h (SUBTARGET_RETURN_IN_MEMORY): Remove.
(TARGET_SUBTARGET_DEFAULT): Redefine.
* doc/invoke.texi (Option Summary, i386 and x86-64 Options): Add
-mvect8-ret-in-mem.
(i386 and x86-64 Options): Document -mvect8-ret-in-mem.
From-SVN: r164687
Tobias Burnus [Tue, 28 Sep 2010 15:33:56 +0000 (17:33 +0200)]
re PR fortran/45756 (Multiple DECL for array valued PARAMETER (-fwhole-file issue))
2010-09-28 Tobias Burnus <burnus@net-b.de>
PR fortran/45756
* trans-decl.c (gfc_get_symbol_decl): Use gsym for decl of
module parameters.
From-SVN: r164686
Alan Modra [Tue, 28 Sep 2010 15:25:03 +0000 (00:55 +0930)]
re PR target/45807 (Lying eh_frame r2 save info causes crashes with static libgcc_eh and libstdc++)
PR target/45807
* config/rs6000/aix.h (SETUP_FRAME_ADDRESSES): Delete.
* config/rs6000/linux64.h (SETUP_FRAME_ADDRESSES): Delete.
* config/rs6000/rs6000-protos.h (rs6000_aix_emit_builtin_unwind_init):
Delete.
* config/rs6000/rs6000.c (rs6000_aix_emit_builtin_unwind_init): Delete.
(rs6000_emit_prologue): Don't just create frame save info for r2,
actually save r2.
From-SVN: r164685
Richard Henderson [Tue, 28 Sep 2010 15:20:16 +0000 (08:20 -0700)]
cygming.h (ASM_OUTPUT_DWARF_OFFSET): Output 8 bytes when 8 bytes are requested.
* config/i386/cygming.h (ASM_OUTPUT_DWARF_OFFSET): Output 8 bytes
when 8 bytes are requested.
From-SVN: r164684
Jie Zhang [Tue, 28 Sep 2010 15:10:17 +0000 (15:10 +0000)]
* gcc.dg/Wcxx-compat-12.c: Add -fno-short-enums.
From-SVN: r164683
Matt Austern [Tue, 28 Sep 2010 10:35:53 +0000 (10:35 +0000)]
chi2_quality.cc: New.
2010-09-28 Matt Austern <austern@google.com>
* testsuite/20_util/hash/chi2_quality.cc: New.
* testsuite/20_util/hash/quality.cc: Likewise.
From-SVN: r164682
Nicola Pero [Tue, 28 Sep 2010 10:20:11 +0000 (10:20 +0000)]
In gcc/objc/: 2010-09-28 Nicola Pero <nicola.pero@meta-innovation.com>
In gcc/objc/:
2010-09-28 Nicola Pero <nicola.pero@meta-innovation.com>
Merge from 'apple/trunk' branch on FSF servers.
2005-07-18 Ziemowit Laski <zlaski@apple.com>
Radar
4175534
* objc-act.c (objc_compare_types): A new silent comparison
mode (-4), differing from regular comparison (-3) in that
'false' is returned instead of issuing warnings.
In gcc/testsuite/:
2010-09-28 Nicola Pero <nicola.pero@meta-innovation.com>
Merge from 'apple/trunk' branch on FSF servers.
2005-07-18 Ziemowit Laski <zlaski@apple.com>
Radar
4175534
* obj-c++.dg/method-22.mm: New.
From-SVN: r164681
Nicola Pero [Tue, 28 Sep 2010 09:54:51 +0000 (09:54 +0000)]
In gcc/objc/: 2010-09-28 Nicola Pero <nicola.pero@meta-innovation.com>
In gcc/objc/:
2010-09-28 Nicola Pero <nicola.pero@meta-innovation.com>
* objc-act.c (encode_type): Do not add 'r' with the next runtime.
(encode_aggregate_within): Reorganized code to be more readable.
(encode_aggregate_fields): Updated second argument to be 'bool'
instead of 'int'.
From-SVN: r164680
Andrew Haley [Tue, 28 Sep 2010 09:54:27 +0000 (09:54 +0000)]
re PR java/45773 (gcj fails to compile java)
2010-09-27 Andrew Haley <aph@redhat.com>
PR java/45773
* jvgenmain.c (main): Fix arg processing.
From-SVN: r164679
Tristan Gingold [Tue, 28 Sep 2010 08:32:32 +0000 (08:32 +0000)]
avr.c (expand_prologue): Set current_function_static_stack_size.
2010-09-28 Tristan Gingold <gingold@adacore.com>
* config/avr/avr.c (expand_prologue): Set
current_function_static_stack_size.
From-SVN: r164678
Tristan Gingold [Tue, 28 Sep 2010 07:50:02 +0000 (07:50 +0000)]
alpha.md: Change the initial condition of the probing loop.
2010-09-28 Tristan Gingold <gingold@adacore.com>
* config/alpha/alpha.md: Change the initial condition of the
probing loop.
From-SVN: r164677
Uros Bizjak [Tue, 28 Sep 2010 06:11:05 +0000 (08:11 +0200)]
sse.md (*avx_<umaxmin:code><mode>3): Split from *avx_<maxmin:code><mode>3.
* config/i386/sse.md (*avx_<umaxmin:code><mode>3):
Split from *avx_<maxmin:code><mode>3.
(*avx_<smaxmin:code><mode>3): Ditto.
* config/i386/i386.md (maxmin): Remove code iterator.
From-SVN: r164676
GCC Administrator [Tue, 28 Sep 2010 00:18:01 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r164675
Ian Lance Taylor [Tue, 28 Sep 2010 00:07:12 +0000 (00:07 +0000)]
i386.c (ix86_supports_split_stack): -fsplit-stack requires assembler support for CFI directives.
gcc/:
* config/i386/i386.c (ix86_supports_split_stack): -fsplit-stack
requires assembler support for CFI directives.
libgcc/:
* configure.ac: Test whether assembler supports CFI directives.
* config.host: Only add t-stack and i386/t-stack-i386 to
tmake_file if libgcc_cv_cfi is "yes".
* configure: Rebuild.
From-SVN: r164671
Richard Henderson [Mon, 27 Sep 2010 21:29:46 +0000 (14:29 -0700)]
* dwarf2out.c (dwarf2out_cfi_label): Use ASM_OUTPUT_DEBUG_LABEL.
From-SVN: r164670
Ralf Wildenhues [Mon, 27 Sep 2010 20:19:41 +0000 (20:19 +0000)]
Fix unportable shell quoting.
/:
PR bootstrap/44621
* configure.ac: Fix unportable shell quoting.
* configure: Regenerate.
config/:
* po.m4 (AM_PO_SUBDIRS): Fix unportable shell quoting.
contrib/reghunt/:
* bin/gcc-svn-ids: Fix unportable shell quoting.
* date_based/reg_periodic: Likewise.
* date_based/reg_search: Likewise.
intl/:
PR bootstrap/44621
* configure: Regenerate.
From-SVN: r164668
Nicola Pero [Mon, 27 Sep 2010 20:10:34 +0000 (20:10 +0000)]
Fixed typo in my last commit which would break bootstrap
From-SVN: r164667
Jason Merrill [Mon, 27 Sep 2010 20:05:34 +0000 (16:05 -0400)]
Require lvalues as specified by the standard.
* typeck.c (lvalue_or_else): Use real_lvalue_p.
(cp_build_addr_expr_1): Split out of cp_build_unary_op.
(cp_build_addr_expr, cp_build_addr_expr_strict): Interfaces.
(decay_conversion, get_member_function_from_ptrfunc): Adjust.
(build_x_unary_op, build_reinterpret_cast_1): Adjust.
(build_const_cast_1): Adjust.
* cp-tree.h: Declare new fns.
* call.c (build_this, convert_like_real, build_over_call): Adjust.
(initialize_reference): Adjust.
* class.c (build_base_path, convert_to_base_statically): Adjust.
(build_vfn_ref, resolve_address_of_overloaded_function): Adjust.
* cvt.c (build_up_reference, convert_to_reference): Adjust.
* decl.c (register_dtor_fn): Adjust.
* decl2.c (build_offset_ref_call_from_tree): Adjust.
* except.c (initialize_handler_parm): Adjust.
* init.c (build_offset_ref, build_delete, build_vec_delete): Adjust.
* rtti.c (build_dynamic_cast_1, tinfo_base_init): Adjust.
* tree.c (stabilize_expr): Adjust.
From-SVN: r164666
Nicola Pero [Mon, 27 Sep 2010 20:04:24 +0000 (20:04 +0000)]
Added line in ChangeLog entry that I forgot to commit in the last commit
From-SVN: r164665
Hans-Peter Nilsson [Mon, 27 Sep 2010 19:56:32 +0000 (19:56 +0000)]
emit-rtl.c (reorder_insns_nobb): Sanity-check that AFTER is not in the range FROM..TO, inclusive.
* emit-rtl.c (reorder_insns_nobb) [ENABLE_CHECKING]: Sanity-check
that AFTER is not in the range FROM..TO, inclusive.
From-SVN: r164664
Hans-Peter Nilsson [Mon, 27 Sep 2010 19:55:29 +0000 (19:55 +0000)]
re PR rtl-optimization/45792 (cris-elf build failure (hangs) due to fix for PR44374)
PR rtl-optimization/45792
* cfgcleanup.c (try_head_merge_bb): New rtx vector nextptr.
If not all insns are to be merged, for each edge, stash the
next candidate after the to-be-merged insns before doing the
merge, and use them for the retry at the new insertion point.
Handle CC0 targets when retrying.
Co-Authored-By: Bernd Schmidt <bernds@codesourcery.com>
From-SVN: r164663
Ian Lance Taylor [Mon, 27 Sep 2010 19:48:20 +0000 (19:48 +0000)]
common.opt (fsplit-stack): New option.
gcc/:
* common.opt (fsplit-stack): New option.
* opts.c (decode_options): Set flag_split_stack to final value.
* target.def (supports_split_stack): New hook.
* gcc.c (STACK_SPLIT_SPEC): Define.
(LINK_COMMAND_SPEC): Use STACK_SPLIT_SPEC.
* doc/invoke.texi (Option Summary): Mention -fsplit-stack.
(Code Gen Options): Document -fsplit-stack.
* doc/extend.texi (Function Attributes): Mention no_split_stack.
(Function Attributes): Document no_split_stack.
* doc/tm.texi.in (Stack Smashing Protection): Add @hook
TARGET_SUPPORTS_SPLIT_STACK.
* doc/tm.texi: Rebuild.
* function.c (thread_prologue_and_epilogue_insns): If
flag_split_stack, add split stack prologue.
* explow.c (allocate_dynamic_stack_space): Support -fsplit-stack.
* varasm.c (saw_no_split_stack): New static variable.
(assemble_start_function): Set saw_no_split_stack if the function
has the no_split_stack attribute.
(file_end_indicate_split_stack): New function.
* output.h (file_end_indicate_split_stack): Declare.
* libgcc-std.ver (GCC_4.6.0): Add -fsplit-stack support variables
and function.
* doc/libgcc.texi (Miscellaneous routines): Document -fsplit-stack
routines.
* config/i386/i386.c (ix86_option_override_internal): Don't set
expand_builtin_va_start to NULL if -fsplit-stack.
(ix86_function_regparm): Reduce local regparm by 1 for 32-bit
-fsplit-stack.
(ix86_va_start): If -fsplit-stack, get overflow pointer from
scratch register set by prologue.
(ix86_code_end): If -fsplit-stack, call
file_end_indicate_split_stack.
(ix86_supports_split_stack): New static function.
(SPLIT_STACK_AVAILABLE): Define.
(split_stack_prologue_scratch_regno): New static function.
(split_stack_fn): New static variable.
(ix86_expand_split_stack_prologue): New function.
(ix86_live_on_entry): New static function.
(ix86_legitimate_address_p): Handle UNSPEC_STACK_CHECK.
(output_pic_addr_const): Likewise.
(i386_asm_output_addr_const_extra): Likewise.
(ix86_expand_call): Change return type to rtx. Return the new
call instruction.
(TARGET_SUPPORTS_SPLIT_STACK): Define.
(TARGET_EXTRA_LIVE_ON_ENTRY): Define.
* config/i386/i386.md (UNSPEC_STACK_CHECK): Define.
(split_stack_prologue, split_stack_return): New insns.
(split_stack_space_check): New insn.
* config/i386/i386.h (struct machine_function): Add
split_stack_varargs_pointer field.
* config/i386/linux.h (TARGET_CAN_SPLIT_STACK): Define.
(TARGET_THREAD_SPLIT_STACK_OFFSET): Define.
* config/i386/linux64.h (TARGET_CAN_SPLIT_STACK): Define.
(TARGET_THREAD_SPLIT_STACK_OFFSET): Define.
* config/i386/i386-protos.h (ix86_expand_split_stack_prologue):
Declare.
(ix86_expand_call): Update declaration.
gcc/c-family/:
* c-common.c (c_common_attribute_table): Add no_split_stack.
(handle_no_split_stack_attribute): New static function.
gcc/testsuite/:
* lib/target-supports.exp (check_effective_target_split_stack):
New procedure.
* gcc.dg/split-1.c: New test.
* gcc.dg/split-2.c: New test.
* gcc.dg/split-3.c: New test.
* gcc.dg/split-4.c: New test.
libgcc/:
* generic-morestack.h: New file.
* generic-morestack.c: New file.
* generic-morestack-thread.c: New file.
* config/i386/morestack.S: New file.
* config/t-stack: New file.
* config/i386/t-stack-i386: New file.
* config.host (i[34567]86-*-linux* and friends): Add t-stack and
i386/t-stack-i386 to tmake_file.
From-SVN: r164661
Nicola Pero [Mon, 27 Sep 2010 19:22:13 +0000 (19:22 +0000)]
In gcc/: 2010-09-27 Nicola Pero <nicola.pero@meta-innovation.com>
In gcc/:
2010-09-27 Nicola Pero <nicola.pero@meta-innovation.com>
* doc/objc.texi (Type encoding): Added the new 'long double' (D)
code. Added byref, which was missing in the list of codes.
Explain that enumeration values are encoded as the integer type
that the compiler uses to store them. Explain and make examples
of how 'const' interacts with pointers, and the complication of
the encoding of 'const char *'.
(Legacy type encoding): New subsection, explaining that GCC emits
incorrect type encodings for the NeXT runtime for compatibility
reasons.
(@@encode): New subsection, explaining @encode and particularly
that protocol qualifiers are not recognized inside an @encode()
expression.
(Method signatures): New subsection, explaining how method
signatures are encoded.
In gcc/objc/:
2010-09-27 Nicola Pero <nicola.pero@meta-innovation.com>
PR objc/45763
PR objc/25450
PR objc/25464
* objc-act.c: Improved comments for encoding functions.
(encode_aggregate_within): For the GNU runtime, rewritten some
obsfuscated code to clarify the various cases.
(encode_aggregate): Function removed.
(encode_array): Generate an error if asked to encode an incomplete
array as part of generating instance variables. Else, when
encoding an incomplete array inside a structure, encode it as an
array of zero size.
(encode_pointer): For the GNU runtime, fixed encoding 'BOOL *' as
'^c' instead of '*'.
(encode_gnu_bitfield): Encode enumerated types exactly in the same
type as integer types instead of using a hardcoded 'i'. If asked
to encode a non-integer type as a bitfield, do not abort
compilation immediately; instead generate an error, then skip the
type.
(encode_type): Use a 'switch' instead of a sequence of 'if's.
Added a 'default' clause that gets executed if the type can not be
matched, and that encodes it as '?' (unknown) and produces a
warning. For the GNU runtime, encode enumerated types exactly in
the same way as integer types instead of using a hardcoded 'i'.
Encode long double as 'D'. Encode 128-bit integers as 'T' or 't'.
Encode C++ reference types as pointers. Call encode_vector to
encode vectors.
(encode_vector): New function.
2010-09-27 Nicola Pero <nicola.pero@meta-innovation.com>
Merge from 'apple/trunk' branch on FSF servers. I modified the
changes to be used only when compiling for the NeXT runtime.
2005-10-10 Fariborz Jahanian <fjahanian@apple.com>
Radar
4301047
* objc-act.c (encode_type): Remove the hack.
2005-07-20 Ziemowit Laski <zlaski@apple.com>
Radar
4136935
* objc-act.c (pointee_is_readonly): New function.
(encode_pointer, encode_aggregate_within, encode_type):
Attempt to emulate GCC 3.3 when generating type encodings.
In gcc/testsuite/:
2010-09-27 Nicola Pero <nicola.pero@meta-innovation.com>
PR objc/25464
* objc.dg/type-size-3.m: New test.
2010-09-27 Nicola Pero <nicola.pero@meta-innovation.com>
PR objc/45763
* objc.dg/encode-1.m: Execute the test with the GNU runtime as
well.
2010-09-27 Nicola Pero <nicola.pero@meta-innovation.com>
PR objc/25450
* objc.dg/encode-3.m: Updated for fix of encoding of enums.
* objc.dg/type-size-2.m: Same change.
* obj-c++.dg/encode-5.mm: Same change.
2010-09-27 Nicola Pero <nicola.pero@meta-innovation.com>
Merge from 'apple/trunk' branch on FSF servers. The original
Changelogs are below.
* objc.dg/encode-6.m: Execute the test only with the GNU runtime.
* objc.dg/encode-6-next.m: New file (from encode-6.m in the
branch).
* objc.dg/encode-7-next.m: New file (from encode-7.m in the
branch).
* objc.dg/encode-7-next-64bit.m: New file (from encode-7-64bit.m
in the branch).
* objc.dg/proto-qual-1.m: Test the 3.3 ABI on NeXT (from
proto-qual-1.m in the branch) and the normal ABI on GNU.
* objc.dg/threedotthree-abi-1.m: New file (from the branch). Run
the test only with the NeXT runtime.
* obj-c++/encode-1.mm: Execute the test only with the GNU runtime.
* obj-c++/encode-1-next.mm: New file (from encode-1.mm in the
branch).
* obj-c++.dg/threedotthree-abi-1.mm: New file (from the branch).
Run the test only with the NeXT runtime.
2006-03-30 Fariborz Jahanian <fjahanian@apple.com>
Radar
4492973
* objc.dg/encode-7-64bit.m: New.
* objc.dg/encode-7.m: Skip if -m64.
2005-10-19 Fariborz Jahanian <fjahanian@apple.com>
Radar
4301047
* objc.dg/proto-qual-1.m: Fix test to match 3.3 ABI
* obj-c++.dg/threedotthree-abi-1.mm: New
* objc.dg/threedotthree-abi-1.m: New
2005-07-20 Ziemowit Laski <zlaski@apple.com>
Radar
4136935
* obj-c++.dg/encode-1.mm: Tweak encodings to match fix.
* objc.dg/encode-6.m: Likewise.
* objc.dg/encode-7.m: New test case.
In libobjc/:
2010-09-26 Nicola Pero <nicola.pero@meta-innovation.com>
* encoding.c (objc_sizeof_type): Added support for vector type and
for double long types.
(objc_alignof_type): Same change.
(objc_skip_typespec): Same change.
* objc/encoding.h (_C_GCINVISIBLE): Use '|' for _C_GCINVISIBLE
instead of '!' since '!' is already used for _C_VECTOR.
* objc/objc-api.h (_C_LNG_DBL): Added.
From-SVN: r164659
Ralf Wildenhues [Mon, 27 Sep 2010 19:21:19 +0000 (19:21 +0000)]
Regenerate libjava Makefile.in files.
libjava/:
* libjava/Makefile.in: Regenerate.
* libjava/gcj/Makefile.in: Regenerate.
* libjava/include/Makefile.in: Regenerate.
* libjava/testsuite/Makefile.in: Regenerate.
From-SVN: r164658
Nicola Pero [Mon, 27 Sep 2010 18:04:09 +0000 (18:04 +0000)]
In gcc/: 2010-09-27 Nicola Pero <nicola.pero@meta-innovation.com>
In gcc/:
2010-09-27 Nicola Pero <nicola.pero@meta-innovation.com>
Merge from 'apple/trunk' branch on FSF servers. Removed small
change in build_conditional_expr that had been added when fixing
PR objc/27377 and which did the same check in a less complete way.
2005-12-15 Fariborz Jahanian <fjahanian@apple.com>
Radar
4229905
* c-typeck.c (build_conditional_expr): Call objc_have_common_type when
looking for objective-c common pointer types.
2005-06-22 Ziemowit Laski <zlaski@apple.com>
Radar
4154928
* c-typeck.c (build_conditional_expr): For two ObjC pointer types,
use their ObjC common type.
In gcc/c-family:
2010-09-27 Nicola Pero <nicola.pero@meta-innovation.com>
Merge from 'apple/trunk' branch on FSF servers.
2005-12-15 Fariborz Jahanian <fjahanian@apple.com>
Radar
4229905
* c-common.h (objc_have_common_type): New declaration.
* stub-objc.c (objc_have_common_type): New stub.
2005-06-22 Ziemowit Laski <zlaski@apple.com>
Radar
4154928
* c-common.h (objc_common_type): New prototype.
* stub-objc.c (objc_common_type): New stub.
In gcc/objc/:
2010-09-27 Nicola Pero <nicola.pero@meta-innovation.com>
Merge from 'apple/trunk' branch on FSF servers.
2005-12-15 Fariborz Jahanian <fjahanian@apple.com>
Radar
4229905
* objc-act.c (objc_have_common_types): New function.
2005-06-22 Ziemowit Laski <zlaski@apple.com>
Radar
4154928
* objc-act.c (objc_common_type): New function.
In gcc/cp/:
2010-09-27 Nicola Pero <nicola.pero@meta-innovation.com>
Merge from apple/trunk branch on FSF servers:
2005-12-15 Fariborz Jahanian <fjahanian@apple.com>
Radar
4229905
* typeck.c (composite_pointer_type): Call objc_have_common_type
when comparing two objective-c pointer types.
2005-06-22 Ziemowit Laski <zlaski@apple.com>
Radar
4154928
* call.c (standard_conversion): Allow for a pointer conversion
between any two ObjC pointer types.
* typeck.c (composite_pointer_type): Determine common type
for two ObjC pointer types.
In gcc/testsuite/:
2010-09-27 Nicola Pero <nicola.pero@meta-innovation.com>
Merge from 'apple/trunk' branch on FSF servers. Renamed
const-str-12.m to constr-str-12b.m to avoid conflicts.
2005-12-15 Fariborz Jahanian <fjahanian@apple.com>
Radar
4229905
* obj-c++.dg/warn5.mm: New
2005-06-22 Ziemowit Laski <zlaski@apple.com>
Radar
4154928
* obj-c++.dg/const-str-12.mm: New.
* objc.dg/const-str-12.m: New.
From-SVN: r164655
Paolo Carlini [Mon, 27 Sep 2010 17:27:43 +0000 (17:27 +0000)]
allocator.h (allocator_arg_t, [...]): Add.
2010-09-27 Paolo Carlini <paolo.carlini@oracle.com>
* include/bits/allocator.h (allocator_arg_t, allocator_arg,
uses_allocator): Add.
* testsuite/20_util/uses_allocator/value.cc: New.
* testsuite/20_util/uses_allocator/requirements/typedefs.cc: Likewise.
* testsuite/20_util/uses_allocator/requirements/
explicit_instantiation.cc: Likewise.
* include/bits/stl_queue.h (uses_allocator<queue>,
uses_allocator<priority_queue>): Add.
* include/bits/stl_stack.h (uses_allocator<stack>): Likewise.
* include/bits/stl_pair.h (piecewise_construct): Add.
* testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Adjust dg-error
line number.
From-SVN: r164654
Richard Guenther [Mon, 27 Sep 2010 15:46:07 +0000 (15:46 +0000)]
objc-act.c (objc_get_class_reference): Use CP_TYPE_CONTEXT.
2010-09-27 Richard Guenther <rguenther@suse.de>
* objc-act.c (objc_get_class_reference): Use CP_TYPE_CONTEXT.
(objc_is_global_reference_p): Use DECL_FILE_SCOPE_P.
From-SVN: r164652
Richard Guenther [Mon, 27 Sep 2010 15:15:59 +0000 (15:15 +0000)]
dbxout.c (dbxout_symbol): Use DECL_FILE_SCOPE_P.
2010-09-27 Richard Guenther <rguenther@suse.de>
* dbxout.c (dbxout_symbol): Use DECL_FILE_SCOPE_P.
From-SVN: r164651
Eric Botcazou [Mon, 27 Sep 2010 12:45:06 +0000 (12:45 +0000)]
Fix formatting issues
From-SVN: r164649
Jie Zhang [Mon, 27 Sep 2010 10:16:44 +0000 (10:16 +0000)]
* print-tree.c (print_node): Print in-constant-pool.
From-SVN: r164647
Olivier Hainque [Mon, 27 Sep 2010 09:27:21 +0000 (09:27 +0000)]
vxworks.h (TARGET_OS_CPP_BUILTINS): Call VXWORKS_OS_CPP_BUILTINS.
* config/rs6000/vxworks.h (TARGET_OS_CPP_BUILTINS): Call
VXWORKS_OS_CPP_BUILTINS.
From-SVN: r164646
Paolo Carlini [Mon, 27 Sep 2010 09:27:05 +0000 (09:27 +0000)]
cmath (__pow_helper): Remove.
2010-09-27 Paolo Carlini <paolo.carlini@oracle.com>
* include/c_std/cmath (__pow_helper): Remove.
(__cmath_power): Remove declaration.
* include/c_global/cmath: Likewise.
* include/std/complex (__complex_pow_unsigned): Add.
(pow(const complex<_Tp>&, int)): Use the latter.
* include/c_std/cmath.tcc: Remove file.
* include/c_global/cmath.tcc: Likewise.
* acinclude.m4: Adjust.
* include/Makefile.am: Likewise.
* configure: Regenerate.
* include/Makefile.in: Likewise.
From-SVN: r164645
Uros Bizjak [Mon, 27 Sep 2010 06:25:55 +0000 (08:25 +0200)]
i386.h (CLASS_MAX_NREGS): Also handle XCmode.
* config/i386/i386.h (CLASS_MAX_NREGS): Also handle XCmode.
(UNITS_PER_WORD): Define only when IN_LIBGCC2 is undefined.
(MOVE_MAX_PIECES): Redefine using UNITS_PER_WORD.
(ASM_OUTPUT_AVX_PREFIX): Simplify pointer addition.
From-SVN: r164644
GCC Administrator [Mon, 27 Sep 2010 00:17:14 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r164643
Tobias Burnus [Sun, 26 Sep 2010 22:30:48 +0000 (00:30 +0200)]
re PR fortran/40569 (F2008: Support COMPILER_OPTIONS() / COMPILER_VERSION())
2010-09-27 Tobias Burnus <burnus@net-b.de>
PR fortran/40569
PR fortran/40568
* intrinsic.h (gfc_simplify_compiler_options,
gfc_simplify_compiler_version): New prototypes.
* intrinsic.c (gfc_intrinsic_function_by_id,
make_from_module): New functions.
(gfc_find_function, gfc_find_subroutine, gfc_generic_intrinsic,
gfc_specific_intrinsic): Don't return module intrinsics.
(add_functions): Add compiler_options, compiler_version.
(gfc_intrinsic_func_interface): Also lookup symbol by ISYM ID.
* symbol.c (std_for_isocbinding_symbol): Add version check for
NAMED_FUNCTIONS.
* iso-fortran-env.def: Add compiler_options, compiler_version.
* iso-c-binding.def: Add c_sizeof.
* gfortran.h (gfc_intrinsic_sym): Add from_module:1.
(iso_c_binding_symbol, iso_fortran_env_symbol): Add NAMED_FUNCTIONS.
(gfc_intrinsic_function_by_id): New prototype.
* module.c (create_intrinsic_function): New function.
(import_iso_c_binding_module, use_iso_fortran_env_module): Use it.
* trans-types.c (init_c_interop_kinds): Add NAMED_FUNCTIONS.
* resolve.c (resolve_intrinsic): Try also to resolve intrinsics
by ISYM ID.
* simplify.c (gfc_simplify_compiler_options,
gfc_simplify_compiler_version): New functions.
2010-09-27 Tobias Burnus <burnus@net-b.de>
PR fortran/40569
PR fortran/40568
* gfortran.dg/storage_size_2.f08: Fix test.
* gfortran.dg/c_sizeof_1.f90: Fix test.
* gfortran.dg/c_sizeof_2.f90: Update dg-error.
* gfortran.dg/c_sizeof_3.f90: New.
* gfortran.dg/c_sizeof_4.f90: New.
* gfortran.dg/iso_c_binding_compiler_1.f90: New.
* gfortran.dg/iso_c_binding_compiler_2.f90: New.
From-SVN: r164639
Daniel Kraft [Sun, 26 Sep 2010 19:25:52 +0000 (21:25 +0200)]
re PR fortran/45783 (ICE in gfc_add_component_ref, at fortran/class.c:77)
2010-09-26 Daniel Kraft <d@domob.eu>
PR fortran/45783
PR fortran/45795
* resolve.c (resolve_select_type): Clarify code.
(resolve_assoc_var): Only set typespec if it is currently unknown.
2010-09-26 Daniel Kraft <d@domob.eu>
PR fortran/45783
PR fortran/45795
* gfortran.dg/select_type_18.f03: New test.
From-SVN: r164638
Nicola Pero [Sun, 26 Sep 2010 19:04:42 +0000 (19:04 +0000)]
In gcc/objc/:
* objc-act.c: Removed historical, obsolete comment at the top of
the file.
From-SVN: r164637
Nicola Pero [Sun, 26 Sep 2010 19:03:27 +0000 (19:03 +0000)]
Reverted removing 'inline' from get_imp
From-SVN: r164636
Uros Bizjak [Sun, 26 Sep 2010 18:28:48 +0000 (20:28 +0200)]
i386.md (pro_epilogue_adjust_stack_<mode>_add): Merge from pro_epilogue_adjust_stack_<mode>_{1,2}.
* config/i386/i386.md (pro_epilogue_adjust_stack_<mode>_add): Merge
from pro_epilogue_adjust_stack_<mode>_{1,2}.
(pro_epilogue_adjust_stack_<mode>_add): Rename from
pro_epilogue_adjust_stack_<mode>_3.
* config/i386/i386.c (pro_epilogue_adjust_stack): Update for
renamed pro_epilogue_adjust_stack_{si,di}_add.
(ix86_expand_prologue): Use indirect functions. Update for renamed
pro_epilogue_adjust_stack_{si,di}_sub.
From-SVN: r164635
Nicola Pero [Sun, 26 Sep 2010 14:45:12 +0000 (14:45 +0000)]
In libobjc/:
* libobjc_entry.c: File removed.
From-SVN: r164633
Kai Tietz [Sun, 26 Sep 2010 14:32:45 +0000 (14:32 +0000)]
sendmsg.c (get_imp): Remove inline.
2010-09-26 Kai Tietz <kai.tietz@onevision.com>
* sendmsg.c (get_imp): Remove inline.
(objc_msg_lookup): Likewise.
(objc_get_uninstalled_dtable): Likewise.
* encoding.c (objc_skip_type_qualifiers): Likewise.
(objc_skip_offset): Likewise.
* archive.c (__objc_write_object): Likewise
(__objc_write_class):
(__objc_write_selector):
(objc_read_char):
(objc_read_unsigned_char):
(objc_read_short):
(objc_read_unsigned_short):
(objc_read_int):
(objc_read_long):
(__objc_read_nbyte_uint):
(objc_read_unsigned_int):
(objc_read_unsigned_long):
* objc/objc-decls.h (obc_EXPORT): Remove dllexport for DLL_EXPORT case.
(objc_EXPORT): Likewise.
* objc/message.h (objc-decls.h): Add include.
* objc/objc-api.h: Mark API by objc_EXPORT.
* libobjc.def (__objc_responds_to): Removed.
From-SVN: r164632
Jerry DeLisle [Sun, 26 Sep 2010 12:30:54 +0000 (12:30 +0000)]
re PR fortran/45793 ([4.6 Regressions] Numerous test-suite failures)
2010-09-26 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/45793
* module.c (create_int_parameter_array): Set the array value shape.
From-SVN: r164631
Uros Bizjak [Sun, 26 Sep 2010 10:34:57 +0000 (12:34 +0200)]
i386.md (movmsk_df): New insn.
* config/i386/i386.md (movmsk_df): New insn.
(signbitdf): Split out of signbit<mode>2. Generate movmsk_df
sequence for TARGET_SSE_MATH.
From-SVN: r164630
Richard Sandiford [Sun, 26 Sep 2010 07:26:20 +0000 (07:26 +0000)]
mips.c (mips_builtin_decls): Declare.
gcc/
* config/mips/mips.c (mips_builtin_decls): Declare.
(mips_init_builtins): Store function declarations in
mips_builtin_decls.
(mips_builtin_decl): New function.
(TARGET_BUILTIN_DECL): Define.
From-SVN: r164629
Kai Tietz [Sun, 26 Sep 2010 04:02:24 +0000 (04:02 +0000)]
cygwin.asm: Include auto-host.h.
* config/i386/cygwin.asm: Include auto-host.h.
(cfi_startproc, cfi_endproc, cfi_adjust_cfa_offset,
cfi_def_cfa_register, cfi_register, cfi_push, cfi_pop): New macros.
(__chkstk, __alloca): Annotate for dwarf2 unwind info. Drop
alignment code from the 64-bit path. Use gas local labels.
* config/i386/i386.md (pro_epilogue_adjust_stack_<mode>_2): Macroize
from _di_2. Remove the useless constant integer argument.
(pro_epilogue_adjust_stack_<mode>_3): New.
(allocate_stack_worker_probe_<mode>): Macroize from
allocate_stack_worker_{32,64}. Use __chkstk_ms. Update all users.
* config/i386/i386.c (ix86_expand_prologue): Use __chkstk_ms;
use gen_pro_epilogue_adjust_stack_*_3 and annotate it.
(__chkstk_ms): New function.
* config/i386/t-cygming (LIB1ASMFUNCS): Add _chkstk_ms.
* gcc/config/i386/t-interix: Likewise.
* configure.ac (HAVE_GAS_CFI_DIRECTIVE): Export for target.
(HAVE_GAS_CFI_PERSONALITY_DIRECTIVE): Likewise.
(HAVE_GAS_CFI_SECTIONS_DIRECTIVE): Likewise.
* configure, config.in: Rebuild.
Co-Authored-By: Richard Henderson <rth@redhat.com>
From-SVN: r164628
GCC Administrator [Sun, 26 Sep 2010 00:17:07 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r164627
Eric Botcazou [Sat, 25 Sep 2010 21:34:45 +0000 (21:34 +0000)]
tree-inline.c (copy_bb): Use GSI_CONTINUE_LINKING when inserting new statements because of the return...
* tree-inline.c (copy_bb): Use GSI_CONTINUE_LINKING when inserting new
statements because of the return slot optimization.
From-SVN: r164622
Tobias Burnus [Sat, 25 Sep 2010 19:23:25 +0000 (21:23 +0200)]
gfortran.texi: Re-add accidently removed \input line.
2010-09-25 Tobias Burnus <burnus@net-b.de>
* gfortran.texi: Re-add accidently removed \input line.
From-SVN: r164621
Jie Zhang [Sat, 25 Sep 2010 14:53:20 +0000 (14:53 +0000)]
lto.c (lto_read_all_file_options): Start a new line after printing out file names.
* lto.c (lto_read_all_file_options): Start a new line after
printing out file names.
From-SVN: r164620
Daniel Kraft [Sat, 25 Sep 2010 14:27:20 +0000 (16:27 +0200)]
re PR fortran/45776 (Full implementation of variable definition contexts (and related checks))
2010-09-25 Daniel Kraft <d@domob.eu>
PR fortran/45776
* gfortran.h (struct gfc_dt): New member `dt_io_kind'.
* io.c (resolve_tag): F2008 check for NEWUNIT and variable
definition checks for NEWUNIT, IOSTAT, SIZE and IOMSG.
(gfc_free_dt): Correctly handle freeing of `dt_io_kind' and
`extra_comma' with changed semantics.
(gfc_resolve_dt): Check variable definitions.
(match_io_element): Remove INTENT and PURE checks here and
initialize code->ext.dt member.
(match_io): Set dt->dt_io_kind.
(gfc_resolve_inquire): Check variable definition for all tags
except UNIT, FILE and ID.
* resolve.c (resolve_transfer): Variable definition check.
2010-09-25 Daniel Kraft <d@domob.eu>
PR fortran/45776
* gfortran.dg/io_constraints_6.f03: New test.
* gfortran.dg/io_constraints_7.f03: New test.
* gfortran.dg/newunit_2.f90: New test.
From-SVN: r164619
Anatoly Sokolov [Sat, 25 Sep 2010 09:40:19 +0000 (13:40 +0400)]
avr.h (CLASS_LIKELY_SPILLED_P): Remove.
* config/avr/avr.h (CLASS_LIKELY_SPILLED_P): Remove.
* config/avr/avr-protos.h (class_likely_spilled_p): Remove.
* config/avr/avr.c (TARGET_CLASS_LIKELY_SPILLED_P): Define.
(class_likely_spilled_p): Rename to...
(avr_class_likely_spilled_p): ...this. Make static. Change argument
type to reg_class_t.
From-SVN: r164618
Tobias Burnus [Sat, 25 Sep 2010 07:06:36 +0000 (09:06 +0200)]
interface.c (gfc_match_end_interface): Constify char pointer to fix warning.
2010-09-25 Tobias Burnus <burnus@net-b.de>
* interface.c (gfc_match_end_interface): Constify char pointer
to fix warning.
From-SVN: r164617
Steven G. Kargl [Sat, 25 Sep 2010 05:55:59 +0000 (05:55 +0000)]
interface.c (gfc_match_end_interface): Deal with user defined operators that...
2010-09-24 Steven G. Kargl < kargl@gcc.gnu.org>
* fortran/interface.c (gfc_match_end_interface): Deal with user defined
operators that overload rational operators and C1202.
2010-09-24 Steven G. Kargl < kargl@gcc.gnu.org>
* testsuite/gfortran.dg/operator_c1202.f90: New test.
From-SVN: r164616
GCC Administrator [Sat, 25 Sep 2010 00:18:04 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r164615
Jan Hubicka [Fri, 24 Sep 2010 21:47:59 +0000 (23:47 +0200)]
lto-symtab.c (lto_symtab_entry_def): Add guessed field.
* lto-symtab.c (lto_symtab_entry_def): Add guessed field.
(lto_symtab_resolve_symbols): Set it.
(lto_symtab_merge_decls_1): Do not compute used_from_object_file;
store resolution field in cgraph/varpool.
* cgraph.c (cgraph_same_body_alias, cgraph_add_thunk): Return node.
(cgraph_get_node_or_alias, cgraph_get_node_or_alias): Constify.
(cgraph_dump_node): Drop used_from_object_file.
(cgraph_clone_node, cgraph_create_virtual_clone): Likewise.
(cgraph_function_body_availability): Use decl_replaceable_p.
(cgraph_make_node_local): Set resolution to LDPR_PREVAILING_DEF_IRONLY.
(cgraph_can_remove_if_no_direct_calls_and_refs): Use
cgraph_used_from_object_file_p.
(cgraph_will_be_removed_from_program_if_no_direct_calls): Use
cgraph_used_from_object_file_p.
(resolution_used_from_other_file_p): New functoin.
(cgraph_used_from_object_file_p): New predicate.
* cgraph.h: Include plugin-api.h
(struct cgraph_local_info): Remove used_from_object_file.
(struct cgraph_node): Add resolution field.
(struct varpool_node): Likewise; remove used_from_object_file;
reove const_value_known.
(cgraph_get_node, cgraph_get_node_or_alias, cgraph_node,
cgraph_same_body_alias, cgraph_add_thunk): Update prototypes.
(resolution_used_from_other_file_p, cgraph_used_from_object_file_p,
varpool_used_from_object_file_p): Declare.
(varpool_get_node, varpool_extra_name_alias): Update prototype.
* tree.h (DECL_REPLACEABLE_P): Remove.
(decl_replaceable_p, decl_binds_to_current_def_p): Declare.
* final.c (rest_of_clean_state): Use decl_binds_to_current_def_p.
* lto-cgraph.c (lto_output_node, lto_output_varpool_node,
input_overwrite_node, input_node, input_varpool_node): Stream
resolution.
* expr.c (expand_expr_real_1): Use const_value_known_p
* ipa.c (ipa_discover_readonly_nonaddressable_var): Do not set
const_value_known.
(cgraph_externally_visible_p): Use cgraph_used_from_object_file_p.
(function_and_variable_visibility): Set resolution for local vars
and functions.
use varpool_used_from_object_file_p.
* varasm.c (resolution_to_local_definition_p, resolution_local_p): New
static functions.
(default_binds_local_p_1): Use resolutoin info.
(decl_binds_to_current_def_p, decl_replaceable_p): New functions.
* varpool.c (varpool_get_node): Constify.
(const_value_known_p): Do not use vnode->const_value_known;
use decl_replaceable_p.
(varpool_finalize_decl): Do not set const_value_known.
(cgraph_variable_initializer_availability): Use decl_replaceable_p
(varpool_extra_name_alias): Return new node.
(varpool_used_from_object_file_p): New function.
* decl.c (finish_function): Use decl_replaceable_p
* method.c (make_alias_for_thunk): Update call of cgraph_same_body_alias.
* lto.c (lto_promote_cross_file_statics): Use const_value_known_p.
From-SVN: r164610
Richard Henderson [Fri, 24 Sep 2010 21:20:51 +0000 (14:20 -0700)]
ia64.c (ia64_dwarf_handle_frame_unspec): New.
* config/ia64/ia64.c (ia64_dwarf_handle_frame_unspec): New.
(TARGET_DWARF_HANDLE_FRAME_UNSPEC): New.
(do_spill): Use REG_CFA_OFFSET.
(ia64_expand_prologue): Use REG_CFA_ADJUST_CFA and REG_CFA_REGISTER
as appropriate.
(ia64_expand_epilogue): Likewise.
(process_set): Split into ...
(process_cfa_adjust_cfa): this,
(process_cfa_register): this,
(process_cfa_offset): and this new function.
(ia64_asm_unwind_emit): Use them. Expect REG_CFA_* notes
instead of REG_FRAME_RELATED_EXPR.
From-SVN: r164609
Olivier Hainque [Fri, 24 Sep 2010 20:32:48 +0000 (20:32 +0000)]
vx-common.h (DBX_REGISTER_NUMBER): Reinstate.
* config/i386/vx-common.h (DBX_REGISTER_NUMBER): Reinstate.
From-SVN: r164607
Jan Hubicka [Fri, 24 Sep 2010 19:14:51 +0000 (21:14 +0200)]
extend.texi: (attribute leaf): Document.
* doc/extend.texi: (attribute leaf): Document.
* tree.c (local_define_builtin): Handle ECF_LEAF.
(build_common_builtin_nodes): Set ECF_LEAF where needed.
* tree.h (ECF_LEAF): New.
* ipa-reference.c (propagate_bits): For leaf calls propagate ever overwrittable
and unavailable functions.
(ipa_init): Put all_module_statics into optimization_summary_obstack.
(copy_global_bitmap): Do not copy all_module_statics.
(read_write_all_from_decl): Use cgraph_node argument; handle ECF_LEAF.
(propagate): Handle overwritable and unavailable leaf functions;
initialize global info for overwritable and unavailable leaf functions;
do not free all module statics.
(ipa_reference_get_not_read_global, ipa_reference_get_not_written_global):
leaf calls don't clobber local statics.
* calls.c (flags_from_decl_or_type): Handle leaf.
* tree-cfg.c (stmt_can_make_abnormal_goto): Leaf functions can't do
abnormal gotos.
* c-common.c (handle_leaf_attribute): New function.
(struct attribute_spec c_common_att): Add leaf.
* gcc.dg/tree-ssa/leaf.c: New testcase.
From-SVN: r164606
Basile Starynkevitch [Fri, 24 Sep 2010 17:37:16 +0000 (17:37 +0000)]
gengtype.c: Reindented.
2010-09-24 Basile Starynkevitch <basile@starynkevitch.net>
* gcc/gengtype.c: Reindented.
* gcc/gengtype.h: Reindented.
* gcc/gengtype-parse.c: Reindented.
From-SVN: r164604
Jan Hubicka [Fri, 24 Sep 2010 16:24:45 +0000 (18:24 +0200)]
re PR middle-end/45738 (ICE: tree check: expected var_decl, have debug_expr_decl in const_value_known_p, at varpool.c:375)
PR tree-optimization/45738
PR tree-optimization/45741
* expr.c (string_constant): Allow CONST_DECL too;
check that DECL_INITIAL is set.
* varpool.c (const_value_known_p): Only look into VAR_DECL
and CONST_DECL.
* gcc.c-torture/compile/pr45741.c: New.
* gfortran.fortran-torture/compile/pr45738.f90: New.
From-SVN: r164602
Joseph Myers [Fri, 24 Sep 2010 15:14:40 +0000 (16:14 +0100)]
common.opt (undef): New.
* common.opt (undef): New.
testsuite:
* gcc.dg/cpp/undef-opt-1.c: New test.
From-SVN: r164599
Jason Merrill [Fri, 24 Sep 2010 15:13:19 +0000 (11:13 -0400)]
decl.c (compute_array_index_type): Remember type dependence of array bound.
* decl.c (compute_array_index_type): Remember type dependence of
array bound.
* pt.c (dependent_type_p_r): Don't recompute it here.
From-SVN: r164598
Jason Merrill [Fri, 24 Sep 2010 15:13:08 +0000 (11:13 -0400)]
error.c (dump_expr): Print conversion between reference and pointer to the same type as "*" or "&".
* error.c (dump_expr) [CASE_CONVERT]: Print conversion between
reference and pointer to the same type as "*" or "&".
From-SVN: r164597
Jakub Jelinek [Fri, 24 Sep 2010 14:37:02 +0000 (16:37 +0200)]
re PR middle-end/45234 (ICE in expand_call, at calls.c:2845 when passing aligned function argument from unaligned stack after alloca)
PR middle-end/45234
* rtl.h (enum global_rtl_index): Add
GR_VIRTUAL_PREFERRED_STACK_BOUNDARY.
(LAST_VIRTUAL_POINTER_REGISTER): Define.
(virtual_preferred_stack_boundary_rtx,
VIRTUAL_PREFERRED_STACK_BOUNDARY_REGNUM): Define.
(LAST_VIRTUAL_REGISTER): Increase by one.
(REGNO_PTR_FRAME_P): Use LAST_VIRTUAL_POINTER_REGISTER
instead of LAST_VIRTUAL_REGISTER.
* function.c (instantiate_new_reg): Handle
virtual_preferred_stack_boundary_rtx.
* emit-rtl.c (init_virtual_regs): Handle
VIRTUAL_PREFERRED_STACK_BOUNDARY_REGNUM.
(init_emit_regs): Initialize virtual_preferred_stack_boundary_rtx.
* explow.c (round_push): If crtl->preferred_stack_boundary
is smaller than MAX_SUPPORTED_STACK_ALIGNMENT, use
virtual_preferred_stack_boundary_rtx alignment instead of
crtl->preferred_stack_boundary alignment.
(allocate_dynamic_stack_space): Use CONST_INT_P and REG_P
macros. Never decrease crtl->preferred_stack_boundary,
use crtl->preferred_stack_boundary or MAX_SUPPORTED_STACK_ALIGNMENT
instead of PREFERRED_STACK_BOUNDARY. Don't modify
stack_pointer_delta in dynamic allocation, even when size
is constant.
(probe_stack_range, anti_adjust_stack_and_probe): Use CONST_INT_P
macro.
* print-rtl.c (print_rtx): Handle
VIRTUAL_PREFERRED_STACK_BOUNDARY_REGNUM.
* config/alpha/alpha.h (NONSTRICT_REG_OK_FP_BASE_P): Use
LAST_VIRTUAL_POINTER_REGISTER instead of LAST_VIRTUAL_REGISTER.
* config/frv/frv.c (frv_emit_movsi): Likewise.
* config/arm/arm.c (thumb1_legitimate_address_p): Likewise.
* config/rs6000/rs6000.c (virtual_stack_registers_memory_p):
Likewise.
* gcc.dg/torture/stackalign/alloca-6.c: New test.
* gcc.target/i386/pr45234.c: New test.
Revert:
2010-09-17 H.J. Lu <hongjiu.lu@intel.com>
PR middle-end/45234
* calls.c (expand_call): Make sure that all variable sized
adjustments are multiple of preferred stack boundary after
stack alignment.
From-SVN: r164593
Iain Sandoe [Fri, 24 Sep 2010 14:06:35 +0000 (14:06 +0000)]
re PR bootstrap/45751 (Bootstrap failure: at stage 1 xgcc segfault)
PR bootstrap/45751
* gcc/config/darwin-driver.c (darwin_default_min_version):
Adjust size passed to memcpy in two places.
Co-Authored-By: Dominique d'Humieres <dominiq@lps.ens.fr>
From-SVN: r164592
Richard Guenther [Fri, 24 Sep 2010 13:21:30 +0000 (13:21 +0000)]
c-decl.c (pop_scope): Always set file-scope DECL_CONTEXT.
2010-09-24 Richard Guenther <rguenther@suse.de>
* c-decl.c (pop_scope): Always set file-scope DECL_CONTEXT.
Make sure to not call set_type_context with error_mark_node.
* langhooks.c (lhd_set_decl_assembler_name): Use DECL_FILE_SCOPE_P.
* gcc.dg/lto/
20091006-2_0.c: Prune warnings.
From-SVN: r164591
Richard Guenther [Fri, 24 Sep 2010 11:59:12 +0000 (11:59 +0000)]
Makefile.in (OBJS-onestep): Remove.
2010-09-24 Richard Guenther <rguenther@suse.de>
* Makefile.in (OBJS-onestep): Remove.
(ALL_HOST_BACKEND_OBJS): Remove libbackend.o.
(libbackend.a): Remove onestep support.
(libbackend.o): Remove.
* configure.ac (--enable-intermodule): Remove.
* configure: Regenerate.
From-SVN: r164590
Bernd Schmidt [Fri, 24 Sep 2010 11:29:59 +0000 (11:29 +0000)]
cfgcleanup.c (flow_find_head_matching_sequence): Terminate when reaching the end of a block if it occurs at a DEBUG_INSN.
* cfgcleanup.c (flow_find_head_matching_sequence): Terminate when
reaching the end of a block if it occurs at a DEBUG_INSN.
From-SVN: r164589
Marcus Shawcroft [Fri, 24 Sep 2010 10:34:01 +0000 (10:34 +0000)]
nested-2.C: Permit the ARM @ character as a comment leader in regexp.
2010-09-24 Marcus Shawcroft <marcus.shawcroft@arm.com>
* g++.dg/debug/dwarf2/nested-2.C: Permit the ARM @ character
as a comment leader in regexp.
From-SVN: r164588
Tristan Gingold [Fri, 24 Sep 2010 08:46:36 +0000 (08:46 +0000)]
re PR target/44242 (vms-crt0*.c should compile with gcc)
2010-09-09 Tristan Gingold <gingold@adacore.com>
PR target/44242
* config/vms/vms-crt0-64.c: Removed.
* config/vms/vms-crt0.c: Removed.
* config/vms/vms-psxcrt0-64.c: Removed.
* config/vms/vms-psxcrt0.c: Removed.
* config/vms/vms-ucrt0.c: New file.
* config/vms/t-vms64: Removed.
* config/vms/t-vms (VMS_EXTRA_PARTS): Uncomment it. Remove DECC.
Use $(GCC_FOR_TARGET) to build pcrt0.o and vcrt0.o
* config.gcc (alpha-dec-vms): Use t-vms.
From-SVN: r164587
Nicola Pero [Fri, 24 Sep 2010 08:19:17 +0000 (08:19 +0000)]
In gcc/:
* doc/invoke.texi (-fno-nil-receivers): Tidied up line to remove
underfull hbox in DVI output.
(-fobjc-class-cxx-cdtors): Same change.
(-fobjc-exceptions): Tidied up documentation. Explain what the
option does, but moved the (lenghty) description of the exception
syntax into objc.texi.
(-fobjc-gc): Explain that the option is not useful with the GNU
runtime.
(-fzero-link): Explain that the GNU runtime always works in
"zero-link" mode.
* doc/objc.texi: All sections: simplified @node declarations
removing specification of next, previous, up node.
(Objective-C): Updated introduction.
(Garbage Collection): Updated. The bohem-gc library is now
included in gcc itself. Mention that this section only applies to
the GNU Objective-C runtime.
(compatibility_alias): Small tidy up.
(Exceptions): New section mostly containing text previously in the
description of the -fobjc-exception command-line option.
(Synchronization): Same.
From-SVN: r164586
Nicola Pero [Fri, 24 Sep 2010 07:51:29 +0000 (07:51 +0000)]
sync-2.m: New test.
* objc.dg/sync-2.m: New test.
* obj-c++.dg/sync-2.mm: New test.
From-SVN: r164585
Tobias Burnus [Fri, 24 Sep 2010 06:39:20 +0000 (08:39 +0200)]
gfortran.texi: Add second space after end-of-sentence period...
2010-09-24 Tobias Burnus <burnus@net-b.de>
* gfortran.texi: Add second space after end-of-sentence period;
change / to /@/ to allow hyphenation of URLs.
(Standards): Remove duplicated OpenMP, update wording given that
Fortran 2008 now released.
(Fortran 2008 status): Update and add list of implemented features.
From-SVN: r164584
Uros Bizjak [Fri, 24 Sep 2010 06:10:35 +0000 (08:10 +0200)]
i386.md (ix86_code_end): Move the initialization of xops array near the consumer.
* config/i386/i386.md (ix86_code_end): Move the initialization of
xops array near the consumer. Use AX_REG and SP_REG instead of
numerical constants.
From-SVN: r164583
Tobias Burnus [Fri, 24 Sep 2010 05:42:03 +0000 (07:42 +0200)]
re PR fortran/40571 (F2008: ISO_FORTRAN_ENV: Missing constants)
2010-09-24 Tobias Burnus <burnus@net-b.de>
PR fortran/40571
* iso-fortran-env.def: Add NAMED_KINDARRAY with
character_kinds, integer_kinds, logical_kinds and
real_kinds.
* gfortran.h: Add them to iso_fortran_env_symbol.
* libgfortran.h: Rename GFC_INQUIRE_INTERNAL_UNIT to
LIBERROR_INQUIRE_INTERNAL_UNIT and move it from
libgfortran_stat_codes to libgfortran_error_codes.
* module.c (create_int_parameter_array): New function.
(use_iso_fortran_env_module): Use it for
NAMED_KINDARRAY of iso-fortran-env.def.
* trans-decl.c (gfc_get_symbol_decl): Parameter
arrays of intrinsics modules become local static variables.
* intrinsic.texi (ISO_FORTRAN_ENV): Add character_kinds,
integer_kinds, logical_kinds and real_kinds.
2010-09-24 Tobias Burnus <burnus@net-b.de>
PR fortran/40571
* gfortran.dg/iso_fortran_env_7.f90: New.
From-SVN: r164581
GCC Administrator [Fri, 24 Sep 2010 00:19:44 +0000 (00:19 +0000)]
Daily bump.
From-SVN: r164578
Nicola Pero [Thu, 23 Sep 2010 22:21:39 +0000 (22:21 +0000)]
In gcc/:
* c-typeck.c (convert_arguments): Use warning 'too many arguments
to method [methodname]' for an Objective-C method instead of the
less satisfactory 'too many arguments to function' (with no method
name).
In gcc/cp/:
* typeck.c (warn_args_num): Use warning 'too many arguments to
method [methodname]' for an Objective-C method instead of the less
satisfactory 'too many arguments to function' (with no method
name).
In gcc/testsuite/:
* obj-c++.dg/too-many-args.mm: New file.
Merge from 'apple/trunk' branch on FSF servers.
2006-03-27 Fariborz Jahanian <fjahanian@apple.com>
Radar
4491608
* objc.dg/too-many-args.m: New
From-SVN: r164573
Eric Botcazou [Thu, 23 Sep 2010 22:19:52 +0000 (22:19 +0000)]
Fix latest ChangeLog entry
From-SVN: r164572
Eric Botcazou [Thu, 23 Sep 2010 22:06:18 +0000 (22:06 +0000)]
tree-flow.h (execute_update_addresses_taken): Adjust.
* tree-flow.h (execute_update_addresses_taken): Adjust.
* tree-ssa.c (maybe_optimize_var): Tweak comment and dump messages.
(execute_update_addresses_taken): Remove parameter and OPTIMIZE test.
* passes.c (execute_function_todo): Adjust calls to above function.
From-SVN: r164571
Thomas Koenig [Thu, 23 Sep 2010 19:37:48 +0000 (19:37 +0000)]
re PR fortran/45744 (ICE with -O1 in gfc_conv_expr_op, at fortran/trans-expr.c:1366)
2010-09-23 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/45744
* frontend-passes.c (optimize_binop_array_assignment):
Only re-use lhs as intermediate storage if kind and type
parameters match.
2010-09-23 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/45744
* gfortran.dg/dependency_36.f90: New test.
From-SVN: r164570
Bernd Schmidt [Thu, 23 Sep 2010 17:44:00 +0000 (17:44 +0000)]
Remove accidentally added empty file.
From-SVN: r164569
Anatoly Sokolov [Thu, 23 Sep 2010 16:15:44 +0000 (20:15 +0400)]
arm.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
* config/arm/arm.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
* config/arm/arm-protos.h (arm_output_addr_const_extra): Remove.
* config/arm/arm.c (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define.
(arm_output_addr_const_extra): Make static.
From-SVN: r164568
Uros Bizjak [Thu, 23 Sep 2010 13:25:30 +0000 (15:25 +0200)]
i386.md (UNSPECV_NOPS): Rename from UNSPEC_NOPS and define as unspec_volatile.
* config/i386/i386.md (UNSPECV_NOPS): Rename from UNSPEC_NOPS and
define as unspec_volatile.
("nops"): Define as unspec_volatile. Use fputs to write to
asm_out_file directly. Output NOPs on separate lines using while loop.
* config/i386/i386.c (ix86_code_end): Use fputs to write to
asm_out_file directly. Output NOPs on separate lines using while loop.
testsuite/ChangeLog:
* gcc.target/i386/pad-1.c: Remove -S from dg-options.
* gcc.target/i386/pad-3.c: Ditto.
* gcc.target/i386/pad-7.c: Ditto.
* gcc.target/i386/pad-7.c: Ditto.
* gcc.target/i386/pr36502.c: Ditto.
* gcc.target/i386/zee.c: Ditto.
* gcc.target/i386/
20060821-1.c: Ditto.
* gcc.target/i386/pad-2.c: Ditto. Scan for NOPs on separate lines.
* gcc.target/i386/pad-5a.c: Ditto. Do not use scan-assembler-not.
* gcc.target/i386/pad-5b.c: Ditto.
* gcc.target/i386/pad-6a.c: Ditto.
* gcc.target/i386/pad-6b.c: Ditto.
* gcc.target/i386/pad-8.c: Ditto.
* gcc.target/i386/pad-9.c: Ditto.
* gcc.target/i386/pad-10.c: Ditto.
* gcc.target/i386/pad-4.c: Ditto. Require pic effective target.
From-SVN: r164564
Richard Guenther [Thu, 23 Sep 2010 12:39:26 +0000 (12:39 +0000)]
re PR middle-end/45565 (ICE: in execute_todo, at passes.c:1276 with -fno-toplevel-reorder -fno-inline -fipa-cp-clone -fkeep-inline-functions)
2010-09-23 Richard Guenther <rguenther@suse.de>
PR tree-optimization/45565
* cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee):
Make sure to adjust the fndecl before replacing the stmt.
* g++.dg/ipa/pr45565.C: New testcase.
From-SVN: r164561