1. 27 Sep, 2007 8 commits
    • re PR tree-optimization/33565 (spurious warning: assuming signed overflow does… · e233ac97
      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
      Ian Lance Taylor committed
    • Mapped location support · c3048783
      	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
      Eric Botcazou committed
    • rs6000.c (rs6000_legitimize_address): Do not reduce offset by units of 0x10000… · 3c1eb9eb
      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
      Joseph Myers committed
    • openmp_stack.f90: Fix typo. · dcb859a3
      	* gfortran.dg/openmp_stack.f90: Fix typo.
      	* gfortran.dg/recursive_stack.f90: Fix typo.
      
      From-SVN: r128834
      Francois-Xavier Coudert committed
    • simplify-rtx.c (comparison_result): New. · 39641489
      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
      Paolo Bonzini committed
    • re PR c++/33493 (Broken diagnostic: 'dl_expr' not supported by dump_expr) · 62081704
      /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
      Paolo Carlini committed
    • builtins.c (expand_builtin, [...]): Use new %K format string specifier for diagnostics. · c94ed7a1
      	* 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
      Jakub Jelinek committed
    • Daily bump. · dcbb0d14
      From-SVN: r128828
      GCC Administrator committed
  2. 26 Sep, 2007 32 commits
    • re PR libfortran/30780 (FPE in CPU_TIME (and possibly others) with -ffpe-trap=underflow) · 8307c61b
      	PR fortran/30780
      	* invoke.texi: Add note to -ffpe-trap option. Fix typos.
      
      From-SVN: r128825
      Francois-Xavier Coudert committed
    • stl_algo.h: Add return type information to comments. · 4f99f3d0
      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
      Benjamin Kosnik committed
    • re PR target/33479 (SyncTest Intermittent failing on MIPS) · 01fdb4cf
      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
      David Daney committed
    • re PR tree-optimization/33563 (DSE removes non-dead store) · e2e79a18
      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
      Richard Guenther committed
    • Resync. · 68b72a44
      From-SVN: r128812
      Arnaud Charlet committed
    • re PR c/25309 (ICE on initialization of a huge array) · 7bfcb402
      	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
      Joseph Myers committed
    • re PR tree-optimization/30375 (tree-ssa-dse incorrectly removes struct initialization) · 15caa2ab
      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
      Richard Guenther committed
    • makegpr.adb (Link_Executables): Do not fail when the root project has no… · 43943e40
      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
      Vincent Celier committed
    • vms_data.ads: Revise gnatmetric qualifiers. · 7954ad60
      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
      Sergey Rybin committed
    • s-wchstw.adb: provide messages for run time unit exceptions · d031ecc4
      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
      Robert Dewar committed
    • snames.adb, snames.ads: Change Include_Option to Include_Switches · de93c8b3
      2007-09-26  Vincent Celier  <celier@adacore.com>
      
      	* snames.adb, snames.ads: Change Include_Option to Include_Switches
      
      From-SVN: r128806
      Vincent Celier committed
    • sem_warn.adb (Check_References): Catch more cases of unreferenced packages. · 1cc40a10
      2007-09-26  Robert Dewar  <dewar@adacore.com>
      
      	* sem_warn.adb (Check_References): Catch more cases of unreferenced
      	packages.
      
      From-SVN: r128805
      Robert Dewar committed
    • sem_res.adb (Resolve_Call): If the call is dispatching... · e65f50ec
      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
      Ed Schonberg committed
    • sem_ch4.adb (Analyze_Qualified_Expression): Apply name resolution rule for… · 45c8b94b
      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
      Ed Schonberg committed
    • sem_ch3.adb (Derive_Subprograms): If the interface parent is a direct ancestor… · 71f62180
      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
      Ed Schonberg committed
    • sem_attr.adb (Analyze_Access_Attribute): Fix missing set of Address_Taken. · 6f31a9d7
      2007-09-26  Robert Dewar  <dewar@adacore.com>
      
      	* sem_attr.adb (Analyze_Access_Attribute): Fix missing set of
      	Address_Taken.
      
      From-SVN: r128801
      Robert Dewar committed
    • par-ch4.adb (P_Record_Or_Array_Component_Association): Change Ada 95 message to… · d123579a
      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
      Gary Dismukes committed
    • osint.adb, osint.ads: Minor reformatting · 6de1be02
      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
      Vincent Celier committed
    • Make-lang.in: Update dependencies.. · 503299f9
      2007-09-26  Vincent Celier  <celier@adacore.com>
      
      	* Make-lang.in: Update dependencies..
      
      From-SVN: r128798
      Vincent Celier committed
    • makeutl.ads (Main_Config_Project): Moved to gpr_util.ads · a70f5d82
      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
      Vincent Celier committed
    • makeutl.ads (Main_Config_Project): Moved to gpr_util.ads · 15cf0748
      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
      Vincent Celier committed
    • make.adb: (Kill): New procedure (__gnat_kill imported) · 0a8e311d
      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
      Vincent Celier committed
    • gnatcmd.adb (Check_Files): Do not include sources that have been removed by attributes... · a338b0e3
      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
      Vincent Celier committed
    • gnatbind.adb: If there are several ALI files specified and there is a main program to bind... · 22630237
      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
      Vincent Celier committed
    • g-dirope.adb (Remove_Dir): In case we are removing directories recursively... · 37d54b99
      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
      Florian Villoing committed
    • g-comlin.ads, [...] (Command_Line_Configuration, [...]): New types · da2ac8c2
      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
      Emmanuel Briot committed
    • g-calend.adb (Has_53_Weeks): Rename to Last_Year_Has_53_Weeks. · dd05ba27
      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
      Hristian Kirtchev committed
    • freeze.adb (Freeze_Entity): Remove check for preelaborable initialization of a full view. · 31b5873d
      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
      Gary Dismukes committed
    • exp_dbug.adb (Debug_Renaming_Declaration): Set Is_Internal on the debug variable… · af04dc07
      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
      Gary Dismukes committed
    • exp_ch5.adb: Activate memmove type processing if debug flag d.s is set · f23585f1
      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
      Robert Dewar committed
    • einfo.adb (Is_Thunk): New attribute applicable to subprograms. · fdce4bb7
      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
      Javier Miranda committed
    • checks.adb, [...]: Improve warnings for address overlays. · 2642f998
      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
      Robert Dewar committed