summaryrefslogtreecommitdiffstats
path: root/gcc/ada
Commit message (Collapse)AuthorAgeFilesLines
...
* gnattools/ebotcazou2011-10-126-132/+63
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Makefile.in (LOOSE_WARN): Delete. (GCC_WARN_CFLAGS): Set to -W -Wall. (TOOLS_FLAGS_TO_PASS_1): Delete. (TOOLS_FLAGS_TO_PASS_1re): Rename into... (TOOLS_FLAGS_TO_PASS_RE): ...this. (gnattools-native): Use TOOLS_FLAGS_TO_PASS_NATIVE. (regnattools): Use TOOLS_FLAGS_TO_PASS_RE. libada/ * Makefile.in (LOOSE_WARN): Delete. (GCC_WARN_CFLAGS): Likewise. (WARN_CFLAGS): Likewise. (GNATLIBFLAGS): Add -nostdinc. (GNATLIBCFLAGS_FOR_C): Add -W -Wall. (LIBADA_FLAGS_TO_PASS): Remove WARN_CFLAGS. * configure.ac (warn_cflags): Delete. * configure: Regenerate. gcc/ada/ * sem_util.adb (Denotes_Same_Prefix): Fix fatal warning. * gcc-interface/Make-lang.in (WARN_ADAFLAGS): New. (ALL_ADAFLAGS): Include WARN_ADAFLAGS. (ADA_FLAGS_TO_PASS): Likewise. (COMMON_FLAGS_TO_PASS): New. (ADA_TOOLS_FLAGS_TO_PASS): Use COMMON_FLAGS_TO_PASS. In the regular native case, also use FLAGS_TO_PASS and ADA_FLAGS_TO_PASS. (gnatlib): Use COMMON_FLAGS_TO_PASS. (ada.install-common): Likewise. (install-gnatlib): Likewise. (install-gnatlib-obj): Likewise. (gnattools): Use ADA_TOOLS_FLAGS_TO_PASS for gnattools1 as well. (gnat-cross): Delete. (gnatboot): Likewise. (gnatboot2): Likewise. (gnatboot3): Likewise. (gnatstage1): Likewise. (gnatstage2): Likewise. * gcc-interface/Makefile.in (SOME_ADAFLAGS): Likewise. (MOST_ADAFLAGS): Likewise. (LOOSE_CFLAGS): Likewise. (gnat-cross): Likewise. (GNATLIBFLAGS): Add -W -Wall. (GNATLIBCFLAGS_FOR_C): Likewise. * gcc-interface/lang.opt: Remove C-specific warnings. Add doc lines. * gcc-interface/misc.c (gnat_handle_option): Remove obsolete cases. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179878 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/trans.c (Attribute_to_gnu): Use remove_conversions.ebotcazou2011-10-124-32/+29
| | | | | | | | | | | | | (push_range_check_info): Likewise. (gnat_to_gnu) <N_Code_Statement>: Likewise. * gcc-interface/utils2.c (build_unary_op) <INDIRECT_REF>: Likewise. (gnat_invariant_expr): Likewise. * gcc-interface/utils.c (compute_related_constant): Likewise. (max_size): Fix handling of SAVE_EXPR. (remove_conversions): Fix formatting. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179873 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/ada-tree.h (DECL_LOOP_PARM_P): New flag.ebotcazou2011-10-128-69/+454
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (DECL_INDUCTION_VAR): New macro. (SET_DECL_INDUCTION_VAR): Likewise. * gcc-interface/gigi.h (convert_to_index_type): Declare. (gnat_invariant_expr): Likewise. * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: If this is a loop parameter, set DECL_LOOP_PARM_P on it. * gcc-interface/misc.c (gnat_print_decl) <VAR_DECL>: If DECL_LOOP_PARM_P is set, print DECL_INDUCTION_VAR instead of DECL_RENAMED_OBJECT. * gcc-interface/trans.c (gnu_loop_label_stack): Delete. (struct range_check_info_d): New type. (struct loop_info_d): Likewise. (gnu_loop_stack): New stack. (Identifier_to_gnu): Set TREE_READONLY flag on the first dereference built for a by-double-ref read-only parameter. If DECL_LOOP_PARM_P is set, do not test DECL_RENAMED_OBJECT. (push_range_check_info): New function. (Loop_Statement_to_gnu): Push a new struct loop_info_d instead of just the label. Reference the label and the iteration variable from it. Build the special induction variable in the unsigned version of the size type, if it is larger than the base type. And attach it to the iteration variable if the latter isn't by-ref. In the iteration scheme case, initialize the invariant conditions in front of the loop if deemed profitable. Use gnu_loop_stack. (gnat_to_gnu) <N_Exit_Statement>: Use gnu_loop_stack. <N_Raise_Constraint_Error>: Always process the reason. In the range check and related cases, and if loop unswitching is enabled, compute invariant conditions and push this information onto the stack. Do not translate again the condition if it has been already translated. * gcc-interface/utils.c (record_global_renaming_pointer): Assert that DECL_LOOP_PARM_P isn't set. (convert_to_index_type): New function. * gcc-interface/utils2.c (build_binary_op) <ARRAY_REF>: Use it in order to convert the index from the base index type to sizetype. (gnat_invariant_expr): New function. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179868 138bc75d-0d04-0410-961f-82ee72b054a4
* Convert standard builtin functions from being arrays to using a functional ↵meissner2011-10-113-6/+15
| | | | | | interface git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179820 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix ChangeLog format for revision 177233.gerald2011-10-081-3/+4
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179712 138bc75d-0d04-0410-961f-82ee72b054a4
* PR lto/50492ebotcazou2011-10-073-9/+27
| | | | | | | | | | | | * gcc-interface/gigi.h (gnat_pushdecl): Adjust comment. * gcc-interface/utils.c (global_context): New variable. (gnat_pushdecl): Initialize it and set it as the DECL_CONTEXT of DECLs that are either public external or at top level. Use "No" macro. (end_subprog_body): Call decl_function_context. (rest_of_subprog_body_compilation): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179652 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/gigi.h (gnat_useless_type_conversion): Declare.ebotcazou2011-10-075-16/+400
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (rest_of_subprog_body_compilation): Likewise. * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Variable>: For renaming, test for useless conversions by means of gnat_useless_type_conversion. * gcc-interface/trans.c: Include bitmap.h and cgraph.h. (language_function): Add named_ret_val and other_ret_val. (f_named_ret_val): New macro. (f_other_ret_val): Likewise. (gigi): Call rest_of_subprog_body_compilation. (struct nrv_data): New structure. (is_nrv_p): New predicate. (prune_nrv_r): New helper function. (prune_nrv_in_block): New function. (finalize_nrv_r): New helper function. (finalize_nrv): New function. (return_value_ok_for_nrv_p): New predicate. (build_return_expr): If optimization is enabled, record candidates for the Named Return Value optimization. (build_function_stub): Call rest_of_subprog_body_compilation. (Subprogram_Body_to_gnu): If optimization is enabled and there are candidates, finalize the Named Return Value optimization. Call rest_of_subprog_body_compilation. (call_to_gnu): At the end, if a return value is needed, simplify the result before wrapping it up in a COMPOUND_EXPR. * gcc-interface/utils.c (end_subprog_body): Split into... (rest_of_subprog_body_compilation): ...this. New function. (gnat_useless_type_conversion): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179650 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-10-06 Thomas Quinot <quinot@adacore.com>charlet2011-10-0645-404/+284
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * einfo.ads, exp_attr.adb, exp_ch3.adb, exp_ch4.adb, exp_ch7.adb, exp_ch9.adb, exp_ch9.ads, exp_strm.adb, exp_util.adb, freeze.adb, g-debpoo.ads, opt.ads, par-ch12.adb, par-ch2.adb, par-ch3.adb, par-ch5.adb, par-ch6.adb, sem_aggr.adb, sem_attr.adb, sem_cat.adb, sem_ch10.adb, sem_ch12.adb, sem_ch3.adb, sem_ch4.adb, sem_ch5.adb, sem_ch6.adb, sem_intr.adb, sem_res.ads, sem_type.adb, sem_util.adb, s-regpat.adb, s-tpopde-vms.ads: Minor reformatting. * s-osinte-freebsd.ads: Fix for tasking failures on FreeBSD. 2011-10-06 Ed Schonberg <schonberg@adacore.com> * a-cihase.adb, a-ciorma.adb: Avoid accessibility checks in container references. 2011-10-06 Matthew Heaney <heaney@adacore.com> * a-cuprqu.ads, a-cuprqu.adb, a-cbprqu.ads, a-cbprqu.adb (Dequeue_Only_High_Priority): Protected procedure now implemented. 2011-10-06 Vincent Celier <celier@adacore.com> * g-trasym.adb: Replace old implementation with the default implementation that returns list of addresses as "0x...". * g-trasym.ads: Update the list of platforms with the full capability. Indicate that there is a default implementation for other platforms. * g-trasym-unimplemented.ads, g-trasym-unimplemented.adb: Remove. * gcc-interface/Makefile.in: Remove g-trasym-unimplemented, as there is now a default implementation for all platforms without the full capability. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179631 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-10-06 Robert Dewar <dewar@adacore.com>charlet2011-10-0614-604/+322
| | | | | | | | | | | | | | | | | | | | | * a-ciorse.adb, a-cihase.adb, a-cihase.ads, a-coorse.adb, a-cborse.adb, a-comutr.adb, a-ciorma.adb, a-cbmutr.adb, a-cbmutr.ads, a-cbhase.adb, a-cbhase.ads: Minor reformatting and code reorganization (use conditional expressions). 2011-10-06 Robert Dewar <dewar@adacore.com> * sem_res.adb (Resolve_Arithmetic_Op): Fix bad warning for floating divide by zero. 2011-10-06 Ed Schonberg <schonberg@adacore.com> * sem_ch6.adb: Limited interfaces that are not immutably limited are OK in return statements. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179629 138bc75d-0d04-0410-961f-82ee72b054a4
* ada:iains2011-09-302-1/+8
| | | | | | | | | | | Partial reversion of r179358. * gcc-interface/Makefile.in (Darwin): Partial reversion of previous change to powerpc section. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179384 138bc75d-0d04-0410-961f-82ee72b054a4
* ada:iains2011-09-292-35/+20
| | | | | | | | | * gcc-interface/Makefile.in (Darwin): Factor LIBGNAT_TARGET_PAIRS across the port. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179358 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-09-27 Ed Schonberg <schonberg@adacore.com>charlet2011-09-2717-239/+989
| | | | | | | | | | | | | | | | | | * a-cbhase.adb, a-cbhase.ads, a-cborse.adb, a-cborse.ads, a-cihase.adb, a-cihase.ads, a-ciorse.adb, a-ciorse.ads, a-coorse.adb, a-coorse.ads: Add iterator machinery to bounded sets and indefinite sets. * a-coorma.ads: Minor reformmating. * einfo.ads: Improve the comment describing the Directly_Designated_Type function. * a-ciorma.adb, a-ciorma.ads: Add iterator machinery to indefinite ordered maps. * gcc-interface/Makefile.in, gcc-interface/Make-lang.in: Update dependencies. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179260 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-09-27 Robert Dewar <dewar@adacore.com>charlet2011-09-2710-65/+245
| | | | | | | | | | | | | | | | | | | | | | | * a-comutr.ads: Minor reformatting. 2011-09-27 Ed Schonberg <schonberg@adacore.com> * a-cimutr.adb, a-cimutr.ads, a-cbmutr.adb, a-cbmutr.ads: Add children iterators to multiway trees. 2011-09-27 Yannick Moy <moy@adacore.com> * debug.adb (d.D): New option for strict Alfa mode. * opt.ads (Strict_Alfa_Mode): New flag to interpret compiler permissions as strictly as possible. * sem_ch3.adb (Signed_Integer_Type_Declaration): In non-strict Alfa mode, now, interpret ranges of base types like GNAT does; in strict mode, simply change the range of the implicit base Itype. * gnat1drv.adb: Update comments. Set Strict_Alfa_Mode. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179258 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-09-27 Robert Dewar <dewar@adacore.com>charlet2011-09-274-4/+90
| | | | | | | | | | | | | * exp_ch9.adb: Minor comment fixes. 2011-09-27 Ed Schonberg <schonberg@adacore.com> * a-comutr.adb, a-comutr.ads: Add children iterators on multiway trees. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179257 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-09-27 Eric Botcazou <ebotcazou@adacore.com>charlet2011-09-274-9/+72
| | | | | | | | | | | | | * checks.adb (Apply_Scalar_Range_Check): Use Designated_Type instead of Directly_Designated_Type in the indirect array case. 2011-09-27 Robert Dewar <dewar@adacore.com> * exp_util.adb, exp_aggr.adb: Minor reformatting. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179256 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-09-27 Ed Schonberg <schonberg@adacore.com>charlet2011-09-277-17/+47
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * sinfo.ads, par-ch3.adb: Minor comment update: aspect specification on subtype declarations. * exp_aggr.adb: Minor comment update. 2011-09-27 Eric Botcazou <ebotcazou@adacore.com> * exp_util.adb (Safe_Prefixed_Reference): Remove always-false test in the N_Explicit_Dereference case. Fold double logical negation in the special loop case and conditionalize it on Variable_Ref being true. 2011-09-27 Ed Schonberg <schonberg@adacore.com> * sem_ch4.adb (Analyze_Selected_Component): If the prefix is a single protected object and the selector is a discriminant or an entry family, this is a non-overloaded candidate interpretation, and possible primitive operations of the type must not be examined. 2011-09-27 Arnaud Charlet <charlet@adacore.com> * s-taspri-posix-noaltstack.ads (Lock): Mark fields aliased. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179255 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-09-27 Pascal Obry <obry@adacore.com>charlet2011-09-2710-9/+74
| | | | | | | | | | | | | | | | | | | | | * s-osinte-hpux.ads, s-osinte-aix.ads, s-osinte-solaris-posix.ads, s-osinte-irix.ads, s-osinte-darwin.ads, s-osinte-freebsd.ads: Add dummy definitions for pthread_rwlock_t and pthread_rwlockattr_t on all POSIX platforms. * s-taprop-irix.adb, s-taprop-posix.adb (Initialize_Lock): Fix lock reference. (Finalize_Lock): Likewise. (Write_Lock): Likewise. (Unlock): Likewise. 2011-09-27 Tristan Gingold <gingold@adacore.com> * s-tassta.adb (Task_Wrapper): Increase Guard_Page_Size value for windows 64. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179254 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-09-27 Pascal Obry <obry@adacore.com>charlet2011-09-2731-453/+112
| | | | | | | | | | | | | | | | | | | | | | | | | * s-osinte-hpux.ads, s-taprop-vxworks.adb, s-taspri-vxworks.ads, s-taprop-tru64.adb, s-osinte-aix.ads, s-taspri-posix-noaltstack.ads, s-taspri-mingw.ads, s-taprop-vms.adb, s-tpoben.adb, s-tpoben.ads, s-taprop-mingw.adb, s-taprob.adb, s-taprob.ads, s-osinte-solaris-posix.ads, s-taprop-solaris.adb, s-taspri-solaris.ads, s-osinte-irix.ads, s-taprop-irix.adb, s-osinte-darwin.ads, s-taspri-dummy.ads, s-taspri-posix.ads, s-taprop.ads, s-taspri-vms.ads, s-osinte-freebsd.ads, s-taprop-hpux-dce.adb, s-taspri-hpux-dce.ads, s-taspri-tru64.ads, s-taprop-dummy.adb, s-taprop-posix.adb: Revert previous changes. (Lock): Now a record containing the two possible lock (mutex and read/write) defined in OS_Interface. * s-taprop-linux.adb (Finalize_Protection): Use r/w lock for 'R' locking policy. (Initialize_Protection): Likewise. (Lock): Likewise. (Lock_Read_Only): Likewise. (Unlock): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179253 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-09-27 Pascal Obry <obry@adacore.com>charlet2011-09-2713-76/+90
| | | | | | | | | | | | | | | * s-taspri-posix-noaltstack.ads (RW_Lock): This type is now defined as OS_Interface.pthread_rwlock_t. 2011-09-27 Robert Dewar <dewar@adacore.com> * exp_ch9.adb, a-cimutr.adb, a-cimutr.ads, gnat1drv.adb, a-comutr.adb, a-comutr.ads, exp_dist.adb, a-cbmutr.adb, a-cbmutr.ads, sem_ch5.adb, sem_util.adb: Minor reformatting. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179252 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-09-27 Pascal Obry <obry@adacore.com>charlet2011-09-2726-40/+462
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * s-taprop.ads (Initialize_Lock)[RW_Lock]: New spec for r/w lock. (Finalize_Lock)[RW_Lock]: Likewise. (Write_Lock)[RW_Lock]: Likewise. (Unlock)[RW_Lock]: Likewise. (Read_Lock): Define L as RW_Lock (instead of Lock). * s-taprop-linux.adb (Initialize_Lock)[RW_Lock]: New routine for r/w lock. (Finalize_Lock)[RW_Lock]: Likewise. (Write_Lock)[RW_Lock]: Likewise. (Unlock)[RW_Lock]: Likewise. (Read_Lock): Define L as RW_Lock (instead of Lock). * s-taprop-vxworks.adb, s-taprop-tru64.adb, s-taprop-vms.adb, s-taprop-mingw.adb, s-taprop-solaris.adb, s-taprop-irix.adb, s-taprop-hpux-dce.adb, s-taprop-dummy.adb, s-taprop-posix.adb (Initialize_Lock)[RW_Lock]: Same implementation as corresponding routine for standard lock. (Finalize_Lock)[RW_Lock]: Likewise. (Write_Lock)[RW_Lock]: Likewise. (Unlock)[RW_Lock]: Likewise. (Read_Lock): Define L as RW_Lock (instead of Lock). * s-taprob.ads, s-tpoben.ads (Protection): Add RWL (RW_Lock) in the record definition. * s-taprob.adb, s-taproben.adb (Finalize_Protection): Use r/w lock for 'R' locking policy. (Initialize_Protection): Likewise. (Lock): Likewise. (Lock_Read_Only): Likewise. (Unlock): Likewise. * s-taspri-posix.ads (RW_Lock): New type defined as OS_Interface.pthread_rwlock_t. * s-taspri-vxworks.ads, s-taspri-posix-noaltstack.ads, s-taspri-mingw.ads, s-taspri-solaris.ads, s-taspri-dummy.ads, s-taspri-posix.ads, s-taspri-vms.ads, s-taspri-hpux-dce.ads, s-taspri-tru64.ads (RW_Lock): New type defined as alias to Lock. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179251 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-09-27 Pascal Obry <obry@adacore.com>charlet2011-09-2710-19/+136
| | | | | | | | | | | | | | | | | | | | | * exp_ch9.adb, s-taspri-posix.ads: Minor reformatting. 2011-09-27 Pascal Obry <obry@adacore.com> * s-osinte-aix.ads, s-osinte-darwin.ads, s-osinte-freebsd.ads, s-osinte-hpux.ads, s-osinte-irix.ads, s-osinte-solaris-posix.ads (pthread_rwlock_t): New definition alias of pthread_mutex_t. (pthread_rwlockattr_t): New definition alias of pthread_mutexattr_t. * s-osinte-linux.ads (pthread_rwlock_t, pthread_rwlockattr_t, pthread_rwlockattr_init, pthread_rwlockattr_destroy, pthread_rwlockattr_setkind_np, pthread_rwlock_init, pthread_rwlock_destroy, pthread_rwlock_rdlock, pthread_rwlock_wrlock, pthread_rwlock_unlock): New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179250 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-09-27 Pascal Obry <obry@adacore.com>charlet2011-09-277-17/+42
| | | | | | | | | | | | | | | | | | | | * rtsfind.ads: Add RE_Lock_Read_Only into rtsfind circuitry. (RE_Id): Add RE_Lock_Read_Only. (RE_Unit_Table): Likewise. * sem_prag.adb (Process_Convention): Change Pragma_Locking_Policy to lift restriction on first character. Handle now the Name_Concurrent_Readers_Locking where policy character is set to 'R'. * snames.ads-tmpl (Name_Concurrent_Readers_Locking): New constant. * exp_ch9.adb (Build_Protected_Subprogram_Body): Generate a read only lock for function in protected object. * s-taprob.ads (Lock_Read_Only): Remove obsolete comment as this routine is now used. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179248 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix oversightebotcazou2011-09-261-7/+7
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179190 138bc75d-0d04-0410-961f-82ee72b054a4
* Restore Ada bootstrap on Solaris 8, 9/x86ro2011-09-262-2/+7
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179189 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/utils2.c (build_allocator): Set TREE_THIS_NOTRAP on theebotcazou2011-09-262-42/+38
| | | | | | | | dereference of the pointer to the storage area. Remove useless type conversions and factor out common code. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179187 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/utils.c (maybe_unconstrained_array): Declare TYPE localebotcazou2011-09-262-32/+39
| | | | | | | | | | variable and use it throughout. <UNCONSTRAINED_ARRAY_TYPE>: Add 'break' at the end. <RECORD_TYPE>: Do not unconditionally convert to the unpadded type as a first step. Also convert to the unpadded type as a last step. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179186 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/gigi.h (create_subprog_decl): Replace TREE_CHAIN withebotcazou2011-09-264-19/+31
| | | | | | | | | | | | | | DECL_CHAIN in comment. * gcc-interface/trans.c (gigi): Likewise. (Attribute_to_gnu): Likewise. (build_function_stub): Likewise. (gnat_to_gnu): Likewise. * gcc-interface/utils.c (create_subprog_decl): Likewise. (convert_vms_descriptor64): Likewise. (convert_vms_descriptor32): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179185 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/trans.c (assoc_to_constructor): Minor tweaks.ebotcazou2011-09-263-42/+45
| | | | | | | | | * gcc-interface/utils2.c (build_simple_component_ref): Fix formatting issues. Use COMPLETE_TYPE_P in assertion. Also set TREE_READONLY if the type of the record is TYPE_READONLY. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179184 138bc75d-0d04-0410-961f-82ee72b054a4
* * sem_ch6.adb (Set_Formal_Mode): Set Can_Never_Be_Null on an IN or INebotcazou2011-09-262-0/+16
| | | | | | | OUT formal parameter which is of an null-exclusion access subtype. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179183 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/ada-tree.h (DECL_CAN_NEVER_BE_NULL_P): New macro.ebotcazou2011-09-265-59/+94
| | | | | | | | | | | | | | | * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Set the flag. (gnat_to_gnu_param): Likewise. * gcc-interface/utils.c (convert) <UNCONSTRAINED_ARRAY_REF>: Invoke maybe_unconstrained_array instead of doing the work manually. (maybe_unconstrained_array): Propagate the TREE_THIS_NOTRAP flag. * gcc-interface/utils2.c (build_unary_op) <INDIRECT_REF>: If operand is a DECL with the flag, set TREE_THIS_NOTRAP on the reference. (gnat_stabilize_reference_1): Propagate the TREE_THIS_NOTRAP flag. (gnat_stabilize_reference): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179182 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/ada-tree.h (TYPE_NULL_BOUNDS): New macro.ebotcazou2011-09-266-22/+151
| | | | | | | | | | | | | | | | | | | (SET_TYPE_NULL_BOUNDS): Likewise. * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Set again TREE_THIS_NOTRAP on the INDIRECT_REF node built for the template. * gcc-interface/trans.c (Identifier_to_gnu): Return initializers of fat pointer types. * gcc-interface/utils.c (create_var_decl_1): If the object is external, check that the initializer is a valid constant expression for use in initializing a static variable. Add missing guard. (update_pointer_to): Adjust TYPE_NULL_BOUNDS if set. (convert_to_fat_pointer): In the null fat pointer case, build a valid pointer for the bounds. * gcc-interface/utils2.c (compare_fat_pointers): New function. (build_binary_op) <EQ_EXPR>: Call it to compare fat pointers. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179180 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/ada-tree.h (TREE_THIS_NOTRAP): Redefine.ebotcazou2011-09-254-40/+75
| | | | | | | | | | | | | * gcc-interface/trans.c (Identifier_to_gnu): Factor out common code in the by-ref case. Do not set TREE_READONLY on a renamed object. Set TREE_THIS_NOTRAP on UNCONSTRAINED_ARRAY_REF nodes. (Attribute_to_gnu) <Attr_Length>: Expand the use of the parameter cache to the indirect case. * gcc-interface/utils.c (convert) <UNCONSTRAINED_ARRAY_REF>: Preserve the TREE_THIS_NOTRAP flag. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179171 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/trans.c (Loop_Statement_to_gnu): In the case of anebotcazou2011-09-252-60/+105
| | | | | | | | iteration scheme, always generate the do-while form if optimization is enabled. Use more straightforward test at the end. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179169 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Access_Subtype>: Useebotcazou2011-09-254-75/+67
| | | | | | | | | | XNEW instead of xmalloc. Do not build useless pointer type. <E_Anonymous_Access_Subprogram_Type>: Use XNEW instead of xmalloc. * gcc-interface/trans.c (gnat_to_gnu) <N_Raise_Constraint_Error>: Tidy. * gcc-interface/utils2.c (build_unary_op): Remove local variable. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179168 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Do not promoteebotcazou2011-09-252-5/+24
| | | | | | | the alignment if this doesn't prevent BLKmode access to the object. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179167 138bc75d-0d04-0410-961f-82ee72b054a4
* ada, remove flat_namespace library option from darwin port build/defaults :iains2011-09-243-7/+9
| | | | | | | | | | | * gcc-interface/Makefile.in (darwin): Do not issue the '-flat_namespace' linker flag during Ada build. * mlib-tgt-specific-darwin.adb: Remove '-flat_namespace' flag from the default shared library options. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179148 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/decl.c (annotate_value): Look up expression foraoliva2011-09-192-7/+24
| | | | | | insertion in the cache at the end. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178970 138bc75d-0d04-0410-961f-82ee72b054a4
* Update dependencies.charlet2011-09-192-53/+58
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178964 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-09-19 Steve Baird <baird@adacore.com>charlet2011-09-1924-241/+968
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * snames.ads-tmpl: Move declaration of Name_Annotate into range of configuration pragma names so that Is_Configuration_Pragma_Name will return True for Name_Annotate. Make corresponding change in Pragma_Id enumeration type. This is needed to allow an Annotate pragma to occur in a configuration pragma file (typically, a gnat.adc file). * gnat_ugn.texi: Add Annotate to the list of configuration pragmas. * gnat_rm.texi: Note that pragma Annotate may be used as a configuration pragma. 2011-09-19 Ed Schonberg <schonberg@adacore.com> * a-cbmutr.adb, a-cbmutr.ads, a-cimutr.adb, a-cimutr.ads, a-comutr.adb, a-comutr.ads: Add iterator machinery for multiway trees. 2011-09-19 Yannick Moy <moy@adacore.com> * exp_alfa.adb, exp_alfa.ads (Expand_Alfa_N_In): New function for expansion of set membership. (Expand_Alfa): Call expansion for N_In and N_Not_In nodes. * exp_ch4.adb, exp_ch4.ads (Expand_Set_Membership): Make procedure visible for use in Alfa expansion. * sem_ch5.adb (Analyze_Iterator_Specification): Introduce loop variable in Alfa mode. 2011-09-19 Thomas Quinot <quinot@adacore.com> * s-osinte-darwin.ads: Change SIGADAABRT on Darwin to SIGABRT. 2011-09-19 Thomas Quinot <quinot@adacore.com> * exp_ch9.adb: Minor reformatting. 2011-09-19 Hristian Kirtchev <kirtchev@adacore.com> * freeze.adb (Build_Renamed_Body): Generic subprograms instantiations cannot be poperly inlined by the compiler, do not set the Body_To_Inline attribute in such cases. * sem_ch12.adb (Analyze_Subprogram_Instantiation): Inherit all inlining-related flags from the generic subprogram declaration. 2011-09-19 Thomas Quinot <quinot@adacore.com> * exp_dist.adb, rtsfind.ads, sem_util.adb, sem_util.ads (Build_Stub_Type): Remove, instead copy components from System.Partition_Interface.RACW_Stub_Type. (RPC_Receiver_Decl): Remainder of code from old Build_Stub_Type routine. (Copy_Component_List): New subprogram. 2011-09-19 Yannick Moy <moy@adacore.com> * lib-xref.adb (Generate_Reference): Ignore references to constants in Standard. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178962 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-09-19 Robert Dewar <dewar@adacore.com>charlet2011-09-1915-61/+257
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * err_vars.ads, errout.ads: Minor reformatting. 2011-09-19 Robert Dewar <dewar@adacore.com> * aspects.ads (Impl_Defined_Aspects): New array * lib-writ.adb (No_Dependences): New name for No_Dependence * restrict.adb (No_Dependences): New name for No_Dependence (Check_Restriction_No_Specification_Of_Aspect): New procedure. (Set_Restriction_No_Specification_Of_Aspect): New procedure (Restricted_Profile_Result): New variable (No_Specification_Of_Aspects): New variable (No_Specification_Of_Aspect_Warning): New variable * restrict.ads (No_Dependences): New name for No_Dependence (Check_Restriction_No_Specification_Of_Aspect): New procedure (Set_Restriction_No_Specification_Of_Aspect): New procedure * s-rident.ads: Add restriction No_Implementation_Aspect_Specifications, this is also added to the No_Implementation_Extensions profile. * sem_ch13.adb (Analyze_Aspect_Specifications): Check No_Implementation_Defined_Aspects (Analyze_Aspect_Specifications): Check No_Specification_Of_Aspect * sem_prag.adb (Analyze_Aspect_Specifications): Check No_Implementation_Aspects (Analyze_Aspect_Specifications): Check No_Specification_Of_Aspect * snames.ads-tmpl (Name_No_Specification_Of_Aspect): New name 2011-09-19 Yannick Moy <moy@adacore.com> * lib-xref.adb (Generate_Reference): Take into account multiple renamings for Alfa refs. 2011-09-19 Thomas Quinot <quinot@adacore.com> * g-socthi-mingw.adb: Minor reformatting. 2011-09-19 Yannick Moy <moy@adacore.com> * gnat1drv.adb (Adjust_Global_Switches): Set tagged type expansion to False in mode Alfa 2011-09-19 Pascal Obry <obry@adacore.com> * mingw32.h: Remove obsolete code needed for old versions of MingW. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178959 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-09-19 Robert Dewar <dewar@adacore.com>charlet2011-09-192-3/+6
| | | | | | | | * errout.ads: Minor reformatting. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178958 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-09-19 Ed Schonberg <schonberg@adacore.com>charlet2011-09-193-91/+50
| | | | | | | | | | | | | | | | * sem_ch6.adb (Analyze_Expression_Function): When the expression function is transformed into a declaration and a body, insert body at the end of the declarative part, to prevent premature freeze actions, and preserve original specification in the subprogram declaration. 2011-09-19 Vincent Celier <celier@adacore.com> * projects.texi: Minor editing. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178957 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-09-19 Robert Dewar <dewar@adacore.com>charlet2011-09-197-9/+49
| | | | | | | | | | | | | | * sem_aggr.adb, lib-writ.ads, s-restri.ads, sem_ch6.adb, exp_aggr.adb: Minor reformatting. 2011-09-19 Yannick Moy <moy@adacore.com> * lib-xref.adb (Generate_Reference): Change entity referenced to underlying object if any, or else reference to the HEAP. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178956 138bc75d-0d04-0410-961f-82ee72b054a4
* Update dependencies.charlet2011-09-152-15/+19
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178879 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-09-15 Robert Dewar <dewar@adacore.com>charlet2011-09-155-7/+40
| | | | | | | | | | | | | | | | | | * tree_io.ads: Minor reformatting. * a-intnam.ads: Fix bad header. 2011-09-15 Thomas Quinot <quinot@adacore.com> * a-exexpr-gcc.adb: Minor reformatting. 2011-09-15 Yannick Moy <moy@adacore.com> * sem_ch6.adb: Propagate information that an expression function comes from source (otherwise references to this entity are not stored). git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178878 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-09-15 Robert Dewar <dewar@adacore.com>charlet2011-09-1521-198/+293
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * a-cdlili.adb, a-coinve.adb, a-stzunb-shared.ads, a-suezst.adb, a-suenco.adb, a-stwiun-shared.ads, a-cobove.adb, a-convec.adb, a-btgbso.adb, a-cbdlli.adb, a-suewst.adb: Minor reformatting. 2011-09-15 Ed Schonberg <schonberg@adacore.com> * sem_ch6.adb (Analyze_Expression_Function): Code cleanup: if the expression function is not a completion, create a new specification for the generated declaration, and keep the original specification in the generated body. Shorter code also ensures that proper warnings are generated for unused formals in all cases. 2011-09-15 Sergey Rybin <rybin@adacore.com> * tree_io.ads: Update ASIS_Version_Number because of the changes in the tree structures for expression functions. 2011-09-15 Arnaud Charlet <charlet@adacore.com> * s-osinte-aix.ads, s-osinte-darwin.ads, s-osinte-freebsd.ads, s-osinte-hpux.ads, s-osinte-lynxos.ads, s-osinte-solaris-posix.ads, s-taprop-posix.adb (CLOCK_MONOTONIC): New constant. (CLOCK_REALTIME): Fix wrong value on some OSes. * s-taprop-posix.adb (Monotonic_Clock): Use CLOCK_MONOTONIC. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178877 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/utils.c (maybe_unconstrained_array): In the referenceebotcazou2011-09-113-11/+51
| | | | | | | | | to unconstrained array case, deal with each branch of a COND_EXPR. * gcc-interface/utils2.c (build_allocator): Deal with each branch of a COND_EXPR in the initializer, if present. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178766 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/decl.c (maybe_pad_type): Do not try to change the formebotcazou2011-09-113-0/+30
| | | | | | | | | of an addressable type. * gcc-interface/trans.c (gnat_gimplify_expr) <VIEW_CONVERT_EXPR>: New. Deal with those cases for which creating a temporary is mandatory. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178764 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/trans.c (call_to_gnu): Use local variable. Make sureebotcazou2011-09-112-15/+15
| | | | | | | this is a real formal parameter before testing whether it is by ref. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178763 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc-interface/gigi.h (build_call_0_expr): Delete.ebotcazou2011-09-115-110/+94
| | | | | | | | | | | | | | | | | | | | | | | | | (build_call_1_expr): Likewise. (build_call_2_expr): Likewise. (build_call_n_expr): New prototype. * gcc-interface/decl.c (gnat_to_gnu_entity): Use build_call_n_expr. * gcc-interface/trans.c (establish_gnat_vms_condition_handler): Ditto. (Handled_Sequence_Of_Statements_to_gnu): Likewise. (Exception_Handler_to_gnu_zcx): Likewise. (gnat_to_gnu): Likewise. (build_binary_op_trapv): Likewise. * gcc-interface/utils2.c (build_call_0_expr): Delete. (build_call_1_expr): Likewise. (build_call_2_expr): Likewise. (build_call_n_expr): New function. (build_call_raise): Use build_call_n_expr. (build_call_raise_range): Likewise. (build_call_raise_column): Likewise. (build_call_alloc_dealloc_proc): Likewise. (maybe_wrap_malloc): Likewise. (maybe_wrap_free): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178762 138bc75d-0d04-0410-961f-82ee72b054a4
OpenPOWER on IntegriCloud