2010-09-09 Javier Miranda <miranda@adacore.com>
* sem_ch3.adb (Derive_Subprogram): The code that checks if a
dispatching primitive covers some interface primitive is incomplete.
Replace such code by the invocation of a new subprogram that provides
this functionality.
* sem_ch6.ads (Is_Interface_Conformant): Add missing documentation.
* sem_ch6.adb (Check_Missing_Return): Minor reformating
(Check_Convention): Complete if-statement conditition when reporting
errors (to avoid assertion failure).
* sem_ch13.adb (Make_Null_Procedure_Specs): This routine was previously
located in exp_ch3. Relocated inside Analyze_Freeze_Entity.
(Analyze_Freeze_Entity): Invoke routine that adds the spec of non
overridden null interface primitives.
* sem_type.adb (Is_Ancestor): If the parent of the partial view of a
private type is an interface then use the parent of its full view to
climb to its ancestor type.
* sem_disp.ads, sem_disp.adb (Covers_Some_Interface): New subprogram.
(Check_Dispatching_Operation): Extend assertion to handle wrappers of
null interface primitives.
(Is_Null_Interface_Primitive): New subprogram.
* exp_ch3.adb (Make_Null_Procedure_Specs): Removed.
(Expand_Freeze_Record_Type): Do not generate specs of null interface
subprograms because they are now generated by Analyze_Freeze_Entity.
From-SVN: r164059
2010-09-09 Robert Dewar <dewar@adacore.com>
* par-ch5.adb (Test_Statement_Required): Deal with Ada 2012 allowing no
null statement after label.
* sinfo.ads: Minor comment updates.
From-SVN: r164057
2010-09-09 Robert Dewar <dewar@adacore.com>
* nlists.ads, nlists.adb (In_Same_List): New function.
Use Node_Or_Entity_Id where appropriate.
* par-labl.adb, sem_ch6.adb, sem_type.adb: Use In_Same_List.
2010-09-09 Robert Dewar <dewar@adacore.com>
* restrict.ads, restrict.adb (Check_Wide_Character_Restriction): New
procedure.
* sem_ch3.adb: Use Check_Wide_Character_Restriction
(Enumeration_Type_Declaration): Check violation of No_Wide_Characters
* sem_ch8.adb (Find_Direct_Name): Check violation of No_Wide_Characters
(Find_Expanded_Name): Check violation of No_Wide_Characters
2010-09-09 Robert Dewar <dewar@adacore.com>
* par-ch5.adb: Minor reformatting.
From-SVN: r164056
2010-09-09 Robert Dewar <dewar@adacore.com>
* prj-env.adb: Minor code reorganization.
* par-ch3.adb: Minor reformatting.
* gcc-interface/Make-lang.in: Update dependencies.
2010-09-09 Ed Schonberg <schonberg@adacore.com>
* exp_ch9.adb (Build_Activation_Chain_Entity): The construct enclosing
a task declaration can be an entry body.
2010-09-09 Javier Miranda <miranda@adacore.com>
* exp_disp.adb (Make_DT): Decorate as "static" variables containing
tags of library level tagged types.
(Make_Tags): Disable backend optimizations about aliasing for
declarations of access to dispatch tables.
2010-09-09 Ed Schonberg <schonberg@adacore.com>
* sem_ch12.adb (Reset_Entity): If the entity is an itype created as a
subtype for a null-excluding access type, recover the original
subtype_mark to get the proper visibility on the original name.
2010-09-09 Ed Schonberg <schonberg@adacore.com>
* exp_ch3.adb (Build_Untagged_Equality): For Ada2012, new procedure to
create the primitive equality operation for an untagged record. The
operation is the predefined equality if no record component has a
user-defined equality, or if there is a user-defined equality for the
type as a whole, or when the type is derived and it has an inherited
equality. Otherwise the body of the operations is built as for tagged
types.
(Expand_Freeze_Record_Type): Call Build_Untagged_Equality when needed.
(Make_Eq_Body): New function to create the expanded body of the equality
operation for tagged and untagged records. In both cases the operation
composes, and the primitive operation of each record component is used
to generate the equality function for the type.
* exp_ch4.adb (Expand_Composite_Equality): In Ada2012, if a component
has an abstract equality defined, replace its call with a
Raise_Program_Error.
* sem_ch6.adb (New_Overloaded_Entity): if Ada2012, verify that a
user-defined equality operator for an untagged record type does not
happen after type is frozen, and appears in the visible part if partial
view of type is not limited.
2010-09-09 Tristan Gingold <gingold@adacore.com>
* gnatlbr.adb: Make Create_Directory more portable: use __gnat_mkdir.
2010-09-09 Bob Duff <duff@adacore.com>
* gnat_ugn.texi: Remove incorrect statement about -E being the default.
From-SVN: r164055
2010-09-09 Tobias Burnus <burnus@net-b.de>
PR fortran/43665
* intrincic.texi (FGET, FGETC, FPUT, FPUTC, FSTAT, GETCWD, KILL,
STAT): Show also syntax for the function version.
* intrinsic.c (add_sym_1s_intent, add_sym_2s_intent,
add_sym_3s_intent): Remove function.
(add_sym_1s, add_sym_2s, add_sym_3s): Take always the intent
as argument.
(add_sym_2_intent): New function.
(add_functions): Set intent for functions which modify
the argument: fstat, fgetc, fget, hostnm, lstat, stat. Change
argument name of hostnm from "a" to "c"
(add_subroutines): Change add_sym_*s_intent to
add_sym_*s and add intent to the add_sym_*s calls.
From-SVN: r164052
* objc/execute/exceptions/throw-nil.m: New test.
* objc/execute/exceptions/handler-1.m: Updated to use the new
objc_set_uncaught_exception_handler() function.
* objc/execute/exceptions/matcher-1.m: New test.
From-SVN: r164024
* objc/objc-exception.h: New file.
* exception.c (objc_set_uncaught_exception_handler): Implemented.
(objc_set_exception_matcher): Implemented.
(objc_exception_throw): Use the uncaught exception handler if set.
(PERSONALITY_FUNCTION): Use the exception matcher instead of the
hardcoded isKindOf.
(isKindOf): Renamed to is_kind_of_exception_matcher. Tidied code
up. Removed segmentation fault when value is 'nil'.
* objc/objc-api.h (_objc_unexpected_exception): Mark as
deprecated.
* Makefile.in (exception.lo, exception_gc.lo): Use
-Wno-deprecated-declarations when compiling.
(OBJC_H): Added objc-exception.h
From-SVN: r164023
* objc/typedstream.h: Deprecate all functions in the file. This
file is obsolete.
* objc/Object.h ([+streamVersion:], [-read:], [-write:],
[-awake]): Documented that these methods are deprecated. Added a
brief description of the Object class and its relationship to the
NSObject class.
* Makefile.in: Compile archive.c and Object.m with
-Wno-deprecated-declarations.
From-SVN: r164015
2010-09-08 Martin Jambor <mjambor@suse.cz>
PR other/45443
* doc/invoke.texi: Add -fipa-cp-clone to list of switches turned on
at -O3.
From-SVN: r164009
PR fortran/45597
* trans-openmp.c (gfc_trans_omp_do): Store exit/cycle labels on code
instead of code->block.
* gfortran.dg/gomp/pr45597.f90: New test.
From-SVN: r164005
PR fortran/45595
* openmp.c (resolve_omp_do): Report not enough do loops for
collapse even if block->next is NULL.
* gfortran.dg/gomp/pr45595.f90: New test.
From-SVN: r164004
PR tree-optimization/43430
* tree-vect-stmts.c (vectorizable_condition): Support multiple
copies for conditional statements if it's not part of a reduction.
testsuite/
PR tree-optimization/43430
* gcc.dg/vect/pr43430-2.c: New test.
From-SVN: r163999
2010-09-08 Richard Guenther <rguenther@suse.de>
PR tree-optimization/45578
* tree-ssa-loop-ivopts.c (rewrite_use_nonlinear_expr):
Be more careful when transfering alignment information to
the new induction variable.
(copy_ref_info): Likewise.
* gfortran.dg/pr45578.f90: New testcase.
From-SVN: r163997
2010-09-08 Tristan Gingold <gingold@adacore.com>
PR 44001
* maint-tool (missing): Fix pattern for object file.
(deps): Use $(objext) for object extension.
* Makefile.in (objext): New variable.
Replace all occurences of .o with .$(objext)
Regenerate with maint-deps
* configure.ac (pexecute): Set to the basename.
* configure: Regenerate.
From-SVN: r163989