fwprop.c (forward_propagate_and_simplify): Only attach a REG_EQUAL note to an insn if the destination is a register.
* fwprop.c (forward_propagate_and_simplify): Only attach a
REG_EQUAL note to an insn if the destination is a register.
* gcse.c (try_replace_reg): Likewise.
PR debug/45604
PR debug/45419
PR debug/45408
* tree-pretty-print.c (dump_generic_node): Disregard top-level
types of MEM_REF pointer types to the same type.
Nicola Pero [Sun, 12 Sep 2010 14:55:21 +0000 (14:55 +0000)]
In libobjc/:
* Makefile.in (%_gc.lo): New pattern rules to build the
garbage-collected version of the library. Removed rules for
specific files that are no longer needed. Standardized all rules.
(C_SOURCE_FILES, OBJC_SOURCE_FILES): New variables.
(OBJS, OBJS_GC): Compute these from C_SOURCE_FILES and
OBJC_SOURCE_FILES.
(INCLUDES): Removed the unused include -I$(srcdir)/objc.
* memory.c (objc_calloc): Fixed call to GC_malloc when building
with Garbage Colletion.
Nicola Pero [Sun, 12 Sep 2010 01:44:58 +0000 (01:44 +0000)]
In libobjc/:
* objc/deprecated/objc_malloc.h: New file.
* objc/deprecated/objc_valloc.h: New file.
* objc/objc-api.h: Include the files instead of defining
objc_valloc, _objc_malloc() and similar.
* Makefile.in (OBJC_DEPRECATED_H): Added objc_valloc.h and
objc_malloc.h.
* memory.c: Removed the extra layer of indirection of _objc_malloc
and similar.
(objc_calloc): Use GC_malloc in the garbage-collected
implementation as GC_malloc returns memory that is already freed.
(objc_valloc): Deprecated.
Nicola Pero [Sun, 12 Sep 2010 00:43:15 +0000 (00:43 +0000)]
In libobjc/:
* objc/deprecated/objc_error.h: New file.
* objc/objc-api.h: Include deprecated/objc_error.h instead of
defining objc_error and related.
* error.c: New file. Added _objc_abort function which replaces
objc_error. No change in functionality as they both print an
error and abort.
* misc.c: File removed. Code moved into memory.c and error.c.
* memory.c: New file.
* objc-private/error.h: New file.
* archive.c: Include objc-private/error.h and use _objc_abort
instead of objc_error everywhere.
* class.c: Same change.
* encoding.c: Same change.
* init.c: Same change, and simplified init_check_module_version.
* memory.c: Same change.
* sendmsg.c: Same change.
* thr.c: Same change.
* Makefile.in (OBJ_DEPRECATED_H): Added objc_error.h.
(OBJ_H): Reordered list.
(OBJS): Removed misc.lo, added memory.lo and error.lo.
(OBJS_GC): Removed misc_gc.lo, added memory_gc.lo and error_gc.lo.
(misc_gc.lo): Rule removed.
(error_gc.lo): Rule added.
(memory_gc.lo): Rule added.
Nicola Pero [Sat, 11 Sep 2010 22:47:14 +0000 (22:47 +0000)]
In libobjc/:
* objc/objc.h (__GNU_LIBOBJC__): New #define providing an easy way
to check the API version. Added some comments.
* objc-private/common.h: New file.
* NXConstStr.m: Include objc-private/common.h.
* Object.m: Same change.
* Protocol.m: Same change.
* archive.c: Same change.
* class.c: Same change.
* encoding.c: Same change.
* exception.c: Same change.
* gc.c: Same change.
* hash.c: Same change.
* init.c: Same change.
* libobjc_entry.c: Same change.
* linking.m: Same change.
* misc.c: Same change (and added a comment).
* nil_method.c: Same change.
* objects.c: Same change.
* sarray.c: Same change.
* selector.c: Same change.
* sendmsg.c: Same change.
* thr.c: Same change.
mathbuiltins.def: Do not defined huge_val built-in.
* mathbuiltins.def: Do not defined huge_val built-in.
* trans-const.c (gfc_build_inf_or_huge): New function.
* trans-const.h (gfc_build_inf_or_huge): New prototype.
* f95-lang.c (gfc_init_builtin_functions): Don't defined
huge_val built-ins.
* trans-intrinsic.c (gfc_build_intrinsic_lib_fndecls): We don't
have functions of type (*) (void) anymore.
(gfc_conv_intrinsic_minmaxloc): Call gfc_build_inf_or_huge.
(gfc_conv_intrinsic_nearest): Call gfc_build_inf_or_huge instead
of generating a call to huge_val().
Nicola Pero [Sat, 11 Sep 2010 15:16:49 +0000 (15:16 +0000)]
In libobjc/:
* archive.c: Removed not needed includes.
* class.c: Same change.
* hash.c: Same change.
* misc.c: Same change.
* nil_method.c: Same change.
* objects.c: Same change.
* sarray.c: Same change.
* sendmsg.c: Same change.
* thr.c: Same change.
Nicola Pero [Sat, 11 Sep 2010 12:58:27 +0000 (12:58 +0000)]
In libobjc/:
* objc/runtime.h: Moved to objc-private/runtime.h. Do not include
all the objc/*.h files.
* objc-private/runtime.h: New file.
* archive.c: Include objc-private/runtime.h (and required objc/*.h
files) instead of objc/runtime.h.
* class.c: Same change.
* hash.c: Same change.
* init.c: Same change.
* misc.c: Same change.
* nil_method.c: Same change.
* objects.c: Same change.
* sarray.c: Same change.
* selector.c: Same change.
* sendmsg.c: Same change.
* thr.c: Same change.
Nicola Pero [Sat, 11 Sep 2010 12:38:56 +0000 (12:38 +0000)]
In libobjc:
* objc/deprecated/struct_objc_selector.h: New file. Definition of
'struct objc_selector' and 'sel_eq' moved here.
* objc/deprecated/struct_objc_protocol.h: New file. Definition of
'struct objc_procotol' moved here.
* objc/deprecated/struct_objc_class.h: New file. Definition of
'struct objc_class' moved here.
* objc/deprecated/MetaClass.h: New file. Definition of MetClass
moved here.
* objc/deprecated/STR.h: New file. Definition of STR moved here.
* objc/message.h: New file. Definitions for relval_t, apply_t,
arglist, arglist_t and objc_msg_lookup were moved here.
* objc/objc.h: Include the above files instead of defining the
corresponding structs, types and functions here. Added new opaque
definitions for SEL and Class. Use Class and not 'struct
objc_class *' in the definition of 'struct objc_object'.
Commented all types defined in the file. Removed special
definition of BOOL as 'int' on __vxworks; use 'unsigned char'
there as well.
* objc/deprecated/objc-unexpected-exception.h: Renamed to
objc_unexpected_exception.h.
* objc/objc-api.h: Updated include of
objc-unexpetected-exception.h
* objc/objc-exception.h: Updated comments.
* Makefile.in (OBJC_H, OBJC_DEPRECATED_H): Added the new header
files. Reindented list of files.
* gfortran.h (gfc_expr): Remove inline_noncopying_intrinsic attribute.
* dependency.c (gfc_check_dependency): Don't depend on
expr's inline_noncopying_intrinsic_attribute.
* dependency.c (gfc_check_argument_var_dependency,
gfc_check_argument_dependency): Ditto. Recursively check dependency
as NOT_ELEMENTAL in the non-copying (=transpose) case.
* trans-intrinsic.c (gfc_conv_intrinsic_function): Ditto.
* resolve.c (find_noncopying_intrinsics): Remove.
(resolve_function, resolve_call): Remove call to
find_noncopying_intrinsics.
* trans-array.c (gfc_conv_array_transpose): Remove.
(gfc_walk_subexpr): Make non-static. Move prototype...
* trans-array.h (gfc_walk_subexpr): ... here.
* trans-intrinsic.c (gfc_conv_intrinsic_function): Update transpose
handling.
(walk_inline_intrinsic_transpose, walk_inline_intrinsic_function,
gfc_inline_intrinsic_function_p): New.
(gfc_is_intrinsic_libcall): Return early in inline intrinsic case.
Remove transpose from the libcall list.
(gfc_walk_intrinsic_function): Special case inline intrinsic.
* trans.h (gfc_inline_intrinsic_function_p): New prototype.
2010-09-11 Mikael Morin <mikael@gcc.gnu.org>
* gfortran.dg/inline_transpose_1.f90: Update temporary's locations
and counts. Check that transpose is not called.
* gfortran.dg/transpose_2.f90: Update error message.
* gnat_ugn.texi: Add documentation for -gnatw.s/S
* sem_ch13.adb (Analyze_Attribute_Definition_Clause, case
Component_Size): Implement warning on overriden size clause.
(Analyze_Record_Representation_Clause): Implement warning on overriden
size clause.
* sem_warn.ads, sem_warn.adb (Warn_On_Overridden_Size): New flag
(-gnatw.s/S).
* ug_words: Add entries for -gnatw.s/S.
* vms_data.ads, usage.adb: Add line for -gnatw.s/-gnatw.S.
* gcc-interface/Make-lang.in: Update dependencies.
2010-09-10 Vincent Celier <celier@adacore.com>
* prj-dect.adb (Parse_Package_Declaration): Allow a package to extend
a package with the same name from an imported or extended project.
* prj-proc.adb (Process_Declarative_Items): Process package extensions
2010-09-10 Bob Duff <duff@adacore.com>
* exp_ch6.adb (Expand_Call): Do not perform a null_exclusion check on
'out' parameters.
Richard Guenther [Fri, 10 Sep 2010 15:40:05 +0000 (15:40 +0000)]
tree.c (make_vector_type): Do not set TYPE_DEBUG_REPRESENTATION_TYPE.
2010-09-10 Richard Guenther <rguenther@suse.de>
* tree.c (make_vector_type): Do not set TYPE_DEBUG_REPRESENTATION_TYPE.
* tree.h (TYPE_DEBUG_REPRESENTATION_TYPE): Remove.
* lto-streamer-out.c (lto_output_ts_type_tree_pointers): Do
not stream TYPE_DEBUG_REPRESENTATION_TYPE.
* lto-streamer-in.c (lto_input_ts_type_tree_pointers): Likewise.
Richard Guenther [Fri, 10 Sep 2010 15:38:20 +0000 (15:38 +0000)]
dwarf2out.c (gen_array_type_die): Output DW_TAG_subrange_type for VECTOR_TYPEs using TYPE_VECTOR_SUBPARTS.
2010-09-10 Richard Guenther <rguenther@suse.de>
* dwarf2out.c (gen_array_type_die): Output DW_TAG_subrange_type
for VECTOR_TYPEs using TYPE_VECTOR_SUBPARTS.
* dbxout.c (dbxout_type): Manually deal with VECTOR_TYPE
using TYPE_VECTOR_SUBPARTS, not TYPE_DEBUG_REPRESENTATION_TYPE.
* exp_ch7.adb, exp_ch6.adb (Expand_Call): Establish a transient scope
for a controlled build-in-place function call which appears in an
anonymous context. The transient scope ensures that the intermediate
function result is cleaned up after the master is left.
(Make_Build_In_Place_Call_In_Anonymous_Context): Remove the creation
of the transient scope. This is now done in Exand_Call which covers
additional cases other than secondary stack release.
2010-09-10 Arnaud Charlet <charlet@adacore.com>
* sem.adb (Do_Unit_And_Dependents): Add guard.
2010-09-10 Robert Dewar <dewar@adacore.com>
* exp_ch5.adb: Update comments.
* exp_dist.adb: Minor reformatting.
* sem_ch13.adb (Check_Record_Representation_Clause): Implement record
gap warnings.
* sem_warn.ads, sem_warn.adb (Warn_On_Record_Holes): New warning flag.
* usage.adb: Add lines for -gnatw.h/H
* gnat_ugn.texi: Add documentation for J519-010
Warn on record holes/gaps
* ug_words: Add entries for -gnatw.h/-gnatw.H
* vms_data.ads: Add entries for [NO]AVOIDGAPS
* sem_ch3.adb (Build_Derived_Private_Type): Mark generated declaration
of full view analyzed after analyzing the corresponding record
declaration, to prevent spurious name conflicts with original
declaration.
2010-09-10 Jerome Lambourg <lambourg@adacore.com>
* sem_ch13.adb (Analyze_Attribute_Definition_Clause): In the VM case,
just issue a warning, but continue with the normal processing.
2010-09-10 Robert Dewar <dewar@adacore.com>
* exp_attr.adb, prj-nmsc.adb, sem_ch4.adb, sem_res.adb: Minor
reformatting.
2010-09-10 Thomas Quinot <quinot@adacore.com>
* exp_dist.adb (Build_From_Any_Call, Build_To_Any_Call,
Build_TypeCode_Call): For a subtype inserted for the expansion of a
generic actual type, go to the underlying type of the original actual
type.
2010-09-10 Ed Schonberg <schonberg@adacore.com>
* exp_ch5.adb (Expand_Assign_Array_Loop): In CodePeer mode, place a
guard around the increment statement, to prevent an off-by-one-value
on the last iteration.
* sem_aggr.adb, exp_prag.adb, sem_ch3.adb, exp_attr.adb,
sem_res.adb, sem_attr.adb, sem_elab.adb, sem_ch4.adb, exp_disp.adb,
exp_aggr.adb, exp_dist.adb: Change all mentions of "at run-time" to
"at run time" in comments and error/warning messages.
2010-09-10 Ed Schonberg <schonberg@adacore.com>
* exp_cg.adb: Handle properly bodies without specs.
2010-09-10 Emmanuel Briot <briot@adacore.com>
* prj-nmsc.adb (Find_Source_Dirs): When a source directory is not
present, and the user requested to either ignore this or display a
warning (as opposed to an error), we still need to register the
directory.
* errout.adb: Remove tests of Parsing_Main_Subunit, since this test is
now done in In_Extended_Main_Source_Unit.
* errout.ads (Compiler_State[_Type]): Moved from Errout to Lib
(Parsing_Main_Subunit): Moved from Errout to Lib and renamed
as Parsing_Main_Extended_Source.
* frontend.adb: Set Parsing_Main_Extended_Source True for parsing main
unit.
* lib-load.adb (Load_Unit): Add PMES parameter
Set PMES appropriately in all calls to Load_Unit
* lib-load.ads (Load_Unit): Add PMES parameter
* lib.adb (In_Extended_Main_Source_Unit): When called with
Compiler_State set to Parsing, test new flag
Compiling_Main_Extended_Source.
* lib.ads (Compiler_State[_Type]): Moved from Errout to Lib
(Parsing_Main_Subunit): Moved from Errout to Lib and renamed
as Parsing_Main_Extended_Source
* par-load.adb (Load): Set PMES properly in call to Load_Unit
2010-09-10 Ed Schonberg <schonberg@adacore.com>
* exp_cg.adb: Use proper entity to handle overloads.
* sem_res.adb (Check_Parameterless_Call): An operator node without
actuals cannot be a call, and must be treated as a string.
* par-ch4.adb (P_Conditional_Expression): Use P_Condition for condition
* par-ch5.adb (P_Condition): Move from body to spec
* par.adb (Ch5.P_Condition): Move from body to spec
2010-09-10 Ed Schonberg <schonberg@adacore.com>
* exp_cg.adb (Write_Call_Info): If a type that has been registered in
the call table is private, use its full view to generate information
on its operations.
* exp_cg.adb (Is_Predefined_Dispatching_Operation): When trying the
pattern matching to detect predefined primitive operations take into
account that there can be an extra suffix related to body-nested
package entities.
* vms_data.ads: Add new GNAT BIND qualifiers /32_MALLOC (for -H32) and
/64_MALLOC (for -H64).
2010-09-10 Robert Dewar <dewar@adacore.com>
* errout.adb (Error_Msg_Internal): Test Parsing_Main_Subunit flag
(Error_Msg_NW): Test Parsing_Main_Subunit flag
* errout.ads (Parsing_Main_Subunit): New flag
* lib-load.adb (Load_Unit): Set Parsing_Main_Subunit flag
* par-ch6.adb: Minor style fix (remove redandant parentheses)
* par-ch9.adb: Minor style fix (remove redundant parens)
* par-load.adb: (Load): Deal with setting Parsing_Main_Subunit
2010-09-10 Vincent Celier <celier@adacore.com>
* make.adb (Create_Binder_Mapping_File): Remove procedure. Replaced by
function of the same name in Makeutl.
(Gnatmake): Call function Create_Binder_Mapping_File in Makeutl, instead
of removed procedure when creating a binder mapping file.
* makeutl.adb (Create_Binder_Mapping_File): New function. Was a
procedure in Make.
* makeutl.ads (Create_Binder_Mapping_File): New function
* exp_cg.adb (Is_Predefined_Dispatching_Operation): Add the "__" scope
separator when trying the pattern matching to detect predefined
primitive operations.
2010-09-10 Robert Dewar <dewar@adacore.com>
* bindgen.adb, atree.adb: Minor reformatting.
2010-09-10 Ben Brosgol <brosgol@adacore.com>
* ug_words, gnat_ugn.texi: Revised "Transitioning to 64-Bit GNAT for
OpenVMS" section.
Richard Guenther [Fri, 10 Sep 2010 13:44:07 +0000 (13:44 +0000)]
tree.c (type_hash_eq): For ARRAY_TYPEs also compare TYPE_SIZE.
2010-09-10 Richard Guenther <rguenther@suse.de>
* tree.c (type_hash_eq): For ARRAY_TYPEs also compare
TYPE_SIZE.
(build_index_type): Implement in terms of build_range_type.
(build_range_type): Do not allow NULL_TREE type, improve
hashing to cover more cases. Set TYPE_STRUCTURAL_EQUALITY_P
if we didn't hash.
* c-decl.c (grokdeclarator): When modifying TYPE_SIZE manually
create a distinct copy of the type.
* exp_cg.adb (Register_CG_Node): Determine enclosing subprogram or
library unit now, by traversing tree before context is expanded.
(Write_Call_Info): Use enclosing unit name directly.
* exp_ch9.adb (Expand_N_Accept_Statement): Attach generated block to
tree earlier, to ensure that subsequent declarations are analyzed in a
connected structure.
* exp_intr.adb (Expand_Unc_Deallocation): Ditto for generated statement
list.
* exp_ch6.adb (Make_Build_In_Place_In_Object_Declaration): Use proper
sloc for renaming declaration and set Comes_From_Source properly to
ensure that references are properly generated for an object declaration
that is built in place.
2010-09-10 Tristan Gingold <gingold@adacore.com>
* symbols-processing-vms-alpha.adb: Allow gnatsym to work as a cross
tool.
* gcc-interface/Make-lang.in: Install gnatsym when cross compiling.
* gcc-interface/Makefile.in: gnat.hlp is now generated by
Make-generated.in
2010-09-10 Bob Duff <duff@adacore.com>
* exp_pakd.adb (Expand_Bit_Packed_Element_Set): For things like ""X(J)
:= ...;", remove side effects from the right-hand side, because they
might affect the value of the left-hand side, but the left-hand side is
first READ (so we can do shifting and masking) and then written back,
which would cause the side effects to be incorrectly overwritten.
* config/arm/neon-schedgen.ml (allCores): Add support for
Cortex-A9.
* config/arm/cortex-a9-neon.md: New and partially generated.
* config/arm/cortex-a9.md (cortex_a9_dp): Adjust for Neon.
Robert Dewar [Fri, 10 Sep 2010 11:01:37 +0000 (11:01 +0000)]
repinfo.adb (List_Type_Info): List Small and Range for fixed-point types.
2010-09-10 Robert Dewar <dewar@adacore.com>
* repinfo.adb (List_Type_Info): List Small and Range for fixed-point
types.
* sprint.adb (Write_Ureal_With_Col_Check_Sloc): Use square brackets
rather than parens for fixed constants.
* sprint.ads: Use square brackets rather than parens for fixed constants
* urealp.adb (UR_Write): Use square brackets rather than parens
(UR_Write): Add Brackets argument
(UR_Write): Add many more special cases to output literals
* urealp.ads (UR_Write): Use square brackets rather than parens
(UR_Write): Add Brackets argument
Jakub Jelinek [Fri, 10 Sep 2010 10:52:16 +0000 (12:52 +0200)]
re PR bootstrap/45630 (Revision 164050 breaks bootstrap on powerpc-apple-darwin9)
PR bootstrap/45630
* dwarf2out.c (get_ref_die_offset_label): Use %ld instead of
HOST_WIDE_INT_PRINT_DEC to print ref->die_offset.
(implicit_ptr_descriptor): Return NULL if dwarf_strict.
* sprint.adb (Sprint_Node_Actual, case N_Derived_Type_Definition): Do
not reset Sloc when printing keyword "new".
2010-09-10 Vincent Celier <celier@adacore.com>
* gnatcmd.adb (GNATCmd): Put the command line in environment variable
GNAT_DRIVER_COMMAND_LINE.
2010-09-10 Ed Schonberg <schonberg@adacore.com>
* sem.adb (Do_Unit_And_Dependents): if Withed_Body is set on a context
clause, process the body at once.
2010-09-10 Ed Schonberg <schonberg@adacore.com>
* sem_res.adb (Resolve_Type_Conversion): Do not warn on a redundant
conversion is the expression is a qualified expression used to
disambiguate a function call.
2010-09-10 Vincent Celier <celier@adacore.com>
* prj-nmsc.adb (Add_Source): Allow an Ada source to have the same name
as a source of another project and of another language.
* sem_prag.adb (Analyze_Pragma): Ignore Inline_Always pragma in
CodePeer mode.
2010-09-10 Thomas Quinot <quinot@adacore.com>
* sem_res.adb: Minor reformatting.
* exp_ch9.adb, rtsfind.ads, exp_ch4.adb, exp_ch3.adb: Do not hardcode
magic constants for task master levels (instead, reference
named numbers from System.Tasking).
2010-09-10 Eric Botcazou <ebotcazou@adacore.com>
* gnatvsn.ads (Ver_Prefix): New constant string.
* bindgen.adb (Gen_Output_File_Ada): Use it in lieu of hardcoded value.
(Gen_Output_File_C): Likewise.
* g-comver.adb (Ver_Prefix): Add cross-reference to Gnatvsn.Ver_Prefix
in comment.
2010-09-10 Ed Schonberg <schonberg@adacore.com>
* sem.adb (Walk_Library_Items): Do not traverse children of the main
unit, to prevent spurious circularities in the walk order.
(Depends_On_Main): Use elsewhere to prevent circularities when the body
of an ancestor of the main unit depends on a child of the main unit.
* sem_ch3.adb (Derive_Subprograms): An interface primitive operation
that is a renaming must be derived like any other primitive operation,
the renamed operation is not relevant to the derivation.
2010-09-10 Robert Dewar <dewar@adacore.com>
* sem_aux.ads: Add comment for Is_Inherently_Limited_Type.
* checks.adb: Minor reformatting.
* gnat_ugn.texi: Add section on intent of style checking options.
2010-09-10 Arnaud Charlet <charlet@adacore.com>
* xref_lib.adb (Get_Full_Type): Fix handling of 'a' char.
2010-09-10 Ed Schonberg <schonberg@adacore.com>
* sem_ch3.adb: Improve error message on derivation from class-wide type
2010-09-10 Steve Baird <baird@adacore.com>
* gnat1drv.adb (Adjust_Global_Switches): Enable Expression_With_Actions
generation when Generate_SCIL is True.
2010-09-10 Geert Bosch <bosch@adacore.com>
* gnatlink.adb (Check_ Existing_Executable): New procedure for checking
validity of executable name and removing any existing executable
(Gnatlink): Call Check_Existing_Executable.
Nicola Pero [Fri, 10 Sep 2010 09:56:40 +0000 (09:56 +0000)]
deprecated: New directory.
* libobjc/objc/deprecated: New directory.
* libobjc/objc/deprecated/README: New file.
* libobjc/objc/README: New file.
* libobjc/objc/typedstream.h: Moved into objc/deprecated/typedstream.h;
objc/typedstream.h replaced with a placeholder including the file
from the deprecated/ directory.
* libobjc/objc/deprecated/objc-unexpected-exception.h: New file with the
definition of _objc_unexpected_exception.
* libobjc/objc/objc-api.h: Include deprecated/objc-unexcepted-exception.h
instead of defining _objc_unexpected_exception.
* libobjc/objc/deprecated/Object.h: New file with the deprecated Object
methods in a 'Deprecated' category.
* libobjc/objc/Object.h Include deprecated/Object.h instead of defining
the deprecated methods.
* libobjc/Object.m: Moved deprecated methods into 'Deprecated' category.
* libobjc/objc-private: New directory.
* libobjc/objc-private/README: New file.
* libobjc/Makefile.in (OBJC_DEPRECATED_H): New variable.
(install-headers): Create installation directory for
OBJC_DEPRECATED_H headers, and install them.
* s-tporft.adb, s-taskin.ads (Register_Foreign_Thread): Move
initialization of Task_Alternate_Stack here, cleaner since in case of
ranvescar, Restricted_Ada_Task_Control_Block is not initialized
implicitly.
* prj-util.adb (Executable_Of): Fix CE when the project does not
contain a Builder package.
2010-09-10 Vincent Celier <celier@adacore.com>
* prj-ext.adb (Initialize_Project_Path): Add <prefix>/lib/gpr/<target>
to the project path, if Prefix and Target_Name are defined.
* prj-tree.ads (Project_Node_Tree_Data): New component Target_Name
2010-09-10 Ed Schonberg <schonberg@adacore.com>
* checks.adb (Ensure_Valid): If the expression is a boolean expression
or short-circuit operation, do no emit a validity check: only the
elementary operands of the expression need checking.
2010-09-10 Ben Brosgol <brosgol@adacore.com>
* gnat_rm.texi: Document Short_Descriptors.
2010-09-10 Arnaud Charlet <charlet@adacore.com>
* s-taprop-linux.adb, s-taskin.ads (Task_Alternate_Stack): Default
initialize to Null_Address.
(Enter_Task): Do not set up an alternate stack for foreign threads.
* opt.adb (Short_Descriptors): New flag
(Short_Descriptors_Config): New flag
* opt.ads (Short_Descriptors): New flag
(Short_Descriptors_Config): New flag
* par-prag.adb: Add dummy entry for Short_Descriptors pragma
* sem_prag.adb (Set_Mechanism_Value): Deal with Short_Descriptors pragma
(Analyze_Pragma): Implement Short_Descriptors pragma
* snames.ads-tmpl: Add entry for Short_Descriptors pragma
2010-09-10 Emmanuel Briot <briot@adacore.com>
* prj-util.adb, prj-util.ads (Executable_Of): Take into account the
project's Executable_Suffix.
Martin Jambor [Thu, 9 Sep 2010 23:38:23 +0000 (01:38 +0200)]
re PR tree-optimization/44972 (ICE: in load_assign_lhs_subreplacements, at tree-sra.c:2475)
2010-09-10 Martin Jambor <mjambor@suse.cz>
PR tree-optimization/44972
* tree-sra.c: Include toplev.h.
(build_ref_for_offset): Entirely reimplemented.
(build_ref_for_model): New function.
(build_user_friendly_ref_for_offset): New function.
(analyze_access_subtree): Removed build_ref_for_offset check.
(propagate_subaccesses_across_link): Likewise.
(create_artificial_child_access): Use
build_user_friendly_ref_for_offset.
(propagate_subaccesses_across_link): Likewise.
(ref_expr_for_all_replacements_p): Removed.
(generate_subtree_copies): Updated comment. Use build_ref_for_model.
(sra_modify_expr): Use build_ref_for_model.
(load_assign_lhs_subreplacements): Likewise.
(sra_modify_assign): Removed ref_expr_for_all_replacements_p checks,
checks for return values of build_ref_for_offset.
* ipa-cp.c (ipcp_lattice_from_jfunc): No need to check return value of
build_ref_for_offset.
* ipa-prop.h: Include gimple.h
* ipa-prop.c (ipa_compute_jump_functions): Update to look for MEM_REFs.
(ipa_analyze_indirect_call_uses): Update comment.
* Makefile.in (tree-sra.o): Add $(GIMPLE_H) to dependencies.
(IPA_PROP_H): Likewise.
* testsuite/gcc.dg/ipa/ipa-sra-1.c: Adjust scanning expressions.
* testsuite/gcc.dg/tree-ssa/pr45144.c: Likewise.
* testsuite/gcc.dg/tree-ssa/forwprop-5.c: Likewise and scan optimzed
dump instead.
* testsuite/g++.dg/torture/pr44972.C: New test.
* config/arm/bpabi.h (BE8_LINK_SPEC): Handle Cortex-a15.
* config/arm/arm-cores.def (cortex-a15): New core. Treat it
as a v7-a.
* config/arm/arm-tune.md: Regenerate.
* doc/invoke.texi (ARM Options): Document it.
re PR target/40959 (FreeBSD/ia64 build fails: No rule to make target `/usr/ports/lang/gcc43/work/build/ia64-portbld-freebsd8.0/libgcc/crtfastmath.o', needed by `T_TARGET'.)
2010-09-09 Gerald Pfeifer <gerald@pfeifer.com>
Andrew Pinski <pinskia@gmail.com>
PR target/40959
* config.host (ia64*-*-freebsd*): Set extra_parts. Set tmake_file.
Co-Authored-By: Andrew Pinski <pinskia@gmail.com>
From-SVN: r164132