Commit Graph

103366 Commits

Author SHA1 Message Date
Nicola Pero
06e67e167d 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
2010-09-28 09:54:51 +00:00
Andrew Haley
06f1db4b1c 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
2010-09-28 09:54:27 +00:00
Tristan Gingold
247df3b6d9 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
2010-09-28 08:32:32 +00:00
Tristan Gingold
d5ad88c0d2 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
2010-09-28 07:50:02 +00:00
Uros Bizjak
4150f926c6 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
2010-09-28 08:11:05 +02:00
GCC Administrator
b34d5cd74a Daily bump.
From-SVN: r164675
2010-09-28 00:18:01 +00:00
Ian Lance Taylor
b6110d6d19 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
2010-09-28 00:07:12 +00:00
Richard Henderson
9b809695ff * dwarf2out.c (dwarf2out_cfi_label): Use ASM_OUTPUT_DEBUG_LABEL.
From-SVN: r164670
2010-09-27 14:29:46 -07:00
Ralf Wildenhues
86dfbd58cf 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
2010-09-27 20:19:41 +00:00
Nicola Pero
cd3c99ba58 Fixed typo in my last commit which would break bootstrap
From-SVN: r164667
2010-09-27 20:10:34 +00:00
Jason Merrill
93c0e0bb1d 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
2010-09-27 16:05:34 -04:00
Nicola Pero
a77bfaebbf Added line in ChangeLog entry that I forgot to commit in the last commit
From-SVN: r164665
2010-09-27 20:04:24 +00:00
Hans-Peter Nilsson
4f8344ebbd 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
2010-09-27 19:56:32 +00:00
Hans-Peter Nilsson
fdf0b018a6 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
2010-09-27 19:55:29 +00:00
Ian Lance Taylor
7458026b01 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
2010-09-27 19:48:20 +00:00
Nicola Pero
177b48f930 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
2010-09-27 19:22:13 +00:00
Ralf Wildenhues
16562d86a7 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
2010-09-27 19:21:19 +00:00
Nicola Pero
b581b85b2e 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
2010-09-27 18:04:09 +00:00
Paolo Carlini
aa2b7414b0 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
2010-09-27 17:27:43 +00:00
Richard Guenther
fa2ea33de8 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
2010-09-27 15:46:07 +00:00
Richard Guenther
1787f59e44 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
2010-09-27 15:15:59 +00:00
Eric Botcazou
74164603a5 Fix formatting issues
From-SVN: r164649
2010-09-27 12:45:06 +00:00
Jie Zhang
1689205518 * print-tree.c (print_node): Print in-constant-pool.
From-SVN: r164647
2010-09-27 10:16:44 +00:00
Olivier Hainque
bda38d2ec1 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
2010-09-27 09:27:21 +00:00
Paolo Carlini
f3961bdf99 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
2010-09-27 09:27:05 +00:00
Uros Bizjak
6300156042 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
2010-09-27 08:25:55 +02:00
GCC Administrator
2acaab23d3 Daily bump.
From-SVN: r164643
2010-09-27 00:17:14 +00:00
Tobias Burnus
d000aa67bc 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
2010-09-27 00:30:48 +02:00
Daniel Kraft
414e8be2b0 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
2010-09-26 21:25:52 +02:00
Nicola Pero
1caeb1af0c In gcc/objc/:
* objc-act.c: Removed historical, obsolete comment at the top of
        the file.

From-SVN: r164637
2010-09-26 19:04:42 +00:00
Nicola Pero
bd74d88b40 Reverted removing 'inline' from get_imp
From-SVN: r164636
2010-09-26 19:03:27 +00:00
Uros Bizjak
4470a3a30e 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
2010-09-26 20:28:48 +02:00
Nicola Pero
d284c684ff In libobjc/:
* libobjc_entry.c: File removed.

From-SVN: r164633
2010-09-26 14:45:12 +00:00
Kai Tietz
7116b6ea5c 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
2010-09-26 16:32:45 +02:00
Jerry DeLisle
d6f3358f66 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
2010-09-26 12:30:54 +00:00
Uros Bizjak
d355d5ea50 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
2010-09-26 12:34:57 +02:00
Richard Sandiford
7725086e26 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
2010-09-26 07:26:20 +00:00
Kai Tietz
174425adcd 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
2010-09-25 21:02:24 -07:00
GCC Administrator
a0549e082c Daily bump.
From-SVN: r164627
2010-09-26 00:17:07 +00:00
Eric Botcazou
cf1bcf06a1 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
2010-09-25 21:34:45 +00:00
Tobias Burnus
de5142553a 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
2010-09-25 21:23:25 +02:00
Jie Zhang
fb46238332 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
2010-09-25 14:53:20 +00:00
Daniel Kraft
8e8dc06035 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
2010-09-25 16:27:20 +02:00
Anatoly Sokolov
c21136eebb 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
2010-09-25 13:40:19 +04:00
Tobias Burnus
915acec49b 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
2010-09-25 09:06:36 +02:00
Steven G. Kargl
c6d6e62f3e 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
2010-09-25 05:55:59 +00:00
GCC Administrator
3879ef2d2a Daily bump.
From-SVN: r164615
2010-09-25 00:18:04 +00:00
Jan Hubicka
051f8cc6c7 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
2010-09-24 21:47:59 +00:00
Richard Henderson
5c255b57b2 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
2010-09-24 14:20:51 -07:00
Olivier Hainque
42d87712de vx-common.h (DBX_REGISTER_NUMBER): Reinstate.
* config/i386/vx-common.h (DBX_REGISTER_NUMBER): Reinstate.

From-SVN: r164607
2010-09-24 20:32:48 +00:00