Commit Graph

89571 Commits

Author SHA1 Message Date
Razya Ladelsky
692daa90a9 re PR tree-optimization/37185 (gcc.dg/matrix/transpose-3.c:16: internal compiler error: verify_stmts failed)
2008-08-24  Razya Ladelsky  <razya@il.ibm.com>

        PR tree-optimization/37185
        * matrix-reorg.c (transform_access_sites): Update changed stmt.

From-SVN: r139539
2008-08-24 19:39:04 +00:00
Tobias Burnus
3a73a5409f re PR fortran/37201 (ICE in in gfc_conv_string_parameter)
2008-08-24  Tobias Burnus  <burnus@net-b.de>

        PR fortran/37201
        * trans-expr.c (gfc_conv_function_call): Add string_length
        for character-returning bind(C) functions.

2008-08-24  Tobias Burnus  <burnus@net-b.de>

        PR fortran/37201
        * gfortran.dg/bind_c_usage_17.f90: New.
        * gfortran.dg/bind_c_usage_17_c.c: New.

From-SVN: r139537
2008-08-24 19:16:46 +02:00
Jan Hubicka
0dbca53731 ipa-cp.c (ipcp_analyze_node): New function.
* ipa-cp.c (ipcp_analyze_node): New function.
	(ipcp_update_cloned_node): Use it.
	(ipcp_init_stage): Likewise.
	* ipa-inline.c (function_insertion_hook_holder): New static var.
	(analyze_function): Break out from ....
	(inline_generate_summary): Here; register insertion hook.
	(cgraph_decide_inlining): Remove hook.
	(add_new_function): New function.

From-SVN: r139536
2008-08-24 17:11:13 +00:00
Daniel Kraft
30b608eb7c gfortran.h (gfc_typebound_proc): New struct.
2008-08-24  Daniel Kraft  <d@domob.eu>

	* gfortran.h (gfc_typebound_proc):  New struct.
	(gfc_symtree):  New member typebound.
	(gfc_find_typebound_proc):  Prototype for new method.
	(gfc_get_derived_super_type):  Prototype for new method.
	* parse.h (gfc_compile_state):  New state COMP_DERIVED_CONTAINS.
	* decl.c (gfc_match_procedure):  Handle PROCEDURE inside derived-type
	CONTAINS section.
	(gfc_match_end):  Handle new context COMP_DERIVED_CONTAINS.
	(gfc_match_private):  Ditto.
	(match_binding_attributes), (match_procedure_in_type):  New methods.
	(gfc_match_final_decl):  Rewrote to make use of new
	COMP_DERIVED_CONTAINS parser state.
	* parse.c (typebound_default_access):  New global helper variable.
	(set_typebound_default_access):  New callback method.
	(parse_derived_contains):  New method.
	(parse_derived):  Extracted handling of CONTAINS to new parser state
	and parse_derived_contains.
	* resolve.c (resolve_bindings_derived), (resolve_bindings_result):  New.
	(check_typebound_override), (resolve_typebound_procedure):  New methods.
	(resolve_typebound_procedures):  New method.
	(resolve_fl_derived):  Call new resolving method for typebound procs.
	* symbol.c (gfc_new_symtree):  Initialize new member typebound to NULL.
	(gfc_find_typebound_proc):  New method.
	(gfc_get_derived_super_type):  New method.

2008-08-24  Daniel Kraft  <d@domob.eu>

	* gfortran.dg/finalize_5.f03:  Adapted expected error message to changes
	to handling of CONTAINS in derived-type declarations.
	* gfortran.dg/typebound_proc_1.f08:  New test.
	* gfortran.dg/typebound_proc_2.f90:  New test.
	* gfortran.dg/typebound_proc_3.f03:  New test.
	* gfortran.dg/typebound_proc_4.f03:  New test.
	* gfortran.dg/typebound_proc_5.f03:  New test.
	* gfortran.dg/typebound_proc_6.f03:  New test.

From-SVN: r139534
2008-08-24 18:15:27 +02:00
Paolo Carlini
6c3385c1dd acinclude.m4 ([GLIBCXX_ENABLE_CLOCK_GETTIME]): Improve documentation.
2008-08-24  Paolo Carlini  <paolo.carlini@oracle.com>

	* acinclude.m4 ([GLIBCXX_ENABLE_CLOCK_GETTIME]): Improve documentation.
	* doc/xml/manual/configure.xml: Likewise.

From-SVN: r139533
2008-08-24 09:37:07 +00:00
Jan Hubicka
5c69a0dfdd * opts.c (decode_options): Revert accidental change enabling ipa-cp.
From-SVN: r139532
2008-08-24 09:29:57 +00:00
Paolo Carlini
727cd0bc50 acinclude.m4 ([GLIBCXX_ENABLE_CLOCK_GETTIME]): Use [=KIND] in GLIBCXX_ENABLE.
2008-08-23  Paolo Carlini  <paolo.carlini@oracle.com>

	* acinclude.m4 ([GLIBCXX_ENABLE_CLOCK_GETTIME]): Use [=KIND] in
	GLIBCXX_ENABLE.
	* configure: Regenerate.

From-SVN: r139531
2008-08-24 01:20:13 +00:00
Paolo Carlini
610870b25a acinclude.m4 ([GLIBCXX_CHECK_GETTIMEOFDAY]): Change to use GCC_TRY_COMPILE_OR_LINK.
2008-08-23  Paolo Carlini  <paolo.carlini@oracle.com>

	* acinclude.m4 ([GLIBCXX_CHECK_GETTIMEOFDAY]): Change to use
	GCC_TRY_COMPILE_OR_LINK.
	([GLIBCXX_CHECK_CLOCK_GETTIME]): Rename to
	[GLIBCXX_ENABLE_CLOCK_GETTIME], a versatile configure-time option,
	[no] by default, since it includes TRY_LINK checks.  librt is also
	searched, if requested.
	* doc/xml/manual/configure.xml: Document the latter.
	* configure.ac: Move the above checks outside native-only.
	* configure: Regenerate.

From-SVN: r139530
2008-08-24 00:25:22 +00:00
GCC Administrator
033f28dc65 Daily bump.
From-SVN: r139528
2008-08-24 00:16:58 +00:00
Jan Hubicka
0f1961a2c9 ipa-cp.c (constant_val_insert): Remove.
* ipa-cp.c (constant_val_insert): Remove.
	(ipcp_propagate_one_const): Remove.
	(ipcp_create_replace_map): Always insert replacements to the map.
	(ipcp_insert_stage): Do not try to insert statements by hand.
	* tree-inline.c (insert_init_stmt): Break out from ...
	(setup_one_parameter): ... here; allow NULL BB pointer.
	(tree_function_versioning): Use setup_one_parameter to process
	replacement map.

From-SVN: r139525
2008-08-23 22:25:20 +00:00
Janus Weil
d4b7d0f052 gfortran.h (gfc_component): Add field "symbol_attribute attr"...
2008-08-23  Janus Weil  <janus@gcc.gnu.org>

	* gfortran.h (gfc_component): Add field "symbol_attribute attr", remove
	fields "pointer", "allocatable", "dimension", "access".
	Remove functions "gfc_set_component_attr" and "gfc_get_component_attr".
	* interface.c (gfc_compare_derived_types): Ditto.
	* trans-array.c (gfc_array_allocate,structure_alloc_comps): Ditto.
	* trans-expr.c (gfc_conv_component_ref,gfc_trans_subcomponent_assign,
	gfc_conv_structure): Ditto.
	* symbol.c (gfc_find_component,free_components,gfc_set_component_attr,
	gfc_get_component_attr,verify_bind_c_derived_type,
	generate_isocbinding_symbol): Ditto.
	* decl.c (build_struct): Ditto.
	* dump-parse-tree.c (show_components): Ditto.
	* trans-stmt.c (gfc_trans_deallocate): Ditto.
	* expr.c (gfc_check_assign,gfc_check_pointer_assign,
	gfc_default_initializer): Ditto.
	* module.c (mio_component): Ditto.
	* trans-types.c (copy_dt_decls_ifequal,gfc_get_derived_type): Ditto.
	* resolve.c (has_default_initializer,resolve_structure_cons,
	gfc_iso_c_func_interface,find_array_spec,resolve_ref,
	resolve_deallocate_expr,resolve_allocate_expr,resolve_fl_derived,
	resolve_equivalence_derived): Ditto.
	* trans-io.c (transfer_expr): Ditto.
	* parse.c (parse_derived): Ditto.
	* dependency.c (gfc_check_dependency): Ditto.
	* primary.c (gfc_variable_attr): Ditto.

From-SVN: r139524
2008-08-23 23:04:01 +02:00
Jan Hubicka
00fc23337d tree.c (decl_address_ip_invariant_p): New function.
* tree.c (decl_address_ip_invariant_p): New function.
	* tree.h (decl_address_ip_invariant_p): Declare.
	* gimple.c (strip_invariant_refs): Break out from ...
	(is_gimple_invariant_address): ... here
	(is_gimple_ip_invariant_address): New function.
	(is_gimple_ip_invariant): New function.
	* gimple.h (is_gimple_ip_invariant_address, is_gimple_ip_invariant):
	Declare.

	* ipa-cp.c (ipcp_lat_is_const): Remove handling of IPA_CONST_VALUE_REF.
	(ipcp_lat_is_insertable): All constants are insertable.
	(ipcp_lattice_from_jfunc, ipcp_print_all_lattices): Remove handling of
	IPA_CONST_VALUE_REF.
	(ipcp_initialize_node_lattices): Propagate all types of operands.
	(build_const_val): Do not handle IPA_CONST_VALUE_REF.
	(ipcp_create_replace_map): Reformat.
	(ipcp_need_redirect_p): Simplify.
	(ipcp_insert_stage): Check that argument is used before clonning.
	* ipa-prop.c (ipa_print_node_jump_functions): Do not handle IPA_CONST_REF.
	(compute_scalar_jump_functions): Simplify using is_gimple_ip_invariat.
	(determine_cst_member_ptr): Keep wrapping ADDR_EXPR of members.
	(update_call_notes_after_inlining): Expect ADDR_EXPR in operand.
	* ipa-prop.h (jump_func_type): Remove IPA_CONST_REF.
	(jump_func_type): Remove IPA_CONST_VALUE_REF.
	* tree-inline.c (tree_function_versioning): Add variables referenced by
	replacing trees.

From-SVN: r139523
2008-08-23 20:28:07 +00:00
Jan Hubicka
98e146ab5c re PR target/37094 (Ada build broken for i586)
PR target/37094
	* i386.c (standard_80387_constant_p): Use optimize_size.

From-SVN: r139522
2008-08-23 20:02:08 +00:00
Tobias Burnus
3434e9a415 re PR fortran/37076 (Concatenation of KIND=4 strings with KIND=4 parameters fails)
2008-08-23  Tobias Burnus  <burnus@net-b.de>

        PR fortran/37076
        * arith.c (gfc_arith_concat): Fix concat of kind=4 strings.

2008-08-23  Tobias Burnus  <burnus@net-b.de>

        PR fortran/37076
        * gfortran.dg/widechar_9.f90: New.

From-SVN: r139521
2008-08-23 20:49:43 +02:00
Tobias Burnus
12ba225d76 re PR fortran/37025 (ICE with TRANSFER to non-default-kind character: transfer(int(z'bde4'),4_'a'))
2008-08-23  Tobias Burnus  <burnus@net-b.de>

        PR fortran/37025
        * target-memory.c (gfc_interpret_character): Support
        kind=4 characters.

2008-08-23  Tobias Burnus  <burnus@net-b.de>

        PR fortran/37025
        * gfortran.dg/widechar_8.f90: New.

From-SVN: r139520
2008-08-23 20:12:30 +02:00
Ira Rosen
8b7b9d66fe re PR middle-end/37161 (Revision 139225 caused gfortran.dg/vect/pr33301.f -O)
PR tree-optimization/37161
	* tree-vectorizer.h (vect_get_smallest_scalar_type): Declare.
	* tree-vect-analyze.c (vect_get_smallest_scalar_type): New function.
	(vect_determine_vectorization_factor): Move the scalar type
	retrieval to vect_get_smallest_scalar_type.
	(vect_build_slp_tree): Call vect_get_smallest_scalar_type to get
	scalar type. Remove redundant computation.
	* tree-vect-transform.c (vect_get_constant_vectors): Add argument.
	(vect_get_slp_defs): Take the type of RHS into account if
	necessary by calling vect_get_smallest_scalar_type. Call
	vect_get_constant_vectors with additional argument.

From-SVN: r139518
2008-08-23 17:04:12 +00:00
Manuel López-Ibáñez
f4185118a4 re PR other/35648 (-Wall includes -Wwrite-strings)
2008-08-23  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>

	PR 35648
	* doc/invoke.texi (Wwrite-strings): Clarify description.

From-SVN: r139517
2008-08-23 15:36:32 +00:00
Thomas Koenig
28c9884c6c MAINTAINERS: Use correct Umlaut for last name.
2008-08-23  Thomas Koenig  <tkoenig@gcc.gnu.org>

	* MAINTAINERS:  Use correct Umlaut for last name.

From-SVN: r139510
2008-08-23 13:30:18 +00:00
Paolo Carlini
30a333ceeb [multiple changes]
2008-08-23  Paolo Carlini  <paolo.carlini@oracle.com>

	* testsuite/lib/libstdc++.exp (check_v3_target_atomic_builtins): Add.
	* testsuite/lib/dg-options.exp (dg-require-atomic-builtins): Likewise.
	* testsuite/18_support/exception_ptr/current_exception.cc: Use it.
        * testsuite/18_support/exception_ptr/rethrow_exception.cc: Likewise.
        * testsuite/18_support/exception_ptr/lifespan.cc: Likewise.

2008-08-23  Sebastian Redl <sebastian.redl@getdesigned.at>

	Add (again) exception propagation support as per N2179.  Feature is
	available only when _GLIBCXX_ATOMIC_BUILTINS_4 is defined.
	* libsupc++/exception_ptr.h (exception_ptr, current_exception,
        copy_exception, rethrow_exception): New file, implement exception
	propagation.
        * libsupc++/eh_ptr.cc (exception_ptr, current_exception,
        rethrow_exception, __gxx_dependent_exception_cleanup): Likewise.
        * libsupc++/unwind-cxx.h (__cxa_exception): Add reference count.
	(__cxa_dependent_exception, __cxa_allocate_dependent_exception,
        __cxa_free_dependent_exception, __get_dependent_exception_from_ue,
        __GXX_INIT_DEPENDENT_EXCEPTION_CLASS, __is_dependent_exception,
        __gxx_dependent_exception_class, __get_object_from_ue,
        __get_object_from_ambiguous_exception): Add.
        (__GXX_INIT_EXCEPTION_CLASS, __gxx_exception_class): Rename.
        (__is_gxx_exception_class): Handle dependent exceptions.
        * libsupc++/eh_arm.cc (__cxa_type_match): Likewise.
        * libsupc++/eh_call.cc (__cxa_call_unexpected): Likewise.
        * libsupc++/eh_personality.cc (__gxx_personality_*): Likewise.
        * libsupc++/eh_type.cc (__cxa_current_exception_type): Likewise.
        * libsupc++/eh_alloc.cc (__cxa_allocate_dependent_exception,
        __cxa_free_dependent_exception): Add.
        * libsupc++/eh_throw.cc (__gxx_exception_cleanup): Handle reference
        counting.
        * libsupc++/exception: Conditionally include exception_ptr.h.
        * libsupc++/Makefile.am: Register new files.
        * libsupc++/Makefile.in: Regenerate.
        * config/abi/pre/gnu.ver: Add new symbols.
        * testsuite/18_support/exception_ptr/current_exception.cc: Test the
        core functionality of current_exception().
        * testsuite/18_support/exception_ptr/rethrow_exception.cc: Test the
        core functionality of rethrow_exception().
        * testsuite/18_support/exception_ptr/lifespan.cc: Test the life span of
        exception objects during exception propagation.

From-SVN: r139509
2008-08-23 11:28:30 +00:00
Ira Rosen
f5d3c7e14e re PR middle-end/37174 (ICE: in vinfo_for_stmt, at tree-vectorizer.h:546)
PR tree-optimization/37174
	* tree-vect-analyze.c (vect_get_and_check_slp_defs): Check that the
	def stmt is a part of the loop before accessing its stmt_vec_info.

From-SVN: r139508
2008-08-23 10:42:34 +00:00
Francois-Xavier Coudert
ae96d86a55 * MAINTAINERS: Move myself from Reviewers to Write after Approval.
From-SVN: r139507
2008-08-23 08:33:12 +00:00
GCC Administrator
087b99a287 Daily bump.
From-SVN: r139505
2008-08-23 00:17:39 +00:00
Anatoly Sokolov
d3dd4dbd1d re PR target/11259 ([avr] gcc Double 'andi' missed optimization)
PR target/11259
	* config/avr/avr.md (UNSPEC_SWAP): New constants.
	(*swap): New insn pattern.
	(*ashlqi3): Rename from ashlqi3 insn pattern.
	(ashlqi3): New expanders.
	(*lshrqi3): Rename from lshrqi3 insn pattern.
	(lshrqi3): New expanders.	
	(ashlqi3_const4, ashlqi3_const5, ashlqi3_const6, lshrqi3_const4,
	lshrqi3_const5, lshrqi3_const6): New splitters.
	(andi, ashlqi3_l_const4, ashlqi3_l_const5, ashlqi3_l_const6,
	lshrqi3_l_const4, lshrqi3_l_const5, lshrqi3_l_const6): Define
	peephole2 patterns.

From-SVN: r139502
2008-08-23 01:24:56 +04:00
Richard Guenther
36159cf857 re PR middle-end/37078 (ICE in set_value_range, at tree-vrp.c:401 when compiling gmp 4.2.3)
2008-08-22  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/37078
	* tree-vrp.c (extract_range_from_unary_expr): Avoid generating
	[+INF, +INF] ranges.

	* gcc.c-torture/compile/pr37078.c: New testcase.

From-SVN: r139501
2008-08-22 21:13:00 +00:00
Richard Guenther
d3cbd7deea re PR tree-optimization/37143 (ICE in VRP with the auto-vectorizer)
2008-08-22  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/37143
	* tree-vect-transform.c (vect_create_cond_for_align_checks): Build
	a conversion statement instead of a copy.

	* g++.dg/vect/pr37143.C: New testcase.

From-SVN: r139500
2008-08-22 21:11:48 +00:00
Daniel Kraft
fee3292b14 re PR fortran/30239 (duplicate data type assignment not detected)
2008-08-22  Daniel Kraft  <d@domob.eu>

	PR fortran/30239
	* symbol.c (gfc_add_type): Warn on -Wsurprising if a function-result
	type is re-declared but neither -pedantic nor -std=f* is given and so
	this is no error.
	* invoke.texi (-Wsurprising): Document this new behaviour.

From-SVN: r139499
2008-08-22 22:36:12 +02:00
Paolo Carlini
9b410dd0ec 2008-08-22 Paolo Carlini <paolo.carlini@oracle.com>
Revert again the N2179 patch.

From-SVN: r139497
2008-08-22 18:59:41 +00:00
Uros Bizjak
05cce88cbf pr21658.c (dg-options): Use -fdump-tree-ccp1-details.
* gcc.dg/tree-ssa/pr21658.c (dg-options): Use -fdump-tree-ccp1-details.
	(dg-final): Use cleanup-tree-dump "ccp1".
	* gcc.dg/tree-prof/ic-misattribution-1a.c: Cleanup tree_profile.
	* gcc.dg/ipa/iinline-1.c: Cleanup ipa dump, not tree dump.
	* g++.dg/ipa/iinline-1.C: Ditto.
	* gfortran.dg/intrinsic_std_1.f90: Cleanup "original" tree dump.
	* gfortran.dg/char_eoshift_5.f90: Ditto.
	* gfortran.dg/index_2.f90: Ditto.

From-SVN: r139496
2008-08-22 20:10:21 +02:00
Andrew Haley
ee3cea07f0 Fix PR#.
2008-08-22  Andrew Haley  <aph@redhat.com>

        PR libgcj/8995:

        * interpret-run.cc (REWRITE_INSN): Null this macro.

        * include/jvm.h (class _Jv_Linker): Declare resolve_mutex, init.
        (read_cpool_entry, write_cpool_entry): New functions.
        * link.cc (_Jv_Linker::resolve_mutex): new.
        (_Jv_Linker::init): New function.
        (_Jv_Linker::resolve_pool_entry): Use {read,write}_cpool_entry
        to ensure atomic access to constant pool entries.

From-SVN: r139493
2008-08-22 16:17:19 +00:00
Andrew Haley
e4493315fc re PR libgcj/8995 (race cases in interpreter)
2008-08-22  Andrew Haley  <aph@redhat.com>

        PR libgcj/8895:

        * interpret-run.cc (REWRITE_INSN): Null this macro.

        * include/jvm.h (class _Jv_Linker): Declare resolve_mutex, init.
        (read_cpool_entry, write_cpool_entry): New functions.
        * link.cc (_Jv_Linker::resolve_mutex): new.
        (_Jv_Linker::init): New function.
        (_Jv_Linker::resolve_pool_entry): Use {read,write}_cpool_entry
        to ensure atomic access to constant pool entries.

From-SVN: r139492
2008-08-22 16:04:29 +00:00
Robert Dewar
c9f1fdfe4c Minor code fix to avoid warning.
From-SVN: r139491
2008-08-22 17:47:50 +02:00
Arnaud Charlet
5b2da94828 s-wwdcha.adb: Minor code reorganization Remove dead code
2008-08-22  Robert Dewar  <dewar@adacore.com>

	* s-wwdcha.adb: Minor code reorganization
	Remove dead code

From-SVN: r139490
2008-08-22 17:46:29 +02:00
Robert Dewar
f5e811d597 s-utf_32.adb (Get_Category): Fix obvious typo
2008-08-22  Robert Dewar  <dewar@adacore.com>

	* s-utf_32.adb (Get_Category): Fix obvious typo

From-SVN: r139489
2008-08-22 17:46:13 +02:00
Robert Dewar
48afdf8c0d s-sopco4.adb: Minor code fix to avoid warning
2008-08-22  Robert Dewar  <dewar@adacore.com>

	* s-sopco4.adb: Minor code fix to avoid warning

	* s-sopco5.adb: Minor code fix to avoid warning

	* s-strops.adb: Minor code fix to avoid warning

From-SVN: r139488
2008-08-22 17:46:00 +02:00
Arnaud Charlet
aec35074d7 lib-xref.ads: Fix typo in subprogram reference definition.
2008-08-22  Arnaud Charlet  <charlet@adacore.com>

	* lib-xref.ads: Fix typo in subprogram reference definition.

From-SVN: r139487
2008-08-22 17:45:45 +02:00
Robert Dewar
6b5352bf15 s-sopco3.adb: Minor code fix to avoid warning
2008-08-22  Robert Dewar  <dewar@adacore.com>

	* s-sopco3.adb: Minor code fix to avoid warning

From-SVN: r139486
2008-08-22 17:45:29 +02:00
Arnaud Charlet
4351c21b9c checks.adb (Determine_Range): Deal with values that might be invalid
2008-08-22  Robert Dewar  <dewar@adacore.com>

	* checks.adb (Determine_Range): Deal with values that might be invalid

	* opt.adb, opt.ads (Assume_No_Invalid_Values[_Config]): New configuration
	switches.

	* par-prag.adb: Dummy entry for pragma Assume_No_Invalid_Values

	* sem_prag.adb: Implement pragma Assume_No_Default_Values

	* snames.adb, snames.ads, snames.h:
	Add entries for pragma Assume_No_Invalid_Values

	* switch-c.adb: Add processing for -gnatB switch

	* usage.adb: Add entry for flag -gnatB (no bad invalid values)

From-SVN: r139484
2008-08-22 17:07:34 +02:00
Javier Miranda
575a1b32b7 exp_ch3.adb (Build_Init_Statements): Transfer to the body of the init procedure all the expanded code associated...
2008-08-22  Javier Miranda  <miranda@adacore.com>

	* exp_ch3.adb (Build_Init_Statements): Transfer to the body of the
	init procedure all the expanded code associated with the spec of
	task types and protected types.

From-SVN: r139483
2008-08-22 17:07:18 +02:00
Arnaud Charlet
2743d81dfb opt.ads: Minor code reorganization (put entries in alpha order)
2008-08-22  Robert Dewar  <dewar@adacore.com>

	* opt.ads: Minor code reorganization (put entries in alpha order)

From-SVN: r139481
2008-08-22 16:56:55 +02:00
Gary Dismukes
9f4e488138 sem_util.adb (Has_Preelaborable_Initialization): Revise checking of private types to allow for types derived from a private type...
2008-08-22  Gary Dismukes  <dismukes@adacore.com>

	* sem_util.adb (Has_Preelaborable_Initialization): Revise checking of
	private types to allow for types derived from a private type with
	preelaborable initialization, but return False for a private extension
	(unless it has the pragma).

From-SVN: r139480
2008-08-22 16:56:32 +02:00
Gary Dismukes
9b4b0a1ac9 exp_aggr.adb (Static_Array_Aggregate): Call Analyze_And_Resolve on the component expression copies rather than...
2008-08-22  Gary Dismukes  <dismukes@adacore.com>

	* exp_aggr.adb (Static_Array_Aggregate): Call Analyze_And_Resolve on the
	component expression copies rather than directly setting Etype and
	Is_Static_Expression.

From-SVN: r139479
2008-08-22 16:56:20 +02:00
Javier Miranda
b7cc33a4ce exp_ch3.adb: Revert previous patch.
2008-08-22  Javier Miranda  <miranda@adacore.com>

	* exp_ch3.adb: Revert previous patch.

From-SVN: r139478
2008-08-22 16:55:14 +02:00
Arnaud Charlet
a5ad324803 exp_ch3.adb (Build_Init_Statements): Transfer to the body of the init procedure all the expanded code associated...
2008-08-22  Javier Miranda  <miranda@adacore.com>

	* exp_ch3.adb (Build_Init_Statements): Transfer to the body of the
	init procedure all the expanded code associated with the spec of
	task types and protected types.

From-SVN: r139477
2008-08-22 16:38:14 +02:00
Pascal Obry
af90c55af0 initialize.c, adaint.c: Use Lock_Task and Unlock_Task for non-blocking spawn.
2008-08-22  Pascal Obry  <obry@adacore.com>

	* initialize.c, adaint.c: Use Lock_Task and Unlock_Task for non-blocking
	spawn.

From-SVN: r139476
2008-08-22 16:37:57 +02:00
Uros Bizjak
a3d4a22b01 re PR target/37184 (ice in ix86_match_ccmode)
PR target/37184
        * config/i386/i386.c (ix86_match_ccmode): Handle CCAmode,
        CCCmode, CCOmode and CCSmode destination modes.

        PR target/37191
        * config/i386/mmx.md (*vec_extractv2sf_0): Avoid combining registers
        from different units in a single alternative.
        (*vec_extractv2sf_1): Ditto.
        (*vec_extractv2si_0): Ditto.
        (*vec_extractv2si_1): Ditto.
        * config/i386/sse.md (sse2_storehpd): Ditto.
        (sse2_storelpd): Ditto.
        (sse2_loadhpd): Ditto.
        (sse2_loadlpd): Ditto.

        PR target/37197
        * config/i386/i386.md (clzsi2_abm): Fix operand 1 constraints.
        (popcountsi2): Ditto.
        (clzdi2_abm): Ditto.
        (popcountdi2): Ditto.
        (clzhi2_abm): Ditto.
        (popcounthi2): Ditto.

testsuite/ChangeLog:

        PR target/37184
        * gcc.target/i386/pr37184.c: New test.

        PR target/37191
        * gcc.target/i386/pr37191.c: New test.

        PR target/37197
        * gcc.target/i386/pr37197.c: New test.

From-SVN: r139471
2008-08-22 15:58:52 +02:00
Geert Bosch
6eca32ba8d trans.c: Define FP_ARITH_MAY_WIDEN
2008-08-22  Geert Bosch  <bosch@adacore.com>

	* gcc-interface/trans.c: Define FP_ARITH_MAY_WIDEN
	(convert_with_check): Only use longest_float_type if FP_ARITH_MAY_WIDEN is 0

From-SVN: r139468
2008-08-22 15:29:10 +02:00
Arnaud Charlet
1c7717c3a8 2008-08-22 Robert Dewar <dewar@adacore.com>
* checks.adb:
	(In_Subrange_Of): New calling sequence
	(Determine_Range): Prepare for new processing using base type

	* exp_ch4.adb:
	(Compile_Time_Compare): Use new calling sequence

	* exp_ch5.adb:
	(Compile_Time_Compare): Use new calling sequence

	* sem_eval.adb:
	(Compile_Time_Compare): New calling sequence allows dealing with
	invalid values.
	(In_Subrange_Of): Ditto

	* sem_eval.ads:
	(Compile_Time_Compare): New calling sequence allows dealing with
	invalid values.
	(In_Subrange_Of): Ditto

From-SVN: r139467
2008-08-22 15:27:35 +02:00
Pascal Obry
23922a2f6a adaint.c: Fix possible race condition on win32_wait().
2008-08-22  Pascal Obry  <obry@adacore.com>

	* adaint.c: Fix possible race condition on win32_wait().

From-SVN: r139466
2008-08-22 15:26:38 +02:00
Ed Schonberg
fb34edfafa 2008-08-22 Ed Schonberg <schonberg@adacore.com>
* exp_tss.adb:
	(Base_Init_Proc): For a protected subtype, use the base type of the
	corresponding record to locate the propoer initialization procedure.

From-SVN: r139465
2008-08-22 15:26:28 +02:00
Robert Dewar
c9626ed6db sem_ch5.adb (One_Bound): Fix latent bug involving secondary stack
2008-08-22  Robert Dewar  <dewar@adacore.com>

	* sem_ch5.adb (One_Bound): Fix latent bug involving secondary stack

From-SVN: r139464
2008-08-22 15:26:19 +02:00