Commit Graph

112558 Commits

Author SHA1 Message Date
David Alan Gilbert
e11a4c8086 di-longlong64-sync-1.c: New test.
gcc/testsuite/
2011-10-14  David Alan Gilbert  <david.gilbert@linaro.org>

	* gcc.dg/di-longlong64-sync-1.c: New test.
	* gcc.dg/di-sync-multithread.c: New test.
	* gcc.target/arm/di-longlong64-sync-withhelpers.c: New test.
	* gcc.target/arm/di-longlong64-sync-withldrexd.c: New test.
	* lib/target-supports.exp: (arm_arch_*_ok): Series of effective-target
	tests for v5, v6, v6k, and v7-a, and add-options helpers.
	(check_effective_target_arm_arm_ok): New helper.
	(check_effective_target_sync_longlong): New helper.

From-SVN: r179983
2011-10-14 14:39:32 +00:00
David Alan Gilbert
41aac0de5b linux-atomic-64bit.c: New (based on linux-atomic.c).
gcc/
2011-10-14  David Alan Gilbert  <david.gilbert@linaro.org>

	* config/arm/linux-atomic-64bit.c: New (based on linux-atomic.c).
	* config/arm/linux-atomic.c: Change comment to point to 64bit version.
	(SYNC_LOCK_RELEASE): Instantiate 64bit version.
	* config/arm/t-linux-eabi: Pull in linux-atomic-64bit.c.

From-SVN: r179982
2011-10-14 14:39:10 +00:00
David Alan Gilbert
cfe527436c arm.c (arm_output_ldrex): Support ldrexd.
gcc/
2011-10-14  David Alan Gilbert  <david.gilbert@linaro.org>

	* config/arm/arm.c (arm_output_ldrex): Support ldrexd.
	(arm_output_strex): Support strexd.
	(arm_output_it): New helper to output it in Thumb2 mode only.
	(arm_output_sync_loop): Support DI mode.  Change comment to
	not support const_int.
	(arm_expand_sync): Support DI mode.
	* config/arm/arm.h (TARGET_HAVE_LDREXBHD): Split into LDREXBH
	and LDREXD.
	* config/arm/iterators.md (NARROW): move from sync.md.
	(QHSD): New iterator for all current ARM integer modes.
	(SIDI): New iterator for SI and DI modes only.
	* config/arm/sync.md (sync_predtab): New mode_attr.
	(sync_compare_and_swapsi): Fold into sync_compare_and_swap<mode>.
	(sync_lock_test_and_setsi): Fold into sync_lock_test_and_setsi<mode>.
	(sync_<sync_optab>si): Fold into sync_<sync_optab><mode>.
	(sync_nandsi): Fold into sync_nand<mode>.
	(sync_new_<sync_optab>si): Fold into sync_new_<sync_optab><mode>.
	(sync_new_nandsi): Fold into sync_new_nand<mode>.
	(sync_old_<sync_optab>si): Fold into sync_old_<sync_optab><mode>.
	(sync_old_nandsi): Fold into sync_old_nand<mode>.
	(sync_compare_and_swap<mode>): Support SI & DI.
	(sync_lock_test_and_set<mode>): Likewise.
	(sync_<sync_optab><mode>): Likewise.
	(sync_nand<mode>): Likewise.
	(sync_new_<sync_optab><mode>): Likewise.
	(sync_new_nand<mode>): Likewise.
	(sync_old_<sync_optab><mode>): Likewise.
	(sync_old_nand<mode>): Likewise.
	(arm_sync_compare_and_swapsi): Turn into iterator on SI & DI.
	(arm_sync_lock_test_and_setsi): Likewise.
	(arm_sync_new_<sync_optab>si): Likewise.
	(arm_sync_new_nandsi): Likewise.
	(arm_sync_old_<sync_optab>si): Likewise.
	(arm_sync_old_nandsi): Likewise.
	(arm_sync_compare_and_swap<mode> NARROW): use sync_predtab, fix indent.
	(arm_sync_lock_test_and_setsi<mode> NARROW): Likewise.
	(arm_sync_new_<sync_optab><mode> NARROW): Likewise.
	(arm_sync_new_nand<mode> NARROW): Likewise.
	(arm_sync_old_<sync_optab><mode> NARROW): Likewise.
	(arm_sync_old_nand<mode> NARROW): Likewise.

From-SVN: r179981
2011-10-14 14:38:58 +00:00
David Alan Gilbert
3e2a46fe39 re PR target/48126 (arm_output_sync_loop: misplaced memory barrier)
gcc/
2011-10-14  David Alan Gilbert  <david.gilbert@linaro.org>

	PR target/48126
	* config/arm/arm.c (arm_output_sync_loop): Move label before barrier.

From-SVN: r179980
2011-10-14 14:38:42 +00:00
David Alan Gilbert
80651d8e1c arm.h (TARGET_HAVE_DMB_MCR): MCR Not available in Thumb1.
gcc/
2011-10-14  David Alan Gilbert  <david.gilbert@linaro.org>

	* config/arm/arm.h (TARGET_HAVE_DMB_MCR): MCR Not available in Thumb1.

From-SVN: r179979
2011-10-14 14:38:30 +00:00
Paolo Carlini
f5fb344bf9 invoke.texi ([Wformat-zero-length]): Tidy.
2011-10-14  Paolo Carlini  <paolo.carlini@oracle.com>

	* doc/invoke.texi ([Wformat-zero-length]): Tidy.

From-SVN: r179978
2011-10-14 14:03:53 +00:00
Jakub Jelinek
9dd58aa41c gimple.c (walk_stmt_load_store_addr_ops): Call visit_addr also on COND_EXPR/VEC_COND_EXPR comparison operands if...
* gimple.c (walk_stmt_load_store_addr_ops): Call visit_addr
	also on COND_EXPR/VEC_COND_EXPR comparison operands if they are
	ADDR_EXPRs.

From-SVN: r179969
2011-10-14 14:05:43 +02:00
François Dumont
9918dc0f99 41975.cc: New.
2011-10-14  François Dumont  <francois.cppdevs@free.fr>

	* testsuite/performance/23_containers/insert_erase/41975.cc: New.

From-SVN: r179968
2011-10-14 11:25:27 +00:00
Richard Guenther
f6e52e91bd re PR tree-optimization/50723 (internal compiler error: verify_ssa failed)
2011-10-14  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/50723
	* ipa-split.c (split_function): Use GSI_CONTINUE_LINKING.

	* gcc.dg/torture/pr50723.c: New testcase.

From-SVN: r179967
2011-10-14 11:03:06 +00:00
Jonathan Wakely
5fabae4e53 50714.cc: Fix mychar.
2011-10-14  Jonathan Wakely  <jwakely.gcc@gmail.com>

	* testsuite/22_locale/codecvt_byname/50714.cc: Fix mychar.

From-SVN: r179966
2011-10-14 10:38:23 +00:00
Nicola Pero
3cc2dd4b7e In gcc/: 2011-10-14 Nicola Pero <nicola.pero@meta-innovation.com>
In gcc/:
2011-10-14  Nicola Pero  <nicola.pero@meta-innovation.com>

	* gengtype.c (files_rules): Added rules for objc/objc-map.h and
	objc/objc-map.c.

In gcc/objc/:
2011-10-14  Nicola Pero  <nicola.pero@meta-innovation.com>

	* objc-map.h: New file.
	* objc-map.c: New file.	
	* config-lang.in (gtfiles): Added objc-map.h.
	* Make-lang.in (OBJC_OBJS): Added objc-map.o.
	(objc/objc-map.o): New rule.
	(objc/objc-act.o): Depend on objc/objc-map.h.
	* objc-next-runtime-abi-02.c: Added a TODO comment.
	* objc-act.c: Include objc-map.h.
	(nst_method_hash_list, cls_method_hash_list): Removed.
	(instance_method_map, class_method_map): New.
	(cls_name_hash_list, als_name_hash_list): Removed.
	(class_name_map, alias_name_map): Removed.
	(ivar_offset_hash_list): Removed.
	(hash_class_name_enter, hash_class_name_lookup, hash_enter,
	hash_lookup, hash_add_attr, add_method_to_hash_list): Removed.
	(interface_hash_init): New.
	(objc_init): Call interface_hash_init.
	(objc_write_global_declarations): Iterate over class_method_map
	and instance_method_map instead of cls_method_hash_list and
	nst_method_hash_list.
	(objc_declare_alias): Use alias_name_map instead of
	cls_name_hash_list.
	(objc_is_class_name): Use class_name_map and alias_name_map
	instead of cls_name_hash_list and als_name_hash_list.
	(interface_tuple, interface_htab, hash_interface, eq_interface):
	Removed.
	(interface_map): New.
	(add_class): Renamed to add_interface.  Use interface_map instead
	of interface_htab.
	(lookup_interface): Use interface_map instead of interface_htab.
	(check_duplicates): Changed first argument to be a tree,
	potentially a TREE_VEC, instead of a hash.  Changed implementation
	to match.
	(lookup_method_in_hash_lists): Use class_method_map and
	instance_method_map instead of cls_method_hash_list and
	nst_method_hash_list.
	(objc_build_selector_expr): Likewise.
	(hash_func): Removed.
	(hash_init): Create instance_method_map, class_method_map,
	class_name_map, and alias_name_map.  Do not create
	nst_method_hash_list, cls_method_hash_list, cls_name_hash_list,
	als_name_hash_list, and ivar_offset_hash_list.
	(insert_method_into_method_map): New.
	(objc_add_method): Use insert_method_into_method_map instead of
	add_method_to_hash_list.
	(start_class): Call add_interface instead of add_class.
	* objc-act.h (cls_name_hash_list, als_name_hash_list,
	nst_method_hash_list, cls_method_hash_list): Removed.

In gcc/objcp/:
2011-10-14  Nicola Pero  <nicola.pero@meta-innovation.com>

	* Make-lang.in (OBJCXX_OBJS): Added objc-map.o.
	(objcp/objc-map.o): New rule.
	(objcp/objcp-act.o): Depend on objc/objc-map.h.
	* config-lang.in (gtfiles): Added objc-map.h.

From-SVN: r179965
2011-10-14 10:19:01 +00:00
Paolo Carlini
5e678de8ba re PR c++/17212 (-W(no)format-zero-length does not work with C++)
/gcc
2011-10-14  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/17212
	* c-family/c.opt ([Wformat-zero-length]): Add C++ and Objective-C++.
	* doc/invoke.texi: Update.

/testsuite
2011-10-14  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/17212
	* g++.dg/warn/format6.C: New.
	* obj-c++.dg/warn6.mm: Likewise.

From-SVN: r179964
2011-10-14 09:14:58 +00:00
Paolo Carlini
4fbbcd7fa9 re PR c++/17212 (-W(no)format-zero-length does not work with C++)
/gcc
2011-10-14  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/17212
	* c-family/c.opt ([Wformat-zero-length]): Add C++ and Objective-C++.
	* doc/invoke.texi: Update.

/testsuite
2011-10-14  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/17212
	* g++.dg/warn/format6.C: New.
	* obj-c++.dg/warn6.mm: Likewise.

From-SVN: r179963
2011-10-14 09:14:26 +00:00
Iain Sandoe
80f8fdf10b re PR bootstrap/50699 (Bootstrap fails on *-apple-darwin* due to revision 179820)
gcc:

	PR bootstrap/50699
	* config/darwin.c (darwin_patch_builtin): Adjust argument type. Only
	build for powerpc targets.  (darwin_patch_builtins): Only build for 
	powerpc targets.

From-SVN: r179962
2011-10-14 08:13:04 +00:00
Jonathan Yong
d7a3ef9794 configure.host: Use config/os/mingw32-w64 instead of config/os/mingw32 if vendor key is "w64".
2011-10-14  Jonathan Yong  <jon_y@users.sourceforge.net>

	* configure.host: Use config/os/mingw32-w64 instead of
	config/os/mingw32 if vendor key is "w64".
	* config/os/mingw32-w64: Duplicate from config/os/mingw32.
	* config/os/mingw32-w64/os_defines.h: Enable
	_GLIBCXX_FULLY_DYNAMIC_STRING if undefined.
	* acinclude.m4: Set fully-dynamic-string to 1 when enabled,
	0 when disabled or undefined if unset by user.
	* include/bits/basic_string.h: Check if
	_GLIBCXX_FULLY_DYNAMIC_STRING is set to 0 instead of undefined.
	include/bits/basic_string.tcc: Likewise.
	* configure: Regenerated.
	* config.h.in: Likewise.

From-SVN: r179961
2011-10-14 08:57:55 +02:00
Jakub Jelinek
4fbe3b8a2b sse.md (*avx_cvtdq2pd256_2): Rename to...
* config/i386/sse.md (*avx_cvtdq2pd256_2): Rename to...
	(avx_cvtdq2pd256_2): ... this.
	(sseunpackfltmode): New mode attr.
	(vec_unpacks_float_hi_v8hi, vec_unpacks_float_lo_v8hi,
	vec_unpacku_float_hi_v8hi, vec_unpacku_float_lo_v8hi): Macroize
	using VI2_AVX2 iterator.
	(vec_unpacku_float_hi_v8si, vec_unpacku_float_lo_v8si): New
	expanders.

From-SVN: r179960
2011-10-14 08:06:14 +02:00
David S. Miller
8e24e4091c Merge sparc plus/minus vector operations using a code iterator.
* config/sparc/sparc.md (plusminus): New code iterator.
	(plusminus_insn): New code attr.
	(addv2si3, subv2si3, addv4hi3, subv4hi3, addv2hi3, subv2hi3): Merge
	using plusminus and plusminus_insn.
	(fpadd64_vis, fpsub64_vis): Likewise.

From-SVN: r179959
2011-10-13 20:48:06 -07:00
Richard Henderson
d7943c8b14 Expand vector permutation with vec_perm and vec_perm_const.
From-SVN: r179958
2011-10-13 20:31:23 -07:00
Richard Henderson
5066ab2ee8 rs6000: Fix typo in rs6000_expand_vector_init
Of course we don't support vectors of size <= 4.
We're supposed to be checking the vector element size.

From-SVN: r179957
2011-10-13 20:27:01 -07:00
Richard Henderson
bdc3ee5d57 Move lowering of vector shifts from v/s to v/v from gimple to rtl.
This allows other rtl expanders to rely on shifts of vector by scalar.

From-SVN: r179956
2011-10-13 20:25:58 -07:00
Richard Henderson
0772d476ef i386: Implement vec_perm_const<mode>.
From-SVN: r179955
2011-10-13 20:20:37 -07:00
Richard Henderson
f6293442ba spu: Implement vec_permv16qi.
From-SVN: r179954
2011-10-13 20:18:14 -07:00
Richard Henderson
cba8644414 rs6000: Implement vec_permv16qi.
From-SVN: r179953
2011-10-13 20:17:16 -07:00
GCC Administrator
6fa642dfdd Daily bump.
From-SVN: r179952
2011-10-14 00:18:38 +00:00
Paolo Carlini
b78eebe4f5 re PR libstdc++/50714 (codecvt_byname::codecvt::_M_c_locale_codecvt not initialized by destroyed)
2011-10-13  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/50714
	* include/bits/codecvt.h (codecvt<>::codecvt(size_t)): Initialize
	_M_c_locale_codecvt member.
	* testsuite/22_locale/codecvt_byname/50714.cc: New.

From-SVN: r179948
2011-10-14 00:12:40 +00:00
Jason Merrill
2598165f09 re PR c++/50614 ([C++0x] ICE: tree check: expected field_decl, have identifier_node in component_ref_field_offset, at expr.c:6697 with -fcompare-debug and a non-static initializer)
PR c++/50614
	* cp-tree.h (VAR_TEMPL_TYPE_FIELD_OR_FUNCTION_DECL_CHECK): New.
	(DECL_TEMPLATE_INFO): Use it.
	* pt.c (tsubst_decl) [FIELD_DECL]: Set DECL_TEMPLATE_INFO
	if the decl has an NSDMI.
	* init.c (perform_member_init): Use it.

From-SVN: r179945
2011-10-13 17:23:47 -04:00
Jason Merrill
0e81aa8529 re PR c++/50437 ([C++0x] [4.7 regression] ICE for trivial use of lambda in template function)
PR c++/50437
	* cp-tree.h (struct tree_lambda_expr): Add closure field.
	(LAMBDA_EXPR_CLOSURE): New.
	* pt.c (tsubst_copy_and_build) [LAMBDA_EXPR]: Likewise.
	* semantics.c (build_lambda_object): Use it instead of TREE_TYPE.
	(begin_lambda_type, lambda_function, add_capture): Likewise.
	(add_default_capture, lambda_expr_this_capture): Likewise.

From-SVN: r179944
2011-10-13 17:23:36 -04:00
David S. Miller
f1c141a7da Fix the RTL of some sparc VIS patterns.
* config/sparc/sparc.md (UNSPEC_FPMERGE): Delete.
	(UNSPEC_MUL16AU, UNSPEC_MUL8, UNSPEC_MUL8SU, UNSPEC_MULDSU): New
	unspecs.
	(fpmerge_vis): Remove inaccurate comment, represent using vec_select
	of a vec_concat.
	(vec_interleave_lowv8qi, vec_interleave_highv8qi): New insns.
	(fmul8x16_vis, fmul8x16au_vis, fmul8sux16_vis, fmuld8sux16_vis):
	Reimplement as unspecs and remove inaccurate comments.
	(vis3_shift_patname): New code attr.
	(<vis3_shift_insn><vbits>_vis): Rename to "v<vis3_shift_patname><mode>3".
	(vis3_addsub_ss_patname): New code attr.
	(<vis3_addsub_ss_insn><vbits>_vis): Rename to
	"<vis3_addsub_ss_patname><mode>3".
	* config/sparc/sparc.c (sparc_vis_init_builtins): Update to
	accommodate pattern name changes.

From-SVN: r179943
2011-10-13 14:15:44 -07:00
Diego Novillo
ce5046bd71 cp-tree.h (struct language_function): Rename in_function_try_handler to x_in_function_try_handler.
* cp-tree.h (struct language_function): Rename in_function_try_handler
	to x_in_function_try_handler.
	Rename in_base_initializer to x_in_base_initializer.
	Update all users.

From-SVN: r179940
2011-10-13 14:26:08 -04:00
Diego Novillo
385b73ab1d class.c (sorted_fields_type_new): Factor out of ...
* class.c (sorted_fields_type_new): Factor out of ...
	(finish_struct_1): ... here.

From-SVN: r179939
2011-10-13 14:25:10 -04:00
Jason Merrill
1fb0b80148 re PR c++/50618 (Virtual inheritance segfault)
PR c++/50618
	* init.c (expand_aggr_init_1): Don't zero-initialize virtual
	bases of a base subobject.

From-SVN: r179934
2011-10-13 14:01:51 -04:00
Jakub Jelinek
40746f4023 sse.md (vec_set<mode>): Change V_128 iterator mode to V.
* config/i386/sse.md (vec_set<mode>): Change V_128 iterator mode
	to V.

From-SVN: r179931
2011-10-13 18:26:48 +02:00
Jakub Jelinek
9a6b63c3d5 tree-ssa.c (maybe_optimize_var): Drop TREE_ADDRESSABLE from vector or complex vars even if...
* tree-ssa.c (maybe_optimize_var): Drop TREE_ADDRESSABLE
	from vector or complex vars even if their DECL_UID is in not_reg_needs
	bitmap.

Co-Authored-By: Richard Guenther <rguenther@suse.de>

From-SVN: r179930
2011-10-13 18:09:12 +02:00
Jakub Jelinek
a520f3c39d sse.md (reduc_umin_v8hi): New pattern.
* config/i386/sse.md (reduc_umin_v8hi): New pattern.
	* config/i386/i386.c (ix86_build_const_vector): Handle
	also V32QI, V16QI, V16HI and V8HI modes.
	(emit_reduc_half): New function.
	(ix86_expand_reduc): Use phminposuw insn for V8HImode UMIN.
	Use emit_reduc_half helper function.

	* gcc.target/i386/sse4_1-phminposuw-2.c: New test.
	* gcc.target/i386/sse4_1-phminposuw-3.c: New test.
	* gcc.target/i386/avx-vphminposuw-2.c: New test.
	* gcc.target/i386/avx-vphminposuw-3.c: New test.

From-SVN: r179929
2011-10-13 18:08:04 +02:00
Lawrence Crowl
35f5b1c1b9 lto-streamer-in.c (input_struct_function_base): Factor out of ...
2011-10-12   Lawrence Crowl  <crowl@google.com>
	     Diego Novillo  <dnovillo@google.com>

	* lto-streamer-in.c (input_struct_function_base): Factor out of ...
	(input_function): ... here.
	* lto-streamer-out.c (output_struct_function_base): Factor out of ...
	(output_function): ... here.

Co-Authored-By: Diego Novillo <dnovillo@google.com>

From-SVN: r179928
2011-10-13 11:41:52 -04:00
Gabriel Charette
a22286c349 streamer-hooks.h (struct streamer_hooks): Add hooks input_location and output_location.
2011-10-12  Gabriel Charette  <gchare@google.com>
	    Diego Novillo  <dnovillo@google.com>

	* streamer-hooks.h (struct streamer_hooks): Add hooks
	input_location and output_location.
	* lto-streamer-in.c (lto_input_location): Use
	streamer_hooks.input_location, if set.
	* lto-streamer-out.c (lto_output_location): Use
	streamer_hooks.output_location, if set.

Co-Authored-By: Diego Novillo <dnovillo@google.com>

From-SVN: r179927
2011-10-13 11:40:29 -04:00
H.J. Lu
d8228b3034 Check ia32 instead of ilp32.
2011-10-13  H.J. Lu  <hongjiu.lu@intel.com>

	* gcc.target/i386/pr50712.c: Check ia32 instead of ilp32.

From-SVN: r179926
2011-10-13 08:39:27 -07:00
Eric Botcazou
c49c4c850a invoke.texi (SPARC options): Document -mfix-at697f.
* doc/invoke.texi (SPARC options): Document -mfix-at697f.
	* config/sparc/sparc.opt (mfix-at697f): New option.
	* config/sparc/sparc.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
	(sparc_reorg): New function.

From-SVN: r179921
2011-10-13 12:59:34 +00:00
Eric Botcazou
83e0724ec7 * gcc.dg/builtins-67.c: Guard iround and irint with HAVE_C99_RUNTIME.
From-SVN: r179920
2011-10-13 12:28:16 +00:00
Richard Guenther
2b3c0885d9 re PR middle-end/50712 (invalid argument to gimple call)
2011-10-13  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/50712
	* ipa-split.c (split_function): Always re-gimplify parameters
	when they are not gimple vals before passing them.  Properly
	check for type compatibility.

	* gcc.target/i386/pr50712.c: New testcase.

From-SVN: r179919
2011-10-13 12:07:44 +00:00
Arnaud Charlet
4c8933bce9 Remove Packages_To_Check parameter.
From-SVN: r179918
2011-10-13 13:12:07 +02:00
Arnaud Charlet
4b8b7784ed Remove default for argument Packages_To_Check.
From-SVN: r179917
2011-10-13 13:11:37 +02:00
Tom de Vries
0626faca27 Fix PR middle-end/50527 ChangeLog entry
From-SVN: r179916
2011-10-13 11:10:01 +00:00
Arnaud Charlet
2fcc44fae4 [multiple changes]
2011-10-13  Robert Dewar  <dewar@adacore.com>

	* sem_ch9.adb, sem_util.adb, sem_util.ads, exp_ch6.adb, sem_ch4.adb,
	sem_ch6.adb, exp_ch3.adb: Minor reformatting.

2011-10-13  Arnaud Charlet  <charlet@adacore.com>

	* Makefile.rtl (GNATRTL_NONTASKING_OBJS): Add a-ngcoar.o.

2011-10-13  Jerome Guitton  <guitton@adacore.com>

	* sysdep.c (__gnat_get_task_options): Re-enable VX_SPE_TASK on vThreads

2011-10-13  Eric Botcazou  <ebotcazou@adacore.com>

	* a-convec.ads (Cursor): Minor reformatting.
	* a-convec.adb (Next): Fix minor inconsistencies.
	(Previous): Likewise.

From-SVN: r179915
2011-10-13 13:09:11 +02:00
Arnaud Charlet
9b62eb3214 [multiple changes]
2011-10-13  Ed Schonberg  <schonberg@adacore.com>

	* sem_util.ads, sem_util.adb (Available_Full_View_Of_Component):
	New predicate to determine whether some operations on an array
	type are available when the full view of its component may differ
	from the view of the point of the array declaration.
	* sem_ch4.adb (Find_Equality_Types): Use
	Available_Full_View_Of_Component.
	* sem_type.adb (Valid_Boolean_Arg, Valid_Comparison_Arg): Ditto

2011-10-13  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch9.adb: Analyze aspects while discriminants of protected
	type are visible.

2011-10-13  Geert Bosch  <bosch@adacore.com>

	* Makefile.rtl (GNATRTL_TASKING_OBJECTS): Add
	a-nlcoar.o, a-nllcar.o, a-nucoar.o and s-gearop.o, as these no
	longer depend on an external library.
	* gcc-interface/Makefile.in (GNATRTL_LINEARALGEBRA_OBJS): Remove
	a-nlcoar.o, a-nllcar.o, a-nucoar.o and s-gearop.o.
	Update dependencies.
	* gcc-interface/Make-lang.in: Update dependencies.

From-SVN: r179914
2011-10-13 13:05:50 +02:00
Arnaud Charlet
1a36a0cd69 [multiple changes]
2011-10-13  Cyrille Comar  <comar@adacore.com>

	* gnat_ugn.texi: Minor editing.

2011-10-13  Vincent Celier  <celier@adacore.com>

	* projects.texi: Add documentation on packages and attributes
	that are inherited from a project being extended into the
	extended project.

2011-10-13  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_ch3.adb (Build_Master): Rewritten.
	(Expand_N_Full_Type_Declaration): Reformat the declarative
	region. Update the call to Build_Master_Renaming.
	(Expand_Previous_Access_Type): Rewritten.
	* exp_ch6.adb (Add_Task_Actuals_To_Build_In_Place_Call):
	Add local constant Result_Subt and update related usage.
	(Expand_N_Extended_Return_Statement): Add local constant
	Result_Subt and update related usage.
	* exp_ch9.adb (Build_Activation_Chain): Rewritten to use the
	new context detection mechanism.
	(Build_Class_Wide_Master):
	Use Insert_Action to add the renaming into the tree.
	(Build_Master_Entity): Rewritten to use the new context detection
	mechanism.
	(Build_Master_Renaming): Add formal parameter Ins_Nod
	and related usage. Use Insert_Action to add the renaming into the
	tree.
	(Find_Enclosing_Context): New subsidiary routine. Rather
	than relying on enclosing scopes, this routine looks at the
	tree structure to figure out the proper context for a _master
	or a _chain. This approach eliminates the issues with transient
	scopes which have not been converted into blocks.
	* exp_ch9.ads (Build_Master_Entity): Change parameter profile
	to better reflect the new usage. Update the related comment.
	(Build_Master_Renaming): Add formal parameter Ins_Nod. Update
	the comment on usage.
	* sem_ch3.adb (Access_Definition): Update the calls to
	Build_Master_Entity and Build_Master_Renaming.
	* sem_ch6.adb (Create_Extra_Formals): Add local variable
	Full_Subt. Code reformatting.
	* sem_util.adb (Is_Iterator): Alphabetized.
	(Is_LHS): Alphabetized.
	(Is_Limited_Class_Wide_Type): New routine.
	* sem_util.ads (Is_Limited_Class_Wide_Type): New routine.

From-SVN: r179913
2011-10-13 13:00:13 +02:00
Geert Bosch
a5917ffb2c a-ngrear.adb (Solve): Make generic and move to System.Generic_Array_Operations.
2011-10-13  Geert Bosch  <bosch@adacore.com>

	* a-ngrear.adb (Solve): Make generic and move to
	System.Generic_Array_Operations.
	* s-gearop.ads (Matrix_Vector_Solution, Matrix_Matrix_Solution):
	New generic solvers to	compute a vector resp. matrix Y such
	that A * Y = X, approximately.
	* s-gearop.adb (Matrix_Vector_Solution, Matrix_Matrix_Solution):
	Implement using Forward_Eliminate and Back_Substitute
	* a-ngcoar.adb: Reimplement in pure Ada to remove dependencies
	on BLAS and LAPACK.
	* a-ngcoar.ads ("abs"): Fix return type to be real.

From-SVN: r179912
2011-10-13 12:56:08 +02:00
Eric Botcazou
574ec9452d re PR ada/50589 ([4.7] Ada bootstrap failure on sparc-linux)
PR ada/50589
	* s-linux-alpha.ads: Do not "with" Interfaces.C.
	* s-linux-sparc.ads: Likewise.

From-SVN: r179911
2011-10-13 10:54:19 +00:00
Geert Bosch
8668ea361d s-gearop.ads (Forward_Eliminate): Add "abs" formal function returning a Real.
2011-10-13  Geert Bosch  <bosch@adacore.com>

	* s-gearop.ads (Forward_Eliminate): Add "abs" formal function
	returning a Real.
	* s-gearop.adb (Forward_Eliminate): Remove local "abs" function
	and use formal.
	* a-ngrear.adb (Forward_Eliminate): Adjust instantiation for
	new profile.

From-SVN: r179910
2011-10-13 12:52:59 +02:00
Geert Bosch
edcf5983b6 a-ngrear.adb, [...] (Sqrt): Make generic and move to System.Generic_Array_Operations.
2011-10-13  Geert Bosch  <bosch@adacore.com>

	* a-ngrear.adb, s-gearop.adb, s-gearop.ads (Sqrt): Make generic and
	move to System.Generic_Array_Operations.

From-SVN: r179909
2011-10-13 12:51:39 +02:00