summaryrefslogtreecommitdiffstats
path: root/gcc/ada
Commit message (Collapse)AuthorAgeFilesLines
...
* 2012-06-12 Thomas Quinot <quinot@adacore.com>charlet2012-06-123-24/+39
| | | | | | | | | | | | | | | * sem_prag.adb (Analyze_Pragma, case Unchecked_Union): Do not crash on illegal unchecked union that is a null record. 2012-06-12 Thomas Quinot <quinot@adacore.com> * exp_ch4.adb (Has_Inferable_Discriminants): Reorganize code to treat implicit dereferences with a constrained unchecked union nominal subtype as having inferable discriminants. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188437 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-06-12 Robert Dewar <dewar@adacore.com>charlet2012-06-124-16/+21
| | | | | | | | | | | | | | | | | * sem_ch6.adb: Minor reformatting. 2012-06-12 Eric Botcazou <ebotcazou@adacore.com> * gnat_ugn.texi: Couple of minor corrections. 2012-06-12 Thomas Quinot <quinot@adacore.com> * sem_prag.adb (Check_Variant): An empty component list is not illegal in an unchecked union variant. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188436 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-06-12 Gary Dismukes <dismukes@adacore.com>charlet2012-06-126-40/+110
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * projects.texi: Remove comments. 2012-06-12 Thomas Quinot <quinot@adacore.com> * back_end.adb (Scan_Back_End_Switches): Treat -fdump-scos as synonym of -gnateS. (gnat_post_options): Disable gimple-based SCO generator. * gnat_ugn.texi: Document that -gnateS is an obsolete synonym of -fdump-scos. 2012-06-12 Ed Schonberg <schonberg@adacore.com> * sem_ch6.adb (Different_Generic_Profile): new predicate for Find_Corresponding_Spec, to handle a rare case of accidental overloading in an instance, when the profile of a subprogram body that depends on a formal type becomes compatible with that of a homonym whose profile in the generic mentions the actual type. 2012-06-12 Thomas Quinot <quinot@adacore.com> * gnat1drv.adb: Minor reformatting. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188435 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-06-12 Ed Schonberg <schonberg@adacore.com>charlet2012-06-123-17/+39
| | | | | | | | | | | | | | | | * sem_util.adb (Build_Explicit_Dereference): If the expression is an entity, ensure that the type of the expression is the same as that of the entity. 2012-06-12 Pat Rogers <rogers@adacore.com> * projects.texi: Corrected instances of the word "build" that should be "built" instead. Other similar changes and minor punctuation changes. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188434 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-06-12 Eric Botcazou <ebotcazou@adacore.com>charlet2012-06-125-65/+152
| | | | | | | | | | | | | | | | | | | | | | * sem_util.adb (Is_Atomic_Object): Return true for an atomic component as well as a prefix which is an atomic component. 2012-06-12 Ed Schonberg <schonberg@adacore.com> * exp_prag.adb (Expand_Pragma_Import_Or_Interface): revert previous patch. The processing of interfacing aspects now generates a proper Ada 2005 pragma. * sem_prag.adb (Analyze_Pragma, cases Pragma_Export and Pragma_Import): revert previous patch. The processing of interfacing aspects now generates a proper Ada 2005 pragma. * sem_ch13.adb (Analyze_Aspect_Specifications): generate proper pragam for aspects Convention, Import and Export. Scan list of aspects to collect link name and external name if present, and verify that a complete pragma can be generated. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188430 138bc75d-0d04-0410-961f-82ee72b054a4
* * Makefile.in (GNATLIBCFLAGS_FOR_C): Remove $(PIC_FLAG_FOR_TARGET).hainque2012-06-111-5/+7
| | | | | | | | | | | | | | | | (gnatlib-shared-default): Add $(PIC_FLAG_FOR_TARGET) to GNATLIBCFLAGS_FOR_C passed to gnatlib. (gnatlib-shared-win32): Likewise. (gnatlib-shared-darwin): Likewise. (gnatlib-shared-dual-win32): Pass PIC_FLAG_FOR_TARGET to gnatlib-shared-win32. libada/ * Makefile.in (GNATLIBCFLAGS_FOR_C): Remove $(PICFLAG). git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188390 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Convert GNU_SIZEebotcazou2012-06-114-65/+72
| | | | | | | | | | | | | | | | | to units before invoking allocatable_size_p on it. Remove orphaned comment. Do not use ssize_int. <E_Record_Subtype>: Traverse list in original order. Minor tweak. (allocatable_size_p): Adjust and simplify. (build_subst_list): Use consistent terminology throughout. (build_variant_list): Likewise. Traverse list in original order. (create_field_decl_from): Likewise. (copy_and_substitute_in_size): Likewise. (create_variant_part_from): Add comment about field list order. * gcc-interface/utils.c (build_vms_descriptor): Do not use ssize_int. * gcc-interface/utils2.c (build_allocator): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188382 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/trans.c (Identifier_to_gnu): Test Is_Elementary_Typeebotcazou2012-06-112-3/+13
| | | | | | | | | instead of Is_Scalar_Type for a constant with an address clause. Do not return the underlying constant for a constant used by reference if it holds the address of a constant and an lvalue is required. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188380 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/decl.c (gnat_to_gnu_entity): Do not specifically dealebotcazou2012-06-113-7/+16
| | | | | | | | | | with external constants wrt force_global here... <E_Constant>: ...but here instead. * gcc-interface/utils.c (gnat_pushdecl): Do not put external DECLs onto the list of global DECLs. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188379 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/decl.c (gnat_to_gnu_entity): Translate the Esize onebotcazou2012-06-112-8/+17
| | | | | | | | entry only for elementary types and abort if it is too large. <E_Record_Type>: Make sure the Esize is known before using it. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188378 138bc75d-0d04-0410-961f-82ee72b054a4
* * output.h (merge_weak, assemble_alias,steven2012-06-043-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | initializer_constant_valid_p, initializer_constant_valid_for_bitfield_p): Move protos from here... * tree.h: ... to here. * cgraphclones.c: Do not include output.h. * gimplify.c: Likewise. * reload.c: Likewise. * recog.c: Likewise. * tree-ssa-loop-ivopts.c: Likewise. * tree-switch-conversion.c: Likewise. * c-parser.c: Likewise. * c-typeck.c: Likewise. * Makefile.in: Fix dependencies. c-family/ * c-common.c: Do not include output.h. * c-pragma.c: Likewise. cp/ * semantics.c: Do not include output.h. * decl2.c: Likewise. * friend.c: Likewise. * typeck.c: Likewise. * typeck2.c: Likewise. * Make-lang.in: Fix dependencies. ada/ * gcc-interface/utils2.c: Do not include output.h. * gcc-interface/Make-lang.in: Fix dependencies. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188178 138bc75d-0d04-0410-961f-82ee72b054a4
* * expr.c (expand_expr_real_1 <normal_inner_ref>): Don't allocatematz2012-05-292-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | a kept temp. (expand_expr_real_1 <COMPOUND_LITERAL_EXPR>): Make unreachable. * gimple-fold.c (canonicalize_constructor_val): Canonicalize COMPOUND_LITERAL_EXPR. * function.c (expand_function_start): Don't call expand_decl, instead assert that we have RTL assigned. * tree-ssa-live.c (remove_unused_locals): Clear nonlocal_goto_save_area if its backing variable is removed. * stmt.c (expand_asm_operands): Remove handling of non-lvalues as mem inputs. (expand_decl): Assert that this does nothing. * calls.c (expand_call): Don't call mark_temp_addr_taken. * c-tree.h (c_expand_decl): Remove prototype. c-family/ * c-common.h (c_expand_decl): Remove prototype. ada/ * gcc-interface/utils.c (create_var_decl_1): Don't call expand_decl. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187962 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/decl.c (variant_desc): Rename 'record' to 'new_type'.ebotcazou2012-05-262-8/+24
| | | | | | | | | | | (build_variant_list): Adjust to above renaming. (gnat_to_gnu_entity) <E_Record_Subtype>: Likewise. Give a unique name to the type of the variant containers. (create_variant_part_from): Likewise. Give a unique name to the type of the variant part. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187908 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix formattingebotcazou2012-05-251-9/+9
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187875 138bc75d-0d04-0410-961f-82ee72b054a4
* PR ada/52362ebotcazou2012-05-254-172/+139
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * config.gcc (i[34567]86-*-mingw* | x86_64-*-mingw*): Set gas and gnu_ld variables to yes. * configure.ac (HAVE_GNU_LD): Move to after config.gcc inclusion. (HAVE_GNU_AS): Likewise. * config.in: Regenerate. * configure: Likewise. ada/ * link.c (__gnat_object_file_option): Set to "-Wl,@" for GNU linker. (__gnat_using_gnu_linker): Delete. * gnatlink.adb (Gnatlink): Declare Object_File_Option_Ptr here... Declare Object_File_Option string constant and Using_GNU_response_file boolean constant. (Process_Binder_File): ...instead of here.  Delete Using_GNU_Linker, Opening and Closing local variables.  Do not handle the GNU linker specially. (Write_RF): New procedure to write into the response file.  Escape some characters if a GNU response file is used.  Keep track of error status. Invoke Write_RF to write into the response file.  Delete the file only if the link was successful. * mlib-utl.adb: Do not `with' package System. (Gcc): Likewise.  Declare Object_File_Option string constant and Using_GNU_response_file boolean constant. (Write_RF): Take a string instead of address and length.  Escape some characters if a GNU response file is used. Invoke Write_RF to write into the response file.  Delete the file only if the link was successful.  Do not warn if it cannot be deleted. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187874 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/utils.c (gnat_write_global_declarations): Put a nameebotcazou2012-05-202-1/+10
| | | | | | | on the dummy global variable. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187692 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix oversightebotcazou2012-05-201-0/+11
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187691 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/decl.c (Has_Thiscall_Convention): New macro.ebotcazou2012-05-193-9/+80
| | | | | | | | | | | | | (gnat_to_gnu_entity) <E_Subprogram_Type>: Test it to set the thiscall calling convention (get_minimal_subprog_decl): Likewise. (gnat_first_param_is_class): New predicate. * gcc-interface/misc.c (gnat_handle_option): Fix formatting. * gcc-interface/Makefile.in: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187676 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: For an object atebotcazou2012-05-182-0/+14
| | | | | | | | global level with unconstrained nominal subtype and a non-fixed size, make a variable for the size. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187666 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix dateebotcazou2012-05-151-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187563 138bc75d-0d04-0410-961f-82ee72b054a4
* PR ada/52494ebotcazou2012-05-152-0/+27
| | | | | | | * s-taprop-dummy.adb (Specific): New package. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187562 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-05-15 Olivier Hainque <hainque@adacore.com>charlet2012-05-152-1/+6
| | | | | | | | | * gcc-interface/Make-lang.in (COMMON_FLAGS_TO_PASS): Use WARN_CFLAGS instead of trying to mimic it. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187533 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-05-15 Robert Dewar <dewar@adacore.com>charlet2012-05-1510-397/+64
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * sem_ch5.adb, sem_util.adb, s-stposu.adb, exp_ch4.adb: Minor reformatting. 2012-05-15 Geert Bosch <bosch@adacore.com> * uintp.adb (UI_Rem): Remove optimizations, as they are complex and are not needed. (Sum_Digits): Remove, no longer used. (Sum_Double_Digits): Likewise. 2012-05-15 Yannick Moy <moy@adacore.com> * aspects.ads: Minor typo. 2012-05-15 Thomas Quinot <quinot@adacore.com> * gnat_rm.texi (Scalar_Storage_Order): Fix RM reference. * sem_ch13.adb: Minor comment fix: incorrect RM reference. 2012-05-15 Eric Botcazou <ebotcazou@adacore.com> * sem_prag.adb (Process_Atomic_Shared_Volatile): Propagate atomicity from an object to its underlying type only if it is composite. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187532 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-05-15 Ed Schonberg <schonberg@adacore.com>charlet2012-05-153-2/+35
| | | | | | | | | | | | | | | | * sem_ch5.adb (Analyze_Iterator_Specification): Set kind of loop variable after pre-analysis of iterator name, to prevent premature usage of loop variable. 2012-05-15 Ed Schonberg <schonberg@adacore.com> * sem_util.adb (Is_Variable): In Ada 2012, an explicit dereference that is a rewriting of an expression whose type has a declared Implicit_Derenference aspect is a variable. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187531 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-05-15 Hristian Kirtchev <kirtchev@adacore.com>charlet2012-05-157-39/+226
| | | | | | | | | | | | | | | | | | | | | | * exp_ch4.adb (Insert_Dereference_Action): Reimplemented. The routine performs address and size adjustments for dereferences of heap-allocated controlled objects. This manipulation is needed in order to restore the original state of the memory at the time it was allocated by the finalization machinery. * rtsfind.ads: Add RE_Adjust_Controlled_Dereference to tables RE_Id and RE_Unit_Table. * sinfo.adb (Has_Dereference_Action): New routine. (Set_Has_Dereference_Action): New routine. * sinfo.ads: Add new semantic flag Has_Dereference_Action along its association in nodes. (Has_Dereference_Action): New routine and pragma Inline. (Set_Has_Dereference_Action): New routine and pragma Inline. * s-stposu.ads, s-stposu.adb (Adjust_Controlled_Dereference): New routine. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187530 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-05-15 Thomas Quinot <quinot@adacore.com>charlet2012-05-1515-80/+97
| | | | | | | | | | | | | | | * uintp.adb (Image_Uint): Use UI_Div_Rem to get quotient and remainder of U / Base in a single operation. 2012-05-15 Robert Dewar <dewar@adacore.com> * exp_ch5.adb, inline.adb, sem_ch10.adb, prj.ads, sem_util.adb, a-ngelfu.ads, exp_ch4.adb, exp_ch6.adb, aspects.ads, sem_ch6.adb, vms_data.ads, exp_ch3.adb, prj-env.adb: Minor reformatting. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187529 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-05-15 Thomas Quinot <quinot@adacore.com>charlet2012-05-153-19/+40
| | | | | | | | | | | | | | | | | | | | | * exp_ch4.adb (Has_Inferable_Discriminants): For a qualified expression, use correct node for test on the subtype denoted by the subtype mark. 2012-05-15 Eric Botcazou <ebotcazou@adacore.com> * inline.adb (Scope_In_Main_Unit): Rename into... (In_Main_Unit_Or_Subunit): ...this. Also return true if the subprogram is within a subunit of the main unit. (Add_Inlined_Body): Adjust for above renaming. (Add_Inlined_Subprogram): Likewise. Pass the subprogram directly. (Analyze_Inlined_Bodies): Really set aside inlined subprograms not handled by Add_Inlined_Body. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187528 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-05-15 Ed Schonberg <schonberg@adacore.com>charlet2012-05-1512-138/+280
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * sem_ch10.adb (Expand_With_Clause): In the context of a generic package declaration, a private with-clause on a child unit implies that the implicit with clauses on its parents are private as well. 2012-05-15 Javier Miranda <miranda@adacore.com> * sem_ch6.adb (Is_Interface_Conformant): Add missing call to Base_Type to handle subtypes. * exp_ch6.adb (Expand_Call): For calls located in thunks handle unchecked conversions of access types found in actuals. * exp_disp.adb (Expand_Interface_Thunk): Add missing unchecked conversion to actuals whose type is an access type. Done to avoid reporting spurious errors. 2012-05-15 Vincent Celier <celier@adacore.com> * prj-env.adb (Create_Mapping): Ignore sources that are suppressed (Create_Mapping_File.Process): Ditto * prj-nmsc.adb (Add_Source): Update to take into account suppressed files that may hide inherited sources. (Mark_Excluded_Sources): Mark excluded sources of the current project as suppressed. * prj.ads (Source_Data): New Boolean component Suppressed, defaulted to False 2012-05-15 Thomas Quinot <quinot@adacore.com> * exp_intr.adb: Minor reformatting. 2012-05-15 Thomas Quinot <quinot@adacore.com> * gnat_rm.texi: Document attribute Scalar_Storage_Order. 2012-05-15 Javier Miranda <miranda@adacore.com> * exp_ch3.adb (Build_Offset_To_Top): Modify the expansion of the offset_to_top functions to ensure that their profile is conformant with the profile specified in Ada.Tags. No change in functionality. 2012-05-15 Eric Botcazou <ebotcazou@adacore.com> * inline.adb (Subp_Info): Remove Count and Next_Nopred components, add Processed component and move around Next component. (Add_Call): Reverse meaning of Successors table to the natural one. (Add_Inlined_Body): Do not inline a package if it is in the main unit. (Add_Inlined_Subprogram): Do not add the subprogram to the list if the package is in the main unit. Do not recurse on the successors. (Add_Subp): Adjust to new contents of Subp_Info. (Analyze_Inlined_Bodies): Do not attempt to compute a topological order on the list of inlined subprograms, but compute the transitive closure from the main unit instead. (Get_Code_Unit_Entity): Always return the spec for a package. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187526 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-05-15 Yannick Moy <moy@adacore.com>charlet2012-05-1510-71/+265
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * aspects.ads: Minor addition of comments to provide info on how to add new aspects. 2012-05-15 Thomas Quinot <quinot@adacore.com> * osint.ads: Minor reformatting. 2012-05-15 Thomas Quinot <quinot@adacore.com> * exp_ch5.adb, exp_pakd.adb, sem_util.adb, sem_util.ads (Expand_Assign_Array): Handle the case of a packed bit array within a record with reverse storage order (assign element by element in that case). (In_Reverse_Storage_Order_Record): New subprogram, code extracted from Exp_Pakd. 2012-05-15 Yannick Moy <moy@adacore.com> * a-ngelfu.ads: Add postconditions using Ada 2012 aspect syntax, reflecting some of the RM requirements for these functions, from Annex A.5.1 or G.2.4. 2012-05-15 Thomas Quinot <quinot@adacore.com> * adaint.c: Minor fix: move misplaced comment. 2012-05-15 Doug Rupp <rupp@adacore.com> * vms_data.ads: Enhance help for /IMMEDIATE_ERRORS to discourage use by customers. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187525 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-05-15 Arnaud Charlet <charlet@adacore.com>charlet2012-05-152-1/+7
| | | | | | | | | | | | | * gnat1drv.adb: Enable Exception_Extra_Info in CodePeer_Mode. 2012-05-15 Sergey Rybin <rybin@adacore.com frybin> * gnat_ugn.texi (Complexity Metrics Control section): Fix reference to McCabe's book defining complexity metrics. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187524 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-05-15 Tristan Gingold <gingold@adacore.com>charlet2012-05-158-84/+127
| | | | | | | | | | | | | | | | | | | | | | | | | | | * a-exextr.adb: Add comment. 2012-05-15 Ed Schonberg <schonberg@adacore.com> * sem_ch3.adb: Minor reformatting (remove long dead code). 2012-05-15 Ed Schonberg <schonberg@adacore.com> * aspects.adb, aspects.ads: Add aspects for Convention, Export, External_Name, Import, and Link_Name. * exp_prag.adb (Expand_Pragma_Import_Or_Interface): if the pragma comes from an aspect specification, the entity is the first argument. * sem_prag.adb (Analyze_Pragma, cases Pragma_Export and Pragma_Import): if the pragma comes from an aspect specification, the entity is the first argument, and the second has the value True by default. * sem_ch13.adb (Analyze_Aspect_Specifications): generate pragam for aspect Convention. Add placeholders for Link_Name and External_Name. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187523 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix up changelogs.bernds2012-05-151-0/+4
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187522 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-05-15 Hristian Kirtchev <kirtchev@adacore.com>charlet2012-05-156-44/+64
| | | | | | | | | | | | | | | * exp_ch9.adb (Expand_N_Asynchronous_Select): Extract the statements of the abortable part and triggering alternative after being processed for controlled objects. (Expand_N_Timed_Entry_Call): Code and comment reformatting. 2012-05-15 Robert Dewar <dewar@adacore.com> * sem_util.adb: Minor code reorganization. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187520 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-05-15 Robert Dewar <dewar@adacore.com>charlet2012-05-1513-138/+171
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * exp_ch7.adb, exp_ch11.adb, exp_ch11.ads: Minor reformatting. 2012-05-15 Thomas Quinot <quinot@adacore.com> * sem_res.adb (Resolve): Enforce E.2.2(11/2) and E.2.2(12) for 'Unrestricted_Access and 'Unchecked_Access (not just 'Access): even in those cases, a remote access type may only designate a remote subprogram. 2012-05-15 Thomas Quinot <quinot@adacore.com> * sem_util.adb, sem_util.ads, sem_cat.adb: Minor refactoring. (Enclosing_Lib_Unit_Node): Rename to Enclosing_Comp_Unit_Node. 2012-05-15 Ed Schonberg <schonberg@adacore.com> * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Remove obsolete checks on nested inlined subprograms. 2012-05-15 Tristan Gingold <gingold@adacore.com> * fe.h (Get_RT_Exception_Name): Declare. 2012-05-15 Tristan Gingold <gingold@adacore.com> * raise-gcc.c (db_region_for): Use %p + cast to avoid warnings. (get_region_description_for): Likewise. (db_action_for): Likewise. (get_call_site_action_for): Likewise. (get_ttype_entry_for): Remove useless 'const'. (PERSONALITY_FUNCTION): Add ATTRIBUTE_UNUSED on uw_exception_class. 2012-05-15 Tristan Gingold <gingold@adacore.com> * a-exextr.adb (Unhandled_Exception_Terminate): Save occurrence on the stack to avoid a dynamic memory allocation. 2012-05-15 Bob Duff <duff@adacore.com> * exp_ch9.adb (Expand_N_Timed_Entry_Call): Move initialization of E_Stats and D_Stats after Process_Statements_For_Controlled_Objects, because those calls can destroy the Statements list. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187518 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-05-15 Tristan Gingold <gingold@adacore.com>charlet2012-05-1510-388/+967
| | | | | | | | | | | | | | | | | | | * fe.h (Get_RT_Exception_Name): Define. * types.ads (RT_Exception_Code): Update comment. * exp_ch11.adb, exp_ch11.ads (Get_RT_Exception_Name): New procedure to get the name of the rcheck subprograms. * a-except-2005.adb (Rcheck_xx): Rename. * a-except.adb Likewise, but also keep the old Rcheck_nn routines for bootstrap. * arith64.c (__gnat_mulv64): Use __gnat_rcheck_CE_Overflow_Check instead of __gnat_rcheck_10. * gcc-interface/trans.c (build_raise_check): Use Get_RT_Exception_Name to create the __gnat_rcheck routines name. * gcc-interface/Make-lang.in: Update dependencies. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187517 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-05-15 Tristan Gingold <gingold@adacore.com>charlet2012-05-155-78/+189
| | | | | | | | | | | | | | | | | | | | | * exp_ch7.adb (Build_Exception_Handler): Save current occurrence only if -gnateE. (Build_Object_Declaration): Declare E_Id only if -gnateE. (Build_Raise_Statement): Call Raise_From_Controlled_Operation only if -gnateE (else raise PE). * s-soflin.adb (Save_Library_Occurrence): Handle null occurrence access. * a-except-2005.adb (Reraise_Library_Exception_If_Any): Call Raise_From_Controlled_Operation only if the saved occurrence is not null, otherwise raise PE. 2012-05-15 Yannick Moy <moy@adacore.com> * exp_alfa.ads: Add comments describing the Alfa mode. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187514 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-05-15 Tristan Gingold <gingold@adacore.com>charlet2012-05-156-41/+39
| | | | | | | | | | | | | | | | * s-soflin.ads, s-soflin.adb (Save_Library_Occurrence): Parameter E is now of type Exception_Occurrence_Access. * exp_ch7.ads, exp_ch7.adb (Build_Exception_Handler): Adjust generated call to Save_Library_Occurrence. 2012-05-15 Thomas Quinot <quinot@adacore.com> * exp_ch4.adb (Rewrite_Coextension): Use Insert_Action to insert temporary variable decl at the proper place in the tree. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187513 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-05-15 Hristian Kirtchev <kirtchev@adacore.com>charlet2012-05-157-10/+183
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * g-calend.adb (Split_At_Locale): New routine. (Time_Of_At_Locale): New routine. * g-calend.ads (Split_At_Locale): New routine. (Time_Of_At_Locale): New routine. 2012-05-15 Gary Dismukes <dismukes@adacore.com> * a-except.ads: Minor reformatting. 2012-05-15 Ed Schonberg <schonberg@adacore.com> * sem_ch5.adb (Analyze_Loop_Parameter_Specification): If the loop parameter specification is part of a quantified expression, and it already carries a type, do not repeat the analysis to preserve type information: a range attribute reference may have been rewritten as a range with static bounds, and its re-analysis may type it as Integer by default, instead of the original index type. 2012-05-15 Robert Dewar <dewar@adacore.com> * s-osprim-mingw.adb: Minor reformatting. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187512 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-05-15 Arnaud Charlet <charlet@adacore.com>charlet2012-05-154-10/+35
| | | | | | | | | | * a-except.adb, a-except.ads (Reraise_Library_Exception_If_Any): New. Mark this unit preelaborate. * s-soflin.ads: Make package Preelaborate. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187511 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-05-15 Robert Dewar <dewar@adacore.com>charlet2012-05-154-4/+13
| | | | | | | | * s-osprim-mingw.adb, sem_eval.adb, a-calend-vms.ads: Minor reformatting git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187510 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-05-15 Ed Schonberg <schonberg@adacore.com>charlet2012-05-159-52/+233
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * sem_eval.adb (Subtypes_Statically_Match): In Ada 2012, static matching requires matching of static subtype predicates as well. 2012-05-15 Ed Schonberg <schonberg@adacore.com> * sem_case.adb (Analyze_Choices): If the subtype of the expression has a non-static predicate, the case alternatives must cover the base type. 2012-05-15 Tristan Gingold <gingold@adacore.com> * a-calend-vms.ads: Add pragma export to Split and Time_Of. Merge comments from a-calend.ads to minimize differences. 2012-05-15 Sergey Rybin <rybin@adacore.com frybin> * gnat_ugn.texi: gnatmetric: add a small example that demonstrates the difference between control coupling and unit coupling. 2012-05-15 Tristan Gingold <gingold@adacore.com> * bindgen.adb (Gen_Header): Remove code to emit LE_Set. (Gen_Finalize_Library): Replace test with a call to __gnat_reraise_library_exception_if_any. * s-soflin.ads (Library_Exception): Do not export. (Library_Exception_Set): Likewise. * a-except-2005.ads, a-except-2005.adb (Reraise_Library_Exception_If_Any): New procedure. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187509 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-05-15 Geert Bosch <bosch@adacore.com>charlet2012-05-157-34/+50
| | | | | | | | | | | | | | | | | | | | | | | | | * sem_ch9.adb (Allows_Lock_Free_Implementation): out or in out parameters can be access types as well, not just scalar types, so relax the test to Is_Elementary_Type. 2012-05-15 Bob Duff <duff@adacore.com> * s-atacco.ads s-atacco.adb: Replace pragma Elaborate_Body with pragma No_Body. (Xyz): Remove Xyz, which is apparently unnecessary. 2012-05-15 Tristan Gingold <gingold@adacore.com> * a-calend-vms.adb: Complete previous change. 2012-05-15 Bob Duff <duff@adacore.com> * s-win32.ads: Minor comment fix. * s-osprim-mingw.adb: Minor editing. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187508 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-05-15 Robert Dewar <dewar@adacore.com>charlet2012-05-154-66/+60
| | | | | | | | * exp_ch9.adb, sem_ch9.adb, sem_ch13.adb: Minor reformatting. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187506 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-05-15 Robert Dewar <dewar@adacore.com>charlet2012-05-1516-628/+942
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * g-comlin.adb, g-comlin.ads: Minor reformatting. 2012-05-15 Vincent Pucci <pucci@adacore.com> * aspects.adb, aspects.adb: Reordering of the Aspect_Idi list. New aspect Aspect_Lock_Free. * einfo.adb, einfo.ads: New flag Uses_Lock_Free (flag 188). (Set_Uses_Lock_Free): New routine. (Uses_Lock_Free): New routine. * exp_ch7.adb (Is_Simple_Protected_Type): Return False for lock-free implementation. * exp_ch9.adb (Allows_Lock_Free_Implementation): Moved to Sem_Ch9. (Build_Lock_Free_Unprotected_Subprogram_Body): Protected procedure uses __sync_synchronise. Check both Object_Size and Value_Size. (Expand_N_Protected_Body): Lock_Free_Active renames Lock_Free_On. (Expand_N_Protected_Type_Declaration): _Object field removed for lock-free implementation. (Install_Private_Data_Declarations): Protection object removed for lock-free implementation. (Make_Initialize_Protection): Protection object initialization removed for lock-free implementation. * rtsfind.ads: RE_Atomic_Synchronize and RE_Relaxed added. * sem_ch13.adb (Analyze_Aspect_Specifications): Aspect_Lock_Free analysis added. * sem_ch9.adb (Allows_Lock_Free_Implementation): New routine. (Analyze_Protected_Body): Allows_Lock_Free_Implementation call added. (Analyze_Protected_Type_Declaration): Allows_Lock_Free_Implementation call added. (Analyze_Single_Protected_Declaration): Second analysis of aspects removed. * s-atopri.ads: Header added. (Atomic_Synchronize): New routine. 2012-05-15 Robert Dewar <dewar@adacore.com> * exp_ch7.ads: Add comment. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187505 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-05-15 Hristian Kirtchev <kirtchev@adacore.com>charlet2012-05-1512-308/+432
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * a-calend.adb (Day_Of_Week): The routine once again treats all dates as historic. (Formatting_Operations.Split): All calls to UTC_Time_Offset are now controlled through formal parameter Is_Historic. (Formatting_Operations.Time_Of): All calls to UTC_Time_Offset are now handled through formal parameter Is_Historic. (Split): Update the call to Formatting_Operations.Split. (Time_Of): Update the call to Formatting_Operations.Time_Of. (To_Ada_Time): Update the call to Formatting_Operations.Time_Of. (To_Strict_Tm): Update the call to Formatting_Operations.Split. * a-calend.ads (Split): Add new formal Is_Historic along with comment on usage. This routine is now exported for the purposes of GNAT.Calendar.Locale. (Time_Of): Remove defaults. Add new formal Is_Historic along with comment on usage. This routine is now exported for the purposes of GNAT.Calendar.Locale. * a-calend-vms.adb (Split): Update the call to Formatting_Operations.Split. (Time_Of): Update the call to Formatting_Operations.Time_Of. * a-calend-vms.ads (Split): Add new formal Is_Historic along with comment on usage. (Time_Of): Remove defaults. Add new formal Is_Historic along with comment on usage. * a-calfor.adb (Split): Update the call to Formatting_Operations.Split. (Time_Of): Update the call to Formatting_Operations.Time_Of. * impunit.adb: Include g-calloc to the list of non-RM defined units. 2012-05-15 Vincent Celier <celier@adacore.com> * prj-nmsc.adb (Add_Source): Always add the source if it is excluded, to avoid incorrect duplicate checks. 2012-05-15 Yannick Moy <moy@adacore.com> * sem_aux.ads: Correct typo. * sem_eval.adb (Compile_Time_Known_Value): Return False in Alfa mode for a deferred constant when outside of the scope of its full view. 2012-05-15 Emmanuel Briot <briot@adacore.com> * g-comlin.adb, g-comlin.ads (Define_Switch): Allow specifying the name of the argument, for the automatic help message. (Getopt): do not systematically initialize switches with string values to the empty string, when the user has already specified a default. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187504 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-05-14 Manuel López-Ibáñez <manu@gcc.gnu.org>manu2012-05-142-2/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | PR 53063 c-family/ * c.opt (Wc++0X-compat,Wdelete-non-virtual-dtor,Wjump-misses-init, Wreorder): Use LangEnabledBy. * c-opts.c (c_common_handle_option): Do not enable them explicitly. Call lang-specific generated functions. (c_common_post_options): Do not set them here. gcc/ * doc/options.texi: (LangEnabledBy): Document it. * optc-gen.awk: Handle LangEnabledBy. * opth-gen.awk: Generate declaration for lang-specific functions. * opt-read.awk: Record lang numbers. * opt-functions.awk (flag_set_p): Ignore the arguments of flags. (lang_sanitized_name): New. ada/ * gcc-interface/misc.c: Include opts.h and options.h before tm.h. (gnat_handle_option): Call lang-specific generated function. fortran/ * options.c (gfc_handle_option): Call lang-specific generated function. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187462 138bc75d-0d04-0410-961f-82ee72b054a4
* * attribs.c (decl_attributes): Avoid emitting a warning ifbernds2012-05-141-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ATTR_FLAG_BUILT_IN. * doc/rtl.texi (CALL_INSN_FUNCTION_USAGE): Use lowercase for rtx codes. Document meaning of sets inside CALL_INSN_FUNCTION_USAGE. * c-family/c-common.c (DEF_ATTR_STRING): Define and undefine as necessary. * builtin-attrs.def (DEF_ATTR_FOR_STRING): Define. Use it to define a string "1". (ATTR_RET1_NOTHROW_NONNULL_LEAF): New attr definition. * builtins.def (BUILT_IN_MEMCPY, BUILT_IN_MEMMOVE, BUILT_IN_MEMSET, BUILT_IN_STRCPY): Use it for these functions. * postreload.c (reload_combine): Deal with SETs inside CALL_INSN_FUNCTION_USAGE. * caller-save.c (setup_save_areas, save_call_clobbered_regs): Look for REG_RETURNED notes and use a cheap restore if possible. * ira-int.h (struct ira_allocno): New member cheap_calls_crossed_num. (ALLOCNO_CHEAP_CALLS_CROSSED_NUM): New macro. * ira-build.c (ira_create_allocno, create_cap_allocno, propagate_allocno_info, propagate_some_info_from_allocno, copy_info_to_removed_store_destination, ira_flattening): Handle it. * ira-lives.c (pseudo_regno_single_word_and_live_p, find_call_crossed_cheap_reg): New static functions. (process_bb_node_lives): Look for SETs in CALL_INSN_FUNCTION_USAGE, and set ALLOCNO_CHEAP_CALLS_CROSSED_NUM if possible. Also make a REG_RETURNED note in that case. * ira.c (setup_reg_renumber): Change assert to allow cases where allocnos only cross calls for which they are cheap to restore. * ira-costs.c (ira_tune_allocno_costs): Compare ALLOCNO_CALLS_CROSSED_NUM to ALLOCNO_CHEAP_CALLS_CROSSED_NUM rather than 0. * reg-notes.def (REG_RETURNED): New note. * cse.c (cse_insn): Likewise. * sched-deps.c (sched_analyze_insn): Likewise. * expr.c (init_block_move_fn): Set a "fn spec" attribute. * calls.c (decl_return_flags): New static function. (expand_call): Generate a SET in CALL_INSN_FUNCTION_USAGE for functions that return one of their arguments. * lto/lto-lang.c (handle_fnspec_attribute): New static function. (lto_attribute_table): Add "fn spec". (DEF_ATTR_STRING): Define and undefine along with the other macros. * regcprop.c (struct kill_set_value_data): New. (kill_set_value): Interpret data as a pointer to such a struct. Do nothing if the caller wants the register to be ignored. (copyprop_hardreg_forward_1): Handle SETs in CALL_INSN_FUNCTION_USAGE. testsuite/ * gcc.target/i386/retarg.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187459 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-05-13 Manuel López-Ibáñez <manu@gcc.gnu.org>manu2012-05-132-2/+7
| | | | | | | | | | | gcc/ * optc-gen.awk: Error instead of warning for conflicting help. ada/ * gcc-interface/lang.opt (I): Comment out help text with no effect. (nostdinc): Comment out help text with no effect. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187437 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/Makefile.in (TOOLS_LIBS): Add ../../ggc-none.o.ebotcazou2012-05-122-2/+6
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187428 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-05-11 Manuel López-Ibáñez <manu@gcc.gnu.org>manu2012-05-112-9/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PR 53063 gcc/ * doc/options.texi (EnabledBy): Document * opts.c: Include opts.h and options.h before tm.h. (finish_options): Do not handle some sub-options here... (common_handle_option): ... instead call common_handle_option_auto here. * optc-gen.awk: Handle EnabledBy. * opth-gen.awk: Declare common_handle_option_auto. * common.opt (Wuninitialized): Use EnabledBy. Delete Init. (Wmaybe-uninitialized): Likewise. (Wunused-but-set-variable): Likewise. (Wunused-function): Likewise. (Wunused-label): Likewise. (Wunused-value): Likewise. (Wunused-variable): Likewise. * opt-read.awk: Create opt_numbers array. ada/ * gcc-interface/misc.c (gnat_parse_file): Move before ... (gnat_handle_option): ... this. Use handle_generated_option. c-family/ * c-opts.c (c_common_handle_option): Use handle_generated_option to enable sub-options. fortran/ * options.c: Include diagnostics.h instead of diagnostics-core.h. (set_Wall): Do not see warn_unused here. (gfc_handle_option): Set it here using handle_generated_option. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187403 138bc75d-0d04-0410-961f-82ee72b054a4
OpenPOWER on IntegriCloud