Dave Korn [Fri, 24 Feb 2012 16:17:01 +0000 (16:17 +0000)]
Makefile.in (bindir): Import from autoconf and pass down to submake.
libada/ChangeLog:
* Makefile.in (bindir): Import from autoconf and pass down to submake.
gcc/ada/ChangeLog:
* gcc-interface/Makefile.in (WIN_SO_PREFIX [windows targets]): New
Windows-specific make variable.
(WIN_SO_INSTALL_DIR [windows targets]): Likewise.
(install-gnatlib): Respect the above during installation when set,
and also install any windows import library that has been built.
(gnatlib-shared-win32): Use WIN_SO_PREFIX to name output DLL and also
build a corresponding import library.
Richard Guenther [Fri, 24 Feb 2012 11:38:39 +0000 (11:38 +0000)]
re PR tree-optimization/52361 (gcc.dg/pr48141.c times out with checking enabled)
2012-02-24 Richard Guenther <rguenther@suse.de>
PR middle-end/52361
* passes.c (execute_function_todo): When verifying SSA form
verify gimple form first.
* tree-ssa.c (verify_ssa): Do not verify gimple form here.
Richard Guenther [Fri, 24 Feb 2012 11:14:17 +0000 (11:14 +0000)]
re PR middle-end/52355 (address difference between array elements is not considered to be a compile time constant anymore)
2012-02-24 Richard Guenther <rguenther@suse.de>
PR middle-end/52355
* fold-const.c (fold_addr_of_array_ref_difference): New function.
(fold_binary_loc): Use it to extend the existing &a[i] - &a[j]
folding.
Kai Tietz [Thu, 23 Feb 2012 21:02:27 +0000 (22:02 +0100)]
re PR libffi/52221 ([libffi] r183675,r184021 needs to be fixed.)
PR libffi/52221
* src/x86/ffi.c (ffi_closure_raw_THISCALL): New
prototype.
(ffi_prep_raw_closure_loc): Use ffi_closure_raw_THISCALL for
thiscall-convention.
(ffi_raw_call): Use ffi_prep_args_raw.
* src/x86/win32.S (ffi_closure_raw_THISCALL): Add
implementation for stub.
Kai Tietz [Thu, 23 Feb 2012 18:10:53 +0000 (19:10 +0100)]
pack-test-5.c: Add -mno-ms-bitfields option for mingw-targets.
* gcc.dg/pack-test-5.c: Add -mno-ms-bitfields option
for mingw-targets.
* gcc.dg/Wpadded.c: Likewise.
* gcc.dg/bf-ms-layout-2.c: Adjust offsets to fit ms-bitfield
structure-layout.
* gcc.dg/di-sync-multithread.c: Replace for mingw-target the use
for sleep by Sleep and add windows.h include for this function.
* gcc.dg/format/dfp-printf-1.c: Adjust dg-skip-if rule for mingw
targets.
* gcc.dg/stack-usage-1.c (SIZE): Provide proper SIZE for x64 mingw
target.
* gcc.dg/tls/thr-cse-1.c: Provide proper pattern for x64 mingw
target.
* gcc.dg/tls/opt-11.c (memset): Use __extension__ to avoid fail
on x64 mingw target.
* gcc.dg/bf-ms-attrib.c: Adjust expected size for ms_struct layout.
* gcc.dg/pr50251.c: Disable test for x64 mingw target.
* gcc.c-torture/execute/930930-1.c (long): Replace by ptr_t to avoid
failure on LLP64 target.
Ulrich Weigand [Thu, 23 Feb 2012 10:16:39 +0000 (10:16 +0000)]
acinclude.m4: Use HAVE_INITFINI_ARRAY_SUPPORT instead of HAVE_INITFINI_ARRAY to work around...
gcc/
* acinclude.m4: Use HAVE_INITFINI_ARRAY_SUPPORT instead of
HAVE_INITFINI_ARRAY to work around namespace pollution in
certain versions of newlib system headers.
* config.in: Regenerate.
* configure: Regenerate.
* config/initfini-array.h: Use HAVE_INITFINI_ARRAY_SUPPORT
instead of HAVE_INITFINI_ARRAY.
libgcc/
* config/ia64/crtbegin.S: Use HAVE_INITFINI_ARRAY_SUPPORT
instead of HAVE_INITFINI_ARRAY.
* config/ia64/crtend.S: Likewise.
* exp_ch7.adb (Process_Declarations): Minor reformatting. Simplify the
entry point for renamings. Detect a case where a source object has
been transformed into a class-wide renaming of a call to
Ada.Tags.Displace.
* exp_util.adb (Is_Displacement_Of_Ctrl_Function_Result): New routine.
(Is_Finalizable_Transient): Minor reformatting.
(Is_Tag_To_Class_Wide_Conversion): Minor reformatting.
(Requires_Cleanup_Actions): Minor reformatting. Simplify the
entry point for renamings. Detect a case where a source object
has been transformed into a class-wide renaming of a call to
Ada.Tags.Displace.
* exp_util.ads (Is_Displacement_Of_Ctrl_Function_Result): New routine.
(Is_Tag_To_Class_Wide_Conversion): Minor reformatting.
2012-02-22 Ed Schonberg <schonberg@adacore.com>
* lib-load.adb (Load_Unit): If the prefix of the name in a
with-clause is a renaming, add a with-clause on the original unit.
* sem_ch10.adb (Build_Unit_Name): Remove code made obsolete by
new handling of renamings in with-clauses.
* exp_ch7.adb (Create_Finalizer): Suppress elaboration checks on
stack-related finalizers.
2012-02-22 Ed Schonberg <schonberg@adacore.com>
* sem_ch6.adb (Analyze_Expression_Function): If the construct
is a completion, indicate that its formals are the formals of
a completion, and as such do not get a cross- reference entry.
(Analyze_Subprogram_Specification): Do not generate a definition
for the entity of an expression function, because it may be a
completion. Definition will be generated if needed when analyzing
the generated subprogram declaration.
2012-02-22 Vincent Celier <celier@adacore.com>
* make.adb (Check): When checking if an object file is in the
correct object directory, get the unit name from a previous call
to Check_Source_Info_In_ALI.
* makeutl.adb (Check_Source_Info_In_ALI): Return the name of
the unit when everything is OK, otherwise return No_Name.
* makeutl.ads (Check_Source_Info_In_ALI): Return Name_Id instead
of Boolean
2012-02-22 Ed Schonberg <schonberg@adacore.com>
* sem_ch4.adb (Find_Equality_Types, Try_One_Interp): In an
instance, the operator is visible if an operand is of some
numeric type which is not in use or directly visible, and the
other operand is a numeric literal.
2012-02-22 Tristan Gingold <gingold@adacore.com>
* init.c: Minor code clean up.
* gcc-interface/Make-lang.in: Update dependencies.
2012-02-22 Arnaud Charlet <charlet@adacore.com>
* gnatlink.adb (Gnatlink): Use -gnatcC in CodePeer_Node,
otherwise GCC will generate an object file.
2012-02-22 Vincent Celier <celier@adacore.com>
* projects.texi: Correct typo related to "**" in Source_Dirs.
Arnaud Charlet [Wed, 22 Feb 2012 13:53:38 +0000 (14:53 +0100)]
[multiple changes]
2012-02-22 Vincent Pucci <pucci@adacore.com>
* rtsfind.adb (Get_Unit_Name): Ada_Numerics_Child and
System_Dim_Child cases added.
* rtsfind.ads: Ada_Numerics,
Ada_Numerics_Generic_Elementary_Functions, System_Dim,
System_Dim_Float_IO and System_Dim_Integer_IO added to the list
of RTU_Id. Ada_Numerics_Child and System_Dim_Child added as
new RTU_Id subtypes.
* sem_dim.adb (Is_Dim_IO_Package_Entity): Use of
Rtsfind to verify the package entity is located either
in System.Dim.Integer_IO or in System.Dim.Float_IO.
(Is_Dim_IO_Package_Instantiation): Minor
changes. (Is_Elementary_Function_Call): Removed.
(Is_Elementary_Function_Entity): New routine.
(Is_Procedure_Put_Call): Is_Dim_IO_Package_Entity call added.
* snames.ads-tmpl: Name_Dim and Name_Generic_Elementary_Functions
removed.
2012-02-22 Vincent Pucci <pucci@adacore.com>
* sem_prag.adb: Minor reformatting.
2012-02-22 Ed Schonberg <schonberg@adacore.com>
* sem_ch3.adb (Find_Type_Name): When analyzing a private type
declaration that is the completion of a tagged incomplete type, do
not associate the class-wide type already created with the private
type to prevent order-of-elaboration issues in the back-end.
* exp_disp.adb (Find_Specific_Type): Find specific type of
a class-wide type, and handle the case of an incomplete type
coming either from a limited_with clause or from an incomplete
type declaration. Used when expanding a dispatchin call and
generating tag checks (minor refactoring).
Arnaud Charlet [Wed, 22 Feb 2012 13:47:23 +0000 (14:47 +0100)]
[multiple changes]
2012-02-22 Ed Schonberg <schonberg@adacore.com>
* freeze.adb (Freeze_Entity): Do not perform type layout within
a generic unit.
2012-02-22 Eric Botcazou <ebotcazou@adacore.com>
* init.c (__gnat_error_handler) [Linux]: Map SIGBUS to
Storage_Error.
2012-02-22 Ed Schonberg <schonberg@adacore.com>
* exp_ch5.adb (Expand_N_Assignment_Statement): Reject an
assignment to a classwide type whose type is limited, as
can happen in an instantiation in programs that run afoul or
AI05-0087.
Georg-Johann Lay [Wed, 22 Feb 2012 09:25:35 +0000 (09:25 +0000)]
re PR rtl-optimization/50063 (DSE: wrong code for gcc.dg/torture/pta-ptrarith-3.c)
PR rtl-optimization/50063
* config/avr/avr.md (movhi_sp_r): Handle -1 (unknown IRQ state)
and 2 (8-bit SP) in operand 2.
* config/avr/avr.c (avr_prologue_setup_frame): Adjust prologue
setup to use movhi_sp_r instead of vanilla move to write SP.
Adjust REG_CFA notes to superseed unspec.
(expand_epilogue): Adjust epilogue setup to use movhi_sp_r instead
of vanilla move.
As function body might contain CLI or SEI: Use irq_state 0 (IRQ
known to be off) only with TARGET_NO_INTERRUPTS. Never use
irq_state 1 (IRQ known to be on) here.
Richard Earnshaw [Tue, 21 Feb 2012 15:38:35 +0000 (15:38 +0000)]
re PR target/52294 ([ARM Thumb] generated asm code produces "branch out of range" error in gas with -Os -mcpu=cortex-a9)
PR target/52294
* thumb2.md (thumb2_shiftsi3_short): Split register and
immediate shifts. For register shifts tie operands 0 and 1.
(peephole2 for above): Check that register-controlled shifts
have suitably tied operands.
Richard Guenther [Tue, 21 Feb 2012 12:37:33 +0000 (12:37 +0000)]
re PR tree-optimization/52324 (Store motion no longer performed)
2012-02-21 Richard Guenther <rguenther@suse.de>
PR tree-optimization/52324
* gimplify.c (gimplify_expr): When re-gimplifying expressions
do not gimplify a MEM_REF address operand if it is already
in suitable form.
Jakub Jelinek [Tue, 21 Feb 2012 09:24:42 +0000 (10:24 +0100)]
re PR tree-optimization/52318 (ICE: in execute_todo, at passes.c:1748 with -O3 -ftracer -fno-tree-ccp -fno-tree-copy-prop -fno-tree-dce and stpcpy_chk())
PR tree-optimization/52318
* gimple-fold.c (gimplify_and_update_call_from_tree): Add
vdef also to non-pure/const call stmts in the sequence.
Torvald Riegel [Mon, 20 Feb 2012 20:57:09 +0000 (20:57 +0000)]
libitm: Remove obsolete handling of prior serial lock corner cases in gl_wt.
libitm/
* method-gl.cc (gl_wt_dispatch::trycommit): Remove handling of
serial mode corner cases made obsolete by prior gtm_rwlock changes.
(gl_wt_dispatch.rollback): Same.
Richard Guenther [Mon, 20 Feb 2012 15:15:52 +0000 (15:15 +0000)]
re PR tree-optimization/52298 (ICE: verify_ssa failed: definition in block follows use)
2012-02-20 Richard Guenther <rguenther@suse.de>
PR tree-optimization/52298
* tree-vect-stmts.c (vectorizable_store): Properly use
STMT_VINFO_DR_STEP instead of DR_STEP when vectorizing
outer loops.
(vectorizable_load): Likewise.
* tree-vect-data-refs.c (vect_analyze_data_ref_access):
Access DR_STEP after ensuring it is not NULL.
* gcc.dg/torture/pr52298.c: New testcase.
* gcc.dg/vect/pr52298.c: Likewise.
Jakub Jelinek [Mon, 20 Feb 2012 12:19:47 +0000 (13:19 +0100)]
re PR tree-optimization/52286 (wrong code bug)
PR tree-optimization/52286
* fold-const.c (fold_binary_loc): For (X & C1) | C2
optimization use double_int_to_tree instead of build_int_cst_wide,
rewrite to use double_int vars.
Rainer Orth [Mon, 20 Feb 2012 11:47:25 +0000 (11:47 +0000)]
Enable initfini array support on Solaris (PR target/50166)
* acinclude.m4 (gcc_AC_INITFINI_ARRAY): Require gcc_SUN_LD_VERSION.
Define _start.
Remove -e 0 from $gcc_cv_ld invocation.
Only use __GLIBC_PREREQ if defined.
Enable on Solaris since Solaris 8 patch.
(gcc_SUN_LD_VERSION): New macro.
* configure.ac (ld_ver) <*-*-solaris2*>: Refer to
gcc_SUN_LD_VERSION for version number format.
* configure: Regenerate.
* varasm.c (get_elf_initfini_array_priority_section): Set
SECTION_NOTYPE for non-default priority.
Use get_section instead of get_unnamed_section to emit
.init_array/.fini_array with default priority.
gcc/
* config/mips/mips.c (mips_need_mips16_rdhwr_p): New variable.
(mips_get_tp): Set it. Record that __mips16_rdhwr binds locally.
(mips_start_unique_function, mips_output_mips16_rdhwr)
(mips_code_end): New functions.
(TARGET_ASM_CODE_END): Define.