Commit Graph

83761 Commits

Author SHA1 Message Date
Matthias Klose
c1bb79f4df t-linux64 (MULTILIB_OSDIRNAMES): Use ../lib32 as the multilib osdirname if it exists.
2007-09-27  Matthias Klose  <doko@ubuntu.com>

        * config/i386/t-linux64 (MULTILIB_OSDIRNAMES): Use ../lib32 as the
        multilib osdirname if it exists.
        * config/rs6000/t-linux64 (MULTILIB_OSDIRNAMES): Likewise.

From-SVN: r128845
2007-09-27 19:08:06 +00:00
Jason Merrill
533007c1e9 decl2.c (is_late_template_attribute): Don't crash on unknown attribute.
* decl2.c (is_late_template_attribute): Don't crash on unknown
        attribute.

From-SVN: r128844
2007-09-27 14:54:06 -04:00
Paul Thomas
74687efe94 re PR fortran/33568 (ICE with ANINT (with KIND and an array))
2007-09-27  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/33568
	* trans-intrinsic.c (gfc_conv_intrinsic_aint): Allow for the 
	possibility of the optional KIND argument by making arg
	an array, counting the number of arguments and using arg[0].

2007-09-27  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/33568
	* gfortran.dg/anint_1.f90: New test.

From-SVN: r128843
2007-09-27 18:39:55 +00:00
Benjamin Kosnik
5c13b77cb0 testsuite_hooks.cc (set_memory_limits): Adjust x86_64 virtual memory setting for libgomp.
2007-09-27  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/util/testsuite_hooks.cc (set_memory_limits): Adjust
	x86_64 virtual memory setting for libgomp.

From-SVN: r128842
2007-09-27 18:06:10 +00:00
H.J. Lu
b2a00c8984 Makefile.in (dfp-filenames): Replace decimal_globals...
libgcc/

2007-09-27  H.J. Lu  <hongjiu.lu@intel.com>

	* Makefile.in (dfp-filenames): Replace decimal_globals,
	decimal_data, binarydecimal and convert_data with
	bid_decimal_globals, bid_decimal_data, bid_binarydecimal
	and bid_convert_data, respectively.

libgcc/config/libbid/

2007-09-27  H.J. Lu  <hongjiu.lu@intel.com>

	* bid128_fromstring.c: Removed.

	* bid_dpd.c: New from libbid 2007-09-26.
	* bid128_to_int16.c: Likewise.
	* bid128_to_int8.c: Likewise.
	* bid128_to_uint8.c: Likewise.
	* bid128_to_uint16.c: Likewise.
	* bid64_to_int16.c: Likewise.
	* bid64_to_int8.c: Likewise.
	* bid64_to_uint16.c: Likewise.
	* bid64_to_uint8.c: Likewise.

	* bid128_2_str.h: Updated from libbid 2007-09-26.
	* bid128_2_str_macros.h: Likewise.
	* bid128_2_str_tables.c: Likewise.
	* bid128_add.c: Likewise.
	* bid128.c: Likewise.
	* bid128_compare.c: Likewise.
	* bid128_div.c: Likewise.
	* bid128_fma.c: Likewise.
	* bid128_logb.c: Likewise.
	* bid128_minmax.c: Likewise.
	* bid128_mul.c: Likewise.
	* bid128_next.c: Likewise.
	* bid128_noncomp.c: Likewise.
	* bid128_quantize.c: Likewise.
	* bid128_rem.c: Likewise.
	* bid128_round_integral.c: Likewise.
	* bid128_scalb.c: Likewise.
	* bid128_sqrt.c: Likewise.
	* bid128_string.c: Likewise.
	* bid128_to_int32.c: Likewise.
	* bid128_to_int64.c: Likewise.
	* bid128_to_uint32.c: Likewise.
	* bid128_to_uint64.c: Likewise.
	* bid32_to_bid128.c: Likewise.
	* bid32_to_bid64.c: Likewise.
	* bid64_add.c: Likewise.
	* bid64_compare.c: Likewise.
	* bid64_div.c: Likewise.
	* bid64_fma.c: Likewise.
	* bid64_logb.c: Likewise.
	* bid64_minmax.c: Likewise.
	* bid64_mul.c: Likewise.
	* bid64_next.c: Likewise.
	* bid64_noncomp.c: Likewise.
	* bid64_quantize.c: Likewise.
	* bid64_rem.c: Likewise.
	* bid64_round_integral.c: Likewise.
	* bid64_scalb.c: Likewise.
	* bid64_sqrt.c: Likewise.
	* bid64_string.c: Likewise.
	* bid64_to_bid128.c: Likewise.
	* bid64_to_int32.c: Likewise.
	* bid64_to_int64.c: Likewise.
	* bid64_to_uint32.c: Likewise.
	* bid64_to_uint64.c: Likewise.
	* bid_b2d.h: Likewise.
	* bid_binarydecimal.c: Likewise.
	* bid_conf.h: Likewise.
	* bid_convert_data.c: Likewise.
	* bid_decimal_data.c: Likewise.
	* bid_decimal_globals.c: Likewise.
	* bid_div_macros.h: Likewise.
	* bid_flag_operations.c: Likewise.
	* bid_from_int.c: Likewise.
	* bid_functions.h: Likewise.
	* bid_gcc_intrinsics.h: Likewise.
	* bid_inline_add.h: Likewise.
	* bid_internal.h: Likewise.
	* bid_round.c: Likewise.
	* bid_sqrt_macros.h: Likewise.
	* _addsub_dd.c: Likewise.
	* _addsub_sd.c: Likewise.
	* _addsub_td.c: Likewise.
	* _dd_to_df.c: Likewise.
	* _dd_to_di.c: Likewise.
	* _dd_to_sd.c: Likewise.
	* _dd_to_sf.c: Likewise.
	* _dd_to_si.c: Likewise.
	* _dd_to_td.c: Likewise.
	* _dd_to_tf.c: Likewise.
	* _dd_to_udi.c: Likewise.
	* _dd_to_usi.c: Likewise.
	* _dd_to_xf.c: Likewise.
	* _df_to_dd.c: Likewise.
	* _df_to_sd.c: Likewise.
	* _df_to_td.c: Likewise.
	* _di_to_dd.c: Likewise.
	* _di_to_sd.c: Likewise.
	* _di_to_td.c: Likewise.
	* _div_dd.c: Likewise.
	* _div_sd.c: Likewise.
	* _div_td.c: Likewise.
	* _eq_dd.c: Likewise.
	* _eq_sd.c: Likewise.
	* _eq_td.c: Likewise.
	* _ge_dd.c: Likewise.
	* _ge_sd.c: Likewise.
	* _ge_td.c: Likewise.
	* _gt_dd.c: Likewise.
	* _gt_sd.c: Likewise.
	* _gt_td.c: Likewise.
	* _isinfd128.c: Likewise.
	* _isinfd32.c: Likewise.
	* _isinfd64.c: Likewise.
	* _le_dd.c: Likewise.
	* _le_sd.c: Likewise.
	* _le_td.c: Likewise.
	* _lt_dd.c: Likewise.
	* _lt_sd.c: Likewise.
	* _lt_td.c: Likewise.
	* _mul_dd.c: Likewise.
	* _mul_sd.c: Likewise.
	* _mul_td.c: Likewise.
	* _ne_dd.c: Likewise.
	* _ne_sd.c: Likewise.
	* _ne_td.c: Likewise.
	* _sd_to_dd.c: Likewise.
	* _sd_to_df.c: Likewise.
	* _sd_to_di.c: Likewise.
	* _sd_to_sf.c: Likewise.
	* _sd_to_si.c: Likewise.
	* _sd_to_td.c: Likewise.
	* _sd_to_tf.c: Likewise.
	* _sd_to_udi.c: Likewise.
	* _sd_to_usi.c: Likewise.
	* _sd_to_xf.c: Likewise.
	* _sf_to_dd.c: Likewise.
	* _sf_to_sd.c: Likewise.
	* _sf_to_td.c: Likewise.
	* _si_to_dd.c: Likewise.
	* _si_to_sd.c: Likewise.
	* _si_to_td.c: Likewise.
	* _td_to_dd.c: Likewise.
	* _td_to_df.c: Likewise.
	* _td_to_di.c: Likewise.
	* _td_to_sd.c: Likewise.
	* _td_to_sf.c: Likewise.
	* _td_to_si.c: Likewise.
	* _td_to_tf.c: Likewise.
	* _td_to_udi.c: Likewise.
	* _td_to_usi.c: Likewise.
	* _td_to_xf.c: Likewise.
	* _tf_to_dd.c: Likewise.
	* _tf_to_sd.c: Likewise.
	* _tf_to_td.c: Likewise.
	* _udi_to_dd.c: Likewise.
	* _udi_to_sd.c: Likewise.
	* _udi_to_td.c: Likewise.
	* _unord_dd.c: Likewise.
	* _unord_sd.c: Likewise.
	* _unord_td.c: Likewise.
	* _usi_to_dd.c: Likewise.
	* _usi_to_sd.c: Likewise.
	* _usi_to_td.c: Likewise.
	* _xf_to_dd.c: Likewise.
	* _xf_to_sd.c: Likewise.
	* _xf_to_td.c: Likewise.

2007-09-27  H.J. Lu  <hongjiu.lu@intel.com>

	* b2d.h: Renamed to ...
	* bid_b2d.h: This.

	* bid128_to_string.c: Renamed to ...
	* bid128_string.c: This.

	* bid_intrinsics.h: Renamed to ...
	* bid_gcc_intrinsics.h: This.

	* bid_string.c: Renamed to ...
	* bid64_string.c: This.

	* binarydecimal.c: Renamed to ...
	* bid_decimal_globals.c: This.

	* convert_data.c: Renamed to ...
	* bid_convert_data.c: This.

	* decimal_data.c: Renamed to ...
	* bid_decimal_data.c: This.

	* decimal_globals.c: Renamed to ...
	* bid_decimal_globals.c: This.

	* div_macros.h: Renamed to ...
	* bid_div_macros.h: This.

	* inline_bid_add.h: Renamed to ...
	* bid_inline_add.h: This.

	* sqrt_macros.h: Renamed to ...
	* bid_sqrt_macros.h: This.

From-SVN: r128841
2007-09-27 10:47:23 -07:00
Ian Lance Taylor
e233ac979c re PR tree-optimization/33565 (spurious warning: assuming signed overflow does not occur when assuming that (X + c) >= X is always true)
./:	PR tree-optimization/33565
	* tree-ssa-loop-ch.c (copy_loop_headers): Set TREE_NO_WARNING on
	assignments of comparisons.
	* tree-ssa-sccvn.c (simplify_binary_expression): Add stmt
	parameter.  Change caller.  Defer overflow warnings around call to
	fold_binary.
	* fold-const.c (fold_undefer_overflow_warnings): Don't warn if
	TREE_NO_WARNING is set on the statement.
	* tree-ssa-forwprop.c
	(tree_ssa_forward_propagate_single_use_vars): Don't test
	TREE_NO_WARNING when calling fold_undefer_overflow_warnings.
	* tree-cfg.c (fold_cond_expr_cond): Likewise.
testsuite/:
	PR tree-optimization/33565
	* gcc.dg/Wstrict-overflow-20.c: New test.

From-SVN: r128840
2007-09-27 17:31:34 +00:00
Eric Botcazou
c304878307 Mapped location support
Mapped location support
	* back_end.adb (Call_Back_End): Pass information about source
	files instead of units to gigi.
	* gigi.h (struct File_Info_Type): New.
	(gigi): Rename and change type of number_units parameter, change
	type of file_info_ptr parameter.
	* trans.c (number_files): New global variable.
	(gigi): Rename and change type of number_units parameter, change
	type of file_info_ptr parameter.
	If mapped location support is enabled, create the isomorphic mapping
	between source files and line maps.
	(Sloc_to_locus): If mapped location support is enabled, translate
	source location into mapped location.
	(annotate_with_node): Rename into set_expr_location_from_node.
	Call set_expr_location instead of annotate_with_locus.
	(Pragma_to_gnu): Adjust for above change.
	(Loop_Statement_to_gnu): Likewise.
	(call_to_gnu): Likewise.
	(Handled_Sequence_Of_Statements_to_gnu): Likewise.
	(gnat_to_gnu): Likewise.
	(add_stmt_with_node): Likewise.
	(add_cleanup): Likewise.
	* utils.c (gnat_init_decl_processing): Do not set input_line.

From-SVN: r128839
2007-09-27 16:28:50 +00:00
Joseph Myers
3c1eb9eb6c rs6000.c (rs6000_legitimize_address): Do not reduce offset by units of 0x10000 for SPE vector modes or modes used...
* config/rs6000/rs6000.c (rs6000_legitimize_address): Do not
	reduce offset by units of 0x10000 for SPE vector modes or modes
	used with E500 double instructions.

From-SVN: r128837
2007-09-27 15:01:16 +01:00
Francois-Xavier Coudert
dcb859a33f openmp_stack.f90: Fix typo.
* gfortran.dg/openmp_stack.f90: Fix typo.
	* gfortran.dg/recursive_stack.f90: Fix typo.

From-SVN: r128834
2007-09-27 13:39:26 +00:00
Paolo Bonzini
3964148968 simplify-rtx.c (comparison_result): New.
2007-09-04  Paolo Bonzini  <bonzini@gnu.org>

	* simplify-rtx.c (comparison_result): New.
	(simplify_const_relational_operation): Use it instead of the five
	"equal|op[01]ltu?" variables; consequently remove redundant "else"s.
	Improve bounds-checking optimizations; remove subsumed POPCOUNT
	optimizations.  Extract nonzero_address_p optimizations into a
	separate "if" together with optimizations where op1 is const0_rtx.
	Optimize comparing an IOR with zero.  Simplify op0 RELOP op0 for
	floating-point arguments too when appropriate.  Hoist test for ABS
	outside the final switch statement.
	* cse.c (fold_rtx): Don't look for an IOR equivalent of
	folded_arg0 if we found a constant equivalent.	Remove
	transformations done in simplify-rtx.c for "op0 RELOP op0".

From-SVN: r128833
2007-09-27 11:29:10 +00:00
Paolo Carlini
6208170481 re PR c++/33493 (Broken diagnostic: 'dl_expr' not supported by dump_expr)
/cp
2007-09-27  Paolo Carlini  <pcarlini@suse.de>

	PR c++/33493
	* error.c (dump_expr): Deal with DELETE_EXPR and VEC_DELETE_EXPR.
	* cxx-pretty-print.c (pp_cxx_delete_expression): Add missing
	spaces in the formatting.
	* cxx-pretty-print.h (pp_cxx_delete_expression): Declare.

/testsuite
2007-09-27  Paolo Carlini  <pcarlini@suse.de>

	PR c++/33493
	* g++.dg/template/error31.C: New.

From-SVN: r128831
2007-09-27 09:20:59 +00:00
Jakub Jelinek
c94ed7a1ae builtins.c (expand_builtin, [...]): Use new %K format string specifier for diagnostics.
* builtins.c (expand_builtin, expand_builtin_object_size,
	expand_builtin_memory_chk, maybe_emit_chk_warning,
	maybe_emit_sprintf_chk_warning): Use new %K format string specifier
	for diagnostics.
	* expr.c (expand_expr_real_1): Likewise.
	* langhooks-def.h (struct diagnostic_info): Add forward decl.
	(lhd_print_error_function): Add third argument.
	* langhooks.h (struct diagnostic_info): Add forward decl.
	(struct lang_hooks): Add third argument to print_error_function.
	* diagnostic.h (diagnostic_info): Add abstract_origin field.
	(diagnostic_last_function_changed, diagnostic_set_last_function): Add
	second argument.
	(diagnostic_report_current_function): Likewise.
	* toplev.c (announce_function): Pass NULL as second argument to
	diagnostic_set_last_function.
	* diagnostic.c (diagnostic_report_current_function): Add second
	argument, pass it as third argument to lang_hooks.print_error_function.
	(default_diagnostic_starter): Pass DIAGNOSTIC as second argument
	to diagnostic_report_current_function.
	(diagnostic_report_diagnostic): Initialize diagnostic->abstract_origin
	and message.abstract_origin.
	(verbatim): Initialize abstract_origin.
	* pretty-print.h (text_info): Add abstract_origin field.
	* pretty-print.c (pp_base_format): Handle %K.
	* langhooks.c (lhd_print_error_function): Add third argument.  If
	diagnostic->abstract_origin, print virtual backtrace.
	* c-format.c (gcc_diag_char_table, gcc_tdiag_char_table,
	gcc_cdiag_char_table, gcc_cxxdiag_char_table): Support %K.
	(init_dynamic_diag_info): Likewise.
cp/
	* error.c (cxx_print_error_function): Add third argument, pass
	it over to lhd_print_error_function.
	(cp_print_error_function): If diagnostic->abstract_origin, print
	virtual backtrace.
	* cp-tree.h (struct diagnostic_info): New forward decl.
	(cxx_print_error_function): Add third argument.
java/
	* lang.c (java_print_error_function): Add third argument.
testsuite/
	* lib/prune.exp: Prune also "^In function .*$" lines and
	"^    inlined from .*$" lines.

From-SVN: r128830
2007-09-27 09:24:58 +02:00
GCC Administrator
dcbb0d145f Daily bump.
From-SVN: r128828
2007-09-27 00:16:57 +00:00
Francois-Xavier Coudert
8307c61b92 re PR libfortran/30780 (FPE in CPU_TIME (and possibly others) with -ffpe-trap=underflow)
PR fortran/30780
	* invoke.texi: Add note to -ffpe-trap option. Fix typos.

From-SVN: r128825
2007-09-26 22:27:16 +00:00
Benjamin Kosnik
4f99f3d0e5 stl_algo.h: Add return type information to comments.
2007-09-26  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/stl_algo.h: Add return type information to comments.
	* include/bits/algorithmfwd.h: Formatting.
	* testsuite/util/testsuite_hooks.h (NonDefaultConstructible): Move..
	* testsuite/util/testsuite_api.h: ...here. Add necessary operators
	for use in testing chapters 25 and 26.
	* testsuite/util/testsuite_character.h: Same.

	* testsuite/25_algorithms/*/requirements/explicit_instantiation/
	2.cc, pod.cc: New.

	* testsuite/26_numerics/accumulate, adjacent_difference, inner_product,
	partial_sum/requirements/explicit_instantiation/2.cc, pod.cc: New.
	
	* testsuite/26_numerics/numeric_arrays/*: Move contents into
	testsuite/26_numerics.

	* testsuite/26_numerics/numeric_operations: Same.
	
	* testsuite/23_containers/*/requirements/explicit_instantiation/2.cc:
	Adjust includes from testsuite_eh.h to testsuite_api.h.


Co-Authored-By: Chalathip Thumkanon <chalathip@gmail.com>

From-SVN: r128822
2007-09-26 17:04:06 +00:00
David Daney
01fdb4cf5d re PR target/33479 (SyncTest Intermittent failing on MIPS)
2007-09-26  David Daney  <ddaney@avtrex.com>

	PR target/33479
	* config/mips/mips.md (sync_compare_and_swap<mode>, sync_old_add<mode>,
	sync_new_add<mode>, sync_old_<optab><mode>, sync_new_<optab><mode>,
	sync_old_nand<mode>, sync_new_nand<mode>,
	sync_lock_test_and_set<mode>): Fix '&' constraint modifiers.
	Update length attributes.
	(sync_add<mode>, sync_sub<mode>, sync_old_sub<mode>,
	sync_new_sub<mode>, sync_<optab><mode>, sync_nand<mode>): Update
	length attributes.
	* config/mips/mips.h (MIPS_COMPARE_AND_SWAP, MIPS_SYNC_OP,
	MIPS_SYNC_OLD_OP, MIPS_SYNC_NEW_OP, MIPS_SYNC_NAND,
	MIPS_SYNC_OLD_NAND, MIPS_SYNC_NEW_NAND, MIPS_SYNC_EXCHANGE): Add
	post-loop sync.

From-SVN: r128821
2007-09-26 16:45:39 +00:00
Richard Guenther
e2e79a188a re PR tree-optimization/33563 (DSE removes non-dead store)
2007-09-26  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/33563
	* tree-ssa-dse.c (get_use_of_stmt_lhs): Rename to ...
	(get_kill_of_stmt_lhs): ... this.  Re-structure.  Handle
	aggregate stores.
	(dse_optimize_stmt): Call get_kill_of_stmt_lhs instead of
	get_use_of_stmt_lhs.

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

From-SVN: r128815
2007-09-26 15:31:50 +00:00
Arnaud Charlet
68b72a4465 Resync.
From-SVN: r128812
2007-09-26 15:11:38 +02:00
Joseph Myers
7bfcb402ea re PR c/25309 (ICE on initialization of a huge array)
PR c/25309
	* c-common.c (complete_array_type): Diagnose too-large arrays and
	set type to error_mark_node.

testsuite:
	* gcc.dg/large-size-array-2.c: Expect diagnostic for too-large
	array.
	* gcc.dg/large-size-array-4.c: New.  Copy of large-size-array-2.c
	without -O2.

From-SVN: r128811
2007-09-26 13:32:27 +01:00
Richard Guenther
15caa2abe9 re PR tree-optimization/30375 (tree-ssa-dse incorrectly removes struct initialization)
2007-09-26  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/30375
	PR tree-optimization/33560
	* tree-ssa-dse.c (get_use_of_stmt_lhs): Give up on uses
	with calls.

	Revert
	2006-05-22  Aldy Hernandez  <aldyh@redhat.com>

        * tree-ssa-dse.c (aggregate_vardecl_d): New.
        (dse_global_data): Add aggregate_vardecl field.
        (dse_possible_dead_store_p): New.
        Add prev_defvar variable.
        Allow immediate uses and previous immediate uses to differ
        if they are setting different parts of the whole.
        (get_aggregate_vardecl): New.
        (dse_record_partial_aggregate_store): New.
        (dse_whole_aggregate_clobbered_p): New.
        (dse_partial_kill_p): New.
        Call dse_maybe_record_aggregate_store().
        When checking whether a STMT and its USE_STMT refer to the
        same memory address, check also for partial kills that clobber
        the whole.
        Move some variable definitions to the block where they are used.
        (aggregate_vardecl_hash): New.
        (aggregate_vardecl_eq): New.
        (aggregate_vardecl_free): New.
        (aggregate_whole_store_p): New.
        (tree_ssa_dse): Initialize and free aggregate_vardecl.
        Mark which aggregate stores we care about.

	* gcc.dg/tree-ssa/complex-4.c: XFAIL.
	* gcc.dg/tree-ssa/complex-5.c: Likewise.
	* gcc.dg/tree-ssa/ssa-dse-9.c: Likewise.
	* gcc.dg/torture/pr30375.c: New testcase.
	* gcc.dg/torture/pr33560.c: New testcase.
	* gcc.dg/tree-ssa/pr30375.c: Likewise.

From-SVN: r128810
2007-09-26 11:55:17 +00:00
Vincent Celier
43943e4035 makegpr.adb (Link_Executables): Do not fail when the root project has no sources, but is an extending project.
2007-09-26  Vincent Celier  <celier@adacore.com>

	* makegpr.adb (Link_Executables): Do not fail when the root project has
	no sources, but is an extending project.

From-SVN: r128809
2007-09-26 12:47:19 +02:00
Sergey Rybin
7954ad60df vms_data.ads: Revise gnatmetric qualifiers.
2007-09-26  Sergey Rybin  <rybin@adacore.com>

	* vms_data.ads: Revise gnatmetric qualifiers.
	Add qualified for the new gnatbind option '-y'

	* gnat_ugn.texi: Revise the gnatmetric section.
	Add entry for new gnatbind option '-y'.

	* gnat_rm.texi: Minor spelling correction.
	Document restriction on overlaying controlled types

From-SVN: r128808
2007-09-26 12:47:11 +02:00
Robert Dewar
d031ecc4a5 s-wchstw.adb: provide messages for run time unit exceptions
2007-09-26  Robert Dewar  <dewar@adacore.com>

	* s-wchstw.adb: provide messages for run time unit exceptions

	* a-witeio.adb: Minor reformatting

	* exp_ch13.adb: Minor reformatting

From-SVN: r128807
2007-09-26 12:46:59 +02:00
Vincent Celier
de93c8b38e snames.adb, snames.ads: Change Include_Option to Include_Switches
2007-09-26  Vincent Celier  <celier@adacore.com>

	* snames.adb, snames.ads: Change Include_Option to Include_Switches

From-SVN: r128806
2007-09-26 12:46:51 +02:00
Robert Dewar
1cc40a1063 sem_warn.adb (Check_References): Catch more cases of unreferenced packages.
2007-09-26  Robert Dewar  <dewar@adacore.com>

	* sem_warn.adb (Check_References): Catch more cases of unreferenced
	packages.

From-SVN: r128805
2007-09-26 12:46:43 +02:00
Ed Schonberg
e65f50ec35 sem_res.adb (Resolve_Call): If the call is dispatching...
2007-09-26  Ed Schonberg  <schonberg@adacore.com>

	* sem_res.adb (Resolve_Call): If the call is dispatching, generate the
	proper kind of reference to the primitive operation, for better source
	navigation.
	(Valid_Conversion): A tagged conversion is legal if both operands are
	tagged.

From-SVN: r128804
2007-09-26 12:46:30 +02:00
Ed Schonberg
45c8b94ba4 sem_ch4.adb (Analyze_Qualified_Expression): Apply name resolution rule for qualified expressions properly...
2007-09-26  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch4.adb (Analyze_Qualified_Expression): Apply name resolution
	rule for qualified expressions properly, to detect improper conversions
	and resolve some cases of overloading.

From-SVN: r128803
2007-09-26 12:46:22 +02:00
Ed Schonberg
71f6218033 sem_ch3.adb (Derive_Subprograms): If the interface parent is a direct ancestor of the derived type...
2007-09-26  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch3.adb (Derive_Subprograms): If the interface parent is a direct
	ancestor of the derived type, the operations are inherited from the
	primary dispatch table of the parent.
	(OK_For_Limited_Init_In_05): Remove old comment. Reject in-place calls
	when the context is an explicit type conversion.

From-SVN: r128802
2007-09-26 12:46:08 +02:00
Robert Dewar
6f31a9d795 sem_attr.adb (Analyze_Access_Attribute): Fix missing set of Address_Taken.
2007-09-26  Robert Dewar  <dewar@adacore.com>

	* sem_attr.adb (Analyze_Access_Attribute): Fix missing set of
	Address_Taken.

From-SVN: r128801
2007-09-26 12:46:00 +02:00
Gary Dismukes
d123579abf par-ch4.adb (P_Record_Or_Array_Component_Association): Change Ada 95 message to cite use of <> in aggregate component associations...
2007-09-26  Gary Dismukes  <dismukes@adacore.com>

	* par-ch4.adb (P_Record_Or_Array_Component_Association): Change Ada 95
	message to cite use of <> in aggregate component associations rather
	than wrongly indicating use of limited aggregates.

From-SVN: r128800
2007-09-26 12:45:45 +02:00
Vincent Celier
6de1be0227 osint.adb, osint.ads: Minor reformatting
2007-09-26  Vincent Celier  <celier@adacore.com>

	* osint.adb, osint.ads: Minor reformatting

	* osint-b.adb, osint-b.ads (Set_Current_File_Name_Index): New procedure

From-SVN: r128799
2007-09-26 12:45:36 +02:00
Vincent Celier
503299f994 Make-lang.in: Update dependencies..
2007-09-26  Vincent Celier  <celier@adacore.com>

	* Make-lang.in: Update dependencies..

From-SVN: r128798
2007-09-26 12:45:24 +02:00
Vincent Celier
a70f5d823a makeutl.ads (Main_Config_Project): Moved to gpr_util.ads
2007-09-26  Vincent Celier  <celier@adacore.com>

	* makeutl.ads (Main_Config_Project): Moved to gpr_util.ads

	* prj.ads, prj.adb (Default_Language): Remove function, no longer used
	Replace components Compiler_Min_Options and Binder_Min_Options with
	Compiler_Required_Switches and Binder_Required_Switches in record
	Language_Config.
	Remove components Default_Language and Config in Project_Tree_Data,
	no longer used.

	* prj-attr.adb: New attributes Required_Switches (<language>) in
	packages Compiler and Binder.

	* prj-nmsc.adb: Major rewrite of the processing of configuration
	attributes for gprbuild. No impact on GNAT tools.

	* prj-proc.ads, prj-proc.adb (Process_Project_Tree_Phase_2): No longer
	process configuration attributes: this is done in Prj.Nmsc.Check.
	(Recursive_Process): Make a full copy of packages inherited from project
	being extended, instead of a shallow copy.
	(Process_Project_Tree_Phase_1): New procedure
	(Process_Project_Tree_Phase_1): New procedure
	(Process): Implementation now uses the two new procedures

	* prj-util.adb (Executable_Of): Get the suffix and the default suffix
	from the project config, not the tree config that no longer exists.

From-SVN: r128797
2007-09-26 12:45:15 +02:00
Vincent Celier
15cf074847 makeutl.ads (Main_Config_Project): Moved to gpr_util.ads
2007-09-26  Vincent Celier  <celier@adacore.com>

	* makeutl.ads (Main_Config_Project): Moved to gpr_util.ads

	* prj.ads, prj.adb (Default_Language): Remove function, no longer used
	Replace components Compiler_Min_Options and Binder_Min_Options with
	Compiler_Required_Switches and Binder_Required_Switches in record
	Language_Config.
	Remove components Default_Language and Config in Project_Tree_Data,
	no longer used.

	* prj-attr.adb: New attributes Required_Switches (<language>) in
	packages Compiler and Binder.

	* prj-nmsc.adb: Major rewrite of the processing of configuration
	attributes for gprbuild. No impact on GNAT tools.

	* prj-proc.ads, prj-proc.adb (Process_Project_Tree_Phase_2): No longer
	process configuration attributes: this is done in Prj.Nmsc.Check.
	(Recursive_Process): Make a full copy of packages inherited from project
	being extended, instead of a shallow copy.
	(Process_Project_Tree_Phase_1): New procedure
	(Process_Project_Tree_Phase_1): New procedure
	(Process): Implementation now uses the two new procedures

	* prj-util.adb (Executable_Of): Get the suffix and the default suffix
	from the project config, not the tree config that no longer exists.

From-SVN: r128796
2007-09-26 12:44:55 +02:00
Vincent Celier
0a8e311d15 make.adb: (Kill): New procedure (__gnat_kill imported)
2007-09-26  Vincent Celier  <celier@adacore.com>

	* make.adb: (Kill): New procedure (__gnat_kill imported)
	(Running_Compile, Outstanding_Compiles): Global variables that
	were previously local to procedure Compile_Sources.
	(Sigint_Intercepted): Send signal SIGINT to all outstanding
	compilation processes.

	(Gnatmake): If project files are used, create the mapping of all the
	sources, so that the correct paths will be found.

	* prj-env.ads, prj-env.adb (Create_Mapping): New procedure

From-SVN: r128795
2007-09-26 12:44:46 +02:00
Vincent Celier
a338b0e349 gnatcmd.adb (Check_Files): Do not include sources that have been removed by attributes...
2007-09-26  Vincent Celier  <celier@adacore.com>

	* gnatcmd.adb (Check_Files): Do not include sources that have been
	removed by attributes Exclude_Source_Files or Locally_Removed_Files.

From-SVN: r128794
2007-09-26 12:44:35 +02:00
Vincent Celier
226302378a gnatbind.adb: If there are several ALI files specified and there is a main program to bind...
2007-09-26  Vincent Celier  <celier@adacore.com>

	* gnatbind.adb: If there are several ALI files specified and there is
	a main program to bind, the first ALI is expected to contain the main
	subprogram and the names of the binder generated files will be derived
	from the first ALI file name.
	(Gnatbind): Fix insertion character in invocation of Error_Msg

From-SVN: r128793
2007-09-26 12:44:26 +02:00
Florian Villoing
37d54b99bf g-dirope.adb (Remove_Dir): In case we are removing directories recursively...
2007-09-26  Florian Villoing  <villoing@adacore.com>

	* g-dirope.adb (Remove_Dir): In case we are removing directories
	recursively, make sure that if an exception is raised during the
	processing, the current working directory is reset to its initial
	value before propagating the exception.

From-SVN: r128792
2007-09-26 12:44:16 +02:00
Emmanuel Briot
da2ac8c26f g-comlin.ads, [...] (Command_Line_Configuration, [...]): New types
2007-09-26  Emmanuel Briot  <briot@adacore.com>

	* g-comlin.ads, g-comlin.adb (Command_Line_Configuration,
	Command_Line): New types
	(Define_Alias, Define_Prefix, Free): New subprograms. These provide
	support for defining how switches can be grouped on a command line (as
	is the case for -gnatw... for GNAT), and how simple switches can be
	used as aliases for more complex switches (-gnatwa is same as
	-gnatwbcef...)
	(Set_Command_Line, Add_Switch, Remove_Switch): New subprogram
	(Start, Current_*): New subprograms
	Added support for parsing an array of strings in addition to the real
	command line.
	(Opt_Parser, Opt_Parser_Data): New type. As a result, some types had to
	 be moved from the body to the private part of the spec.
	(*): All subprograms now have an extra parameter with default value to
	specify which parser should be used. For backward compatibility, it
	defaults to parsing the command line of the application. They were also
	modified to properly handle cases where each of the argument does not
	start at index 1 (which is always true for Ada.Command_Line, but not
	when processing any Argument_List).
	(Free): New subprogram
	(Internal_Initialize_Option_Scan, Find_Longuest_Matching_Switch,
	Argument): New subprograms
	(Switch_Parameter_Type): New enum, which clarifies the code. The extra
	special characters like ':', '=',... are now handled in a single place,
	which makes the code more extensible eventually.
	(Getopt, Full_Switch): When the switch was returned as part of the
	special character '*', make sure it is prepended by the switch character
	('-' in general), so that the application knows whether "foo" or "-foo"
	was specified on the command line.

From-SVN: r128791
2007-09-26 12:44:07 +02:00
Hristian Kirtchev
dd05ba2754 g-calend.adb (Has_53_Weeks): Rename to Last_Year_Has_53_Weeks.
2007-09-26  Hristian Kirtchev  <kirtchev@adacore.com>

	* g-calend.adb (Has_53_Weeks): Rename to Last_Year_Has_53_Weeks. Add a
	call to Jan_1_Day _Of_Week to optimize its performance.
	(Is_Leap): Move the routine to the scope of Week_In_Year.
	(Jan_1_Day_Of_Week): New routine in Week_In_Year which calculates the
	weekday on which January 1 falls of Year - 1 and Year + 1. This function
	avoids calling Time_Of and Split, thus making it more efficent.
	(Week_In_Year): Reimplemented in oder to follow ISO 8601.

	* g-calend.ads (Week_In_Year): Change comment to reflect new
	implementation.

From-SVN: r128790
2007-09-26 12:43:45 +02:00
Gary Dismukes
31b5873d01 freeze.adb (Freeze_Entity): Remove check for preelaborable initialization of a full view.
2007-09-26  Gary Dismukes  <dismukes@adacore.com>

	* freeze.adb (Freeze_Entity): Remove check for preelaborable
	initialization of a full view. This is moved to
	Analyze_Package_Specification.

	* sem_ch7.adb (Analyze_Package_Specification): Add check for
	preelaborable initialization of a full view in entity loop.
	(Uninstall_Declarations): If entity is a use-visible compilation unit,
	its child units are use-visible only if they are visible child units.

	* sem_util.adb (Is_Preelaborable_Expression): New function to determine
	whether an expression can be used within a type declaration that
	requires preelaborable init.
	(Check_Components): Replace inline code that does partial checking for
	preelaborable default expressions with call to
	Is_Preelaborable_Expression.
	(Has_Preelaborable_Initialization): In the case of a generic actual
	subtype, (that is, Is_Generic_Actual is True), return the result of
	applying Has_Preelaborable_Initialization to the generic actual's base
	type.

From-SVN: r128789
2007-09-26 12:43:34 +02:00
Gary Dismukes
af04dc07c5 exp_dbug.adb (Debug_Renaming_Declaration): Set Is_Internal on the debug variable so that it won't be initialized when...
2007-09-26  Gary Dismukes  <dismukes@adacore.com>

	* exp_dbug.adb (Debug_Renaming_Declaration): Set Is_Internal on the
	debug variable so that it won't be initialized when pragma
	Initialize_Scalars is in effect.

From-SVN: r128788
2007-09-26 12:43:08 +02:00
Robert Dewar
f23585f174 exp_ch5.adb: Activate memmove type processing if debug flag d.s is set
2007-09-26  Robert Dewar  <dewar@adacore.com>

	* exp_ch5.adb: Activate memmove type processing if debug flag d.s is set

	* debug.adb: Add d.s flag.

From-SVN: r128787
2007-09-26 12:42:59 +02:00
Javier Miranda
fdce4bb79e einfo.adb (Is_Thunk): New attribute applicable to subprograms.
2007-09-26  Javier Miranda  <miranda@adacore.com>
	    Gary Dismukes  <dismukes@adacore.com>

	* einfo.adb (Is_Thunk): New attribute applicable to subprograms. True
	for thunks associated with interface types.

	* einfo.ads: Improve documentatation of Is_Internal
	(Is_Thunk): New attribute applicable to subprograms. True for thunks
	associated with interface types.
	Extensive comment fixes regarding flags that appear in all entities. The
	documentation is now consistent for all such flags (there were a number
	of errors in the documentation in this regard).

	* exp_attr.adb (Expand_N_Attribute_Reference): Minor code cleanup.

	* exp_ch6.adb (Make_Build_In_Place_Call_*): Return immediately if any
	of these procedures are passed a function call that already has
	build-in-place actuals (testing new flag
	Is_Expanded_Build_In_Place_Call). Set the flag on the function call in
	the case where processing continues.
	(Expand_Call): If the call is generated from a thunk body then we
	propagate the extra actuals associated with the accessibility
	level of the access type actuals.

	* sem_ch6.adb (Analyze_Subprogram_Body): Set the Protected_Formal field
	of each extra formal of a protected operation to reference the
	corresponding extra formal of the subprogram denoted by the
	operation's Protected_Body_Subprogram.
	
	* sinfo.ads, sinfo.adb (Is_Expanded_Build_In_Place_Call): New flag on
	N_Function_Call nodes.

From-SVN: r128786
2007-09-26 12:42:49 +02:00
Robert Dewar
2642f9987e checks.adb, [...]: Improve warnings for address overlays.
2007-09-26  Robert Dewar  <dewar@adacore.com>

	* checks.adb, gnat1drv.adb, sem_util.ads: Improve warnings for address
	overlays.

	* sem_ch13.ads, sem_ch13.adb: Improve warnings for address overlays
	(Analyze_Record_Representation_Clause): Suppress junk warning for
	missing component clause.
	(Analyze_Attribute_Definition_Clause, case Address): Apply the special
	tests for controlled type overlay to composites with controlled
	components.
	(Analyze_Record_Representation_Clause): Add reference for component name

From-SVN: r128785
2007-09-26 12:42:29 +02:00
Javier Miranda
6e818918f2 a-tags.adb:
2007-09-26  Javier Miranda  <miranda@adacore.com>
	    Eric Botcazou  <ebotcazou@adacore.com>

	* a-tags.adb: 
	(Get_HT_Link/Set_HT_Link): Updated to handle the additional level of
	 indirection added to the HT_Link component of the TSD. This is required
	 to statically allocate the TSD.

	* a-tags.ads: 
	Minor reordering of the declarations in the private part. Required to
	add a level of indirection to the contents of the TSD component HT_Link.
	This is required to statically allocate the TSD.

	* decl.c (gnat_to_gnu_entity) <object>: Do not exclude objects with
	Is_Statically_Allocated set from constant objects.
	Do not make exported constants created by the compiler volatile.
	(gnat_to_gnu_param): Do not treat an IN parameter whose address is taken
	as read-only.

	* trans.c (Identifier_to_gnu): For constants, unshare initializers
	before returning them.

	* exp_disp.ads, exp_disp.adb (Building_Static_DT): Spec moved to the
	public part of the package.
	(Make_DT): Move HT_Link component out of the TSD record. For this
	purpose Make_DT now declares a separate object that stores the
	HT_Link value, and initializes the TSD component with the address
	of this new object. The addition of this level of indirection is
	required to statically allocate the TSD because the TSD cannot
	have variable components.
	(Expand_Interface_Conversion): Improve the expanded code.
	(Expand_Interface_Thunk): Set Is_Thunk in the thunk entity.

	* sem_disp.adb (Check_Dispatching_Operation): In case of a body
	declaring a primitive operation ---allowed by RM 3.9.2 (13.e/2)---,
	if we are building static dispatch tables then we must not generate
	extra code to register the primitive because the dispatch table will
	be built at the end of the library package; otherwise we notify that
	we cannot build the static dispatch table.

From-SVN: r128784
2007-09-26 12:42:20 +02:00
Thomas Quinot
e29bd38f96 gnatvsn.ads (PCS_Version_Number, [...]): Removed.
2007-09-26  Thomas Quinot  <quinot@adacore.com>
	    Sergey Rybin  <rybin@adacore.com>

	* gnatvsn.ads (PCS_Version_Number, ASIS_Version_Number): Removed.

	* exp_dist.ads (PCS_Version_Number): Move from Gnatvsn to Exp_Dist,
	where it belongs.

	* opt.ads: Move ASIS_Version_Number from Gnatvsn into Tree_IO.

	* rtsfind.adb (PCS_Version_Number): Move from Gnatvsn to Exp_Dist,
	where it belongs.

	* sem_dist.ads: Minor comment fix

	* tree_io.ads: Move ASIS_Version_Number from Gnatvsn into Tree_IO.

From-SVN: r128783
2007-09-26 12:42:09 +02:00
Olivier Hainque
8dfea8e714 adaint.c (if defined (__Lynx__)): Wrap #def/#undef VMOS_DEV around #include <utime.h> and #define GCC_RESOURCE_H...
2007-09-26  Olivier Hainque  <hainque@adacore.com>

	* adaint.c (if defined (__Lynx__)): Wrap #def/#undef VMOS_DEV around
	#include <utime.h> and #define GCC_RESOURCE_H before
	#include <sys/wait.h>.
	Add more protections in __gnat_translate_vms.

	* expect.c (if defined (__Lynx__)): #define GCC_RESOURCE_H before
	#include <sys/wait.h>.

From-SVN: r128782
2007-09-26 12:41:58 +02:00
Jerome Guitton
ed18d8583b s-taprop-lynxos.adb, [...] (Stop_Task): New function, dummy implementation.
2007-09-26  Jerome Guitton  <guitton@adacore.com>

	* s-taprop-lynxos.adb, s-taprop-tru64.adb, s-taprop-irix.adb,
	s-taprop-hpux-dce.adb, s-taprop-linux.adb, s-taprop-dummy.adb,
	 s-taprop-solaris.adb, s-taprop-vms.adb, s-taprop-mingw.adb,
	s-taprop-posix.adb (Stop_Task): New function, dummy implementation.

	* s-taprop.ads, s-taprop-vxworks.adb (Stop_Task): New function.

	* s-tasdeb.adb (Stop_All_Tasks): New function, implementing a run-time
	function which can be called by the debugger to interrupt the tasks of
	an Ada application asynchronously, as needed on VxWorks.
	(Stop_All_Tasks_Handler): Renamed from Stop_All_Tasks.

	* s-tasdeb.ads (Stop_All_Tasks_Handler): New function declaration,
	renamed from Stop_All_Tasks. Update comments.
	(Stop_All_tasks): New function declaration.

From-SVN: r128781
2007-09-26 12:41:47 +02:00
Hristian Kirtchev
fe8f5daf7b a-calend-vms.adb, [...]: Add a section on leap seconds control along with two entities used to enable...
2007-09-26  Hristian Kirtchev  <kirtchev@adacore.com>

	* a-calend-vms.adb, a-calend.adb: 
	Add a section on leap seconds control along with two entities used to
	enable and disable leap seconds support. The array Leap_Second_Times is
	now constant and contains hard time values pre-generated. Remove
	all elaboration code used to populate the table of leap seconds.

	* bindgen.adb: 
	Add entity Leap_Seconds_Support to the list of global run-time variables
	along with a comment on its usage and values.
	(Gen_Adainit_Ada): Add code to generate the declaration and import of
	Integer variable Leap_Seconds_Support. Set its value to zero (disabled)
	or one (enabled) depending on the presence of binder switch "-y".
	(Gen_Adainit_C): Add code to generate the declaration of external int
	__gl_leap_seconds_support. Set is value to zero (disabled) or one
	(enabled) depending on the presence of binder switch "-y".

	* init.c: Add __gl_leap_seconds_support to the list of global values
	computed by the binder.

From-SVN: r128780
2007-09-26 12:41:35 +02:00