2010-10-11 Tristan Gingold <gingold@adacore.com>
* gcc-interface/utils2.c (maybe_wrap_malloc): Fix crash when allocating
very large object on VMS.
From-SVN: r165288
2010-10-11 Javier Miranda <miranda@adacore.com>
* sem_ch10.adb (Analyze_With_Clause): Add missing test to ensure
availability of attribute Instance_Spec.
2010-10-11 Arnaud Charlet <charlet@adacore.com>
* gnat1drv.adb (Adjust_Global_Switches): Disable codepeer mode if
checking syntax only or in ASIS mode.
2010-10-11 Ed Schonberg <schonberg@adacore.com>
* sem_ch6.adb (Check_Delayed_Subprogram): Abstract subprograms may also
need a freeze node if some type in the profile has one.
* gcc-interface/trans.c (case N_Abstract_Subprogram_Declaration): If
entity has a freeze node, defer elaboration.
2010-10-11 Emmanuel Briot <briot@adacore.com>
* prj-nmsc.adb (Check_Aggregate_Project): Add support for finding all
aggregated projects.
From-SVN: r165287
2010-10-11 Gary Dismukes <dismukes@adacore.com>
* sem_disp.adb (Check_Dispatching_Operation): Revise test for warning
about nondispatching subprograms to use In_Same_List (reducing use of
Parent links).
2010-10-11 Ed Schonberg <schonberg@adacore.com>
* xr_tabls.adb, sem_res.adb, lib-xref.adb, lib-xref.ads: Use s for
reference in a static call.
2010-10-11 Steve Baird <baird@adacore.com>
* exp_attr.adb (Expand_N_Attribute_Reference, case Type_Key): Type_Key
attribute should always be transformed into a string literal in
Analyze_Attribute.
* par-ch4.adb: Type_Key attribute's type is String; update value of
Is_Parameterless_Attribute constant to reflect this.
* sem_attr.adb (Analyze_Attribute): Recognize Type_Key attribute and
rewrite it as a string literal (attribute value is always known
statically).
* snames.ads-tmpl: Add entries for Type_Key attribute.
From-SVN: r165285
2010-10-11 Ed Schonberg <schonberg@adacore.com>
* lib-xref.adb (Output_References): Common handling for objects and
formals of an anonymous access type.
2010-10-11 Eric Botcazou <ebotcazou@adacore.com>
* make.adb (Scan_Make_Arg): Also pass -O to both compiler and linker.
2010-10-11 Ed Schonberg <schonberg@adacore.com>
* sem_ch6.adb: Fix check for illegal equality declaration in Ada2012
2010-10-11 Gary Dismukes <dismukes@adacore.com>
* sem_disp.adb (Check_Dispatching_Operation): When testing for issuing
a warning about subprograms of a tagged type not being dispatching,
limit this to cases where the tagged type and the subprogram are
declared within the same declaration list.
2010-10-11 Jerome Lambourg <lambourg@adacore.com>
* projects.texi, prj-attr.adb: Add new attribute documentation_dir.
From-SVN: r165284
2010-10-11 Bob Duff <duff@adacore.com>
* sem_aggr.adb, impunit.adb, impunit.ads, switch-c.adb, usage.adb,
sem_ch10.adb, sem_prag.adb, sem_ch12.adb, par-ch4.adb, par-ch6.adb,
par-ch8.adb, exp_ch4.adb, sem_ch4.adb, sem_ch6.adb, par-prag.adb,
opt.ads, par-ch3.adb, lib-xref.adb: Use Ada_2012 instead of Ada_12
(Ada_Version_Type).
2010-10-11 Javier Miranda <miranda@adacore.com>
* exp_util.adb (Safe_Prefixed_Reference): If the prefix is an explicit
dereference then do not exclude dereferences of access-to-constant
types to handle them as constant view of variables (and hence remove
side effects when required).
* sem_res.adb (Resolve_Slice): Ensure that side effects in the bounds
are properly handled.
From-SVN: r165282
2010-10-11 Robert Dewar <dewar@adacore.com>
* sem_prag.adb, sem_aggr.adb, sprint.adb: Minor reformatting.
2010-10-11 Javier Miranda <miranda@adacore.com>
* exp_ch5.ads, exp_ch6.ads (Expand_N_Extended_Return_Statement): Moved
to exp_ch6.
(Expand_N_Simple_Return_Statement): Moved to exp_ch6.
* exp_ch5.adb, exp_ch6.adb (Expand_Non_Function_Return): Moved to
exp_ch6.
(Expand_Simple_Function_Return): Move to exp_ch6.
(Expand_N_Extended_Return_Statement): Moved to exp_ch6.
(Expand_N_Simple_Return_Statement): Moved to exp_ch6.
2010-10-11 Robert Dewar <dewar@adacore.com>
* snames.ads-tmpl: Add names for aspects.
* aspects.ads, aspects.adb: New.
* gcc-interface/Make-lang.in: Update dependencies.
From-SVN: r165281
2010-10-11 Ed Schonberg <schonberg@adacore.com>
* exp_ch6.adb (Expand_Actuals): If an actual is the current instance of
a task type, it must be replaced with a reference to Self.
2010-10-11 Vincent Celier <celier@adacore.com>
* adaint.h: Add prototype for function __gnat_create_output_file_new.
2010-10-11 Javier Miranda <miranda@adacore.com>
* sem_aggr.adb (Collect_Aggr_Bounds): Remove side effects of collected
aggregate bounds.
From-SVN: r165280
2010-10-11 Arnaud Charlet <charlet@adacore.com>
* sem_prag.adb (Check_Interrupt_Or_Attach_Handler): Do not emit error
for AI05-0033 in CodePeer mode.
2010-10-11 Robert Dewar <dewar@adacore.com>
* atree.h, atree.ads, atree.adb (Flag3): New flag (replaces Unused_1)
* csinfo.adb: Aspect_Specifications is a new special field
* einfo.adb (Flag3): New unused flag
* exp_util.adb (Insert_Actions): Add processing for
N_Aspect_Specification.
* sem.adb: Add entry for N_Aspect_Specification.
* sinfo.ads, sinfo.adb (N_Aspect_Specification): New node
(Has_Aspect_Specifications): New flag
(Permits_Aspect_Specifications): New function
(Aspect_Specifications): New function
(Set_Aspect_Specifications): New procedure
* sprint.adb (Sprint_Node): Put N_At_Clause in proper alpha order
(Sprint_Node): Add dummy entry for N_Aspect_Specification
* treepr.adb (Flag3): New flag to be listed
2010-10-11 Vincent Celier <celier@adacore.com>
* adaint.c: Minor reformatting.
From-SVN: r165279
2010-10-11 Arnaud Charlet <charlet@adacore.com>
* sem_prag.adb (Check_Interrupt_Or_Attach_Handler): Do not emit error
for AI05-0033 in CodePeer mode.
2010-10-11 Robert Dewar <dewar@adacore.com>
* atree.h, atree.ads, atree.adb (Flag3): New flag (replaces Unused_1)
* csinfo.adb: Aspect_Specifications is a new special field
* einfo.adb (Flag3): New unused flag
* exp_util.adb (Insert_Actions): Add processing for
N_Aspect_Specification.
* sem.adb: Add entry for N_Aspect_Specification.
* sinfo.ads, sinfo.adb (N_Aspect_Specification): New node
(Has_Aspect_Specifications): New flag
(Permits_Aspect_Specifications): New function
(Aspect_Specifications): New function
(Set_Aspect_Specifications): New procedure
* sprint.adb (Sprint_Node): Put N_At_Clause in proper alpha order
(Sprint_Node): Add dummy entry for N_Aspect_Specification
* treepr.adb (Flag3): New flag to be listed
2010-10-11 Vincent Celier <celier@adacore.com>
* adaint.c: Minor reformatting.
From-SVN: r165278
2010-10-11 Robert Dewar <dewar@adacore.com>
* sem_ch6.adb, s-htable.ads: Minor reformatting.
2010-10-11 Ed Schonberg <schonberg@adacore.com>
* sem_ch4.adb (Analyze_Selected_Component): If the selector is
invisible in an instantiation, and both the formal and the actual are
private extensions of the same type, look for the desired component in
the proper view of the parent type.
2010-10-11 Vincent Celier <celier@adacore.com>
* adaint.c (__gnat_number_of_cpus): Add implementation for Solaris,
AIX, Tru64, Darwin, IRIX and HP-UX.
From-SVN: r165277
2010-10-11 Robert Dewar <dewar@adacore.com>
* a-textio.adb: Minor reformatting
2010-10-11 Robert Dewar <dewar@adacore.com>
* a-suesen.ads, a-suenst.ads,
a-suesen.adb, a-suenst.adb,
a-suewse.adb, a-suewst.adb,
a-suewse.ads, a-suewst.ads,
a-suezse.ads, a-suezst.ads,
a-suezse.adb, a-suezst.adb: New name for string encoding packages.
* impunit.adb: New names for string encoding units
* Makefile.rtl: New names for string encoding units
* rtsfind.ads: Minor code reorganization.
2010-10-11 Ed Schonberg <schonberg@adacore.com>
* exp_ch5.adb: Code clean up.
2010-10-11 Ed Schonberg <schonberg@adacore.com>
* sem_ch6.adb (Check_Limited_Return): Specialize warning on limited
returns when in a generic context.
(Analyze_Function_Return): ditto.
From-SVN: r165276
2010-10-11 Vincent Celier <celier@adacore.com>
* Makefile.rtl: Add s-multip.
* adaint.c: New function __gnat_number_of_cpus, implemented for Linux,
defaulting to 1 for other platforms.
* adaint.h: New function __gnat_number_of_cpus.
* impunit.adb (Non_Imp_File_Names_12): New file list for Ada 2012,
with a single component "s-multip".
* impunit.ads (Kind_Of_Unit): New enumerated value Ada_12_Unit for Ada
2012.
* rtsfind.ads (RTU_Id): New enumerated value System_Multiprocessors
* s-multip.ads, s-multip.adb: New Ada 2012 package.
* sem_ch10.adb (Analyze_With_Clause): Check also Ada 2012 units.
From-SVN: r165274
2010-10-11 Javier Miranda <miranda@adacore.com>
* a-textio.adb: Move new implementation of Get_Line to a subunit.
* a-tigeli.adb: New subunit containing the implementation of Get_Line.
2010-10-11 Ed Schonberg <schonberg@adacore.com>
* sem_aux.adb: Code clean up.
From-SVN: r165272
2010-10-11 Robert Dewar <dewar@adacore.com>
* sem_ch3.adb, sem_aux.adb, sem_ch6.adb: Minor reformatting
2010-10-11 Robert Dewar <dewar@adacore.com>
* einfo.adb, atree.h, atree.ads, atree.adb: Define seven new flags
Flag248-Flag254. Define new field Field29.
From-SVN: r165271
PR target/45870
* config/i386/i386.c (ix86_delegitimize_tls_address): New function.
(ix86_delegitimize_address): Use it.
* gcc.dg/tls/pr45870.c: New test.
From-SVN: r165270
2010-10-11 Nicola Pero <nicola.pero@meta-innovation.com>
* objc/objc.h: Updated comments.
* objc/objc-api.h: (object_copy): Added one argument; use a
#define to maintain backwards-compatibility. Moved
_objc_object_alloc, _objc_object_copy, _objc_object_dispose and
objc_get_uninstalled_dtable into
objc/deprecated/objc_get_uninstalled_dtable.h and
objc/deprecated/objc_object_alloc.h. Include these files.
* objc/deprecated/objc_get_uninstalled_dtable.h: New.
* objc/deprecated/objc_object_alloc.h: New.
* objc/runtime.h (set_getName): New.
(sel_getType): New.
(sel_getUid): New.
(sel_registerName): New.
(sel_registerTypedName): New.
(sel_isEqual): New.
(class_createInstance): New.
(object_copy): New.
(object_dispose): New.
* objects.c: Do not include tconfig.h. Include gc_typed.h if
building the garbage collection version.
(__objc_object_alloc): Removed.
(__objc_object_copy): Removed.
(__objc_object_dispose): Removed.
(class_createInstance): New from code in class_create_instance.
Cast second argument of GC_malloc_explicitly_typed. Use
objc_calloc. Do not call _objc_object_alloc.
(class_create_instance): Call class_createInstance.
(object_copy): Added extraBytes argument. Do not call
_objc_object_copy.
(object_dispose): Do not call _objc_object_dispose.
* memory.c (objc_free): When using garbage collection, mark the
argument as unused.
* selector.c (sel_getName): New.
(sel_get_name): Call sel_getName.
(sel_getType): New.
(sel_get_type): Call sel_getType.
(sel_registerName): New.
(sel_register_name): Call sel_registerName.
(sel_registerTypedName): New.
(sel_register_typed_name): Call sel_registerTypedName.
(sel_getUid): New.
(sel_get_uid): Call sel_getUid.
From-SVN: r165264
In libobjc/:
2010-10-10 Nicola Pero <nicola.pero@meta-innovation.com>
* objc/objc-api.h: Define Method, Method_t, Category and
Category_t. Prevent including this file at the same time as
objc/runtime.h. Updated comments.
* objc/deprecated/struct_objc_method.h: Do not define Method,
Method_t.
* objc/deprecated/struct_objc_category.h: Do not define Category,
Category_t.
* objc-private/module-abi-8.h: New file containing a copy of all
the structure definitions. Not used yet.
* objc/encoding.h (objc_aligned_size): Removed duplicate
declaration. Updated comments.
* objc/runtime.h: Added Ivar, objc_property_t, Property, Method,
Category, struct objc_method_description, _C_ID and similar,
_C_CONST and similar and _F_CONST and similar. Added
objc_sizeof_type, objc_alignof_type, objc_aligned_size,
objc_promoted_size, objc_skip_type_qualifier, objc_skip_typespec,
objc_skip_offset, objc_skip_argspec, objc_get_type_qualifiers,
struct objc_struct_layout, objc_layout_structure,
objc_layout_structure_next_member, objc_layout_finish_structure,
objc_layout_structure_get_info. Prevent including this file at
the same time as objc/objc-api.h.
From-SVN: r165256
2010-10-10 Uros Bizjak <ubizjak@gmail.com>
* config/alpha/alpha.c (alpha_setup_incoming_varargs): Pass pointer
to cum struct in the call to function_arg_advance.
(alpha_function_arg_advance): Mark named as unused.
From-SVN: r165252
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Subprogram_Type>: Add
assertion on the types of the parameters. Use KIND local variable.
<E_Incomplete_Type>: Likewise.
From-SVN: r165251
* gcc-interface/ada-tree.h (DECL_BY_DOUBLE_REF_P): New macro.
* gcc-interface/gigi.h (annotate_object): Add BY_DOUBLE_REF parameter.
* gcc-interface/decl.c (annotate_object): Likewise and handle it.
(gnat_to_gnu_entity): Adjust calls to annotate_object.
(gnat_to_gnu_param): If fat pointer types are passed by reference on
the target, pass them by explicit reference.
* gcc-interface/misc.c (default_pass_by_ref): Fix type of constant.
* gcc-interface/trans.c (Identifier_to_gnu): Do DECL_BY_DOUBLE_REF_P.
(Subprogram_Body_to_gnu): Adjust call to annotate_object.
(call_to_gnu): Handle DECL_BY_DOUBLE_REF_P.
* gcc-interface/utils.c (convert_vms_descriptor): Add BY_REF parameter
and handle it.
(build_function_stub): Iterate on the parameters of the subprogram in
lieu of on the argument types. Adjust call to convert_vms_descriptor.
From-SVN: r165250
2010-10-09 Thomas Koenig <tkoenig@gcc.gnu.org>
* frontend-passes.c: Include opts.h.
(optimize_comparison): Renamed from optimize_equality.
Change second argument to operation to be compared.
Use flag_finite_math_only to avoid comparing REAL and
COMPLEX only when NANs are honored. Simplify comparing
of string concatenations where left or right operands are
equal. Simplify all comparison operations, based on the result
of gfc_dep_compare_expr.
* dependency.c: Include arith.h.
(gfc_are_identical_variables): Volatile variables should not
compare equal to themselves.
(gfc_dep_compare_expr): Handle string constants and string
concatenations.
2010-10-09 Thomas Koenig <tkoenig@gcc.gnu.org>
* gfortran.dg/character_comparison_4.f90: New test.
* gfortran.dg/character_comparison_5.f90: New test.
* gfortran.dg/character_comparison_6.f90: New test.
From-SVN: r165248
In libobjc/:
2010-10-10 Nicola Pero <nicola.pero@meta-innovation.com>
* objc-foreach.c: Include objc-private/common.h.
* objc/deprecated/METHOD_NULL.h: New file.
* objc/objc-api.h: Include deprecated/METHOD_NULL.h instead of
defining METHOD_NULL here.
* Makefile.in (OBJC_DEPRECATED_H): Added METHOD_NULL.h.
* Object.m ([+instancesRespondTo:]): Use (Method_t)0 instead of
METHOD_NULL.
([-respondsTo:]): Same change.
* objc/objc-api.h (method_get_imp): Converted it into a normal
function so that we can hide the internals of struct objc_method.
* sendmsg.c (method_get_imp): Implemented.
From-SVN: r165241
PR rtl-opt/33721
* explow.c (allocate_dynamic_stack_space): Add REQUIRED_ALIGN parm,
remove TARGET parm, convert KNOWN_ALIGN parm to SIZE_ALIGN. Honor
required_align, tidy the code a bit. Emit split_stack code in the
right place. Mark the return value with the alignment properly.
* expr.h (allocate_dynamic_stack_space): Update decl.
* builtins.c (expand_builtin_apply): Update call to
allocate_dynamic_stack_space.
(expand_builtin_alloca): Likewise. Remove TARGET parameter.
* calls.c (initialize_argument_information): Update call to
allocate_dynamic_stack_space.
(expand_call): Likewise.
* cfgexpand.c (get_decl_align_unit): Don't limit alignment.
Don't update_stack_alignment here.
(alloc_stack_frame_space): Make ALIGN unsigned.
(stack_var_cmp): Sort by alignment too.
(partition_stack_vars): Don't merge large and small alignment vars.
(expand_one_stack_var_at): Add BASE and BASE_ALIGN parameters.
Take care when BASE is not virtual_stack_vars_rtx.
(expand_stack_vars): Allocate dynamic stack space for large
alignment variables.
(expand_one_stack_var): Update all to expand_one_stack_var_at.
(defer_stack_allocation): True for large alignment vars.
(update_stack_alignment): Merge into ...
(expand_one_var): ... here.
(gimple_expand_cfg): Place code from expand_stack_vars.
From-SVN: r165240
2010-10-09 Richard Guenther <rguenther@suse.de>
PR lto/45956
* lto-streamer-in.c (lto_register_var_decl_in_symtab):
Properly check if a decl is an automatic var.
* gcc.dg/lto/20101009-2_0.c: New testcase.
* gcc.dg/lto/20101009-2_1.c: Likewise.
* gcc.dg/lto/20101009-2_2.c: Likewise.
From-SVN: r165235
2010-10-09 Richard Guenther <rguenther@suse.de>
PR lto/45947
* tree.c (free_lang_data_in_cgraph): Properly walk the varpool.
* g++.dg/lto/20101009-1_0.C: New testcase.
From-SVN: r165234