2009-04-16 Thomas Quinot <quinot@adacore.com>
* snames.ads-tmpl (Name_Defined): New predefined name for use by the
integrated preprocessor.
* prep.ads, prep.adb (Setup_Hooks): New subprogram.
(Initialize): Split into two subprograms, Initialize (to be called
prior to compiler command line processing) and Setup_Hooks (to be called
later on when the first source file is loaded).
* gprep.adb: Change call to Prep.Initialize to call to Prep.Setup_Hooks.
Add call to Prep.Initialize.
* sinput-l.adb, prepcomp.adb: Change call to Prep.Initialize to call
to Prep.Setup_Hooks.
2009-04-16 Pascal Obry <obry@adacore.com>
* adaint.h, adaint.c (__gnat_chdir): New routine.
Simple wrapper routines used to convert to proper encoding on
Windows.
* s-crtl.ads: Use __gnat_chdir instead of direct call to the C library.
* a-direct.adb, g-dirope.adb: Use chdir from System.CRTL.
From-SVN: r146174
2009-04-16 Quentin Ochem <ochem@adacore.com>
* sinput-p.adb (Clear_Source_File_Table): Use Sinput.Initialize instead
of Source.Init.
2009-04-16 Eric Botcazou <ebotcazou@adacore.com>
* a-convec.ads (Is_Empty): Mark inline.
2009-04-16 Nicolas Roche <roche@adacore.com>
* init.c (__gnat_init_float): Initialize FPU on x86_64 windows
2009-04-16 Thomas Quinot <quinot@adacore.com>
* prepcomp.adb: Minor reformatting
From-SVN: r146170
2009-04-16 Jerome Lambourg <lambourg@adacore.com>
* sem_prag.adb (Process_Import_Or_Interface): With .NET,
Access_Subprogram types can also be imported.
(Check_Form_Of_Interface_Name): Accept '/' character in entity CIL
names.
2009-04-16 Ed Schonberg <schonberg@adacore.com>
* exp_ch6.adb (Make_Build_In_Place_Call_In_Object_Declaration):
preserve homonym chain when the declaration is rewritten into a
renaming declaration, in order to preserve visibility structure.
From-SVN: r146169
2009-04-16 Jerome Lambourg <lambourg@adacore.com>
* sem_prag.adb (Analyze_Pragma): Make sure that pragma pack is not
taken into account for VM targets.
2009-04-16 Hristian Kirtchev <kirtchev@adacore.com>
* g-calend.ads, g-calend.adb (Week_In_Year): Now calls
Year_Week_In_Year.
(Year_Week_In_Year): New routine which contains the original code from
Week_In_Year. Add the missing special case for January 1st falling on
a Monday.
From-SVN: r146167
2009-04-16 Thomas Quinot <quinot@adacore.com>
* exp_dist.adb (Build_From_Any_Call): For a subtype that is a generic
actual type, use the base type to build the To_Any function.
(Build_From_Any_Function): Remove junk, useless subtype conversion.
2009-04-16 Thomas Quinot <quinot@adacore.com>
* exp_ch9.adb, exp_code.adb, tbuild.adb, sem_case.adb,
restrict.adb: Minor code reorganization (use
Add_{Char,Str}_To_Name_Buffer instead of inlining it by hand).
From-SVN: r146166
2009-04-16 Robert Dewar <dewar@adacore.com>
* gnat_rm.texi: Document effect of Assume_No_Invalid_Values and -gnatVa
used together.
2009-04-16 Ed Schonberg <schonberg@adacore.com>
* sem_ch4.adb (Find_Equality_Types): Filter out types that are not
usable before calling Add_One_Interp, to resolve spurious ambiguities.
From-SVN: r146163
2009-04-16 Ed Schonberg <schonberg@adacore.com>
* sem_ch12.adb (Map_Formal_Package_Entities): renamed from Map_Entities
and made global, to be used when installing parents of a child
instance, to provide mappings for entities declared in formal packages
of ancestor units. Now called from Install_Formal_Packages.
2009-04-16 Doug Rupp <rupp@adacore.com>
* s-taskin.adb (Initialize_ATCB): Initialize Debug_Events with others
notation for clarity.
* s-taprop-vxworks.adb, s-taprop-tru64.adb, s-taprop-vms.adb,
s-taprop-mingw.adb, s-taprop-linux.adb, s-taprop-solaris.adb,
s-taprop-irix.adb, s-taprop-hpux-dce.adb, s-taprop-posix.adb
(Initialize): Initialize Known_Tasks with Environment task.
* s-taskin.ads (Task_States): Move new states to end for the sake of
GDB compatibility.
* s-tassta.adb (Task_Wrapper): Fix comment about Enter_Task.
From-SVN: r146158
2009-04-16 Ed Schonberg <schonberg@adacore.com>
* exp_ch9.adb (Expand_N_Protected_Type_Declaration): If a protected
operation has an inline pragma, propagate the flag to the internal
unprotected subprogram.
From-SVN: r146156
* s-taprop-vxworks.adb, s-taprop-tru64.adb, s-taprop-mingw.adb,
s-taprop-linux.adb, s-taprop-solaris.adb, s-taprop-irix.adb,
s-taprop-hpux-dce.adb, s-taprop-posix.adb
(Enter_Task): Move Known_Tasks initialization to s-tassta.adb
* s-taprop-vms.adb (Enter_Task): Likewise.
(Initialize): Import DBEXT, Debug_Register. Register DBGEXT callback.
* s-tassta.adb (Activate_Tasks): After task creation set state to
Activating, vice Runnable. Initialize Known_Tasks, moved here from
s-taprop.adb (Enter_Task). Set Debug_Event_Activating for debugger.
Set state to Runnable after above.
(Task_Wrapper): Set Debug_Event_Run. In exception block set
Debug_Event_Terminated.
* s-taskin.ads (Task_States): Add new states Activiting and
Activator_Delay_Sleep.
(Bit_Array, Debug_Event_Array): New types.
(Global_Task_Debug_Event_Set: New flag.
(Common_ATCB): New field Debug_Events.
* s-taskin.adb (Initialize_ATCB): Initialize Debug_Events.
* s-tasren.adb (Timed_Selective_Wait): Set Activator_Delay_Sleep vice
Activator_Sleep.
* s-tasini.adb (Locked_Abort_To_Level): Add case alternatives for when
Activating and when Acceptor_Delay_Sleep.
* s-tasdeb.ads: Add constants for Debug_Events.
(Debug_Event_Kind_Type): New subtype.
(Signal_Debug_Event): New subprogram.
* s-tasdeb.adb (Signal_Debug_Event): New null subprogram.
From-SVN: r146155
2009-04-16 Thomas Quinot <quinot@adacore.com>
* sem_elim.adb: Minor reformatting
* freeze.adb: Minor reformatting
* exp_ch4.adb: Minor reformatting
From-SVN: r146154
2009-04-16 Emmanuel Briot <briot@adacore.com>
* prj-nmsc.adb (Path_Name_Of): fix memory leak
2009-04-16 Robert Dewar <dewar@adacore.com>
* sinfo.ads (Backwards_OK, Forwards_OK): Clarify documentation
2009-04-16 Vincent Celier <celier@adacore.com>
* fmap.adb (Initialize): Show the current line when the mapping file
is detected as "incorrectly formatted".
2009-04-16 Robert Dewar <dewar@adacore.com>
* sem_ch12.adb: Minor reformatting
* sem_ch5.adb: Minor comment addition
* sem_util.adb: Minor reformatting
* sinput-p.adb: Minor reformatting
Add missing pragma Warnings (On)
From-SVN: r146152
2009-04-16 Eric Botcazou <ebotcazou@adacore.com>
* exp_ch5.adb (Expand_Assign_Array): For the GCC back-end, do not
generate an assignment loop in case of overlap.
From-SVN: r146150
2009-04-16 Olivier Hainque <hainque@adacore.com>
* gnat_ugn.texi (gnatmem description): Make it explicit that
gnatmem is designed to work in association with static runtime
library only.
2009-04-16 Thomas Quinot <quinot@adacore.com>
* sem_type.adb: Minor reformatting
2009-04-16 Hristian Kirtchev <kirtchev@adacore.com>
* s-osprim-darwin.adb, s-osprim-posix.adb (Clock): Add comment
concerning return codes of gettimeofday and return value check.
2009-04-16 Ed Falis <falis@adacore.com>
* s-vxwext-kernel.ads (Int_Lock, Int_Unlock): set to convention C so
body can be renaming of imported routines.
2009-04-16 Vasiliy Fofanov <fofanov@adacore.com>
* s-asthan-vms-alpha.adb: Disable warnings on alignment in a more
targeted fashion.
From-SVN: r146149
PR c++/39551
* gcc/cp/call.c (build_over_call): Set TREE_NO_WARNING on the
compiler-generated INDIRECT_REF expression.
* gcc/cp/cvt.c (convert_to_void): Emit warning when stripping off
INDIRECT_REF.
* gcc/testsuite/g++.dg/warn/Wunused-13.C: New testcase.
From-SVN: r146132
gcc/:
* c.opt (Wenum-compare): Enable for C and Objc. Initialize to -1.
* c-opts.c (c_common_handle_option): For C, set warn_enum_compare
for -Wall and for -Wc++-compat.
(c_common_post_options): For C++, set warn_enum_compare if not
already set.
* c-tree.h (struct c_expr): Add field original_type.
(build_external_ref): Update declaration.
* c-parser.c (c_parser_braced_init): Set original_type.
(c_parser_initelt): Likewise.
(c_parser_expr_no_commas): Likewise.
(c_parser_conditional_expression): Likewise.
(c_parser_cast_expression): Likewise.
(c_parser_unary_expression): Likewise. Pull setting of
original_code to top of function.
(c_parser_sizeof_expression): Set original_type.
(c_parser_alignof_expression): Likewise.
(c_parser_postfix_expression): Likewise. Pull setting of
original_code to top of function.
(c_parser_postfix_expression_after_paren_type): Set
original_type.
(c_parser_postfix_expression_after_primary): Likewise.
(c_parser_expression): Likewise.
* c-typeck.c (build_external_ref): Add type parameter. Change all
callers.
(c_expr_sizeof_expr): Set original_type field.
(parser_build_unary_op): Likewise.
(parser_build_binary_op): Likewise. Optionally warn about
comparisons of enums of different types.
(digest_init): Set original_type field.
(really_start_incremental_init): Likewise.
(push_init_level, pop_init_level): Likewise.
* doc/invoke.texi (Warning Options): -Wenum-compare now
supported in C.
gcc/testsuite/:
* gcc.dg/Wenum-compare-1.c: New testcase.
From-SVN: r146127
2009-04-15 Richard Guenther <rguenther@suse.de>
* tree-ssa-pre.c (eliminate): When replacing a PHI node carry
out a necessary conversion.
* tree-ssa-sccvn.c (run_scc_vn): Also assign value-ids to
names we didn't value number.
* tree-mudflap.c (mf_build_check_statement_for): Use correct types.
From-SVN: r146121
2009-04-15 Richard Guenther <rguenther@suse.de>
PR tree-optimization/39764
* tree-ssa-ccp.c (get_value): Canonicalize value with
canonicalize_float_value.
* g++.dg/torture/pr39764.C: New testcase.
From-SVN: r146120
2009-04-15 Hristian Kirtchev <kirtchev@adacore.com>
* exp_ch9.adb: Comment improvements.
(Build_Entry_Family_Name): Add parentheses around the index of a entry
family member.
2009-04-15 Bob Duff <duff@adacore.com>
* sem_warn.adb (Check_Infinite_Loop_Warning): Catch cases like
"while X /= null loop" where X is unchanged inside the loop. We were
not warning in this case, because of the pointers -- we feared that the
loop variable could be updated via a pointer, if there are any pointers
around the place. But that is impossible in this case.
* sem_util.adb (May_Be_Lvalue): This routine was overly pessimistic in
the case of dereferences. In X.all, X cannot be an l-value. We now
catch that case (and implicit dereferences, too).
2009-04-15 Vincent Celier <celier@adacore.com>
* sinput-p.ads, sinput-p.adb (Clear_Source_File_Table): New procedure
2009-04-15 Ed Schonberg <schonberg@adacore.com>
* sem_ch12.adb (Is_Actual_Of_Previous_Formal): Make fully recursive.
From code reading.
(Analyze_Package_Instantiation): If generic unit in child instance is
the same as generic unit in parent instance, look for an outer homonym
to locate the desired generic.
From-SVN: r146112
2009-04-15 Bob Duff <duff@adacore.com>
* sem_ch5.adb (Analyze_Loop_Statement): Don't check for infinite loop
warnings unless the loop comes from source, because checking generated
loops is a waste of time, and makes it harder to debug
Check_Infinite_Loop_Warning.
* sem_warn.adb (Check_Infinite_Loop_Warning): If the local variable
tested in the while loop is a renaming, do not warn. Otherwise, we get
false alarms, because it's usually renaming something that we can't
deal with (an indexed component, a global variable, ...).
* gnat_rm.texi: Fix typo
2009-04-15 Thomas Quinot <quinot@adacore.com>
* sem_ch6.adb: Minor reformatting
From-SVN: r146111
2009-04-15 Hristian Kirtchev <kirtchev@adacore.com>
* exp_ch7.adb (Expand_Ctrl_Function_Call): Check for the case where the
immediate parent of the controlled function call is a component
association.
2009-04-15 Ed Schonberg <schonberg@adacore.com>
* sem_ch8.adb (Use_One_Type): If the type is tagged, indicate that the
corresponding class-wide type is also in use.
2009-04-15 Thomas Quinot <quinot@adacore.com>
* frontend.adb: Minor comment fix
From-SVN: r146110
2009-04-15 Robert Dewar <dewar@adacore.com>
* gnatchop.adb (BOM_Length): New global variable
(Write_Unit): Add new parameter Write_BOM
(Write_Chopped_Files): Check for BOM and set Write_BOM for call
to Write_Unit
* gnat_ugn.texi: Add note on propagation of BOM by gnatchop
2009-04-15 Geert Bosch <bosch@adacore.com>
* system-mingw-x86_64.ads, system-darwin-x86_64.ads
(Backend_Overflow_Checks): Set to True.
2009-04-15 Gary Dismukes <dismukes@adacore.com>
* par-ch3.adb (P_Type_Declaration): Issue an error if the synchronized
keyword is given in a record extension.
2009-04-15 Hristian Kirtchev <kirtchev@adacore.com>
* exp_ch7.adb (Expand_Ctrl_Function_Call): Procede with the expansion
of a controlled function call in the context of a record aggregate.
This does not apply to array aggregates since the call will be expanded
into assignments.
2009-04-15 Ed Falis <falis@adacore.com>
* s-osinte-vxworks-kernel.adb, s-osinte-vxworks.adb,
s-osinte-vxworks.ads s-vxwext.ads, s-vxwext-kernel.adb,
s-vxwext-kernel.ads: Reorganize s-osinte-vxworks* and s-vxwext*.
From-SVN: r146108
2009-04-15 Robert Dewar <dewar@adacore.com>
* sem_ch13.adb (Unchecked_Conversions): Store source location instead
of node for location for warning messages.
* gnatchop.adb: Minor reformatting
2009-04-15 Ed Schonberg <schonberg@adacore.com>
* exp_ch6.adb: additional guard for renaming declarations for in
parameters of an array type.
From-SVN: r146105