gcc.git
9 years agom68k.h (ASM_PCREL_SPEC): Pass --pcrel also for implict or explicit -fPIE or -fpie.
Andreas Schwab [Sat, 30 May 2015 17:04:15 +0000 (17:04 +0000)]
m68k.h (ASM_PCREL_SPEC): Pass --pcrel also for implict or explicit -fPIE or -fpie.

* config/m68k/m68k.h (ASM_PCREL_SPEC): Pass --pcrel also for
implict or explicit -fPIE or -fpie.

From-SVN: r223889

9 years agoalpha: turn -mcpu=<cpu> into -m<cpu> for the assembler all the time
Mike Frysinger [Sat, 30 May 2015 16:39:52 +0000 (16:39 +0000)]
alpha: turn -mcpu=<cpu> into -m<cpu> for the assembler all the time

If you create a toolchain with the target alphaev68-unknown-linux-gnu, gcc
will use the -mcpu=ev67 by default when compiling.  Some software packages
(like gmp) will use this target info to decide that it may freely use
assembly code that targets ev67+.  The trouble comes in when trying to
compile that pure assembly code.

While gcc will use -mcpu=ev67 just fine, it will invoke gas without an
-mev67 option, so the assembler will default to the lowest common
denominator -- ev4 in this case.  Inline assembly in C code is normally
just peachy because gcc's assembler output will start with ".arch <cpu>"
and the assembler will accept that.  But if the hand coded assembly code
lacks that .arch, you easily end up with errors like so:
opcode `cttz' not supported for target <all>

While the assembly code could/should be fixed to explicitly output the
.arch directive, I think it's reasonable to expect this to work:
echo 'cttz $20,$21' | gcc -x assembler -c - -o /dev/null -mcpu=ev67

This simple patch implements that, although I guess it is a bit redundant
in the default case where gcc outputs .arch.  Perhaps that should all be
punted in favor of a specs-only approach.  Considering gas respects .arch
in the code over the command line, it should also make things more natural.
The command line is processed in the standard/expected way -- gcc defaults
the -m option while user's custom -mcpu/-Wa,-m options come after, and the
guy writing the assembly code is free to use .arch to override everything
else.

From-SVN: r223888

9 years agoFix dg-warning in gcc.dg/alias-8.c
H.J. Lu [Sat, 30 May 2015 15:36:59 +0000 (15:36 +0000)]
Fix dg-warning in gcc.dg/alias-8.c

* gcc.dg/alias-8.c: Fix dg-warning.

From-SVN: r223887

9 years agostl_algobase.h (__equal<true>::equal): Check length instead of checking for null...
Jonathan Wakely [Sat, 30 May 2015 11:44:02 +0000 (12:44 +0100)]
stl_algobase.h (__equal<true>::equal): Check length instead of checking for null pointers.

* include/bits/stl_algobase.h (__equal<true>::equal): Check length
instead of checking for null pointers.
(__lexicographical_compare<true>::__lc): Only check shorter length.

From-SVN: r223886

9 years agoexpmed.c (extract_bit_field_1): Avoid clobbering a yet-to-be-used base/index register.
DJ Delorie [Sat, 30 May 2015 06:05:54 +0000 (02:05 -0400)]
expmed.c (extract_bit_field_1): Avoid clobbering a yet-to-be-used base/index register.

* expmed.c (extract_bit_field_1): Avoid clobbering a
yet-to-be-used base/index register.

From-SVN: r223885

9 years agoAdd new script to contrib (GIMPLE syntax highlighting rules for Vim).
Mikhail Maltsev [Sat, 30 May 2015 05:44:17 +0000 (05:44 +0000)]
Add new script to contrib (GIMPLE syntax highlighting rules for Vim).

contrib/
* gimple.vim: New file.

From-SVN: r223884

9 years agoalias.c (alias_set_entry_d): Add is_pointer and has_pointer.
Jan Hubicka [Sat, 30 May 2015 00:32:04 +0000 (02:32 +0200)]
alias.c (alias_set_entry_d): Add is_pointer and has_pointer.

* alias.c (alias_set_entry_d): Add is_pointer and has_pointer.
(alias_stats): Add num_universal.
(alias_set_subset_of): Special case pointers; be ready for NULL
children.
(alias_sets_conflict_p): Special case pointers; be ready for NULL
children.
(init_alias_set_entry): Break out from ...
(record_alias_subset): ... here; propagate new fields;
allocate children only when really needed.
(get_alias_set): Do less generous pointer globbing.
(dump_alias_stats_in_alias_c): Update statistics.
* gcc.dg/alias-8.c: Do not xfail.
* gcc.dg/pr62167.c: Prevent FRE.
* gcc.dg/alias-14.c: New testcase.

From-SVN: r223883

9 years agoDaily bump.
GCC Administrator [Sat, 30 May 2015 00:16:15 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r223882

9 years agors6000.c (split_stack_arg_pointer_used_p): Scan correct block for use of r12.
Alan Modra [Sat, 30 May 2015 00:15:30 +0000 (09:45 +0930)]
rs6000.c (split_stack_arg_pointer_used_p): Scan correct block for use of r12.

* config/rs6000/rs6000.c (split_stack_arg_pointer_used_p): Scan
correct block for use of r12.
(rs6000_expand_split_stack_prologue): Error on r29 asm global reg.

From-SVN: r223878

9 years ago2015-05-29 François Dumont fdumont@gcc.gnu.org>
François Dumont [Fri, 29 May 2015 21:29:07 +0000 (21:29 +0000)]
2015-05-29  François Dumont  fdumont@gcc.gnu.org>

* include/debug/debug.h (_GLIBCXX_DEBUG_ASSERT,
_GLIBCXX_DEBUG_PEDASSERT, _GLIBCXX_DEBUG_ONLY): Move definition...
* include/debug/assertions.h: ...here, new.
* include/debug/formatter.h
(_Error_formatter::_Is_iterator_value_type): New.
(_Error_formatter::_Is_instance): New.
(_Error_formatter::_Parameter): Make public and not friend anymore.
(_Error_formatter::_Parameter::__instance): New _M_kind enum entry.
(_Error_formatter::_Parameter::__iterator_value_type): New _M_kind enum
entry.
(_Error_formatter::_Parameter::_Type): New.
(_Error_formatter::_Parameter::_Instance): New, inherit from
latter.
(union _Error_formatter::_Parameter::_M_variant): Reorganize.
(_Parameter(_Iterator const&, const char*, _Is_iterator)): Make all
overloads take iterator through a const reference.
(_Parameter(const _Iterator&, const char*, _Is_iterator_value_type)):
New.
(_Parameter(const _Type&, const char*, _Is_instance)): New.
(_Error_formatter::_M_print_type): Delete.
(_Error_formatter::_M_iterator_value_type): New.
(_Error_formatter::_M_instance): New.
* include/Makefile.am: Add new above debug file.
* include/Makefile.in: Regenerate.
* include/debug/functions.h
(__check_dereferenceable(const _Safe_iterator<>&),
__valid_range(const _Safe_iterator<>&),
__is_safe_random_iterator<_Safe_iterator<>>): Move...
* include/debug/safe_iterator.h: ... here.
Replace debug.h include with assertions.h.
(__check_singular_aux): Move...
* include/debug/safe_base.h: ... here.
* include/debug/functions.h
(__check_dereferenceable(const _Safe_local_iterator<>&),
__valid_range(const _Safe_local_iterator<>&): Move...
* include/debug/safe_local_iterator.h: ...here.
* include/debug/safe_sequence.h: Replace debug.h with assertions.h.
Remove _Safe_iterator declaration.
* include/debug/safe_unordered_container.h: Replace debug.h with
assertions.h.
* include/debug/array: Replace safe_sequence.h include with
formatter.h and macros.h.
* include/debug/deque: Include functions.tcc.
* include/debug/forward_list: Likewise.
* include/debug/list: Likewise.
* include/debug/string: Likewise.
* include/debug/vector: Likewise.
* include/bits/unique_ptr.h: Replace debug.h include with new
assertions.h.
* include/bits/stl_iterator_base_funcs.h: Likewise.
* testsuite/23_containers/array/tuple_interface/get_debug_neg.cc:
Adjust dg-error line number.
* testsuite/23_containers/array/tuple_interface/
tuple_element_debug_neg.cc: Likewise.
* src/c++11/debug.cc: Adapt.

From-SVN: r223877

9 years agovextp64_1.c: Close comment on final line.
Christophe Lyon [Fri, 29 May 2015 19:46:01 +0000 (19:46 +0000)]
vextp64_1.c: Close comment on final line.

2015-05-29  Christophe Lyon  <christophe.lyon@linaro.org>

* gcc.target/arm/simd/vextp64_1.c: Close comment on final line.

From-SVN: r223876

9 years ago* sv.po: Update.
Joseph Myers [Fri, 29 May 2015 18:03:09 +0000 (19:03 +0100)]
* sv.po: Update.

From-SVN: r223873

9 years agostatus_cxx2017.xml: Fix duplicate ID attribute.
Jonathan Wakely [Fri, 29 May 2015 15:18:05 +0000 (16:18 +0100)]
status_cxx2017.xml: Fix duplicate ID attribute.

* doc/xml/manual/status_cxx2017.xml: Fix duplicate ID attribute.
* doc/html/manual/*: Regenerate.

From-SVN: r223868

9 years agoPR 66215: S390: Fix placement of post-label NOPs with -mhotpatch
Dominik Vogt [Fri, 29 May 2015 14:26:56 +0000 (14:26 +0000)]
PR 66215: S390: Fix placement of post-label NOPs with -mhotpatch

gcc/ChangeLog:
    PR target/66215
    * config/s390/s390.c (s390_reorg): Fix placement of post-label NOPs
    with -mhotpatch=.

gcc/testsuite/ChangeLog:
    PR target/66215
    * gcc.target/s390/hotpatch-1.c: Remove optimization options from
    dg-options.
    * gcc.target/s390/hotpatch-10.c: Likewise.
    * gcc.target/s390/hotpatch-11.c: Likewise.
    * gcc.target/s390/hotpatch-12.c: Likewise.
    * gcc.target/s390/hotpatch-17.c: Likewise.
    * gcc.target/s390/hotpatch-18.c: Likewise.
    * gcc.target/s390/hotpatch-20.c: Likewise.
    * gcc.target/s390/hotpatch-21.c: Likewise.
    * gcc.target/s390/hotpatch-22.c: Likewise.
    * gcc.target/s390/hotpatch-23.c: Likewise.
    * gcc.target/s390/hotpatch-24.c: Likewise.
    * gcc.target/s390/hotpatch-2.c: Likewise.  Adjust scan-assembler
    to check for the exact nops too.
    * gcc.target/s390/hotpatch-3.c: Likewise.
    * gcc.target/s390/hotpatch-4.c: Likewise.
    * gcc.target/s390/hotpatch-5.c: Likewise.
    * gcc.target/s390/hotpatch-6.c: Likewise.
    * gcc.target/s390/hotpatch-7.c: Likewise.
    * gcc.target/s390/hotpatch-8.c: Likewise.
    * gcc.target/s390/hotpatch-9.c: Likewise.
    * gcc.target/s390/hotpatch-14.c: Likewise.
    * gcc.target/s390/hotpatch-15.c: Likewise.
    * gcc.target/s390/hotpatch-16.c: Likewise.
    * gcc.target/s390/hotpatch-19.c: Likewise.
    * gcc.target/s390/hotpatch-25.c: Likewise.  Remove
    scan-assembler-times counting number of .align directives.
    * gcc.target/s390/hotpatch-13.c: Remove optimization options from
    dg-options.  Remove scan-assembler-times counting number of .align
    directives.
    * gcc.target/s390/hotpatch-26.c: New file.
    * gcc.target/s390/hotpatch-27.c: New file.
    * gcc.target/s390/hotpatch-28.c: New file.
    * gcc.target/s390/s390.exp: Run hotpatch-*.c tests as torture tests
    using -Os -O0 -O1 -O2 -O3 options.

From-SVN: r223867

9 years agofuture (__async_result_of): New alias template.
Jonathan Wakely [Fri, 29 May 2015 13:44:52 +0000 (14:44 +0100)]
future (__async_result_of): New alias template.

* include/std/future (__async_result_of): New alias template.
(async): Use __async_result_of to pass decayed types to result_of.
* testsuite/30_threads/async/lwg2021.cc: New.
* doc/xml/manual/intro.xml: Document LWG 2021 status.

From-SVN: r223866

9 years agore PR libstdc++/66327 (-fsanitize=nonnull-attribute errors in stl_algobase.h)
Jonathan Wakely [Fri, 29 May 2015 13:28:54 +0000 (14:28 +0100)]
re PR libstdc++/66327 (-fsanitize=nonnull-attribute errors in stl_algobase.h)

PR libstdc++/66327
* include/bits/stl_algobase.h (__equal<true>::equal): Do not call
memcmp with null pointers.
(__lexicographical_compare<true>::__lc): Do not call memcmp for empty
ranges.

From-SVN: r223865

9 years ago[obvious] Close comment in aarch64 test
Kyrylo Tkachov [Fri, 29 May 2015 13:21:32 +0000 (13:21 +0000)]
[obvious] Close comment in aarch64 test

* gcc.target/aarch64/vdup_lane_2.c: Close comment on final line.

From-SVN: r223864

9 years agore PR tree-optimization/66142 (Loop is not vectorized because not sufficient support...
Jakub Jelinek [Fri, 29 May 2015 13:06:23 +0000 (15:06 +0200)]
re PR tree-optimization/66142 (Loop is not vectorized because not sufficient support for GOMP_SIMD_LANE)

PR tree-optimization/66142
* tree-if-conv.c (if_convertible_phi_p): Don't give up on
virtual phis that feed themselves.

* gcc.dg/vect/pr66142.c: New test.

From-SVN: r223863

9 years agore PR middle-end/66314 (ice in verify_loop_structure)
Richard Biener [Fri, 29 May 2015 10:50:58 +0000 (10:50 +0000)]
re PR middle-end/66314 (ice in verify_loop_structure)

2015-05-29  Richard Biener  <rguenther@suse.de>

PR tree-optimization/66314
* tree-ssa-threadupdate.c (create_block_for_threading): Add
parameter that says which loop the new block belongs to.
(ssa_create_duplicates): Blocks duplicated for the threaded
path belong to the loop of the thread destination.

* gcc.dg/asan/pr66314.c: New testcase.

From-SVN: r223861

9 years agot-msp430 (MULTILIB_OPTIONS): Add multilibs for the different types of hardware multip...
Nick Clifton [Fri, 29 May 2015 10:18:23 +0000 (10:18 +0000)]
t-msp430 (MULTILIB_OPTIONS): Add multilibs for the different types of hardware multiply available on the MSP430.

* config/msp430/t-msp430 (MULTILIB_OPTIONS): Add multilibs for the
different types of hardware multiply available on the MSP430.
(MULTILIB_DIRNAMES): Likewise.
(MULTILIB_EXCEPTIONS): Add exceptions for incompatible cpus and
hardware multiply types.
(MULTILIB_MATCHES): Add matches for known MCU names and hardware
multiply types.

From-SVN: r223860

9 years agolibbacktrace: add support of PE/COFF
Tristan Gingold [Fri, 29 May 2015 08:40:20 +0000 (08:40 +0000)]
libbacktrace: add support of PE/COFF

libbacktrace/
2015-05-29  Tristan Gingold  <gingold@adacore.com>

* pecoff.c: New file.
* Makefile.am (FORMAT_FILES): Add pecoff.c and dependencies.
* Makefile.in: Regenerate.
* filetype.awk: Detect pecoff.
* configure.ac: Define BACKTRACE_SUPPORTS_DATA on elf platforms.
Add pecoff.
* btest.c (test5): Test enabled only if BACKTRACE_SUPPORTS_DATA is
true.
* backtrace-supported.h.in (BACKTRACE_SUPPORTS_DATA): Define.
* configure: Regenerate.
* pecoff.c: New file.

From-SVN: r223859

9 years agotestsuite: auto-wipe dump files
Bernhard Reutner-Fischer [Fri, 29 May 2015 08:20:29 +0000 (10:20 +0200)]
testsuite: auto-wipe dump files

gcc/testsuite/ChangeLog

2015-05-29  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>

* lib/gcc-dg.exp (cleanup-ipa-dump, cleanup-rtl-dump,
cleanup-tree-dump, cleanup-dump, cleanup-saved-temps): Remove.
Adjust all callers.
(schedule-cleanups, dg-keep-saved-temps): New proc.
(gcc-dg-test-1): Schedule cleanups.
* lib/profopt.exp (profopt-execute): Likewise.
* g++.dg/cdce3.C: Adjust expected line numbers.
* gcc.dg/cdce1.c: Likewise.
* gcc.dg/cdce2.c: Likewise.
* gcc.dg/strlenopt-22.c: Fix comment delimiter.
* gcc.dg/strlenopt-24.c: Likewise.
* gcc.dg/tree-ssa/vrp26.c: Likewise.
* gcc.dg/tree-ssa/vrp28.c: Likewise.
* obj-c++.dg/encode-2.mm: Likewise.

libgomp/ChangeLog

2015-05-29  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>

* testsuite/libgomp.graphite/bounds.c: Adjust for
cleanup-tree-dump removal.
* testsuite/libgomp.graphite/force-parallel-1.c: Likewise.
* testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
* testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
* testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
* testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
* testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
* testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
* testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
* testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
* testsuite/libgomp.graphite/pr41118.c: Likewise.

gcc/ChangeLog

2015-05-29  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>

* config/arm/neon-testgen.ml (emit_epilogue): Remove manual call
to cleanup-saved-temps.
* doc/sourcebuild.texi (Clean up generated test files): Expand
introduction.
(dg-keep-saved-temps): Document new proc.
(cleanup-ipa-dump, cleanup-rtl-dump, cleanup-tree-dump,
cleanup-saved-temps): Remove.

From-SVN: r223858

9 years agoDaily bump.
GCC Administrator [Fri, 29 May 2015 00:16:16 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r223856

9 years ago* gcc.c-torture/execute/pr65369.c: Don't assume int is 32 bits.
DJ Delorie [Thu, 28 May 2015 21:35:58 +0000 (17:35 -0400)]
* gcc.c-torture/execute/pr65369.c: Don't assume int is 32 bits.

From-SVN: r223851

9 years agoconfigure.ac: Move the atoll check from AC_CHECK_FUNCS to gcc_AC_CHECK_DECLS.
Andreas Tobler [Thu, 28 May 2015 20:37:05 +0000 (22:37 +0200)]
configure.ac: Move the atoll check from AC_CHECK_FUNCS to gcc_AC_CHECK_DECLS.

2015-05-28  Andreas Tobler  <andreast@gcc.gnu.org>

    * configure.ac: Move the atoll check from AC_CHECK_FUNCS to
    gcc_AC_CHECK_DECLS.
    * configure: Regenerate.

From-SVN: r223847

9 years agoconfigure.host: Add bits for FreeBSD amd64 and i386.
Andreas Tobler [Thu, 28 May 2015 18:13:55 +0000 (20:13 +0200)]
configure.host: Add bits for FreeBSD amd64 and i386.

2015-05-28  Andreas Tobler  <andreast@gcc.gnu.org>

    * configure.host: Add bits for FreeBSD amd64 and i386.
    * configure.ac: Add signal handler for FreeBSD (amd64/i386)
    * configure: Regenerate.
    * include/freebsd-signal.h: New file.

From-SVN: r223845

9 years agofutex_bits.h (sys_futex0): Change operands "op" and "val" to int.
Uros Bizjak [Thu, 28 May 2015 17:36:47 +0000 (19:36 +0200)]
futex_bits.h (sys_futex0): Change operands "op" and "val" to int.

* config/linux/x86/futex_bits.h (sys_futex0) [__x86_64__]: Change
operands "op" and "val" to int.

* config/linux/sh/futex_bits.h (sys_futex0) Change operands
"op" and "val" to int.

* config/linux/alpha/futex_bits.h (sys_futex0) Change operands
"op" and "val" to int.

* config/linux/futex.cc (gtm_futex_wait, gtm_futex_wake):
Declare as static int.
(FUTEX_PRIVATE_FLAG): Remove L suffix.
* config/linux/futex_bits.h (sys_futex0) Change operand "op" to int.

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

From-SVN: r223844

9 years agore PR libstdc++/65352 (array<T,0>::begin()/end() etc. forms a null reference and...
Jonathan Wakely [Thu, 28 May 2015 16:00:09 +0000 (17:00 +0100)]
re PR libstdc++/65352 (array<T,0>::begin()/end() etc. forms a null reference and breaks on clang+ubsan)

PR libstdc++/65352
* include/profile/array (array::data): Use _S_ptr.
* include/debug/array (array::data): Likewise.

From-SVN: r223838

9 years agoutils.c (max_size): Add special code to deal with the subtraction of a "negative...
Eric Botcazou [Thu, 28 May 2015 15:45:08 +0000 (15:45 +0000)]
utils.c (max_size): Add special code to deal with the subtraction of a "negative" value in an...

* gcc-interface/utils.c (max_size) <tcc_binary>: Add special code to
deal with the subtraction of a "negative" value in an unsigned type.

From-SVN: r223837

9 years agodecl.c (gnat_to_gnu_entity): Do not error out on a return type which has a size that...
Eric Botcazou [Thu, 28 May 2015 15:37:57 +0000 (15:37 +0000)]
decl.c (gnat_to_gnu_entity): Do not error out on a return type which has a size that overflows if...

* 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.

From-SVN: r223836

9 years agoutils.c (gnat_pushdecl): Reunify the handling of array and pointer types wrt DECL_ORI...
Eric Botcazou [Thu, 28 May 2015 15:33:00 +0000 (15:33 +0000)]
utils.c (gnat_pushdecl): Reunify the handling of array and pointer types wrt DECL_ORIGINAL_TYPE and...

* gcc-interface/utils.c (gnat_pushdecl): Reunify the handling of array
and pointer types wrt DECL_ORIGINAL_TYPE and adjust left and right.

From-SVN: r223835

9 years agogigi.h (gnat_stabilize_reference): Adjust.
Eric Botcazou [Thu, 28 May 2015 15:24:12 +0000 (15:24 +0000)]
gigi.h (gnat_stabilize_reference): Adjust.

* 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.

From-SVN: r223834

9 years agoconfigure: fix vtable help
Mike Frysinger [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.

From-SVN: r223833

9 years agonios2-linux: add missing cpp specs
Mike Frysinger [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

From-SVN: r223823

9 years agomicroblaze-linux: add missing cpp specs
Mike Frysinger [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

From-SVN: r223822

9 years agofutex.h (sys_futex0): Remove function.
Uros Bizjak [Thu, 28 May 2015 13:59:17 +0000 (15:59 +0200)]
futex.h (sys_futex0): Remove function.

* 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.

From-SVN: r223821

9 years agohppa-linux: add missing cpp specs
Mike Frysinger [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

From-SVN: r223820

9 years agotree-vect-loop.c (vect_fixup_reduc_chain): New function.
Richard Biener [Thu, 28 May 2015 13:29:41 +0000 (13:29 +0000)]
tree-vect-loop.c (vect_fixup_reduc_chain): New function.

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.

From-SVN: r223818

9 years ago[multiple changes]
Arnaud Charlet [Thu, 28 May 2015 13:27:16 +0000 (15:27 +0200)]
[multiple changes]

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.

From-SVN: r223817

9 years agore PR tree-optimization/66142 (Loop is not vectorized because not sufficient support...
Richard Biener [Thu, 28 May 2015 13:24:53 +0000 (13:24 +0000)]
re PR tree-optimization/66142 (Loop is not vectorized because not sufficient support for GOMP_SIMD_LANE)

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.

From-SVN: r223816

9 years agosem_util.adb (Requires_Transient_Scope): Avoid returning function results on the...
Bob Duff [Thu, 28 May 2015 12:52:55 +0000 (12:52 +0000)]
sem_util.adb (Requires_Transient_Scope): Avoid returning function results on the secondary stack in so many cases.

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.

From-SVN: r223814

9 years agore PR target/63810 (gcc sets incorrect macro for OS X deployment targets)
Lawrence Velázquez [Thu, 28 May 2015 12:27:05 +0000 (14:27 +0200)]
re PR target/63810 (gcc sets incorrect macro for OS X deployment targets)

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.

From-SVN: r223808

9 years agore PR libstdc++/65352 (array<T,0>::begin()/end() etc. forms a null reference and...
Jonathan Wakely [Thu, 28 May 2015 11:53:35 +0000 (12:53 +0100)]
re PR libstdc++/65352 (array<T,0>::begin()/end() etc. forms a null reference and breaks on clang+ubsan)

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.

From-SVN: r223806

9 years agoMark parameters with ATTRIBUTE_UNUSED
H.J. Lu [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.

From-SVN: r223805

9 years agosem_util.adb (Wrong_Type): In any instance...
Ed Schonberg [Thu, 28 May 2015 10:48:29 +0000 (10:48 +0000)]
sem_util.adb (Wrong_Type): In any instance...

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.

From-SVN: r223804

9 years agooacc-init.c (resolve_device): Add FAIL_IS_ERROR argument.
Julian Brown [Thu, 28 May 2015 10:35:39 +0000 (10:35 +0000)]
oacc-init.c (resolve_device): Add FAIL_IS_ERROR argument.

* 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.

From-SVN: r223803

9 years agore PR libgomp/65742 (Several libgomp.oacc-* failures after r221922.)
Julian Brown [Thu, 28 May 2015 09:29:19 +0000 (09:29 +0000)]
re PR libgomp/65742 (Several libgomp.oacc-* failures after r221922.)

    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.

From-SVN: r223801

9 years ago[multiple changes]
Arnaud Charlet [Thu, 28 May 2015 08:19:18 +0000 (10:19 +0200)]
[multiple changes]

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.

From-SVN: r223800

9 years agorx.c (push_regs): New function.
Nick Clifton [Thu, 28 May 2015 07:16:51 +0000 (07:16 +0000)]
rx.c (push_regs): New function.

* 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.

From-SVN: r223799

9 years agotree-vectorizer.h (struct _slp_instance): Remove body_cost_vec member.
Richard Biener [Thu, 28 May 2015 07:15:57 +0000 (07:15 +0000)]
tree-vectorizer.h (struct _slp_instance): Remove body_cost_vec member.

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.

From-SVN: r223798

9 years agoAdd --enable-default-pie option to GCC configure
H.J. Lu [Thu, 28 May 2015 02:36:55 +0000 (19:36 -0700)]
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).

From-SVN: r223796

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

From-SVN: r223795

9 years agore PR target/66148 (build/genpreds: Internal error: abort in choose_enum_order, at...
John David Anglin [Thu, 28 May 2015 01:09:59 +0000 (01:09 +0000)]
re PR target/66148 (build/genpreds: Internal error: abort in choose_enum_order, at genpreds.c:1006)

PR target/66148
* config/pa/pa.c (pa_emit_move_sequence): Correct placement of
REG_EQUAL note when doing insert.

From-SVN: r223791

9 years agopa.c (pa_print_operand): Use HOST_WIDE_INT_PRINT_DEC instead of "%d" for 'o' operand.
John David Anglin [Thu, 28 May 2015 00:36:08 +0000 (00:36 +0000)]
pa.c (pa_print_operand): Use HOST_WIDE_INT_PRINT_DEC instead of "%d" for 'o' operand.

* config/pa/pa.c (pa_print_operand): Use HOST_WIDE_INT_PRINT_DEC
instead of "%d" for 'o' operand.

From-SVN: r223790

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

From-SVN: r223788

9 years agore PR target/39726 ([cond-optab] ColdFire pessimizations on QImode/HImode tests)
Jeff Law [Wed, 27 May 2015 21:13:25 +0000 (15:13 -0600)]
re PR target/39726 ([cond-optab] ColdFire pessimizations on QImode/HImode tests)

        PR target/39726
        * gcc.dg/target/m68k/pr39726-1.c: New test.

From-SVN: r223781

9 years agowait.h (gomp_futex_wait, [...]): Declare as int.
Uros Bizjak [Wed, 27 May 2015 21:07:09 +0000 (23:07 +0200)]
wait.h (gomp_futex_wait, [...]): Declare as int.

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.

From-SVN: r223780

9 years agodecl.c (check_redeclaration_exception_specification): Depend on -Wsystem-headers...
Jason Merrill [Wed, 27 May 2015 20:53:06 +0000 (16:53 -0400)]
decl.c (check_redeclaration_exception_specification): Depend on -Wsystem-headers rather than -pedantic.

* decl.c (check_redeclaration_exception_specification): Depend on
-Wsystem-headers rather than -pedantic.

From-SVN: r223778

9 years agodecl.c (warn_extern_redeclared_static): Use the location of newdecl in diagnostics...
Jason Merrill [Wed, 27 May 2015 20:52:55 +0000 (16:52 -0400)]
decl.c (warn_extern_redeclared_static): Use the location of newdecl in diagnostics, not input_location.

* 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.

From-SVN: r223777

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

From-SVN: r223775

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

From-SVN: r223774

9 years agore PR c++/66270 (ICE: canonical types differ for identical types)
Nathan Sidwell [Wed, 27 May 2015 20:36:14 +0000 (20:36 +0000)]
re PR c++/66270 (ICE: canonical types differ for identical types)

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.

From-SVN: r223773

9 years agotrans.c (elaborate_all_entities): Do not elaborate an incomplete type coming from...
Eric Botcazou [Wed, 27 May 2015 19:57:43 +0000 (19:57 +0000)]
trans.c (elaborate_all_entities): Do not elaborate an incomplete type coming from a limited_with and whose...

* 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.

From-SVN: r223772

9 years agofutex.h (sys_futex0): Change operand "op" to long.
Uros Bizjak [Wed, 27 May 2015 19:35:58 +0000 (21:35 +0200)]
futex.h (sys_futex0): Change operand "op" to long.

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.

From-SVN: r223771

9 years agoexpr.h (array_at_struct_end_p): Move to...
Eric Botcazou [Wed, 27 May 2015 18:00:15 +0000 (18:00 +0000)]
expr.h (array_at_struct_end_p): Move to...

* 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.

From-SVN: r223768

9 years agodecl.c (gnat_to_gnu_entity): Move down code applying atomic checks to the object.
Eric Botcazou [Wed, 27 May 2015 17:57:01 +0000 (17:57 +0000)]
decl.c (gnat_to_gnu_entity): Move down code applying atomic checks to the object.

* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Variable>: Move down
code applying atomic checks to the object.

From-SVN: r223767

9 years ago[PATCH 3/13] aarch64 musl support
Gregor Richards [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.

Co-Authored-By: Szabolcs Nagy <szabolcs.nagy@arm.com>
From-SVN: r223766

9 years agoconfig.host (i[34567]86-*-freebsd*, [...]): Set md_unwind_header
John Marino [Wed, 27 May 2015 16:14:10 +0000 (16:14 +0000)]
config.host (i[34567]86-*-freebsd*, [...]): Set md_unwind_header

        * config.host (i[34567]86-*-freebsd*, x86_64-*-freebsd*): Set
        md_unwind_header
        * config/i386/freebsd-unwind.h: New.

From-SVN: r223765

9 years agore PR bootstrap/66304 (Can't bootstrap on x86_64-linux-gnu with gcc 4.3.4)
Jason Merrill [Wed, 27 May 2015 16:09:18 +0000 (12:09 -0400)]
re PR bootstrap/66304 (Can't bootstrap on x86_64-linux-gnu with gcc 4.3.4)

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.

From-SVN: r223763

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

* auto-profile.c (afdo_calculate_branch_prob): Break once has_sample is
true.

From-SVN: r223762

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

From-SVN: r223761

9 years agore PR tree-optimization/66272 (wrong code at -O3 on x86_64-linux-gnu)
Richard Biener [Wed, 27 May 2015 14:20:48 +0000 (14:20 +0000)]
re PR tree-optimization/66272 (wrong code at -O3 on x86_64-linux-gnu)

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.

From-SVN: r223759

9 years agodwarf2out.c: Remove block_map.
Aldy Hernandez [Wed, 27 May 2015 14:09:58 +0000 (14:09 +0000)]
dwarf2out.c: Remove block_map.

* 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.

From-SVN: r223758

9 years agoslp-reduc-7.c: New testcase.
Richard Biener [Wed, 27 May 2015 13:50:50 +0000 (13:50 +0000)]
slp-reduc-7.c: New testcase.

2015-05-27  Richard Biener  <rguenther@suse.de>

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

From-SVN: r223756

9 years ago[multiple changes]
Arnaud Charlet [Wed, 27 May 2015 13:26:16 +0000 (15:26 +0200)]
[multiple changes]

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.

From-SVN: r223754

9 years ago[expr.c] PR target/65358 Avoid clobbering partial argument during sibcall
Kyrylo Tkachov [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.

From-SVN: r223753

9 years ago[multiple changes]
Arnaud Charlet [Wed, 27 May 2015 13:21:36 +0000 (15:21 +0200)]
[multiple changes]

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.

From-SVN: r223752

9 years ago[multiple changes]
Arnaud Charlet [Wed, 27 May 2015 13:19:35 +0000 (15:19 +0200)]
[multiple changes]

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.

From-SVN: r223751

9 years agoLTO balanced map: add stats about insns and symbols.
Martin Liska [Wed, 27 May 2015 13:17:13 +0000 (15:17 +0200)]
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.

From-SVN: r223750

9 years ago[PATCH 4/13] arm musl support
Gregor Richards [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.

From-SVN: r223749

9 years agoNew memory allocation statistics infrastructure.
Martin Liska [Wed, 27 May 2015 12:47:22 +0000 (14:47 +0200)]
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.

From-SVN: r223748

9 years agostl_tree.h (_Rb_tree::_M_end()): Return _Base_ptr instead of downcasting.
Jonathan Wakely [Wed, 27 May 2015 11:18:44 +0000 (12:18 +0100)]
stl_tree.h (_Rb_tree::_M_end()): Return _Base_ptr instead of downcasting.

* 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.

From-SVN: r223746

9 years agore PR libstdc++/66017 (Undefined behaviour in std::set<long long>)
Jonathan Wakely [Wed, 27 May 2015 11:18:37 +0000 (12:18 +0100)]
re PR libstdc++/66017 (Undefined behaviour in std::set<long long>)

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.

From-SVN: r223745

9 years agotree-vect-stmts.c (vectorizable_load): Initialize slp_perm earlier and remove ??...
Richard Biener [Wed, 27 May 2015 10:31:11 +0000 (10:31 +0000)]
tree-vect-stmts.c (vectorizable_load): Initialize slp_perm earlier and remove ??? comment.

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.

From-SVN: r223743

9 years agotrans-stmt.c (gfc_trans_allocate): Add missing location information for e3rhs.
Andre Vehreschild [Wed, 27 May 2015 08:48:51 +0000 (10:48 +0200)]
trans-stmt.c (gfc_trans_allocate): Add missing location information for e3rhs.

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.

From-SVN: r223738

9 years agotarget.c (gomp_map_pointer): New function abstracting out GOMP_MAP_POINTER handling.
Chung-Lin Tang [Wed, 27 May 2015 06:16:37 +0000 (06:16 +0000)]
target.c (gomp_map_pointer): New function abstracting out GOMP_MAP_POINTER handling.

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().

From-SVN: r223737

9 years agocombine.c (find_split_point): Verify that the shift count is a constant when...
Jeff Law [Wed, 27 May 2015 04:59:42 +0000 (22:59 -0600)]
combine.c (find_split_point): Verify that the shift count is a constant when...

       * combine.c (find_split_point): Verify that the shift count is a
       constant when choosing (plus (ashift ...)) as a split point.

From-SVN: r223736

9 years agotree-ssa-threadupdate.c: Replace 8 space sequences with tabs.
Jeff Law [Wed, 27 May 2015 04:42:23 +0000 (22:42 -0600)]
tree-ssa-threadupdate.c: Replace 8 space sequences with tabs.

        * tree-ssa-threadupdate.c: Replace 8 space sequences with tabs.
        No functional changes.

From-SVN: r223734

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

From-SVN: r223733

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

From-SVN: r223729

9 years agoxmethods.py (UniquePtrMethodsMatcher): Add operator-> support.
Doug Evans [Tue, 26 May 2015 23:06:55 +0000 (23:06 +0000)]
xmethods.py (UniquePtrMethodsMatcher): Add operator-> support.

* python/libstdcxx/v6/xmethods.py (UniquePtrMethodsMatcher): Add
operator-> support.
* testsuite/libstdc++-xmethods/unique_ptr.cc: Add tests for
operator->.

From-SVN: r223723

9 years agore PR target/65979 ([SH] Wrong code is generated with stage1 compiler)
Oleg Endo [Tue, 26 May 2015 22:32:11 +0000 (22:32 +0000)]
re PR target/65979 ([SH] Wrong code is generated with stage1 compiler)

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.

From-SVN: r223721

9 years agotrans.c (Attribute_to_gnu): Do not bother about NaN's if Machine_Overflows is true.
Eric Botcazou [Tue, 26 May 2015 20:42:20 +0000 (20:42 +0000)]
trans.c (Attribute_to_gnu): Do not bother about NaN's if Machine_Overflows is true.

* gcc-interface/trans.c (Attribute_to_gnu) <Attr_Min/Attr_Max>: Do not
bother about NaN's if Machine_Overflows is true.

From-SVN: r223717

9 years agotrans.c (gnat_to_gnu): Really force evaluation of the expression...
Eric Botcazou [Tue, 26 May 2015 20:37:29 +0000 (20:37 +0000)]
trans.c (gnat_to_gnu): Really force evaluation of the expression...

* 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.

From-SVN: r223716

9 years agotrans.c (Attribute_to_gnu): Do not apply extra-precision trick to literals.
Eric Botcazou [Tue, 26 May 2015 20:19:55 +0000 (20:19 +0000)]
trans.c (Attribute_to_gnu): Do not apply extra-precision trick to literals.

* 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.

From-SVN: r223715

9 years agoada-tree.h (DECL_GLOBAL_NONCONSTANT_RENAMING_P): Delete
Eric Botcazou [Tue, 26 May 2015 19:40:18 +0000 (19:40 +0000)]
ada-tree.h (DECL_GLOBAL_NONCONSTANT_RENAMING_P): Delete

* 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.

From-SVN: r223709

9 years agogigi.h (gnat_stabilize_reference): Adjust prototype.
Eric Botcazou [Tue, 26 May 2015 19:18:15 +0000 (19:18 +0000)]
gigi.h (gnat_stabilize_reference): Adjust prototype.

* 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.

From-SVN: r223708

9 years agojni.exp (gcj_jni_get_cxxflags_invocation): Add libiconv for FreeBSD to cxxflags.
Andreas Tobler [Tue, 26 May 2015 18:31:49 +0000 (20:31 +0200)]
jni.exp (gcj_jni_get_cxxflags_invocation): Add libiconv for FreeBSD to cxxflags.

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.

From-SVN: r223706

9 years agoline-map.c (LINE_MAP_MAX_COLUMN_NUMBER LINE_MAP_MAX_LOCATION_WITH_COLS,LINE_MAP_MAX_S...
Manuel López-Ibáñez [Tue, 26 May 2015 17:12:28 +0000 (17:12 +0000)]
line-map.c (LINE_MAP_MAX_COLUMN_NUMBER LINE_MAP_MAX_LOCATION_WITH_COLS,LINE_MAP_MAX_SOURCE_LOCATION): New constants.

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.

From-SVN: r223705

9 years agore PR middle-end/66251 (ICE in vect_get_vec_def_for_operand, at tree-vect-stmts.c...
Michael Matz [Tue, 26 May 2015 16:00:32 +0000 (16:00 +0000)]
re PR middle-end/66251 (ICE in vect_get_vec_def_for_operand, at tree-vect-stmts.c:1484)

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.

From-SVN: r223704