2008-04-07 Peter Bergner <bergner@vnet.ibm.com>
PR middle-end/PR28690
* rtlanal.c: (commutative_operand_precedence): Give SYMBOL_REF's the
same precedence as REG_POINTER and MEM_POINTER operands.
From-SVN: r134095
* ada-tree.h (TYPE_PACKED_ARRAY_TYPE_P): Only set it when bit-packed.
* decl.c (gnat_to_gnu_entity): Adjust for above change.
<E_Record_Type>: Try to get a better form of the component for
packing, even if it has an integral mode.
<E_Record_Subtype>: Likewise.
* trans.c (gnat_to_gnu): Do not require BLKmode for the special
exception suppressing the final conversion between record types.
Co-Authored-By: Richard Kenner <kenner@adacore.com>
From-SVN: r134093
* decl.c (gnat_to_gnu_entity) <object>: If -gnatd.a and not optimizing
alignment for space, promote the alignment of non-scalar variables with
no size and alignment.
* gigi.h (gnat_types_compatible_p): Declare.
* misc.c (LANG_HOOKS_TYPES_COMPATIBLE_P): Set to above predicate.
* trans.c (gnat_to_gnu): Revert revision 129339 change. Minor cleanup.
* utils.c (gnat_types_compatible_p) : New predicate.
(convert): Use it throughout to test for cases where a mere view
conversion is sufficient.
* utils2.c (build_binary_op): Minor tweaks.
(build_unary_op): Likewise.
From-SVN: r134092
2008-04-08 Richard Guenther <rguenther@suse.de>
PR middle-end/35834
* tree-ssa-address.c (create_mem_ref): Use POINTER_PLUS_EXPR
for adding index to base.
From-SVN: r134090
* config/i386/mingw32.h (ENABLE_EXECUTE_STACK): New.
(MINGW_ENABLE_EXECUTE_STACK): New.
(IN_LIBGCC2): For libgcc include windows.h file for
function declarations.
From-SVN: r134089
* gnat.dg/parent_ltd_with-child_full_view.adb: New test.
* gnat.dg/rt1.adb: New test.
* gnat.dg/test_time_stamp.adb: New test.
* gnat.dg/specs/warn_star.ads: New test.
* gnat.dg/specs/aggr1.ads: New test.
From-SVN: r134086
* gnat.dg/parent_ltd_with-child_full_view.adb: New test.
* gnat.dg/rt1.adb: New test.
* gnat.dg/test_time_stamp.adb: New test.
* gnat.dg/specs/warn_star.ads: New test.
* gnat.dg/specs/aggr1.ads: New test.
From-SVN: r134085
(Task_Address): New subtype of System.Address
(Task_Address_Size): New constant size of System.Address
(Alternate_Stack_Size): New constant.
From-SVN: r134079
* config/avr/avr.h (TARGET_CPU_CPP_BUILTINS): Define
__AVR_HAVE_EIJMP_EICALL__ macro if device have EIJMP and EICALL
instructions.
* config/avr/avr.c (avr_mcu_types): Set AVR31 architecture for
atmega103 device.
From-SVN: r134069
2008-04-08 Jerome Lambourg <lambourg@adacore.com>
Arnaud Charlet <charlet@adacore.com>
* bindgen.adb (Gen_Adainit_Ada): If the main program is a CIL function,
then use __gnat_set_exit_status to report the returned status code.
* comperr.adb (Compiler_Abort): Convert most bug boxes into clean error
messages on .NET, since some constructs of the language are not
properly supported.
* gnatlink.adb (Gnatlink): In case the command line is too long for the
.NET linker, gnatlink now concatenate all .il files and pass this to
ilasm.
From-SVN: r134066
2008-04-08 Emmanuel Briot <briot@adacore.com>
* g-comlin.ads, g-comlin.adb (Expansion): Remove unreachable return
statement.
(Get_Configuration): New subprogram.
* prj-pp.ads, prj-pp.adb (Pretty_Print): new parameters Id and Id_Tree
These optional parameters help preserve the casing of the project's name
when pretty-printing.
From-SVN: r134065
2008-04-08 Ed Schonberg <schonberg@adacore.com>
* binde.adb (Gather_All_Links, Gather_Dependencies): units that are
mentioned in limited_with_clauses to do create semantic dependencies
even though they appear in the ali file.
From-SVN: r134064
2008-04-08 Robert Dewar <dewar@adacore.com>
Bob Duff <duff@adacore.com>
* impunit.adb: Add Interfaces.Java.JNI, System.Strings.Stream_Ops,
Ada.Calendar.Conversions, Ada.Dispatching.EDF, GNAT.Time_Stamp
* s-intman-mingw.adb: Minor comment fix -- spell 'explicitly' correctly
* g-trasym.adb: Minor comment fix -- spell 'explicitly' correctly
* g-trasym.ads: Minor comment improvements
* s-stalib.adb: Minor comment fix -- spell 'explicitly' correctly
* a-sequio.ads, a-direio.ads: improve message for tagged type
* a-strunb.ads: Minor reformatting
* a-tifiio.adb: Minor reformatting
* atree.adb (Fix_Parents): Use clearer names for formals
Cleanup and simplify code
Use named notation in calls
* exp_fixd.adb (Do_Multiply_Fixed_Universal): Use named notation in
confusing calls
* uintp.adb: Used named notation for some confusing calls
* bindusg.adb: Minor change in one line of output
* cstand.adb: Minor reformatting of src representation of Standard
* a-assert.ads: Add comment.
* g-decstr.adb: Fix bad indentation
* expander.ads, expander.adb: Code clean up.
* sem_dist.ads, sem_type.adb, g-dirope.ads, g-exctra.ads, s-valwch.adb,
s-wchstw.adb, targparm.ads, widechar.adb: Minor reformatting
* i-cstrin.adb: Fix casing error in formal parameter name in call
From-SVN: r134063
2008-04-08 Thomas Quinot <quinot@adacore.com>
* gen-soccon.c: Bump year in copyright notices.
* g-soccon-vxworks.ads: Add new constant IP_PKTINFO
From-SVN: r134061
2008-04-08 Vincent Celier <celier@adacore.com>
Robert Dewar <dewar@adacore.com>
* vms_conv.adb (Output_Version): Print "GNAAMP" instead of "GNAT when
AAMP_On_Target is set.
* vms_data.ads: Add NOxxx to style check switch list
Add entry COMPONENTS for -gnatVe
Add VMS qualifiers for -eL (/FOLLOW_LINKS_FOR_FILES) and --subdirs=
(/SUBDIRS=).
(GCC_Switches): Add /ALL_BACK_END_WARNINGS.
Add qualifiers for gnatmetric coupling options
Add note that -gnata enables all checks
Add entries [NO]PARAMETER_ORDER for -gnatw.p[P]
Fix inconsistency for VMS qualifier for the gnatpp '-rnb' option
New warning flag -gnatw.e
* usage.adb: Add entries for -gnaty+ -gnaty- -gnatyy
Add entry for -gnatyN (forgotten before)
Line for new warning switch -gnatw.p
New warning flag -gnatw.e
* gnat_ugn.texi: Add documentation fpr project file switch -aP
Document -gnaty - + y
Replace occurences of "package specification" with "package spec"
Define preprocessing symbols in documentation of gnatprep
Clarify reason for distinguishing overflow checking
Add documentation for project-aware tool switches -eL and --subdirs=
Complete list of configuration pragmas
Specify that, even when gnatmake switch -x is used, mains on the command
line need to be sources of project files.
Editing of gnatcheck/gnatmetric doc.
Add documentation for -gnatw.p/-gnatw.P
Add missing documentation for -fno-inline-functions.
Add documentation for -gnatw.e
* gnat_rm.texi: Add documentation for No_Default_Initialization
Replace occurences of "package specification" with "package spec"
Document use of * in Warnings Off string
Update documentation of alignment/component clauses.
Add documentation for Invalid_Value
Document new consistency rule for Optimize_Alignment
Add documentation for Precondition and Postcondition pragmas
Add documentation for Check and Check_Policy pragmas
Document new Enum_Val attribute
Remove requirement for static string in pragma Assert
Add documentation on GNAT.Time_Stamp
* ug_words: add entry for -gnatVe
Add entries for -gnat.p[P] /WARNINGS=[NO]PARAMETER_ORDER
Add entry for -gnatw.e
* debug.adb: Add missing documentation for d.a flag
Document new -gnatd.a switch.
Add documentation for new gnatmake debug switch -df
From-SVN: r134060
2008-04-08 Vincent Celier <celier@adacore.com>
* a-direct.adb (Start_Search): Check for Name_Error before checking for
Use_Error, as specified in the RM. Check if directory is open and raise
Use_Error if it is not.
From-SVN: r134059
2008-04-08 Sergey Rybin <rybin@adacore.com>
* tree_io.ads: Increase ASIS_Version_Number because of adding Sem_Aux
to the set of the GNAT components needed by ASIS.
From-SVN: r134056
2008-04-08 Robert Dewar <dewar@adacore.com>
* stylesw.adb: Implement -gnaty + - y options
(Set_GNAT_Style_Check_Options): Includ I in style check string
* stylesw.ads: Add comments for new style switch options
From-SVN: r134055
2008-04-08 Hristian Kirtchev <kirtchev@adacore.com>
* s-strxdr.adb, s-stratt.ads, s-stratt.adb (Block_IO_OK): New
subprogram.
Add new subtype S_WWC, unchecked conversion routines From_WWC and
To_WWC.
(I_WWC, O_WWC): New routines for input and output of
Wide_Wide_Character.
From-SVN: r134052
2008-04-08 Hristian Kirtchev <kirtchev@adacore.com>
* s-stoele.ads, s-soflin.ads: Move the location of
Dummy_Communication_Block from System.Storage_Elements to
System.Soft_Links.
* s-tpobop.ads: Add comment on usage of Dummy_Communication_Block to
emulate Communication_Block in certain scenarios.
From-SVN: r134051
2008-04-08 Robert Dewar <dewar@adacore.com>
* s-imgdec.adb (Set_Decimal_Digits): Fix error when input is zero with
negative scale
(Set_Decimal_Digits): Properly handle Aft=0 (equivalent to Aft=1)
Properly handle case where Aft > Scale and input number is less than
one.
From-SVN: r134050
2008-04-08 Ed Schonberg <schonberg@adacore.com>
Robert Dewar <dewar@adacore.com>
* sem_aggr.adb (Analyze_N_Extension_Aggregate): Add legality checks for
the ancestor part of an extension aggregate for a limited type.
(Resolve_Array_Aggregate): Issue warning for sliding of aggregate with
enumeration index bounds.
(Resolve_Array_Aggregate): Add circuit for diagnosing missing choices
when array is too short.
(Check_Expr_OK_In_Limited_Aggregate): Move function
Check_Non_Limited_Type from Resolve_Record_Aggregate to top level (and
change name).
(Resolve_Array_Aggregate.Resolve_Aggr_Expr):
Check_Expr_OK_In_Limited_Aggregates called to check for illegal limited
component associations.
(Check_Non_Limited_Type): Moved to outer level and renamed.
(Resolve_Record_Aggregate): In an extension aggregate, an association
with a box initialization can only designate a component of the
extension, not a component inherited from the given ancestor
* sem_case.adb: Use new Is_Standard_Character_Type predicate
From-SVN: r134049
2008-04-08 Javier Miranda <miranda@adacore.com>
* sem.adb (Analyze): Consider case in which we analyze an empty node
that was generated by a call to a runtime function that is not
available under the configurable runtime.
* sem.ads (Inside_Freezing_Actions): New flag.
(Save_Check_Policy_List): New field in scope stack entry
From-SVN: r134048
2008-04-08 Robert Dewar <dewar@adacore.com>
* scng.adb (Scan_Identifier): Handle case of identifier starting with
wide character using UTF-8 encoding.
From-SVN: r134047