platform/upstream/linaro-gcc.git
9 years ago * gcc-interface/utils.c (max_size) <tcc_binary>: Add special code to
ebotcazou [Thu, 28 May 2015 15:45:08 +0000 (15:45 +0000)]
* gcc-interface/utils.c (max_size) <tcc_binary>: Add special code to
deal with the subtraction of a "negative" value in an unsigned type.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223837 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Subprogram_Type>: Do
ebotcazou [Thu, 28 May 2015 15:37:57 +0000 (15:37 +0000)]
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Subprogram_Type>: Do
not error out on a return type which has a size that overflows if the
return is done by invisible reference.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223836 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * gcc-interface/utils.c (gnat_pushdecl): Reunify the handling of array
ebotcazou [Thu, 28 May 2015 15:33:00 +0000 (15:33 +0000)]
* gcc-interface/utils.c (gnat_pushdecl): Reunify the handling of array
and pointer types wrt DECL_ORIGINAL_TYPE and adjust left and right.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223835 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * gcc-interface/gigi.h (gnat_stabilize_reference): Adjust.
ebotcazou [Thu, 28 May 2015 15:24:12 +0000 (15:24 +0000)]
* gcc-interface/gigi.h (gnat_stabilize_reference): Adjust.
(rewrite_fn): Remove third parameter.
(type_is_padding_self_referential): New inline predicate.
(return_type_with_variable_size_p): Likewise.
* gcc-interface/decl.c (allocatable_size_p): More around.
(cannot_be_superflat_p): Rename into...
(cannot_be_superflat ): ...this.
(initial_value_needs_conversion): New predicate.
(gnat_to_gnu_entity): Invoke type_is_padding_self_referential,
initial_value_needs_conversion and adjust to above renaming.
For a renaming, force the materialization if the inner expression
is compound.  Adjust calls to elaborate_reference and build a
compound expression if needed.
(struct er_dat): Add N field.
(elaborate_reference_1): Remove N parameter and adjust.
(elaborate_reference): Add INIT parameter and pass it in the call to
gnat_rewrite_reference.  Adjust initial expression.
* gcc-interface/trans.c (Call_to_gnu): Treat renamings the same way as
regular object declarations when it comes to creating a temporary.
Adjust call to gnat_stabilize_reference and build a compound expression
  if needed.  Invoke return_type_with_variable_size_p.
(gnat_to_gnu): Invoke type_is_padding_self_referential.  In case #4,
return a call to a function unmodified if it returns with variable size
  and is also the initial expression in an object declaration.
* gcc-interface/utils2.c (build_binary_op) <INIT_EXPR>: Use the RHS'
type if it is a call to a function that returns with variable size.
(build_unary_op): Invoke type_is_padding_self_referential.
(gnat_stabilize_reference_1): Remove N parameter and adjust.
(gnat_stabilize_reference): Add INIT parameter and pass it in the call
to gnat_rewrite_reference.
(gnat_rewrite_reference):  Remove N, add INIT parameter and adjust.
<COMPOUND_EXPR>: New case.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223834 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoconfigure: fix vtable help
vapier [Thu, 28 May 2015 14:27:35 +0000 (14:27 +0000)]
configure: fix vtable help

Spacing is off causing --help to not line up.  Use the standard
AS_HELP_STRING like all the other options.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223833 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agonios2-linux: add missing cpp specs
vapier [Thu, 28 May 2015 13:59:58 +0000 (13:59 +0000)]
nios2-linux: add missing cpp specs

Define CPP_SPEC for nios2 linux targets so that -posix & -pthread work
like on all other linux targets.

Discovered via Gentoo bug https://bugs.gentoo.org/543114

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223823 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agomicroblaze-linux: add missing cpp specs
vapier [Thu, 28 May 2015 13:59:32 +0000 (13:59 +0000)]
microblaze-linux: add missing cpp specs

Define CPP_SPEC for microblaze linux targets so that -posix & -pthread
work like on all other linux targets.

Discovered via Gentoo bug https://bugs.gentoo.org/543114

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223822 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * config/linux/x86/futex.h (sys_futex0) [!__x86_64__]: Remove function.
uros [Thu, 28 May 2015 13:59:17 +0000 (13:59 +0000)]
* config/linux/x86/futex.h (sys_futex0) [!__x86_64__]: Remove function.
(futex_wait) [!__x86_64__]: Use __asm operand instead of sys_futex0.
(futex_wake) [!__x86_64__]: Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223821 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agohppa-linux: add missing cpp specs
vapier [Thu, 28 May 2015 13:59:09 +0000 (13:59 +0000)]
hppa-linux: add missing cpp specs

Define CPP_SPEC for parisc linux targets so that -posix & -pthread work
like on all other linux targets.

Discovered via Gentoo bug https://bugs.gentoo.org/543114

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223820 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2015-05-28 Richard Biener <rguenther@suse.de>
rguenth [Thu, 28 May 2015 13:29:41 +0000 (13:29 +0000)]
2015-05-28  Richard Biener  <rguenther@suse.de>

* tree-vect-loop.c (vect_fixup_reduc_chain): New function.
(vect_fixup_scalar_cycles_with_patterns): Likewise.
(vect_analyze_loop_2): Call vect_fixup_scalar_cycles_with_patterns
after pattern recog.
(vect_create_epilog_for_reduction): Properly handle reductions
with patterns.
(vectorizable_reduction): Likewise.
* tree-vect-slp.c (vect_analyze_slp_instance): Properly mark
reduction chains.
(vect_get_constant_vectors): Create the correct number of
initial values for reductions.
(vect_schedule_slp_instance): Handle reduction chains that are
type changing properly.
* tree-vect-stmts.c (vect_analyze_stmt): Adjust.

* gcc.dg/vect/slp-reduc-sad.c: New testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223818 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2015-05-28 Ed Schonberg <schonberg@adacore.com>
charlet [Thu, 28 May 2015 13:27:16 +0000 (13:27 +0000)]
2015-05-28  Ed Schonberg  <schonberg@adacore.com>

* sem_ch3.adb (Is_Visible_Component): Component is visible
in a derived type if inherited through an ancestor that has a
partial view of the original type holding the component, if the
full view of that original type is in scope.
* sem_util.ads (Get_Body_From_Stub): Works for all kinds of stubs.

2015-05-28  Bob Duff  <duff@adacore.com>

* sem_util.adb (Requires_Transient_Scope): For definite untagged
subtypes, we should never have to use the secondary stack. This moves
toward that goal. But there are still cases that don't work.
Here, we move the check for Is_Definite first, but add a
special-purpose check for Has_Discrim_Dep_Array.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223817 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2015-05-28 Richard Biener <rguenther@suse.de>
rguenth [Thu, 28 May 2015 13:24:53 +0000 (13:24 +0000)]
2015-05-28  Richard Biener  <rguenther@suse.de>

PR tree-optimization/66142
* tree-ssa-sccvn.c (vn_reference_lookup_3): Handle non-GIMPLE
values better in memcpy destination handling.  Handle non-aliasing
we discover here.

* gcc.dg/tree-ssa/ssa-fre-44.c: Fixup.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223816 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2015-05-28 Bob Duff <duff@adacore.com>
charlet [Thu, 28 May 2015 12:52:55 +0000 (12:52 +0000)]
2015-05-28  Bob Duff  <duff@adacore.com>

* sem_util.adb (Requires_Transient_Scope): Avoid returning
function results on the secondary stack in so many cases.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223814 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2015-05-28 Lawrence Velázquez <vq@larryv.me>
mrs [Thu, 28 May 2015 12:27:05 +0000 (12:27 +0000)]
2015-05-28  Lawrence Velázquez  <vq@larryv.me>

PR target/63810
* config/darwin-c.c (version_components): New global enum.
(parse_version, version_as_legacy_macro)
(version_as_modern_macro, macosx_version_as_macro): New functions.
(version_as_macro): Remove.
(darwin_cpp_builtins): Use new function.

testsuite:
PR target/63810
* gcc.dg/darwin-minversion-3.c: Update testcase.
* gcc.dg/darwin-minversion-4.c: Ditto.
* gcc.dg/darwin-minversion-5.c: New testcase.
* gcc.dg/darwin-minversion-6.c: Ditto.
* gcc.dg/darwin-minversion-7.c: Ditto.
* gcc.dg/darwin-minversion-8.c: Ditto.
* gcc.dg/darwin-minversion-9.c: Ditto.
* gcc.dg/darwin-minversion-10.c: Ditto.
* gcc.dg/darwin-minversion-11.c: Ditto.
* gcc.dg/darwin-minversion-12.c: Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223808 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR libstdc++/65352
redi [Thu, 28 May 2015 11:53:35 +0000 (11:53 +0000)]
PR libstdc++/65352
* include/std/array (__array_traits::_S_ptr): New function.
(array::data): Use _S_ptr to avoid creating invalid reference.
* testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust
dg-error line numbers.
* testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223806 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoMark parameters with ATTRIBUTE_UNUSED
hjl [Thu, 28 May 2015 11:41:34 +0000 (11:41 +0000)]
Mark parameters with ATTRIBUTE_UNUSED

* builtins.c (expand_builtin_acc_on_device): Mark parameters
with ATTRIBUTE_UNUSED.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223805 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2015-05-28 Ed Schonberg <schonberg@adacore.com>
charlet [Thu, 28 May 2015 10:48:29 +0000 (10:48 +0000)]
2015-05-28  Ed Schonberg  <schonberg@adacore.com>

* sem_util.adb (Wrong_Type): In any instance, do not emit error
if type of expression is the partial view of the expected type.

2015-05-28  Ed Schonberg  <schonberg@adacore.com>

* sem_res.adb (Resolve_Actuals): a)  The replacement of formal
names in named associations only needs to be done within an
instance, on a call to a primitive of a formal derived type,
where the actual subprogram may have different formal names than
those of the primitive operation of the formal type.
b) Defaulted parameters must be taken into account when obtaining
the names of the formals of the actual subprogram being called.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223804 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * oacc-init.c (resolve_device): Add FAIL_IS_ERROR argument. Update
jules [Thu, 28 May 2015 10:35:39 +0000 (10:35 +0000)]
* oacc-init.c (resolve_device): Add FAIL_IS_ERROR argument. Update
function comment. Only call gomp_fatal if new argument is true.
(acc_dev_num_out_of_range): New function.
(acc_init_1, acc_shutdown_1): Update call to resolve_device. Call
acc_dev_num_out_of_range as appropriate.
(acc_get_num_devices, acc_set_device_type, acc_get_device_type)
(acc_get_device_num, acc_set_device_num): Update calls to resolve_device.
* testsuite/libgomp.oacc-c-c++-common/lib-4.c: Update expected test
output.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223803 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR libgomp/65742
jules [Thu, 28 May 2015 09:29:19 +0000 (09:29 +0000)]
PR libgomp/65742

    gcc/
    * builtins.c (expand_builtin_acc_on_device): Don't use open-coded
    sequence for !ACCEL_COMPILER.

    libgomp/
    * oacc-init.c (plugin/plugin-host.h): Include.
    (acc_on_device): Check whether we're in an offloaded region for
    host_nonshm
    plugin. Don't use __builtin_acc_on_device.
    * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_parallel): Set
    nonshm_exec flag in thread-local data.
    (GOMP_OFFLOAD_openacc_create_thread_data): Allocate thread-local
    data for host_nonshm plugin.
    (GOMP_OFFLOAD_openacc_destroy_thread_data): Free thread-local data
    for host_nonshm plugin.
    * plugin/plugin-host.h: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223801 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2015-05-28 Robert Dewar <dewar@adacore.com>
charlet [Thu, 28 May 2015 08:19:18 +0000 (08:19 +0000)]
2015-05-28  Robert Dewar  <dewar@adacore.com>

* sem_ch13.adb, sem_disp.ads: Minor reformatting.

2015-05-28  Ed Schonberg  <schonberg@adacore.com>

* sem_util.adb (Set_Debug_Info_Needed): For a private type
whose full view is itself a derived private type, set flag on
underlying full view as well, for proper gdb display.

2015-05-28  Bob Duff  <duff@adacore.com>

* exp_tss.ads: Minor comment fix.
* exp_ch3.adb (Build_Array_Init_Proc, Build_Record_Init_Proc):
Inline init_procs when the type has controlled parts. Remove
obsolete comments about those init_procs -- init_procs for
such types are no longer complex. A typical init_proc just
initializes the 'Tag field, and calls the parent init_proc
(e.g. for Limited_Controlled), which calls the grandparent
(for Root_Controlled), which does nothing. This all boils down
to one instruction when inlined.
* exp_ch7.adb (Create_Finalizer): Inline the finalizer.

2015-05-28  Ed Schonberg  <schonberg@adacore.com>

* sem_ch4.adb (Analyze_Selected_Component): If the type to use
is a derived type and is a generic actual, the selected component
appears within an instance body, and the check over the type
has failed, examine ancestor types for the desired component.
(Find_Component_In_Instance): If record type is a derived type,
examine all ancestors in order to locate desired component.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223800 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * config/rx/rx.c (push_regs): New function. Extracts code from...
nickc [Thu, 28 May 2015 07:16:51 +0000 (07:16 +0000)]
* config/rx/rx.c (push_regs): New function.  Extracts code from...
(rx_expand_prologue): ... here.  Use push_regs to push even small
spans of registers.
(pop_regs): New function.
(rx_expand_epilogue):  Use pop_regs to pop even small spans of
registers.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223799 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2015-05-28 Richard Biener <rguenther@suse.de>
rguenth [Thu, 28 May 2015 07:15:57 +0000 (07:15 +0000)]
2015-05-28  Richard Biener  <rguenther@suse.de>

* tree-vectorizer.h (struct _slp_instance): Remove body_cost_vec
member.
(SLP_INSTANCE_BODY_COST_VEC): Remove.
(vect_update_slp_costs_according_to_vf): Likewise.
(vect_slp_analyze_operations): Update prototype.
* tree-vect-loop.c (vect_analyze_loop_2): Remove call to
vect_update_slp_costs_according_to_vf, adjust.
* tree-vect-slp.c (vect_free_slp_instance): Adjust.
(vect_analyze_slp_cost_1): Likewise.
(vect_analyze_slp_cost): Likewise.  Properly deal with
widening reduction ops.  Commit body costs.
(vect_analyze_slp_instance): Adjust.  Do not analyze SLP
cost for loops from here.
(vect_slp_analyze_operations): But do it from here when
the vectorization factor is known and stmts are analyzed.
(vect_bb_vectorization_profitable_p): Simplify.
(vect_slp_analyze_bb_1): Do not compute SLP cost here.
(vect_update_slp_costs_according_to_vf): Remove.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223798 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoAdd --enable-default-pie option to GCC configure
hjl [Thu, 28 May 2015 02:36:55 +0000 (02:36 +0000)]
Add --enable-default-pie option to GCC configure

Add --enable-default-pie option to configure GCC to generate PIE by
default.

gcc/

* Makefile.in (COMPILER): Add @NO_PIE_CFLAGS@.
(BUILD_CFLAGS): Likewise.
(BUILD_CXXFLAGS): Likewise.
(LINKER): Add @NO_PIE_FLAG@.
(BUILD_LDFLAGS): Likewise.
(libgcc.mvars): Set NO_PIE_CFLAGS to -fno-PIE for
--enable-default-pie.
* common.opt (fPIE): Initialize to -1.
(fpie): Likewise.
(no-pie): New option.
(pie): Replace "Negative(shared)" with "Negative(no-pie)".
* configure.ac: Add --enable-default-pie.
(NO_PIE_CFLAGS): New.  Check if -fno-PIE works.  AC_SUBST.
(NO_PIE_FLAG): New.  Check if -no-pie works.  AC_SUBST.
* defaults.h (DEFAULT_FLAG_PIE): New.  Default PIE to -fPIE.
* gcc.c (NO_PIE_SPEC): New.
(PIE_SPEC): Likewise.
(NO_FPIE1_SPEC): Likewise.
(FPIE1_SPEC): Likewise.
(NO_FPIE2_SPEC): Likewise.
(FPIE2_SPEC): Likewise.
(NO_FPIE2_SPEC): Likewise.
(FPIE_SPEC): Likewise.
(NO_FPIE_SPEC): Likewise.
(NO_FPIC1_SPEC): Likewise.
(FPIC1_SPEC): Likewise.
(NO_FPIC2_SPEC): Likewise.
(FPIC2_SPEC): Likewise.
(NO_FPIC2_SPEC): Likewise.
(FPIC_SPEC): Likewise.
(NO_FPIC_SPEC): Likewise.
(NO_FPIE1_AND_FPIC1_SPEC): Likewise.
(FPIE1_OR_FPIC1_SPEC): Likewise.
(NO_FPIE2_AND_FPIC2_SPEC): Likewise.
(FPIE2_OR_FPIC2_SPEC): Likewise.
(NO_FPIE_AND_FPIC_SPEC): Likewise.
(FPIE_OR_FPIC_SPEC): Likewise.
(LD_PIE_SPEC): Likewise.
(LINK_PIE_SPEC): Handle -no-pie.  Use PIE_SPEC and LD_PIE_SPEC.
* opts.c (finish_options): Update opts->x_flag_pie if it is -1.
* config/darwin.h (PIE_SPEC): Renamed to ...
(DARWIN_PIE_SPEC): This.
(LINK_SPEC): Replace PIE_SPEC with DARWIN_PIE_SPEC.
* config/darwin9.h (PIE_SPEC): Renamed to ...
(DARWIN_PIE_SPEC): This.
* config/gnu-user.h (GNU_USER_TARGET_STARTFILE_SPEC): Use
PIE_SPEC and NO_PIE_SPEC if HAVE_LD_PIE is defined.
* config/openbsd.h (ASM_SPEC): Use FPIE1_OR_FPIC1_SPEC and
FPIE2_OR_FPIC2_SPEC.
* config/m68k/netbsd-elf.h (ASM_SPEC): Likewise.
* config/m68k/openbsd.h (ASM_SPEC): Likewise.
* gcc/config/sol2.h (ASM_PIC_SPEC): Likewise.
* config/arm/freebsd.h (SUBTARGET_EXTRA_ASM_SPEC): Likewise.
* config/arm/netbsd-elf.h (SUBTARGET_EXTRA_ASM_SPEC): Likewise.
* config/arm/semi.h (SUBTARGET_EXTRA_ASM_SPEC): Likewise.
* config/cris/linux.h (CRIS_ASM_SUBTARGET_SPEC): Likewise.
* config/m32r/m32r.h (ASM_SPEC): Likewise.
* config/m68k/uclinux.h (DRIVER_SELF_SPECS): Likewise.
* config/rs6000/linux64.h (ASM_SPEC32): Likewise.
* config/rs6000/sysv4.h (ASM_SPEC): Likewise.
* config/sparc/freebsd.h (ASM_SPEC): Likewise.
* config/sparc/linux.h (ASM_SPEC): Likewise.
* config/sparc/linux64.h (ASM_SPEC): Likewise.
* config/sparc/netbsd-elf.h (ASM_SPEC): Likewise.
* config/sparc/openbsd64.h (ASM_SPEC): Likewise.
* config/sparc/sp-elf.h (ASM_SPEC): Likewise.
* config/sparc/sp64-elf.h (ASM_SPEC): Likewise.
* config/sparc/sparc.h (ASM_SPEC): Likewise.
* config/sparc/sysv4.h (ASM_SPEC): Likewise.
* config/sparc/vxworks.h (ASM_SPEC): Likewise.
* config/c6x/elf-common.h (ASM_SPEC): Use NO_FPIC2_SPEC,
FPIC2_SPEC, FPIC1_SPEC and FPIC2_SPEC.
* config/c6x/uclinux-elf.h (LINK_SPEC): Use FPIE_SPEC.
* config/frv/frv.h (DRIVER_SELF_SPECS): Use FPIC_SPEC,
NO_FPIC_SPEC and NO_FPIE1_AND_FPIC1_SPEC.
(ASM_SPEC): Use FPIE1_OR_FPIC1_SPEC and FPIE2_OR_FPIC2_SPEC.
* config/m68k/m68k.h (ASM_PCREL_SPEC): Use FPIC_SPEC and
NO_FPIC_SPEC.
* config/mips/gnu-user.h (NO_SHARED_SPECS): Use
NO_FPIE_AND_FPIC_SPEC.
* config/mips/vxworks.h (SUBTARGET_ASM_SPEC): Use FPIC_SPEC.
* config/rs6000/freebsd64.h (ASM_SPEC32): Likewise.
* config/rs6000/vxworks.h (ASM_SPEC): Likewise.
* config/vax/linux.h (ASM_SPEC): Likewise.
* doc/install.texi: Document --enable-default-pie.
* doc/invoke.texi: Document -no-pie.
* config.in: Regenerated.
* configure: Likewise.

gcc/ada/

* gcc-interface/Makefile.in (TOOLS_LIBS): Add @NO_PIE_FLAG@.

libgcc/

* Makefile.in (CRTSTUFF_CFLAGS): Add $(NO_PIE_CFLAGS).

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223796 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoFix PR66168
thopre01 [Thu, 28 May 2015 02:15:03 +0000 (02:15 +0000)]
Fix PR66168

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223795 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR target/66148
danglin [Thu, 28 May 2015 01:09:59 +0000 (01:09 +0000)]
PR target/66148
* config/pa/pa.c (pa_emit_move_sequence): Correct placement of
REG_EQUAL note when doing insert.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223791 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * config/pa/pa.c (pa_print_operand): Use HOST_WIDE_INT_PRINT_DEC
danglin [Thu, 28 May 2015 00:36:08 +0000 (00:36 +0000)]
* config/pa/pa.c (pa_print_operand): Use HOST_WIDE_INT_PRINT_DEC
instead of "%d" for 'o' operand.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223790 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoDaily bump.
gccadmin [Thu, 28 May 2015 00:16:14 +0000 (00:16 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223788 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR target/39726
law [Wed, 27 May 2015 21:13:25 +0000 (21:13 +0000)]
    PR target/39726
        * gcc.dg/target/m68k/pr39726-1.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223781 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2015-05-27 Uros Bizjak <ubizjak@gmail.com>
uros [Wed, 27 May 2015 21:07:09 +0000 (21:07 +0000)]
2015-05-27  Uros Bizjak  <ubizjak@gmail.com>

* config/linux/wait.h (gomp_futex_wait, gomp_futex_wake):
Declare as int.
(FUTEX_PRIVATE_FLAG): Remove L suffix.
* config/linux/mutex.c (gomp_futex_wait, gomp_futex_wake):
Declare as int.

2015-05-27  Uros Bizjak  <ubizjak@gmail.com>

* config/linux/ia64/futex.h (sys_futex0) Change operand "op" to int.

2015-05-27  Uros Bizjak  <ubizjak@gmail.com>

Revert:
* config/linux/x86/futex.h (sys_futex0) [!__x86_64__]:
Change operand "op" to long.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223780 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * decl.c (check_redeclaration_exception_specification): Depend on
jason [Wed, 27 May 2015 20:53:06 +0000 (20:53 +0000)]
* decl.c (check_redeclaration_exception_specification): Depend on
-Wsystem-headers rather than -pedantic.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223778 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * decl.c (warn_extern_redeclared_static): Use the location of
jason [Wed, 27 May 2015 20:52:55 +0000 (20:52 +0000)]
* decl.c (warn_extern_redeclared_static): Use the location of
newdecl in diagnostics, not input_location.
(validate_constexpr_redeclaration): Likewise.
(check_redeclaration_no_default_args): Likewise.
(duplicate_decls): Likewise.
(check_redeclaration_exception_specification): Likewise.
Change second diagnostic to inform.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223777 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoapply to correct changelog
nathan [Wed, 27 May 2015 20:42:29 +0000 (20:42 +0000)]
apply to correct changelog

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223775 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * warnings.m4: Fix comment.
jason [Wed, 27 May 2015 20:40:38 +0000 (20:40 +0000)]
* warnings.m4: Fix comment.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223774 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR c++/66270
nathan [Wed, 27 May 2015 20:36:14 +0000 (20:36 +0000)]
PR c++/66270
* tree.c (build_pointer_type_for_mode): Canonical type does not
inherit can_alias_all.
(build_reference_type_for_mode): Likewise.

PR c++/66270
* g++.dg/ext/alias-canon3.C: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223773 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * gcc-interface/trans.c (elaborate_all_entities): Do not elaborate an
ebotcazou [Wed, 27 May 2015 19:57:43 +0000 (19:57 +0000)]
* gcc-interface/trans.c (elaborate_all_entities): Do not elaborate an
incomplete type coming from a limited_with and whose non-limited view
comes from the main unit.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223772 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agolibgomp/ChangeLog:
uros [Wed, 27 May 2015 19:35:58 +0000 (19:35 +0000)]
libgomp/ChangeLog:

* config/linux/x86/futex.h (sys_futex0) [!__x86_64__]:
Change operand "op" to long.
[__PIC__]: Remove sys_futex0 function.

libitm/ChangeLog:

* config/linux/x86/futex_bits.h (sys_futex0) [!__x86_64__]:
Change operand "op" to long.
[__PIC__]: Remove sys_futex0 function.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223771 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * expr.h (array_at_struct_end_p): Move to...
ebotcazou [Wed, 27 May 2015 18:00:15 +0000 (18:00 +0000)]
* expr.h (array_at_struct_end_p): Move to...
(array_ref_element_size): Likewise.
(component_ref_field_offset): Likewise.
* tree.h (array_ref_element_size): ...here.
(array_at_struct_end_p): Likewise.
(component_ref_field_offset): Likewise.
* expr.c (array_ref_element_size): Move to...
(array_ref_low_bound): Likewise.
(array_at_struct_end_p): Likewise.
(array_ref_up_bound): Likewise.
(component_ref_field_offset): Likewise.
* tree.c (array_ref_element_size): ...here.
(array_ref_low_bound): Likewise.
(array_ref_up_bound): Likewise.
(array_at_struct_end_p): Likewise.
(component_ref_field_offset): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223768 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Variable>: Move down
ebotcazou [Wed, 27 May 2015 17:57:01 +0000 (17:57 +0000)]
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Variable>: Move down
code applying atomic checks to the object.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223767 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago[PATCH 3/13] aarch64 musl support
jgreenhalgh [Wed, 27 May 2015 16:46:39 +0000 (16:46 +0000)]
[PATCH 3/13] aarch64 musl support

gcc/Changelog:

2015-05-27  Gregor Richards  <gregor.richards@uwaterloo.ca>
    Szabolcs Nagy  <szabolcs.nagy@arm.com>

* config/aarch64/aarch64-linux.h (MUSL_DYNAMIC_LINKER): Define.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223766 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * config.host (i[34567]86-*-freebsd*, x86_64-*-freebsd*): Set
law [Wed, 27 May 2015 16:14:10 +0000 (16:14 +0000)]
    * config.host (i[34567]86-*-freebsd*, x86_64-*-freebsd*): Set
        md_unwind_header
        * config/i386/freebsd-unwind.h: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223765 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR bootstrap/66304
jason [Wed, 27 May 2015 16:09:18 +0000 (16:09 +0000)]
PR bootstrap/66304
config/
* warnings.m4 (ACX_PROG_CXX_WARNING_OPTS)
(ACX_PROG_CXX_WARNINGS_ARE_ERRORS)
(ACX_PROG_CXX_WARNING_ALMOST_PEDANTIC): New.
(ACX_PROG_CC_WARNING_OPTS, ACX_PROG_CC_WARNING_ALMOST_PEDANTIC)
(ACX_PROG_CC_WARNINGS_ARE_ERRORS): Push into C language context.
gcc/
* configure.ac: Use ACX_PROG_CXX_WARNING_OPTS,
ACX_PROG_CXX_WARNING_ALMOST_PEDANTIC, and
ACX_PROG_CXX_WARNINGS_ARE_ERRORS.
* configure: Regenerate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223763 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * auto-profile.c (afdo_calculate_branch_prob): Break once has_sample is
law [Wed, 27 May 2015 15:06:25 +0000 (15:06 +0000)]
* auto-profile.c (afdo_calculate_branch_prob): Break once has_sample is
true.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223762 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * statistics.c (statistics_fini_pass): Print pass name.
law [Wed, 27 May 2015 15:06:10 +0000 (15:06 +0000)]
    * statistics.c (statistics_fini_pass): Print pass name.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223761 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2015-05-27 Richard Biener <rguenther@suse.de>
rguenth [Wed, 27 May 2015 14:20:48 +0000 (14:20 +0000)]
2015-05-27  Richard Biener  <rguenther@suse.de>

PR tree-optimization/66272
Revert parts of
2014-08-15  Richard Biener  <rguenther@suse.de>

PR tree-optimization/62031
* tree-data-ref.c (dr_analyze_indices): Do not set
DR_UNCONSTRAINED_BASE.
(dr_may_alias_p): All indirect accesses have to go the
formerly DR_UNCONSTRAINED_BASE path.
* tree-data-ref.h (struct indices): Remove
unconstrained_base member.
(DR_UNCONSTRAINED_BASE): Remove.

* gcc.dg/torture/pr66272.c: New testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223759 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * dwarf2out.c: Remove block_map.
aldyh [Wed, 27 May 2015 14:09:58 +0000 (14:09 +0000)]
* dwarf2out.c: Remove block_map.
(gen_call_site_die): Replace block_map use with BLOCK_DIE.
(gen_lexical_block_die): Same.
(dwarf2out_function_decl): Remove block_map use.
(dwarf2out_c_finalize): Same.
* tree-core.h (struct tree_block): Add die field.
* tree.h (BLOCK_DIE): New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223758 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2015-05-27 Richard Biener <rguenther@suse.de>
rguenth [Wed, 27 May 2015 13:50:50 +0000 (13:50 +0000)]
2015-05-27  Richard Biener  <rguenther@suse.de>

* gcc.dg/vect/slp-reduc-7.c: New testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223756 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2015-05-27 Robert Dewar <dewar@adacore.com>
charlet [Wed, 27 May 2015 13:26:16 +0000 (13:26 +0000)]
2015-05-27  Robert Dewar  <dewar@adacore.com>

* sem_aux.adb: Minor rewording.

2015-05-27  Bob Duff  <duff@adacore.com>

* exp_prag.adb (Expand_Pragma_Abort_Defer): Make
pragma Abort_Defer do nothing if Abort_Allowed is False.

2015-05-27  Arnaud Charlet  <charlet@adacore.com>

* exp_ch9.adb, sem_util.adb, sem_util.ads, s-stposu.adb, s-spsufi.ads,
sem_elab.ads, g-comlin.ads, errout.ads, exp_ch6.adb, sem_ch4.adb,
opt.ads, s-bignum.adb, output.ads, sem_ch13.adb, erroutc.ads,
sem_disp.ads, exp_ch3.adb: Minor fixes of duplicate words in comments.

2015-05-27  Doug Rupp  <rupp@adacore.com>

* adaint.c (__gnat_tmp_name) [vxworks]: Robustify and use for rtp as
well as kernel.

2015-05-27  Pierre-Marie de Rodat  <derodat@adacore.com>

* par_sco.adb (Process_Decision): Store sloc to
condition/pragmas SCOs associations into a temporary table before
moving them to the SCO_Raw_Hash_Table so that we can back them
out just like we do for SCO entries that are simple decisions
in an expression context.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223754 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago[expr.c] PR target/65358 Avoid clobbering partial argument during sibcall
ktkachov [Wed, 27 May 2015 13:25:01 +0000 (13:25 +0000)]
[expr.c] PR target/65358 Avoid clobbering partial argument during sibcall

PR target/65358
* expr.c (memory_load_overlap): New function.
(emit_push_insn): When pushing partial args to the stack would
clobber the register part load the overlapping part into a pseudo
and put it into the hard reg after pushing.  Change return type
to bool.  Add bool argument.
* expr.h (emit_push_insn): Change return type to bool.
Add bool argument.
* calls.c (expand_call): Cancel sibcall optimization when encountering
partial argument on targets with ARGS_GROW_DOWNWARD and
!STACK_GROWS_DOWNWARD.
(emit_library_call_value_1): Update callsite of emit_push_insn.
(store_one_arg): Likewise.

PR target/65358
* gcc.dg/pr65358.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223753 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2015-05-27 Ed Schonberg <schonberg@adacore.com>
charlet [Wed, 27 May 2015 13:21:36 +0000 (13:21 +0000)]
2015-05-27  Ed Schonberg  <schonberg@adacore.com>

* sem_ch6.adb (Process_Formals): A non-private formal type that
is a limited view does not have a list of private dependents.

2015-05-27  Ed Schonberg  <schonberg@adacore.com>

* exp_ch5.adb (Expand_N_Case_Statement): If the expression in
the case statement is a compile-time known value, we look for a
corresponding alternative to optimize the case statement into a
single case. If the type has a static predicate and the expression
does not satisfy the predicate, there is no legal alternative and
this optimization is not applicable.  Excecution is erroneous,
or else if assertions are enabled, an exception will be raised
earlier, at the point the expression is elaborated.

2015-05-27  Robert Dewar  <dewar@adacore.com>

* sem_elab.adb (Check_Internal_Call_Continue): Suppress
warning on Finalize, Adjust, or Initialize if type involved has
Warnings_Off set.

2015-05-27  Ed Schonberg  <schonberg@adacore.com>

* sem_aux.adb, sem_aux.ads (First_Discriminant): Return empty when
applied to a type with no known discriminants.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223752 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2015-05-26 Robert Dewar <dewar@adacore.com>
charlet [Wed, 27 May 2015 13:19:35 +0000 (13:19 +0000)]
2015-05-26  Robert Dewar  <dewar@adacore.com>

* errout.ads, sem_ch4.adb, sem_ch6.adb: Minor reformatting.

2015-05-26  Bob Duff  <duff@adacore.com>

* sem_elab.adb (Check_A_Call): In the case where we're
calling something in an instance of a generic package that is
within this same unit (as the call), make sure we treat it
as a call to an entity within the same unit. That is, call
Check_Internal_Call, rather than putting "Elaborate_All(X)"
on X, which would necessarily result in an elaboration cycle in
static-elaboration mode.

2015-05-26  Eric Botcazou  <ebotcazou@adacore.com>

* freeze.ads (Is_Atomic_VFA_Aggregate): Adjust profile.
* freeze.adb (Is_Atomic_VFA_Aggregate): Change Entity
parameter into Node parameter and remove Type parameter.
Look at Is_Atomic_Or_VFA both on the type and on the object.
(Freeze_Entity): Adjust call to Is_Atomic_VFA_Aggregate.
* exp_aggr.adb (Expand_Record_Aggregate): Likewise.
(Process_Atomic_Independent_Shared_Volatile): Remove code
propagating Atomic or VFA from object to locally-defined type.

2015-05-26  Bob Duff  <duff@adacore.com>

* exp_ch7.adb: Minor comment fix.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223751 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoLTO balanced map: add stats about insns and symbols.
marxin [Wed, 27 May 2015 13:17:13 +0000 (13:17 +0000)]
LTO balanced map: add stats about insns and symbols.

* lto-partition.c (new_partition): Reset number of symbols.
(add_symbol_to_partition_1): Increment number of symbols.
(undo_partition): Decrement number of symbols.
(lto_balanced_map): Dump number of symbols and insns that
belong to a partition.
* lto-partition.h (struct ltrans_partition_def): Add symbol counter.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223750 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago[PATCH 4/13] arm musl support
ktkachov [Wed, 27 May 2015 13:17:11 +0000 (13:17 +0000)]
[PATCH 4/13] arm musl support

On behalf of szabolcs.nagy@arm.com

2015-05-27  Gregor Richards  <gregor.richards@uwaterloo.ca>

* config/arm/linux-eabi.h (MUSL_DYNAMIC_LINKER): Define.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223749 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoNew memory allocation statistics infrastructure.
marxin [Wed, 27 May 2015 12:47:22 +0000 (12:47 +0000)]
New memory allocation statistics infrastructure.

* Makefile.in: Add additional dependencies related to memory report
enhancement.
* alloc-pool.c (allocate_pool_descriptor): Use new ctor.
* bitmap.c (struct bitmap_descriptor_d): Remove.
(struct loc): Likewise.
(struct bitmap_desc_hasher): Likewise.
(bitmap_desc_hasher::hash): Likewise.
(bitmap_desc_hasher::equal): Likewise.
(get_bitmap_descriptor): Likewise.
(bitmap_register): User new memory descriptor API.
(register_overhead): Likewise.
(bitmap_find_bit): Register nsearches and search_iter statistics.
(struct bitmap_output_info): Remove.
(print_statistics): Likewise.
(dump_bitmap_statistics): Use new memory descriptor.
* bitmap.h (struct bitmap_usage): New class.
* genmatch.c: Extend header file inclusion.
* genpreds.c: Likewise.
* ggc-common.c (struct ggc_usage): New class.
(struct ggc_loc_desc_hasher): Remove.
(ggc_loc_desc_hasher::hash): Likewise.
(ggc_loc_desc_hasher::equal): Likewise.
(struct ggc_ptr_hash_entry): Likewise.
(struct ptr_hash_hasher): Likewise.
(ptr_hash_hasher::hash): Likewise.
(ptr_hash_hasher::equal): Likewise.
(make_loc_descriptor): Likewise.
(ggc_prune_ptr): Likewise.
(dump_ggc_loc_statistics): Use new memory descriptor.
(ggc_record_overhead): Likewise.
(ggc_free_overhead): Likewise.
(final_cmp_statistic): Remove.
(cmp_statistic): Likewise.
(ggc_add_statistics): Liekwise.
(ggc_prune_overhead_list): Likewise.
* hash-map-traits.h: New file.
* hash-map.h (struct default_hashmap_traits): Move the traits to a
separate header file.
* hash-set.h: Pass memory statistics info to ctor.
* hash-table.c (void dump_hash_table_loc_statistics): New function.
* hash-table.h (hash_table::hash_table): Add new ctor arguments.
(hash_table::~hash_table): Register memory release operation.
(hash_table::alloc_entries): Handle memory allocation operation.
(hash_table::expand): Likewise.
* inchash.c (iterative_hash_hashval_t): Move implementation to header
file.
(iterative_hash_host_wide_int): Likewise.
* inchash.h (class hash): Likewise.
* mem-stats-traits.h: New file.
* mem-stats.h: New file.
(mem_location): Add new class.
(mem_usage): Likewise.
(mem_alloc_description): Likewise.
* sese.c: Add new header file inclusision.
* toplev.c (dump_memory_report): Add report for hash_table, hash_map
and hash_set.
* tree-sra.c: Add new header file inclusision.
* vec.c (struct vec_descriptor): Remove.
(hash_descriptor): Likewise.
(struct vec_usage): Likewise.
(struct ptr_hash_entry): Likewise.
(hash_ptr): Likewise.
(eq_ptr): Likewise.
(vec_prefix::register_overhead): Use new memory descriptor API.
(vec_prefix::release_overhead): Likewise.
(add_statistics): Remove.
(dump_vec_loc_statistics): Use new memory descriptor API.
* vec.h (struct vec_prefix): Likewise.
(va_heap::reserve): Likewise.
(va_heap::release): Likewise.
* emit-rtl.c (gen_raw_REG): Fix passing MEM_STAT.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223748 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * include/bits/stl_tree.h (_Rb_tree::_M_end()): Return _Base_ptr
redi [Wed, 27 May 2015 11:18:44 +0000 (11:18 +0000)]
* include/bits/stl_tree.h (_Rb_tree::_M_end()): Return _Base_ptr
instead of downcasting.
(_Rb_tree::_M_copy): Change second parameter to _Base_ptr.
(_Rb_tree::_M_lower_bound, _Rb_tree:_M_upper_bound): Likewise.
(_Rb_tree::_S_iter): Remove.
(_Rb_tree::_S_lower_bound_tr, _Rb_tree::_S_upper_bound_tr): Remove.
(_Rb_tree::_M_find_tr(const _Kt&) const): Call _M_lower_bound_tr
instead of _S_lower_bound_tr
(_Rb_tree::_M_find_tr(const _Kt&)): Call const overload.
(_Rb_tree::_M_lower_bound_tr(const _Kt&) const): Do the search here
instead of calling _S_lower_bound_tr.
(_Rb_tree::_M_lower_bound_tr(const _Kt&)): Call const overload.
(_Rb_tree::_M_upper_bound_tr(const _Kt&) const): Do the search here
instead of calling _S_upper_bound_tr.
(_Rb_tree::_M_upper_bound_tr(const _Kt&)): Call const overload.
(_Rb_tree::_M_equal_range_tr(const _Kt&)): Likewise.
(_Rb_tree::equal_range): Use _Base_ptr for end pointer.
(_Rb_tree::_M_get_insert_unique_pos): Likewise.
(_Rb_tree::_M_get_insert_equal_pos): Likewise.
(_Rb_tree::_M_insert_equal_lower_node): Likewise.
(_Rb_tree::_M_insert_unique, _Rb_tree::_M_emplace_unique,
_Rb_tree::_M_emplace_hint_unique): Remove static_cast.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223746 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR libstdc++/66017
redi [Wed, 27 May 2015 11:18:37 +0000 (11:18 +0000)]
PR libstdc++/66017
* include/bits/stl_tree.h (_Rb_tree_node): Use __aligned_membuf.
(_Rb_tree_iterator, _Rb_tree_const_iterator): Support construction
from _Base_ptr.
(_Rb_tree_const_iterator::_M_const_cast): Remove static_cast.
(_Rb_tree::begin, _Rb_tree::end): Remove static_cast.
* include/ext/aligned_buffer.h (__aligned_membuf): New type using
alignment of _Tp as a member subobject, not as a complete object.
* python/libstdcxx/v6/printers.py (StdRbtreeIteratorPrinter): Lookup
_Link_type manually as it might not be in the debug info.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223745 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2015-05-27 Richard Biener <rguenther@suse.de>
rguenth [Wed, 27 May 2015 10:31:11 +0000 (10:31 +0000)]
2015-05-27  Richard Biener  <rguenther@suse.de>

* tree-vect-stmts.c (vectorizable_load): Initialize slp_perm
earlier and remove ??? comment.
(vect_analyze_stmt): If we are analyzing a pure SLP stmt
and got called from loop analysis bail out.  Always pass the SLP
node to the vectorizable_* functions.
* tree-vect-loop.c (vect_analyze_loop_operations): Remove
the premature SLP check here.
* tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Dump hybrid
detected SLP stmts.
(vect_detect_hybrid_slp_1): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223743 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agogcc/fortran/ChangeLog:
vehre [Wed, 27 May 2015 08:48:51 +0000 (08:48 +0000)]
gcc/fortran/ChangeLog:

2015-05-27  Andre Vehreschild  <vehre@gmx.de>

* trans-stmt.c (gfc_trans_allocate): Add missing location
information for e3rhs.

gcc/testsuite/ChangeLog:

2015-05-27  Andre Vehreschild  <vehre@gmx.de>

* gfortran.dg/allocate_with_source_5.f90: Correct errorneous
semantic.
* gfortran.dg/allocate_with_source_6.f90: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223738 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2015-05-27 Chung-Lin Tang <cltang@codesourcery.com>
cltang [Wed, 27 May 2015 06:16:37 +0000 (06:16 +0000)]
2015-05-27  Chung-Lin Tang  <cltang@codesourcery.com>

libgomp/
* target.c (gomp_map_pointer): New function abstracting out
GOMP_MAP_POINTER handling.
(gomp_map_vars): Remove GOMP_MAP_POINTER handling code and use
gomp_map_pointer().

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223737 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * combine.c (find_split_point): Verify that the shift count is a
law [Wed, 27 May 2015 04:59:42 +0000 (04:59 +0000)]
   * combine.c (find_split_point): Verify that the shift count is a
       constant when choosing (plus (ashift ...)) as a split point.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223736 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * tree-ssa-threadupdate.c: Replace 8 space sequences with tabs.
law [Wed, 27 May 2015 04:42:23 +0000 (04:42 +0000)]
    * tree-ssa-threadupdate.c: Replace 8 space sequences with tabs.
        No functional changes.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223734 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * ipa-polymorphic-call.c
hubicka [Wed, 27 May 2015 04:37:48 +0000 (04:37 +0000)]
* ipa-polymorphic-call.c
(ipa_polymorphic_call_context::get_dynamic_type): Short circuit the
case when call target is already known.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223733 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoDaily bump.
gccadmin [Wed, 27 May 2015 00:16:16 +0000 (00:16 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223729 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * python/libstdcxx/v6/xmethods.py (UniquePtrMethodsMatcher): Add
devans [Tue, 26 May 2015 23:06:55 +0000 (23:06 +0000)]
* python/libstdcxx/v6/xmethods.py (UniquePtrMethodsMatcher): Add
operator-> support.
* testsuite/libstdc++-xmethods/unique_ptr.cc: Add tests for
operator->.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223723 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoPR target/65979
kkojima [Tue, 26 May 2015 22:32:11 +0000 (22:32 +0000)]
PR target/65979
* config/sh/sh.md (tstsi_t peephole2): Use gen_rtx_SET and take into
  account the case that operands[1] and operands[2] are the same register.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223721 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * gcc-interface/trans.c (Attribute_to_gnu) <Attr_Min/Attr_Max>: Do not
ebotcazou [Tue, 26 May 2015 20:42:20 +0000 (20:42 +0000)]
* gcc-interface/trans.c (Attribute_to_gnu) <Attr_Min/Attr_Max>: Do not
bother about NaN's if Machine_Overflows is true.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223717 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * gcc-interface/trans.c (gnat_to_gnu) <N_Object_Declaration>: Really
ebotcazou [Tue, 26 May 2015 20:37:29 +0000 (20:37 +0000)]
* gcc-interface/trans.c (gnat_to_gnu) <N_Object_Declaration>: Really
force evaluation of the expression, if any, when the object has its
elaboration delayed.  Do not create a variable at global level.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223716 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * gcc-interface/trans.c (Attribute_to_gnu) <Attr_Machine>: Do not apply
ebotcazou [Tue, 26 May 2015 20:19:55 +0000 (20:19 +0000)]
* gcc-interface/trans.c (Attribute_to_gnu) <Attr_Machine>: Do not apply
extra-precision trick to literals.  Build SAVE_EXPR manually.

* gcc-interface/misc.c (enumerate_modes): Add bypass for x86/x86-64.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223715 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * gcc-interface/ada-tree.h (DECL_GLOBAL_NONCONSTANT_RENAMING_P): Delete
ebotcazou [Tue, 26 May 2015 19:40:18 +0000 (19:40 +0000)]
* gcc-interface/ada-tree.h (DECL_GLOBAL_NONCONSTANT_RENAMING_P): Delete
(DECL_RENAMED_OBJECT): Adjust comment.
* gcc-interface/gigi.h (record_global_nonconstant_renaming): Delete.
(invalidate_global_nonconstant_renamings): Likewise.
(gnat_constant_reference_p): Likewise.
(rewrite_fn): New function type.
(gnat_rewrite_reference): Declare.
(call_is_atomic_load): New inline predicate.
* gcc-interface/decl.c (elaborate_reference_1): New function.
(elaborate_reference): Likewise.
(gnat_to_gnu_entity): Call elaborate_reference to elaborate renamings
and simplify associated code.  Set const_flag to true consistently in
  conjunction with used_by_ref.
* gcc-interface/trans.c (Identifier_to_gnu): Always replace renaming
pointers by renamed objects.
(outer_atomic_access_required_p): Deal with renamings.
(Compilation_Unit_to_gnu): Do not call
invalidate_global_nonconstant_renamings.
(gnat_to_gnu) <N_Object_Renaming_Declaration>: Adjust comment.
(gnat_gimplify_expr): Deal with atomic loads.
* gcc-interface/utils.c (global_nonconstant_renamings): Delete.
(destroy_gnat_utils): Do not call
invalidate_global_nonconstant_renamings.
(record_global_nonconstant_renaming): Delete.
(invalidate_global_nonconstant_renamings): Likewise.
* gcc-interface/utils2.c (call_is_atomic_load): Move to gigi.h.
(build_load_modify_store): Build a copy of the destination.
(gnat_stabilize_reference_1): Adjust.
(gnat_stabilize_reference): Call gnat_stabilize_reference_1 through
gnat_rewrite_reference and move bulk of code to...
(gnat_rewrite_reference): ...here.  New global function.
(gnat_constant_reference_p): Delete.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223709 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * gcc-interface/gigi.h (gnat_stabilize_reference): Adjust prototype.
ebotcazou [Tue, 26 May 2015 19:18:15 +0000 (19:18 +0000)]
* gcc-interface/gigi.h (gnat_stabilize_reference): Adjust prototype.
* gcc-interface/decl.c (gnat_to_gnu_entity): Do not rely on const_flag
  to detect constant renamings.  Be prepared for specific pattern of
renamed object based on function calls.  Create a constant object
for the renaming of a NULL_EXPR or of a CONSTRUCTOR.  Adjust calls
to gnat_stabilize_reference and tidy up.  Remove redundant tests.
(elaborate_expression_1): Remove obsolete test and tidy up.
* gcc-interface/trans.c (Call_to_gnu): Do not stabilize In/Out or Out
parameters passed by reference.
(gnat_to_gnu) <N_Selected_Component>: Remove redundant protection again
side-effects.
Use gnat_protect_expr instead of gnat_stabilize_reference for general
protection against side-effects.
* gcc-interface/utils2.c (gnat_stable_expr_p): New predicate.
(gnat_save_expr): Invoke it.
(gnat_protect_expr): Likewise.
(gnat_stabilize_reference_1): Likewise.  Remove useless propagation
of TREE_THIS_NOTRAP.
(gnat_stabilize_reference): Remove parameter and adjust throughout.
Delete ADDR_EXDR, COMPOUND_EXPR and CONSTRUCTOR cases.
Restrict CALL_EXPR case to atomic loads and tweak ERROR_MARK case.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223708 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2015-05-26 Andreas Tobler <andreast@gcc.gnu.org>
andreast [Tue, 26 May 2015 18:31:49 +0000 (18:31 +0000)]
2015-05-26  Andreas Tobler  <andreast@gcc.gnu.org>

    * testsuite/libjava.jni/jni.exp (gcj_jni_get_cxxflags_invocation): Add
    libiconv for FreeBSD to cxxflags.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223706 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agolibcpp/ChangeLog:
manu [Tue, 26 May 2015 17:12:28 +0000 (17:12 +0000)]
libcpp/ChangeLog:

2015-05-26  Manuel López-Ibáñez  <manu@gcc.gnu.org>

* line-map.c (LINE_MAP_MAX_COLUMN_NUMBER
LINE_MAP_MAX_LOCATION_WITH_COLS,LINE_MAP_MAX_SOURCE_LOCATION):
New constants.
(linemap_line_start): Use them.
(linemap_position_for_column): Use them.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223705 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR middle-end/66251
matz [Tue, 26 May 2015 16:00:32 +0000 (16:00 +0000)]
PR middle-end/66251

* tree-vect-stmts.c (vect_model_store_cost): Handled strided group
stores.
(vect_create_vectorized_demotion_stmts): Always set
STMT_VINFO_VEC_STMT, also with SLP.
(vectorizable_store): Handle strided group stores.

testsuite/:
PR middle-end/66251
* gcc.dg/vect/pr66251.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223704 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2015-05-26 Venkataramanan Kumar <venkataramanan.kumar@amd.com>
vekumar [Tue, 26 May 2015 15:32:02 +0000 (15:32 +0000)]
2015-05-26  Venkataramanan Kumar  <venkataramanan.kumar@amd.com>

        PR target/66049
        * config/aarch64/aarch64.md
        (*adds_shift_imm_<mode>):  New pattern.
        (*subs_shift_imm_<mode>):  Likewise.
        (*adds_<optab><ALLX:mode>_shift_<GPI:mode>):  Likewise.
        (*subs_<optab><ALLX:mode>_shift_<GPI:mode>): Likewise.
        (*add_uxt<mode>_shift2): Likewise.
        (*add_uxtsi_shift2_uxtw): Likewise.
        (*sub_uxt<mode>_shift2): Likewise.
        (*sub_uxtsi_shift2_uxtw): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223703 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * config/rs6000/constraints.md (Y, U): Use match_test.
dje [Tue, 26 May 2015 15:16:35 +0000 (15:16 +0000)]
    * config/rs6000/constraints.md (Y, U): Use match_test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223702 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agofix entry
chrbr [Tue, 26 May 2015 14:10:12 +0000 (14:10 +0000)]
fix entry

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223701 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agofix entry
chrbr [Tue, 26 May 2015 14:09:45 +0000 (14:09 +0000)]
fix entry

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223700 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago 2015-05-13 Christian Bruel <christian.bruel@st.com>
chrbr [Tue, 26 May 2015 14:06:17 +0000 (14:06 +0000)]
 2015-05-13  Christian Bruel  <christian.bruel@st.com>

PR target/52144
* config/arm/arm.c (arm_option_check_internal)
(arm_option_params_internal): Check opts->target_flags to set macros.
(TREE_TARGET_ARM, TREE_TARGET_THUMB)
(TREE_TARGET_THUMB1, TREE_TARGET_THUMB2) Replace with...
(TARGET_ARM_P, TARGET_THUMB_P, TARGET_THUMB1_P, TARGET_THUMB2_P)
(builtin_define): Replaced with def_or_undef_macro.
* config/arm/arm.h (TREE_TARGET_ARM, TREE_TARGET_THUMB)
TREE_TARGET_THUMB1, TREE_TARGET_THUMB2) Redefine with...
(TARGET_ARM_P, TARGET_THUMB_P, TARGET_THUMB1_P, TARGET_THUMB2_P)
(TARGET_32BIT_P, TARGET_ARM_QBIT_P, TARGET_ARM_SAT_P, TARGET_IDIV_P)
(TARGET_HAVE_LDREX_P, TARGET_HAVE_LDREXBH_P, TARGET_HAVE_LDREXD_P)
(TARGET_ARM_FEATURE_LDREX_P)
(TARGET_DSP_MULTIPLY_P, TARGET_INT_SIMD_P): New macros.
(def_or_undef_macro): New function.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223699 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2015-05-26 Christian Bruel <christian.bruel@st.com>
chrbr [Tue, 26 May 2015 14:03:10 +0000 (14:03 +0000)]
2015-05-26  Christian Bruel  <christian.bruel@st.com>

* c-common.h (builtin_define_with_int_value)
(builtin_define_type_sizeof): Declare.
* c-cppbuiltin.c (builtin_define_with_int_value)
(builtin_define_type_sizeof): Externalize.
(builtin_define_std): Cleanup declaration.
* config/arm/arm-protos.h (arm_cpu_cpp_builtins): Declare.
* config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Move macro defines into...
* config/arm/arm-c.c (arm_cpu_cpp_builtins): New function.
(builtin_define, builtin_assert): New macros.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223698 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2015-05-26 Richard Biener <rguenther@suse.de>
rguenth [Tue, 26 May 2015 13:55:40 +0000 (13:55 +0000)]
2015-05-26  Richard Biener  <rguenther@suse.de>

PR tree-optimization/66142
* tree-ssa-sccvn.c (vn_reference_lookup_3): Manually compare
MEM_REFs for the same base address.

* gcc.dg/tree-ssa/ssa-fre-44.c: New testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223697 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2015-05-26 Ed Schonberg <schonberg@adacore.com>
charlet [Tue, 26 May 2015 13:37:29 +0000 (13:37 +0000)]
2015-05-26  Ed Schonberg  <schonberg@adacore.com>

* sinfo.ads: Minor reformatting.
* sem_aux.ads: Clarify use of First_Discriminant.
* sem_ch4.adb (Analyze_Explicit_Dereference): The use of a limited
view is replaced with the non-limited view in an instance body,
where the enclosing unit must have a regular with_clause on the
relevant unit.
* sem_ch12.adb (Install_Body): Freeze instantation after its
body. Remove useless freeze nodes for incomplete actuals to
prevent multiple generation of internal operations.
(Instantiate_Package_Body): Set sloc of body appropriately when
there are incomplete actuals and the instance body is placed in
the body of the enclosing unit.
* errout.ads: Consistent punctuation, better alignment and trivial
typos in comments.
* err_vars.ads: Fix typo.

2015-05-26  Eric Botcazou  <ebotcazou@adacore.com>

* sem_ch8.adb (Analyze_Object_Renaming): Lift restriction on
components of Volatile_Full_Access objects.

2015-05-26  Ed Schonberg  <schonberg@adacore.com>

* sem_ch6.adb (Is_Non_Overriding_Operation,
Get_Generic_Parent_Type): Handle properly the case of a derived
scalar type by using the first subtype rather than its generated
anonymous base type.

2015-05-26  Eric Botcazou  <ebotcazou@adacore.com>

* einfo.adb (Write_Field17_Name): Move E_Incomplete_Subtype
case to...
(Write_Field19_Name): ...here.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223696 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoFix PR ipa/66181
ramana [Tue, 26 May 2015 13:21:16 +0000 (13:21 +0000)]
Fix PR ipa/66181

2015-05-26  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>

PR ipa/66181
* tree.c (verify_type_variant): Do not check TYPE_NO_FORCE_BLK.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223695 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * configure.ac: Set CXXFLAGS for ISL test.
jason [Tue, 26 May 2015 13:12:14 +0000 (13:12 +0000)]
* configure.ac: Set CXXFLAGS for ISL test.
* configure: Regenerate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223694 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * configure.ac: When bootstrapping with GCC, add -std=c++98 to CXX.
jason [Tue, 26 May 2015 12:29:13 +0000 (12:29 +0000)]
* configure.ac: When bootstrapping with GCC, add -std=c++98 to CXX.
* configure: Regenerate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223692 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * configure.ac: Use C++ for all tests. Use AC_CHECK_DECLS for
jason [Tue, 26 May 2015 12:28:53 +0000 (12:28 +0000)]
* configure.ac: Use C++ for all tests.  Use AC_CHECK_DECLS for
strstr and basename.
* configure: Regenerate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223691 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2015-05-26 Richard Biener <rguenther@suse.de>
rguenth [Tue, 26 May 2015 12:00:48 +0000 (12:00 +0000)]
2015-05-26  Richard Biener  <rguenther@suse.de>

* fold-const.c (fold_binary_loc): Move X % -Y -> X % Y and
X % C -> X & (C - 1) for C being a power-of two to ...
* match.pd: ... patterns.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223690 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2015-05-26 Marc Glisse <marc.glisse@inria.fr>
glisse [Tue, 26 May 2015 11:14:16 +0000 (11:14 +0000)]
2015-05-26  Marc Glisse  <marc.glisse@inria.fr>

* match.pd (swapped_tcc_comparison): New operator list.
(-A CMP -B): New simplification.
* fold-const.c (fold_comparison): Remove corresponding code.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223689 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agogcc/
rsandifo [Tue, 26 May 2015 11:02:27 +0000 (11:02 +0000)]
gcc/
* caller-save.c (init_caller_save): Base temporary register numbers
on LAST_VIRTUAL_REGISTER + 1 rather than FIRST_PSEUDO_REGISTER.
* cfgloopanal.c (init_set_costs): Likewise.
* dojump.c (prefer_and_bit_test): Likewise.
* expr.c (init_expr_target): Likewise.
* ira.c (setup_prohibited_mode_move_regs): Likewise.
* lower-subreg.c (init_lower_subreg): Likewise.
* postreload.c (reload_cse_regs_1): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223688 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agogcc/
rsandifo [Tue, 26 May 2015 11:01:42 +0000 (11:01 +0000)]
gcc/
* gensupport.h (compute_test_codes): Declare.
* gensupport.c (compute_predicate_codes): Rename to...
(compute_test_codes): ...this.  Generalize error message.
(process_define_predicate): Update accordingly.
* genpreds.c (compute_maybe_allows): Delete.
(add_constraint): Use compute_test_codes to determine whether
something can accept a SUBREG, REG or MEM.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223687 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2015-05-26 Ed Schonberg <schonberg@adacore.com>
charlet [Tue, 26 May 2015 10:51:22 +0000 (10:51 +0000)]
2015-05-26  Ed Schonberg  <schonberg@adacore.com>

* sem_ch13.adb: sem_ch13.adb (Add_Predicates): Undo analysis
of original expression in ASIS mode: does not solve the ASIS
problem of a usable type information, and crashes the back-end
when performing type annotations.

2015-05-26  Robert Dewar  <dewar@adacore.com>

* sem_disp.adb (Inherited_Subprograms): Add One_Only parameter.
(Is_Overriding_Subprogram): Use One_Only_Parameter.
* sem_disp.ads (Inherited_Subprograms): Add One_Only parameter.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223686 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2015-05-26 Robert Dewar <dewar@adacore.com>
charlet [Tue, 26 May 2015 10:49:18 +0000 (10:49 +0000)]
2015-05-26  Robert Dewar  <dewar@adacore.com>

* exp_prag.adb, sem_ch3.adb, sem_ch5.adb, exp_ch11.adb, ghost.adb,
exp_ch6.adb, sem_ch6.adb, sem_ch8.adb, sem_ch11.adb, sem_ch13.adb,
exp_ch3.adb: Minor reformatting.

2015-05-26  Bob Duff  <duff@adacore.com>

* treepr.adb: Minor improvement to debugging routines (pp, pn)
robustness.  Rearrange the code so passing a nonexistent Node_Id
prints "No such node" rather than crashing, and causing gdb to
generate confusing messages.

2015-05-26  Gary Dismukes  <dismukes@adacore.com>

* sem_util.adb: Minor typo fix.

2015-05-26  Yannick Moy  <moy@adacore.com>

* sem_aux.adb (Subprogram_Body_Entity): Deal with subprogram stubs.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223685 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2015-05-26 Hristian Kirtchev <kirtchev@adacore.com>
charlet [Tue, 26 May 2015 10:46:58 +0000 (10:46 +0000)]
2015-05-26  Hristian Kirtchev  <kirtchev@adacore.com>

* exp_ch3.adb (Expand_N_Full_Type_Declaration): Capture, set and
restore the Ghost mode.
(Expand_N_Object_Declaration): Capture, set and restore the Ghost mode.
(Freeze_Type): Update the call to Set_Ghost_Mode.
(Restore_Globals): New routine.
* exp_ch5.adb Add with and use clauses for Ghost.
(Expand_N_Assignment_Statement): Capture, set and restore the
Ghost mode.
(Restore_Globals): New routine.
* exp_ch6.adb Add with and use clauses for Ghost.
(Expand_N_Procedure_Call_Statement): Capture, set and
restore the Ghost mode.
(Expand_N_Subprogram_Body):
Code cleanup. Capture, set and restore the Ghost mode.
(Expand_N_Subprogram_Declaration): Capture, set and restore the
Ghost mode.
(Restore_Globals): New routine.
* exp_ch7.adb Add with and use clauses for Ghost.
(Expand_N_Package_Body): Capture, set and restore the Ghost mode.
(Expand_N_Package_Declaration): Capture, set and restore the
Ghost mode.
(Wrap_HSS_In_Block): Create a proper identifier for the block.
* exp_ch8.adb Add with and use clauses for Ghost.
(Expand_N_Exception_Renaming_Declaration): Code
cleanup. Capture, set and restore the Ghost mode.
(Expand_N_Object_Renaming_Declaration): Capture, set and restore
the Ghost mode.
(Expand_N_Package_Renaming_Declaration): Capture, set and restore the
Ghost mode.
(Expand_N_Subprogram_Renaming_Declaration): Capture, set and
restore the Ghost mode.
* exp_ch11.adb (Expand_N_Exception_Declaration): Code
cleanup. Capture, set and restore the Ghost mode.
* exp_disp.adb (Make_DT): Update the call to Set_Ghost_Mode. Do
not initialize the dispatch table slot of a Ghost subprogram.
* exp_prag.adb Add with and use clauses for Ghost.
(Expand_Pragma_Check): Capture, set and restore the Ghost mode.
(Expand_Pragma_Contract_Cases): Capture, set and restore the
Ghost mode.
(Expand_Pragma_Initial_Condition): Capture, set and
restore the Ghost mode.
(Expand_Pragma_Loop_Variant): Capture,
set and restore the Ghost mode.
(Restore_Globals): New routine.
* exp_util.adb Add with and use clauses for Ghost.
(Make_Predicate_Call): Code cleanup. Capture, set and restore
the Ghost mode.
(Restore_Globals): New routine.
* freeze.adb (Freeze_Entity): Code cleanup. Update the call
to Set_Ghost_Mode.
* ghost.adb Add with and use clause for Sem_Prag.
(Check_Ghost_Completion): Code cleanup.
(Check_Ghost_Overriding): New routine.
(Check_Ghost_Policy): Code cleanup.
(Ghost_Entity): New routine.
(Is_Ghost_Declaration): Removed.
(Is_Ghost_Statement_Or_Pragma): Removed.
(Is_OK_Context): Reimplemented.
(Is_OK_Declaration): New routine.
(Is_OK_Pragma): New routine.
(Is_OK_Statement): New routine.
(Mark_Full_View_As_Ghost): New routine.
(Mark_Pragma_As_Ghost): New routine.
(Mark_Renaming_As_Ghost): New routine.
(Propagate_Ignored_Ghost_Code): Update the comment on usage.
(Set_From_Entity): New routine.
(Set_From_Policy): New routine.
(Set_Ghost_Mode): This routine now handles pragmas and freeze nodes.
(Set_Ghost_Mode_For_Freeze): Removed.
(Set_Ghost_Mode_From_Entity): New routine.
(Set_Ghost_Mode_From_Policy): Removed.
* ghost.ads (Check_Ghost_Overriding): New routine.
(Mark_Full_View_As_Ghost): New routine.
(Mark_Pragma_As_Ghost): New routine.
(Mark_Renaming_As_Ghost): New routine.
(Set_Ghost_Mode): Update the parameter profile. Update the
comment on usage.
(Set_Ghost_Mode_For_Freeze): Removed.
(Set_Ghost_Mode_From_Entity): New routine.
* sem_ch3.adb (Analyze_Full_Type_Declaration):
Capture and restore the Ghost mode. Mark a type
as Ghost regardless of whether it comes from source.
(Analyze_Incomplete_Type_Decl): Capture, set and restore the
Ghost mode.
(Analyze_Number_Declaration): Capture and restore the Ghost mode.
(Analyze_Object_Declaration): Capture and restore the Ghost mode.
(Analyze_Private_Extension_Declaration): Capture and
restore the Ghost mode.
(Analyze_Subtype_Declaration): Capture and restore the Ghost mode.
(Process_Full_View): The full view inherits all Ghost-related
attributes from the private view.
(Restore_Globals): New routine.
* sem_ch5.adb (Analyze_Assignment): Capture and restore the
Ghost mode.
(Restore_Globals): New routine.
* sem_ch6.adb (Analyze_Abstract_Subprogram_Declaration):
Code cleanup. Capture and restore the Ghost mode. Mark a
subprogram as Ghost regarless of whether it comes from source.
(Analyze_Procedure_Call): Capture and restore the Ghost mode.
(Analyze_Subprogram_Body_Helper): Capture and restore the Ghost mode.
(Analyze_Subprogram_Declaration): Capture and restore the Ghost mode.
(New_Overloaded_Entity): Ensure that a
parent subprogram and an overriding subprogram have compatible
Ghost policies.
* sem_ch7.adb (Analyze_Package_Body_Helper): Capture and restore
the Ghost mode.
(Analyze_Package_Declaration): Capture and
restore the Ghost mode. Mark a package as Ghost when it is
declared in a Ghost region.
(Analyze_Private_Type_Declaration): Capture and restore the Ghost mode.
(Restore_Globals): New routine.
* sem_ch8.adb (Analyze_Exception_Renaming): Code
reformatting. Capture and restore the Ghost mode. A renaming
becomes Ghost when its name references a Ghost entity.
(Analyze_Generic_Renaming): Capture and restore the Ghost mode. A
renaming becomes Ghost when its name references a Ghost entity.
(Analyze_Object_Renaming): Capture and restore the Ghost mode. A
renaming becomes Ghost when its name references a Ghost entity.
(Analyze_Package_Renaming): Capture and restore the Ghost mode. A
renaming becomes Ghost when its name references a Ghost entity.
(Analyze_Subprogram_Renaming): Capture and restore the Ghost
mode. A renaming becomes Ghost when its name references a
Ghost entity.
* sem_ch11.adb (Analyze_Exception_Declaration): Capture, set
and restore the Ghost mode.
* sem_ch12.adb (Analyze_Generic_Package_Declaration): Capture and
restore the Ghost mode.
(Analyze_Generic_Subprogram_Declaration):
Capture and restore the Ghost mode.
* sem_ch13.adb Add with and use clauses for Ghost.
(Add_Invariant): New routine.
(Add_Invariants): Factor out code.
(Add_Predicate): New routine.
(Add_Predicates): Factor out code.
(Build_Invariant_Procedure_Declaration): Code cleanup. Capture,
set and restore the Ghost mode.
(Build_Invariant_Procedure): Code cleanup.
(Build_Predicate_Functions): Capture, set and
restore the Ghost mode. Mark the generated functions as Ghost.
* sem_prag.adb (Analyze_Contract_Cases_In_Decl_Part):
Capture, set and restore the Ghost mode.
(Analyze_External_Property_In_Decl_Part): Capture, set and restore
the Ghost mode.
(Analyze_Initial_Condition_In_Decl_Part):
Capture, set and restore the Ghost mode.
(Analyze_Pragma):
Code cleanup. Capture, set and restore the Ghost mode. Flag
pragmas Linker_Section, No_Return, Unmodified, Unreferenced and
Unreferenced_Objects as illegal when it applies to both Ghost
and living arguments. Pragma Ghost cannot apply to synchronized
objects.
(Check_Kind): Moved to the spec of Sem_Prag.
(Process_Inline): Flag the pragma as illegal when it applies to
both Ghost and living arguments.
(Restore_Globals): New routine.
* sem_prag.ads Add pragma Default_Initial_Condition
to table Assertion_Expression_Pragma. Add new table
Is_Aspect_Specifying_Pragma.
(Check_Kind): Moved from body of Sem_Prag.
* sem_util.adb Add with and use clauses for Ghost.
(Build_Default_Init_Cond_Procedure_Body): Capture, set and restore
the Ghost mode.
(Build_Default_Init_Cond_Procedure_Declaration):
Capture, set and restore the Ghost mode. Mark the default
initial condition procedure as Ghost when it is declared
in a Ghost region.
(Is_Renaming_Declaration): New routine.
(Policy_In_List): Account for the single argument version of
Check_Pragma.
* sem_util.ads (Is_Renaming_Declaration): New routine.
* sinfo.adb (Is_Ghost_Pragma): New routine.
(Set_Is_Ghost_Pragma): New routine.
* sinfo.ads New attribute Is_Ghost_Pragma.
(Is_Ghost_Pragma): New routine along with pragma Inline.
(Set_Is_Ghost_Pragma): New routine along with pragma Inline.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223684 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoFix memory order description in atomic ops built-ins docs.
torvald [Tue, 26 May 2015 10:45:56 +0000 (10:45 +0000)]
Fix memory order description in atomic ops built-ins docs.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223683 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2015-05-26 Robert Dewar <dewar@adacore.com>
charlet [Tue, 26 May 2015 10:42:26 +0000 (10:42 +0000)]
2015-05-26  Robert Dewar  <dewar@adacore.com>

* sem_ch3.adb, sem_aux.adb, sem_aux.ads, exp_ch6.adb, sprint.adb:
Minor reformatting.

2015-05-26  Gary Dismukes  <dismukes@adacore.com>

* gnat1drv.adb, targparm.adb, targparm.ads, restrict.adb: Minor
reformatting and typo fixes in comments.

2015-05-26  Ed Schonberg  <schonberg@adacore.com>

* sem_ch7.adb (Swap_Private_Dependets): Set visibility of
the two views of a private dependent in two separate steps,
to ensure proper visibility in parent units analyzed for inlining.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223682 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2015-05-26 Yannick Moy <moy@adacore.com>
charlet [Tue, 26 May 2015 10:40:39 +0000 (10:40 +0000)]
2015-05-26  Yannick Moy  <moy@adacore.com>

* sem_aux.adb, sem_aux.ads (Get_Low_Bound): Use Type_Low_Bound.
(Package_Body, Package_Spec): New queries moved
here from GNATprove.
(Package_Specification): Simplify query to remove use of loop.
* sem_util.adb, sem_util.ads (Enclosing_Declaration,
Enclosing_Package_Or_Subprogram, Is_Attribute_Update): New
queries moved here from GNATprove.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223681 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2015-05-26 Bob Duff <duff@adacore.com>
charlet [Tue, 26 May 2015 10:39:16 +0000 (10:39 +0000)]
2015-05-26  Bob Duff  <duff@adacore.com>

* einfo.adb, einfo.ads, sprint.adb, lib-xref.ads: Minor cleanup: Remove
obsolete Entity_Kinds E_String_Type and E_String_Subtype. Update
redundant assertions.

2015-05-26  Gary Dismukes  <dismukes@adacore.com>

* sem_util.adb, sem_util.ads, sem_ch13.adb: Minor typo fixes.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223680 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2015-05-26 Doug Rupp <rupp@adacore.com>
charlet [Tue, 26 May 2015 10:35:14 +0000 (10:35 +0000)]
2015-05-26  Doug Rupp  <rupp@adacore.com>

* init.c [vxworks]: Refine previous checkin.

2015-05-26  Robert Dewar  <dewar@adacore.com>

* exp_ch4.adb (Wrap_MA): New function.
(Expand_N_Op_Expon): Use Wrap_MA.

2015-05-26  Bob Duff  <duff@adacore.com>

* exp_ch6.adb (Make_Build_In_Place_Call_In_Object_Declaration):
Do not use secondary stack to return limited records with
defaulted discriminants. This is an efficiency improvement.
* exp_ch6.adb, exp_dist.adb, sem_attr.adb, sem_aux.adb, sem_aux.ads,
sem_ch12.adb, sem_ch3.adb, sem_ch4.adb, sem_ch6.adb, sem_ch7.adb,
sem_util.adb: Change the sense of Is_Indefinite_Subtype to be
Is_Definite_Subtype. This is an improvement to readability (the double
negative in "not Is_Indefinite_Subtype" was slightly confusing). Also
disallow passing non-[sub]type entities, an unnecessary and slightly
bug-prone flexibility.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223679 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2015-05-26 Robert Dewar <dewar@adacore.com>
charlet [Tue, 26 May 2015 10:29:25 +0000 (10:29 +0000)]
2015-05-26  Robert Dewar  <dewar@adacore.com>

* sem_aggr.adb (Resolve_Array_Aggregate): Defend against
bad bounds.
* debug.adb: Document -gnatd.k.
* erroutc.adb (Set_Msg_Insertion_Line_Number): Implement -gnatd.k.

2015-05-26  Robert Dewar  <dewar@adacore.com>

* gnat1drv.adb (Gnat1drv): Provide new arguments for
Get_Target_Parameters.
* restrict.adb (Set_Restriction_No_Specification_Of_Aspect):
new procedure.
(Set_Restriction_No_Use_Of_Attribute): new procedure.
* restrict.ads (Set_Restriction_No_Specification_Of_Aspect):
new procedure.
(Set_Restriction_No_Use_Of_Attribute): new procedure.
* s-rident.ads (Integer_Parameter_Restrictions): New subtype.
* targparm.adb (Get_Target_Parameters): Allow new restriction
pragmas No_Specification_Of_Aspect No_Use_Of_Attribute
No_Use_Of_Pragma.
* targparm.ads: New parameters for Get_Target_Parameters.
* tbuild.adb (Set_NOD): New name for Set_RND.
(Set_NSA): New procedure.
(Set_NUA): New procedure.
(Set_NUP): New procedure.
* tbuild.ads (Make_SC): Minor reformatting.
(Set_NOD): New name for Set_RND.
(Set_NSA, Set_NUA, Set_NUP): New procedure.

2015-05-26  Ed Schonberg  <schonberg@adacore.com>

* a-stwise.adb (Find_Token): If source'first is not positive,
an exception must be raised, as specified by RM 2005 A.4.3
(68/1). This must be checked explicitly, given that run-time
files are normally compiled without constraint checks.
* a-stzsea.adb (Find_Token): Ditto.

2015-05-26  Ed Schonberg  <schonberg@adacore.com>

* sem_util.ads sem_util.adb (Is_Current_Instance):  New predicate
to fully implement RM 8.6 (17/3). which earlier only applied
to synchronized types. Used to preanalyze aspects that include
current instances of types, such as Predicate and Invariant.
* sem_res.adb (Resolve_Entity_Name): Use Is_Current_Instance.
* sem_ch13.adb (Add_Predicates): In ASIS mode, preserve original
expression of aspect and analyze it to provide proper type
information.

2015-05-26  Robert Dewar  <dewar@adacore.com>

* rtsfind.ads: Add entries for RE_Exn[_Long]_Float.
* s-exnllf.adb (Exn_Float): New function.
(Exn_Long_Float): New function.
(Exn_Long_Long_Float): Rewritten interface.
(Exp): New name for what used to be Exn_Long_Long_Float.
* s-exnllf.ads (Exn_Float): New function.
(Exn_Long_Float): New function.

2015-05-26  Ed Schonberg  <schonberg@adacore.com>

* sem_ch8.adb (Find_Selected_Component): Do not emit an error
on a selected component when the prefix is a type name that is
a Current_Instance.
* einfo.ads: Minor grammar fix.

2015-05-26  Doug Rupp  <rupp@adacore.com>

* init.c [vxworks] (sysLib.h): Only for x86.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223678 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2015-05-26 Paul Thomas <pault@gcc.gnu.org>
pault [Tue, 26 May 2015 10:20:41 +0000 (10:20 +0000)]
2015-05-26  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/66082
* trans-array.c (gfc_conv_array_parameter): Ensure that all
non-variable arrays with allocatable components have the
components deallocated after the procedure call.

2015-05-26  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/66082
* gfortran.dg/allocatable_scalar_13.f90: New test

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223677 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * include/bits/locale_conv.h: Fix copyright years.
redi [Tue, 26 May 2015 09:52:25 +0000 (09:52 +0000)]
* include/bits/locale_conv.h: Fix copyright years.
* include/bits/quoted_string.h: Likewise.
* src/filesystem/Makefile.am: Likewise.
* testsuite/22_locale/conversions/buffer/1.cc: Likewise.
* testsuite/22_locale/conversions/buffer/requirements/typedefs.cc:
Likewise.
* testsuite/22_locale/conversions/string/1.cc: Likewise.
* testsuite/22_locale/conversions/string/2.cc: Likewise.
* testsuite/22_locale/conversions/string/3.cc: Likewise.
* testsuite/22_locale/conversions/string/requirements/typedefs-2.cc:
Likewise.
* testsuite/22_locale/conversions/string/requirements/typedefs.cc:
Likewise.
* testsuite/util/testsuite_fs.h: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223676 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2015-05-26 Doug Rupp <rupp@adacore.com>
charlet [Tue, 26 May 2015 09:42:58 +0000 (09:42 +0000)]
2015-05-26  Doug Rupp  <rupp@adacore.com>

* init-vxsim.c (CPU): define as __VXSIM_CPU__
* sigtramp-vxworks-vxsim.c (CPU): Likewise.
sigtramp-vxworks-target.inc: Add check for SIMLINUX.
* sigtramp.h: Likewise.

2015-05-26  Robert Dewar  <dewar@adacore.com>

* sem_aux.adb, sem_disp.adb, sem_util.ads: Add comment.
* sem_util.adb: Minor reformatting

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223675 138bc75d-0d04-0410-961f-82ee72b054a4