ian [Wed, 13 Aug 2014 22:31:44 +0000 (22:31 +0000)]
compiler, runtime: Fix unexpected GC interfering with closure passing.
The Go frontend passes closures through to functions using the
functions __go_set_closure and __go_get_closure. The
expectation is that there are no function calls between
set_closure and get_closure. However, it turns out that there
can be function calls if some of the function arguments
require type conversion to an interface type. Converting to
an interface type can allocate memory, and that can in turn
trigger a garbage collection, and that can in turn call pool
cleanup functions that may call __go_set_closure. So the
called function can see the wrong closure value, which is bad.
This patch fixes the problem in two different ways. First, we
move all type conversions in function arguments into temporary
variables so that they can not appear before the call to
__go_set_closure. (This required shifting the flatten phase
after the simplify_thunk phase, since the latter expects to
work with unconverted argument types.) Second, we fix the
memory allocation function to preserve the closure value
across any possible garbage collection.
A test case is the libgo database/sql check run with the
environment variable GOGC set to 1.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213932
138bc75d-0d04-0410-961f-
82ee72b054a4
sje [Wed, 13 Aug 2014 22:23:16 +0000 (22:23 +0000)]
2014-08-13 Steve Ellcey <sellcey@mips.com>
* crtstuff.c: Undef caddr_t.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213931
138bc75d-0d04-0410-961f-
82ee72b054a4
redi [Wed, 13 Aug 2014 18:40:10 +0000 (18:40 +0000)]
PR libstdc++/61841
* include/std/thread (thread::_M_start_thread): Declare new overload.
(thread::thread<_Callable, _Args...>): Call new overload with an
explicit reference to pthread_create.
* src/c++11/thread.cc (thread::_M_start_thread): Add new overload.
* config/abi/pre/gnu.ver: Export new function.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213922
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Wed, 13 Aug 2014 18:25:06 +0000 (18:25 +0000)]
* call.c (build_x_va_arg): Support passing non-POD through ....
(convert_arg_to_ellipsis): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213921
138bc75d-0d04-0410-961f-
82ee72b054a4
sylvestre [Wed, 13 Aug 2014 16:59:05 +0000 (16:59 +0000)]
2014-08-13 Sylvestre Ledru <sylvestre@debian.org>
* 9drpc.adb: Fix a typo
* s-interr.ads: Likewise
* s-taskin.ads: Likewise
* s-traces.ads: Likewise
* sysdep.c: Likewise
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213917
138bc75d-0d04-0410-961f-
82ee72b054a4
sylvestre [Wed, 13 Aug 2014 16:56:15 +0000 (16:56 +0000)]
Fix the date ...
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213916
138bc75d-0d04-0410-961f-
82ee72b054a4
sylvestre [Wed, 13 Aug 2014 16:28:39 +0000 (16:28 +0000)]
2014-08-12 Sylvestre Ledru <sylvestre@debian.org>
* include/profile/impl/profiler_hash_func.h: Fix a comment typo
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213914
138bc75d-0d04-0410-961f-
82ee72b054a4
eager [Wed, 13 Aug 2014 16:00:44 +0000 (16:00 +0000)]
Remove redundant '@' to avoid compiling warning
2014-08-13 Chen Gang gang.chen.5i5j@gmail.com
* microblaze/microblaze.md: Remove redundant '@' to avoid compiling
warning.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213913
138bc75d-0d04-0410-961f-
82ee72b054a4
gary [Wed, 13 Aug 2014 15:56:38 +0000 (15:56 +0000)]
libiberty/
* testsuite/demangler-fuzzer.c: New file.
* testsuite/Makefile.in (fuzz-demangler): New rule.
(demangler-fuzzer): Likewise.
(mostlyclean): Clean up demangler fuzzer.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213912
138bc75d-0d04-0410-961f-
82ee72b054a4
asutton [Wed, 13 Aug 2014 14:16:48 +0000 (14:16 +0000)]
2014-08-13 Andrew Sutton <andrew.n.sutton@gmail.com>
* pt.c (lookup_template_variable): Make dependent variable templates
have unknown type.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213910
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Wed, 13 Aug 2014 11:56:45 +0000 (11:56 +0000)]
2014-08-13 Paolo Carlini <paolo.carlini@oracle.com>
* Fix thinko in the last commit.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213908
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Wed, 13 Aug 2014 11:24:35 +0000 (11:24 +0000)]
2014-08-13 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/62118
* include/ext/random.tcc (uniform_on_sphere_helper<2, _RealType>::
operator()): Use std::hypot only when _GLIBCXX_USE_C99_MATH_TR1.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213906
138bc75d-0d04-0410-961f-
82ee72b054a4
romangareev [Wed, 13 Aug 2014 11:10:25 +0000 (11:10 +0000)]
[gcc/testsuite]
* gcc.dg/graphite/pr35356-2.c: Update according to the ISL code
generator.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213905
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Wed, 13 Aug 2014 08:47:40 +0000 (08:47 +0000)]
2014-08-13 Paolo Carlini <paolo.carlini@oracle.com>
* parser.c (cp_parser_elaborated_type_specifier): Handle
specially cp_parser_template_id returning a BASELINK.
2014-08-13 Paolo Carlini <paolo.carlini@oracle.com>
* parser.c (cp_parser_diagnose_invalid_type_name,
cp_parser_make_typename_type): Remove scope parameter.
(cp_parser_parse_and_diagnose_invalid_type_name,
cp_parser_elaborated_type_specifier): Adjust calls.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213897
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Wed, 13 Aug 2014 00:16:52 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213896
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Tue, 12 Aug 2014 21:24:40 +0000 (21:24 +0000)]
PR target/62025
* sched-deps.c (find_inc): Check if inc_insn doesn't clobber
any registers that are used in mem_insn.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213887
138bc75d-0d04-0410-961f-
82ee72b054a4
joel [Tue, 12 Aug 2014 19:49:26 +0000 (19:49 +0000)]
2014-08-12 Joel Sherrill <joel.sherrill@oarcorp.com>
* socket.c: For RTEMS, use correct prototype of gethostbyname_r().
* gsocket.h Add include of <unistd.h> on RTEMS.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213884
138bc75d-0d04-0410-961f-
82ee72b054a4
joel [Tue, 12 Aug 2014 19:47:09 +0000 (19:47 +0000)]
2014-08-12 Joel Sherrill <joel.sherrill@oarcorp.com>
* Makefile.in: Add CFLAGS_FOR_TARGET to GNATLIBCFLAGS_FOR_C.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213880
138bc75d-0d04-0410-961f-
82ee72b054a4
mpolacek [Tue, 12 Aug 2014 18:53:33 +0000 (18:53 +0000)]
* c-parser.c (c_parser_postfix_expression) <case RID_FUNCTION_NAME>:
Add pedwarn.
(c_parser_postfix_expression) <case RID_PRETTY_FUNCTION_NAME>:
Likewise.
(c_parser_postfix_expression) <case RID_C99_FUNCTION_NAME>: Likewise.
* gcc.dg/concat.c: Add dg-options.
* gcc.dg/func-outside-2.c: Add __extension__.
* gcc.dg/pr19967.c: Use -std=c99.
* gcc.dg/pr22458-1.c: Add dg-options.
* gcc.dg/pr33676.c: Add dg-options.
* gcc.dg/gnu-predef-1.c: New test.
* gcc.dg/c90-func-1.c: New test.
* gcc.dg/c90-func-2.c: New test.
* gcc.dg/c90-func-2.h: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213875
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Tue, 12 Aug 2014 17:06:11 +0000 (17:06 +0000)]
Reject virt-specifiers on friends and member templates
* friend.c (do_friend): Diagnose virt-specifiers.
* pt.c (push_template_decl_real): Diagnose virt-specifiers.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213874
138bc75d-0d04-0410-961f-
82ee72b054a4
redi [Tue, 12 Aug 2014 15:48:23 +0000 (15:48 +0000)]
* include/bits/basic_string.h (getline): Declare inline.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213873
138bc75d-0d04-0410-961f-
82ee72b054a4
sje [Tue, 12 Aug 2014 15:39:04 +0000 (15:39 +0000)]
2014-08-12 Steve Ellcey <sellcey@mips.com>
* config/mips/mips.h (ASM_SPEC): Pass float options to assembler.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213872
138bc75d-0d04-0410-961f-
82ee72b054a4
sje [Tue, 12 Aug 2014 15:28:41 +0000 (15:28 +0000)]
2014-08-12 Steve Ellcey <sellcey@mips.com>
* config/mips/mips16.S: Skip when __mips_soft_float is defined.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213870
138bc75d-0d04-0410-961f-
82ee72b054a4
redi [Tue, 12 Aug 2014 15:19:53 +0000 (15:19 +0000)]
* include/bits/basic_string.h (getline): Qualify call to prevent ADL
and add overloads for rvalue streams.
* testsuite/21_strings/basic_string/inserters_extractors/char/12.cc:
New.
* testsuite/21_strings/basic_string/inserters_extractors/wchar_t/12.cc:
New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213869
138bc75d-0d04-0410-961f-
82ee72b054a4
sje [Tue, 12 Aug 2014 15:10:42 +0000 (15:10 +0000)]
2014-08-12 Steve Ellcey <sellcey@mips.com>
* config/mips/t-mti-elf (MULTILIB_OPTIONS): Remove fp64 multilib.
(MULTILIB_DIRNAMES): Ditto.
* config/mips/t-mti-elf (MULTILIB_OPTIONS): Ditto.
* config/mips/t-mti-elf (MULTILIB_EXCEPTIONS): Ditto.
* config/mips/t-mti-linux (MULTILIB_OPTIONS): Ditto.
* config/mips/t-mti-linux (MULTILIB_DIRNAMES): Ditto.
* config/mips/t-mti-linux (MULTILIB_EXCEPTIONS): Ditto.
* config/mips/mti-linux.h (SYSROOT_SUFFIX_SPEC): Ditto.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213868
138bc75d-0d04-0410-961f-
82ee72b054a4
janis [Tue, 12 Aug 2014 15:00:26 +0000 (15:00 +0000)]
* lib/target/supports.exp
(check_effective_target_arm_v8_neon_ok_nocache): Check for armv8
or later.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213866
138bc75d-0d04-0410-961f-
82ee72b054a4
janis [Tue, 12 Aug 2014 14:59:31 +0000 (14:59 +0000)]
* gcc.dg/pr59418.c: Don't add ARM options for a Thumb1 multilib.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213865
138bc75d-0d04-0410-961f-
82ee72b054a4
ramana [Tue, 12 Aug 2014 14:59:23 +0000 (14:59 +0000)]
Fix PR target/61413
2014-08-12 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
PR target/61413
* config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Fix definition
of __ARM_SIZEOF_WCHAR_T.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213864
138bc75d-0d04-0410-961f-
82ee72b054a4
janis [Tue, 12 Aug 2014 14:58:19 +0000 (14:58 +0000)]
* gcc.target/arm/neon-vext-execute.c: Skip if the test won't run
on Neon hardware.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213863
138bc75d-0d04-0410-961f-
82ee72b054a4
janis [Tue, 12 Aug 2014 14:57:13 +0000 (14:57 +0000)]
* gcc.target/arm/pr48784.c: Skip for thumb1 multilib.
* gcc.target/arm/pr59985.c: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213862
138bc75d-0d04-0410-961f-
82ee72b054a4
ramana [Tue, 12 Aug 2014 14:32:07 +0000 (14:32 +0000)]
Fix PR target/62098
2014-08-12 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
PR target/62098
* config/arm/vfp.md (*combine_vcvtf2i): Fix constraint.
Remove unnecessary attributes.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213861
138bc75d-0d04-0410-961f-
82ee72b054a4
kyukhin [Tue, 12 Aug 2014 12:27:41 +0000 (12:27 +0000)]
PR other/61962
gcc/c-family/
* array-notation-common.c (find_rank): Added handling for other
types of references.
testsuite/
* c-c++-common/cilk-plus/AN/pr61962.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213858
138bc75d-0d04-0410-961f-
82ee72b054a4
kyukhin [Tue, 12 Aug 2014 11:06:44 +0000 (11:06 +0000)]
libcilkrts/
* configure.ac: Move pthread affinity test to the place where
'-pthread' passed to CFLAGS. Otherwise the test always fails.
(XCFLAGS): New variable for correctly passing
'-pthread'.
(XLDFLAGS): New variable for passing the correct pthread lib.
* configure: Regenerate.
* Makefile.am (AM_CFLAGS): Add $XCFLAGS.
(AM_LDFLAGS): Add $XLDFLAGS.
* Makefile.in: Regenerate.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213854
138bc75d-0d04-0410-961f-
82ee72b054a4
kyukhin [Tue, 12 Aug 2014 11:05:24 +0000 (11:05 +0000)]
fixincludes/
* inclhack.def (complier_h_tradcpp): Remove.
* fixincl.x: Regenerate.
* tests/base/linux/compiler.h: Remove.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213853
138bc75d-0d04-0410-961f-
82ee72b054a4
ygribov [Tue, 12 Aug 2014 07:34:33 +0000 (07:34 +0000)]
2014-08-12 Yury Gribov <y.gribov@samsung.com>
gcc/
* internal-fn.c (init_internal_fns): Fix off-by-one.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213848
138bc75d-0d04-0410-961f-
82ee72b054a4
kyukhin [Tue, 12 Aug 2014 07:28:15 +0000 (07:28 +0000)]
gcc/
* config/i386/i386.c (standard_sse_constant_opcode): Use
vpxord/vpternlog if avx512 is availible.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213847
138bc75d-0d04-0410-961f-
82ee72b054a4
thopre01 [Tue, 12 Aug 2014 02:36:37 +0000 (02:36 +0000)]
2014-08-12 Thomas Preud'homme <thomas.preudhomme@arm.com>
gcc/
PR middle-end/62103
* gimple-fold.c (fold_ctor_reference): Don't fold in presence of
bitfields, that is when size doesn't match the size of type or the
size of the constructor.
gcc/testsuite/
PR middle-end/62103
* gcc.c-torture/execute/bitfld-6.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213846
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Tue, 12 Aug 2014 00:17:19 +0000 (00:17 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213845
138bc75d-0d04-0410-961f-
82ee72b054a4
joel [Mon, 11 Aug 2014 21:32:05 +0000 (21:32 +0000)]
2014-08-11 Joel Sherrill <joel.sherrill@oarcorp.com>
* s-osinte-rtems.adb: Correct formatting of line in license block.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213840
138bc75d-0d04-0410-961f-
82ee72b054a4
danglin [Mon, 11 Aug 2014 19:51:38 +0000 (19:51 +0000)]
Revert last change.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213835
138bc75d-0d04-0410-961f-
82ee72b054a4
meissner [Mon, 11 Aug 2014 19:48:17 +0000 (19:48 +0000)]
2014-08-11 Michael Meissner <meissner@linux.vnet.ibm.com>
* config/rs6000/constraints.md (wh constraint): New constraint,
for FP registers if direct move is available.
(wi constraint): New constraint, for VSX/FP registers that can
handle 64-bit integers.
(wj constraint): New constraint for VSX/FP registers that can
handle 64-bit integers for direct moves.
(wk constraint): New constraint for VSX/FP registers that can
handle 64-bit doubles for direct moves.
(wy constraint): Make documentation match implementation.
* config/rs6000/rs6000.c (struct rs6000_reg_addr): Add
scalar_in_vmx_p field to simplify tests of whether SFmode or
DFmode can go in the Altivec registers.
(rs6000_hard_regno_mode_ok): Use scalar_in_vmx_p field.
(rs6000_setup_reg_addr_masks): Likewise.
(rs6000_debug_print_mode): Add debug support for scalar_in_vmx_p
field, and wh/wi/wj/wk constraints.
(rs6000_init_hard_regno_mode_ok): Setup scalar_in_vmx_p field, and
the wh/wi/wj/wk constraints.
(rs6000_preferred_reload_class): If SFmode/DFmode can go in the
upper registers, prefer VSX registers unless the operation is a
memory operation with REG+OFFSET addressing.
* config/rs6000/vsx.md (VSr mode attribute): Add support for
DImode. Change SFmode to use ww constraint instead of d to allow
SF registers in the upper registers.
(VSr2): Likewise.
(VSr3): Likewise.
(VSr5): Fix thinko in comment.
(VSa): New mode attribute that is an alternative to wa, that
returns the VSX register class that a mode can go in, but may not
be the preferred register class.
(VS_64dm): New mode attribute for appropriate register classes for
referencing 64-bit elements of vectors for direct moves and normal
moves.
(VS_64reg): Likewise.
(vsx_mov<mode>): Change wa constraint to <VSa> to limit the
register allocator to only registers the data type can handle.
(vsx_le_perm_load_<mode>): Likewise.
(vsx_le_perm_store_<mode>): Likewise.
(vsx_xxpermdi2_le_<mode>): Likewise.
(vsx_xxpermdi4_le_<mode>): Likewise.
(vsx_lxvd2x2_le_<mode>): Likewise.
(vsx_lxvd2x4_le_<mode>): Likewise.
(vsx_stxvd2x2_le_<mode>): Likewise.
(vsx_add<mode>3): Likewise.
(vsx_sub<mode>3): Likewise.
(vsx_mul<mode>3): Likewise.
(vsx_div<mode>3): Likewise.
(vsx_tdiv<mode>3_internal): Likewise.
(vsx_fre<mode>2): Likewise.
(vsx_neg<mode>2): Likewise.
(vsx_abs<mode>2): Likewise.
(vsx_nabs<mode>2): Likewise.
(vsx_smax<mode>3): Likewise.
(vsx_smin<mode>3): Likewise.
(vsx_sqrt<mode>2): Likewise.
(vsx_rsqrte<mode>2): Likewise.
(vsx_tsqrt<mode>2_internal): Likewise.
(vsx_fms<mode>4): Likewise.
(vsx_nfma<mode>4): Likewise.
(vsx_eq<mode>): Likewise.
(vsx_gt<mode>): Likewise.
(vsx_ge<mode>): Likewise.
(vsx_eq<mode>_p): Likewise.
(vsx_gt<mode>_p): Likewise.
(vsx_ge<mode>_p): Likewise.
(vsx_xxsel<mode>): Likewise.
(vsx_xxsel<mode>_uns): Likewise.
(vsx_copysign<mode>3): Likewise.
(vsx_float<VSi><mode>2): Likewise.
(vsx_floatuns<VSi><mode>2): Likewise.
(vsx_fix_trunc<mode><VSi>2): Likewise.
(vsx_fixuns_trunc<mode><VSi>2): Likewise.
(vsx_x<VSv>r<VSs>i): Likewise.
(vsx_x<VSv>r<VSs>ic): Likewise.
(vsx_btrunc<mode>2): Likewise.
(vsx_b2trunc<mode>2): Likewise.
(vsx_floor<mode>2): Likewise.
(vsx_ceil<mode>2): Likewise.
(vsx_<VS_spdp_insn>): Likewise.
(vsx_xscvspdp): Likewise.
(vsx_xvcvspuxds): Likewise.
(vsx_float_fix_<mode>2): Likewise.
(vsx_set_<mode>): Likewise.
(vsx_extract_<mode>_internal1): Likewise.
(vsx_extract_<mode>_internal2): Likewise.
(vsx_extract_<mode>_load): Likewise.
(vsx_extract_<mode>_store): Likewise.
(vsx_splat_<mode>): Likewise.
(vsx_xxspltw_<mode>): Likewise.
(vsx_xxspltw_<mode>_direct): Likewise.
(vsx_xxmrghw_<mode>): Likewise.
(vsx_xxmrglw_<mode>): Likewise.
(vsx_xxsldwi_<mode>): Likewise.
(vsx_xscvdpspn): Tighten constraints to only use register classes
the types use.
(vsx_xscvspdpn): Likewise.
(vsx_xscvdpspn_scalar): Likewise.
* config/rs6000/rs6000.h (enum rs6000_reg_class_enum): Add wh, wi,
wj, and wk constraints.
(GPR_REG_CLASS_P): New helper macro for register classes targeting
general purpose registers.
* config/rs6000/rs6000.md (f32_dm): Use wh constraint for SDmode
direct moves.
(zero_extendsidi2_lfiwz): Use wj constraint for direct move of
DImode instead of wm. Use wk constraint for direct move of DFmode
instead of wm.
(extendsidi2_lfiwax): Likewise.
(lfiwax): Likewise.
(lfiwzx): Likewise.
(movdi_internal64): Likewise.
* doc/md.texi (PowerPC and IBM RS6000): Document wh, wi, wj, and
wk constraints. Make the wy constraint documentation match them
implementation.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213834
138bc75d-0d04-0410-961f-
82ee72b054a4
ian [Mon, 11 Aug 2014 19:27:21 +0000 (19:27 +0000)]
compiler: Change return type comma-ok assignments to untyped bools.
Fixes https://code.google.com/p/go/issues/detail?id=8476. The test will be submitted once this is fixed in gc and go/types.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213833
138bc75d-0d04-0410-961f-
82ee72b054a4
ian [Mon, 11 Aug 2014 19:26:26 +0000 (19:26 +0000)]
compiler: Change return type comma-ok assignments to untyped bools.
Fixes https://code.google.com/p/go/issues/detail?id=8476. The test will be submitted once this is fixed in gc and go/types.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213832
138bc75d-0d04-0410-961f-
82ee72b054a4
danglin [Mon, 11 Aug 2014 19:07:16 +0000 (19:07 +0000)]
PR target/62038
* config/pa/pa.c (pa_asm_output_mi_thunk): Use a branch with %r31 link
register.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213829
138bc75d-0d04-0410-961f-
82ee72b054a4
janis [Mon, 11 Aug 2014 15:29:59 +0000 (15:29 +0000)]
* gcc.target/arm/frame-pointer-1.c: Skip if Thumb is not supported.
* gcc.target/arm/pr56184.C: Likewise.
* gcc.target/arm/pr59896.c: Likewise.
* gcc.target/arm/stack-red-zone.c: Likewise.
* gcc.target/arm/thumb-find-work-register.c: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213819
138bc75d-0d04-0410-961f-
82ee72b054a4
janis [Mon, 11 Aug 2014 15:28:04 +0000 (15:28 +0000)]
* lib/target-supports.exp (check_effective_target_arm_thumb1_ok,
check_effective_target_arm_thumb2_ok): Test with code that passes
an argument and returns a result.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213818
138bc75d-0d04-0410-961f-
82ee72b054a4
mircea [Mon, 11 Aug 2014 15:05:48 +0000 (15:05 +0000)]
Replacement of isl_int by isl_val
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213816
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Mon, 11 Aug 2014 14:48:24 +0000 (14:48 +0000)]
2014-08-11 Richard Biener <rguenther@suse.de>
PR tree-optimization/62075
* tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Properly
handle uses in patterns.
* gcc.dg/vect/pr62075.c: New testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213815
138bc75d-0d04-0410-961f-
82ee72b054a4
kyukhin [Mon, 11 Aug 2014 11:39:14 +0000 (11:39 +0000)]
gcc/
* common/config/i386/i386-common.c
(OPTION_MASK_ISA_AVX512VL_SET): Define.
(OPTION_MASK_ISA_AVX512F_UNSET): Update.
(ix86_handle_option): Handle OPT_mavx512vl.
* config/i386/cpuid.h (bit_AVX512VL): Define.
* config/i386/driver-i386.c (host_detect_local_cpu): Detect avx512vl,
set -mavx512vl accordingly.
* config/i386/i386-c.c (ix86_target_macros_internal): Handle
OPTION_MASK_ISA_AVX512VL.
* config/i386/i386.c (ix86_target_string): Handle -mavx512vl.
(ix86_option_override_internal): Define PTA_AVX512VL, handle
PTA_AVX512VL and OPTION_MASK_ISA_AVX512VL.
(ix86_valid_target_attribute_inner_p): Handle OPT_mavx512vl.
* config/i386/i386.h (TARGET_AVX512VL): Define.
(TARGET_AVX512VL_P(x)): Ditto.
* config/i386/i386.opt: Add mavx512vl.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213813
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Mon, 11 Aug 2014 11:24:35 +0000 (11:24 +0000)]
2014-08-11 Felix Yang <fei.yang0953@gmail.com>
PR tree-optimization/62073
* tree-vect-loop.c (vect_is_simple_reduction_1): Check that DEF1 has
a basic block.
* gcc.dg/vect/pr62073.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213812
138bc75d-0d04-0410-961f-
82ee72b054a4
kyukhin [Mon, 11 Aug 2014 11:22:26 +0000 (11:22 +0000)]
gcc/
* common/config/i386/i386-common.c
(OPTION_MASK_ISA_AVX512BW_SET) : Define.
(OPTION_MASK_ISA_AVX512BW_UNSET): Ditto.
(OPTION_MASK_ISA_AVX512VL_UNSET) : Ditto.
(ix86_handle_option): Handle OPT_mavx512bw.
* config/i386/cpuid.h (bit_AVX512BW): Define.
* config/i386/driver-i386.c (host_detect_local_cpu): Detect avx512bw,
set -mavx512bw accordingly.
* config/i386/i386-c.c (ix86_target_macros_internal): Handle
OPTION_MASK_ISA_AVX512BW.
* config/i386/i386.c (ix86_target_string): Handle -mavx512bw.
(ix86_option_override_internal): Define PTA_AVX512BW, handle
PTA_AVX512BW and OPTION_MASK_ISA_AVX512BW.
(ix86_valid_target_attribute_inner_p): Handle OPT_mavx512bw.
* config/i386/i386.h (TARGET_AVX512BW): Define.
(TARGET_AVX512BW_P(x)): Ditto.
* config/i386/i386.opt: Add mavx512bw.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213811
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Mon, 11 Aug 2014 10:55:10 +0000 (10:55 +0000)]
2014-08-11 Richard Biener <rguenther@suse.de>
PR tree-optimization/62070
* tree-ssa-loop-manip.c (gimple_duplicate_loop_to_header_edge):
Remove SSA checking.
* gcc.dg/pr62070.c: New testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213810
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Mon, 11 Aug 2014 07:49:30 +0000 (07:49 +0000)]
2014-08-11 Richard Biener <rguenther@suse.de>
PR fortran/61950
* trans-expr.c (gfc_conv_structure): Initialize _size with
a value of proper type.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213809
138bc75d-0d04-0410-961f-
82ee72b054a4
xmj [Mon, 11 Aug 2014 07:29:41 +0000 (07:29 +0000)]
* texi2pod.pl (postprocess): Move command process for '@sc' to the
front of '@dfn'. Add a new command process for '@t{...}', just print
the content.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213808
138bc75d-0d04-0410-961f-
82ee72b054a4
ygribov [Mon, 11 Aug 2014 06:12:12 +0000 (06:12 +0000)]
Move inlining of Asan memory checks to sanopt pass.
Change asan-instrumentation-with-call-threshold to more closely match LLVM.
2014-08-11 Yury Gribov <y.gribov@samsung.com>
gcc/
* asan.c (asan_check_flags): New enum.
(build_check_stmt_with_calls): Removed function.
(build_check_stmt): Split inlining logic to
asan_expand_check_ifn.
(instrument_derefs): Rename parameter.
(instrument_mem_region_access): Rename parameter.
(instrument_strlen_call): Likewise.
(asan_expand_check_ifn): New function.
(asan_instrument): Remove old code.
(pass_sanopt::execute): Change handling of
asan-instrumentation-with-call-threshold.
(asan_clear_shadow): Fix formatting.
(asan_function_start): Likewise.
(asan_emit_stack_protection): Likewise.
* doc/invoke.texi (asan-instrumentation-with-call-threshold):
Update description.
* internal-fn.c (expand_ASAN_CHECK): New function.
* internal-fn.def (ASAN_CHECK): New internal function.
* params.def (PARAM_ASAN_INSTRUMENTATION_WITH_CALL_THRESHOLD):
Update description.
(PARAM_ASAN_USE_AFTER_RETURN): Likewise.
* tree.c: Small comment fix.
gcc/testsuite/
* c-c++-common/asan/inc.c: Update test.
* c-c++-common/asan/instrument-with-calls-2.c: Likewise.
* c-c++-common/asan/no-redundant-instrumentation-1.c: Likewise.
* c-c++-common/asan/no-redundant-instrumentation-2.c: Likewise.
* c-c++-common/asan/no-redundant-instrumentation-3.c: Likewise.
* c-c++-common/asan/no-redundant-instrumentation-4.c: Likewise.
* c-c++-common/asan/no-redundant-instrumentation-5.c: Likewise.
* c-c++-common/asan/no-redundant-instrumentation-6.c: Likewise.
* c-c++-common/asan/no-redundant-instrumentation-7.c: Likewise.
* c-c++-common/asan/no-redundant-instrumentation-8.c: Likewise.
* c-c++-common/asan/no-redundant-instrumentation-9.c: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213807
138bc75d-0d04-0410-961f-
82ee72b054a4
ygribov [Mon, 11 Aug 2014 06:06:29 +0000 (06:06 +0000)]
Added fnspec to internal functions.
2014-08-11 Yury Gribov <y.gribov@samsung.com>
gcc/
* gimple.c (gimple_call_fnspec): Support internal functions.
(gimple_call_return_flags): Use const.
* Makefile.in (GTFILES): Add internal-fn.h to list of GC files.
* internal-fn.def: Add fnspec information.
* internal-fn.h (internal_fn_fnspec): New function.
(init_internal_fns): Declare new function.
* internal-fn.c (internal_fn_fnspec_array): New global variable.
(init_internal_fns): New function.
* tree-core.h: Update macro call.
* tree.c (build_common_builtin_nodes): Initialize internal fns.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213806
138bc75d-0d04-0410-961f-
82ee72b054a4
gerald [Mon, 11 Aug 2014 02:10:00 +0000 (02:10 +0000)]
* lto-streamer.h (struct output_block::symbol): Change from
struct symtab_node to plain symtab_node.
(referenced_from_this_partition_p): Change first parameter
from struct symtab_node to plain symtab_node.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213805
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Mon, 11 Aug 2014 00:16:53 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213804
138bc75d-0d04-0410-961f-
82ee72b054a4
mpolacek [Sun, 10 Aug 2014 06:10:49 +0000 (06:10 +0000)]
PR c/51849
gcc/
* gcc/doc/invoke.texi: Document -Wc90-c99-compat.
gcc/c-family/
* c-opts.c (sanitize_cpp_opts): Pass warn_c90_c99_compat to libcpp.
* c.opt (Wc90-c99-compat): Add option.
gcc/c/
* c-decl.c (build_array_declarator): Remove check for !flag_isoc99.
Call pedwarn_c90 instead of pedwarn.
(check_bitfield_type_and_width): Likewise.
(declspecs_add_qual): Likewise.
(declspecs_add_type): Likewise.
(warn_variable_length_array): Unify function for -pedantic and -Wvla.
Adjust to only call pedwarn_c90.
(grokdeclarator): Remove pedantic && !flag_isoc99 check. Call
pedwarn_c90 instead of pedwarn.
* c-errors.c (pedwarn_c90): Handle -Wc90-c99-compat.
* c-parser.c (disable_extension_diagnostics): Handle
warn_c90_c99_compat.
(restore_extension_diagnostics): Likewise.
(c_parser_enum_specifier): Remove check for !flag_isoc99. Call
pedwarn_c90 instead of pedwarn.
(c_parser_initelt): Likewise.
(c_parser_postfix_expression): Likewise.
(c_parser_postfix_expression_after_paren_type): Likewise.
(c_parser_compound_statement_nostart): Remove check for !flag_isoc99.
* c-tree.h: Fix formatting.
* c-typeck.c (build_array_ref): Remove check for !flag_isoc99. Call
pedwarn_c90 instead of pedwarn.
gcc/testsuite/
* gcc.dg/Wc90-c99-compat-1.c: New test.
* gcc.dg/Wc90-c99-compat-2.c: New test.
* gcc.dg/Wc90-c99-compat-3.c: New test.
* gcc.dg/Wc90-c99-compat-4.c: New test.
* gcc.dg/Wc90-c99-compat-5.c: New test.
* gcc.dg/Wc90-c99-compat-6.c: New test.
* gcc.dg/wvla-1.c: Adjust dg-warning.
* gcc.dg/wvla-2.c: Adjust dg-warning.
* gcc.dg/wvla-4.c: Adjust dg-warning.
* gcc.dg/wvla-6.c: Adjust dg-warning.
libcpp/
* lex.c (_cpp_lex_direct): Warn when -Wc90-c99-compat is in effect.
* charset.c (_cpp_valid_ucn): Likewise.
* include/cpplib.h (cpp_options): Add cpp_warn_c90_c99_compat.
* macro.c (replace_args): Warn when -Wc90-c99-compat is in effect.
(parse_params): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213786
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Sun, 10 Aug 2014 00:16:59 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213785
138bc75d-0d04-0410-961f-
82ee72b054a4
tkoenig [Sat, 9 Aug 2014 22:38:46 +0000 (22:38 +0000)]
2014-08-10 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/61999
* simplify.c (gfc_simplify_dot_product): Convert types of
vectors before calculating the result.
2014-08-10 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/61999
* gfortran.dg/dot_product_3.f90: New test case.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213782
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Sat, 9 Aug 2014 22:07:55 +0000 (22:07 +0000)]
* g++.dg/ipa/devirt-35.C: Fix template.
* g++.dg/ipa/devirt-36.C: Likewise.
* g++.dg/ipa/devirt-37.C: New testcase.
* ipa-devirt.c (get_dynamic_type): Handle case when instance is in
DECL correctly; do not give up on types in static storage.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213781
138bc75d-0d04-0410-961f-
82ee72b054a4
drepper [Sat, 9 Aug 2014 17:56:57 +0000 (17:56 +0000)]
* include/ext/random.tcc (uniform_on_sphere_helper): Define.
(uniform_on_sphere_distribution::operator()): Use the new helper
class for the implementation.
* testsuite/ext/random/uniform_on_sphere_distribution/operators/
equal.cc: Remove bogus part of comment.
* testsuite/ext/random/uniform_on_sphere_distribution/operators/
inequal.cc: Likewise.
* testsuite/ext/random/uniform_on_sphere_distribution/operators/
serialize.cc: Add check to verify result of serialzation and
deserialization.
* testsuite/ext/random/uniform_on_sphere_distribution/operators/
generate.cc: New file.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213779
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Sat, 9 Aug 2014 09:00:34 +0000 (09:00 +0000)]
2014-08-09 Paolo Carlini <paolo.carlini@oracle.com>
* Adjust date.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213777
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Sat, 9 Aug 2014 08:58:33 +0000 (08:58 +0000)]
2014-08-09 Paolo Carlini <paolo.carlini@oracle.com>
* doc/invoke.texi ([Wnarrowing]): Update for non-constants in C++11.
gcc/cp
2014-08-09 Paolo Carlini <paolo.carlini@oracle.com>
* typeck2.c (check_narrowing): Add tsubst_flags_t parameter, change
return type to bool; in C++11 for constants give errors, not pedwarns.
* cp-tree.h (check_narrowing): Adjust declaration.
* call.c (convert_like_real): Update calls.
* semantics.c (finish_compound_literal): Likewise.
gcc/testsuite
2014-08-09 Paolo Carlini <paolo.carlini@oracle.com>
* g++.dg/cpp0x/Wnarrowing1.C: Adjust for errors.
* g++.dg/cpp0x/enum29.C: Adjust.
/libstdc++-v3
2014-08-09 Paolo Carlini <paolo.carlini@oracle.com>
* include/ext/pod_char_traits.h (char_traits<__gnu_cxx::
character<_Value, _Int, _St> >::eof): Fix vs narrowing conversion.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213776
138bc75d-0d04-0410-961f-
82ee72b054a4
fdumont [Sat, 9 Aug 2014 08:00:59 +0000 (08:00 +0000)]
2014-08-09 François Dumont <fdumont@gcc.gnu.org>
PR libstdc++/61667
* include/bits/hashtable.h (_Hashtable<>::__rehash_policy): Use
_M_need_rehash to initialize the rehash policy and check if a rehash is
needed.
* testsuite/23_containers/unordered_map/modifiers/61667.cc: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213775
138bc75d-0d04-0410-961f-
82ee72b054a4
romangareev [Sat, 9 Aug 2014 05:57:47 +0000 (05:57 +0000)]
[gcc/]
* graphite-isl-ast-to-gimple.c:
(translate_isl_ast_node_user): Use nb_loops instead of loop->num + 1.
[gcc/testsuite]
* gcc.dg/graphite/isl-ast-gen-user-1.c: New testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213774
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Sat, 9 Aug 2014 00:16:46 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213772
138bc75d-0d04-0410-961f-
82ee72b054a4
carrot [Fri, 8 Aug 2014 23:00:28 +0000 (23:00 +0000)]
* config/rs6000/rs6000.md (*movdi_internal64): Add a new constraint.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213767
138bc75d-0d04-0410-961f-
82ee72b054a4
ccoutant [Fri, 8 Aug 2014 20:33:26 +0000 (20:33 +0000)]
Remove skeleton type units that were being produced with -gsplit-dwarf.
These sections were originally intended as targets for .gdb_index
entries that needed to point to type units. Because of the limitations
of the .debug_gnu_pubnames/pubtypes sections with split DWARF, we were
not able to pass along enough information to the gold linker to generate
those index entries properly, and they had to point to the CU instead.
GDB had to deal with that, and was updated a while ago to no longer
depend on the skeleton TU sections at all. This allows us to reduce
object file sizes with split DWARF by about 30%.
gcc/
* dwarf2out.c (get_skeleton_type_unit): Remove.
(output_skeleton_debug_sections): Remove skeleton type units.
(output_comdat_type_unit): Likewise.
(dwarf2out_finish): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213765
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Fri, 8 Aug 2014 18:17:21 +0000 (18:17 +0000)]
* pt.c (lookup_template_class_1): Copy abi_tag.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213762
138bc75d-0d04-0410-961f-
82ee72b054a4
ian [Fri, 8 Aug 2014 17:40:51 +0000 (17:40 +0000)]
* go-gcc.cc (Gcc_backend::compound_statement): Don't return
NULL_TREE.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213761
138bc75d-0d04-0410-961f-
82ee72b054a4
ahyangyi2 [Fri, 8 Aug 2014 17:06:51 +0000 (17:06 +0000)]
Remove a redundant assignment "*predictor = PRED_BUILTIN_EXPECT;", since six
lines later *predictor is assigned again.
--
2014-08-08 Yi Yang <ahyangyi@google.com>
gcc:
* predict.c (expr_expected_value_1): Remove the redundant assignment.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213760
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Fri, 8 Aug 2014 12:55:31 +0000 (12:55 +0000)]
2014-08-08 Richard Biener <rguenther@suse.de>
* lto-streamer.h (struct lto_input_block): Make it a class
with a constructor.
(LTO_INIT_INPUT_BLOCK, LTO_INIT_INPUT_BLOCK_PTR): Remove.
(struct lto_function_header, struct lto_simple_header,
struct lto_simple_header_with_strings,
struct lto_decl_header, struct lto_function_header): Make
a simple inheritance hieararchy. Remove unused fields.
(struct lto_asm_header): Remove.
* lto-streamer-out.c (produce_asm): Adjust.
(lto_output_toplevel_asms): Likewise.
(produce_asm_for_decls): Likewise.
* lto-section-out.c (lto_destroy_simple_output_block): Likewise.
* data-streamer-in.c (string_for_index): Likewise.
* ipa-inline-analysis.c (inline_read_section): Likewise.
* ipa-prop.c (ipa_prop_read_section): Likewise.
(read_replacements_section): Likewise.
* lto-cgraph.c (input_cgraph_opt_section): Likewise.
* lto-section-in.c (lto_create_simple_input_block): Likewise.
(lto_destroy_simple_input_block): Likewise.
* lto-streamer-in.c (lto_read_body_or_constructor): Likewise.
(lto_input_toplevel_asms): Likewise.
lto/
* lto.c (lto_read_decls): Adjust for lto_input_block changes.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213759
138bc75d-0d04-0410-961f-
82ee72b054a4
kyukhin [Fri, 8 Aug 2014 11:31:34 +0000 (11:31 +0000)]
gcc/
* common/config/i386/i386-common.c
(OPTION_MASK_ISA_AVX512DQ_SET): Define.
(OPTION_MASK_ISA_AVX512DQ_UNSET): Ditto.
(ix86_handle_option): Handle OPT_mavx512dq.
* config/i386/cpuid.h (bit_AVX512DQ): Define.
* config/i386/driver-i386.c (host_detect_local_cpu): Detect avx512dq,
set -mavx512dq accordingly.
* config/i386/i386-c.c (ix86_target_macros_internal): Handle
OPTION_MASK_ISA_AVX512DQ.
* config/i386/i386.c (ix86_target_string): Handle -mavx512dq.
(ix86_option_override_internal): Define PTA_AVX512DQ, handle
PTA_AVX512DQ and OPTION_MASK_ISA_AVX512DQ.
(ix86_valid_target_attribute_inner_p): Handle OPT_mavx512dq.
* config/i386/i386.h (TARGET_AVX512DQ): Define.
(TARGET_AVX512DQ_P(x)): Ditto.
* config/i386/i386.opt: Add mavx512dq.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213757
138bc75d-0d04-0410-961f-
82ee72b054a4
amker [Fri, 8 Aug 2014 10:21:12 +0000 (10:21 +0000)]
PR lto/62032
* lto/lto-lang.c (lto_init): Switch mis-matched arguments.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213755
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Fri, 8 Aug 2014 09:18:40 +0000 (09:18 +0000)]
2014-08-08 Richard Biener <rguenther@suse.de>
* builtins.c (c_getstr, readonly_data_expr, init_target_chars,
target_percent, target_percent_s): Export.
(var_decl_component_p, fold_builtin_memory_op, fold_builtin_memset,
fold_builtin_bzero, fold_builtin_strcpy, fold_builtin_strncpy,
fold_builtin_strcat, fold_builtin_fputs, fold_builtin_memory_chk,
fold_builtin_stxcpy_chk, fold_builtin_stxncpy_chk,
fold_builtin_sprintf_chk_1, fold_builtin_snprintf_chk_1):
Move to gimple-fold.c.
(fold_builtin_2): Remove handling of bzero, fputs, fputs_unlocked,
strcat and strcpy.
(fold_builtin_3): Remove handling of memset, bcopy, memcpy,
mempcpy, memmove, strncpy, strcpy_chk and stpcpy_chk.
(fold_builtin_4): Remove handling of memcpy_chk, mempcpy_chk,
memmove_chk, memset_chk, strncpy_chk and stpncpy_chk.
(rewrite_call_expr_array): Remove.
(fold_builtin_sprintf_chk): Likewise.
(fold_builtin_snprintf_chk): Likewise.
(fold_builtin_varargs): Remove handling of sprintf_chk,
vsprintf_chk, snprintf_chk and vsnprintf_chk.
(gimple_fold_builtin_sprintf_chk): Remove.
(gimple_fold_builtin_snprintf_chk): Likewise.
(gimple_fold_builtin_varargs): Likewise.
(fold_call_stmt): Do not call gimple_fold_builtin_varargs.
* predict.c (optimize_bb_for_size_p): Handle NULL bb.
* gimple.c (gimple_seq_add_seq_without_update): New function.
* gimple.h (gimple_seq_add_seq_without_update): Declare.
* gimple-fold.c: Include output.h.
(gsi_replace_with_seq_vops): New function, split out from ...
(gimplify_and_update_call_from_tree): ... here.
(replace_call_with_value): New function.
(replace_call_with_call_and_fold): Likewise.
(var_decl_component_p): Moved from builtins.c.
(gimple_fold_builtin_memory_op): Moved from builtins.c
fold_builtin_memory_op and rewritten to GIMPLE.
(gimple_fold_builtin_memset): Likewise.
(gimple_fold_builtin_strcpy): Likewise.
(gimple_fold_builtin_strncpy): Likewise.
(gimple_fold_builtin_strcat): Likewise.
(gimple_fold_builtin_fputs): Likewise.
(gimple_fold_builtin_memory_chk): Likewise.
(gimple_fold_builtin_stxcpy_chk): Likewise.
(gimple_fold_builtin_stxncpy_chk): Likewise.
(gimple_fold_builtin_snprintf_chk): Likewise.
(gimple_fold_builtin_sprintf_chk): Likewise.
(gimple_fold_builtin_strlen): New function.
(gimple_fold_builtin_with_strlen): New function split out from
gimple_fold_builtin.
(gimple_fold_builtin): Change signature and handle
bzero, memset, bcopy, memcpy, mempcpy and memmove folding
here. Call gimple_fold_builtin_with_strlen.
(gimple_fold_call): Adjust.
* gcc.dg/strlenopt-8.c: Remove XFAIL.
* gcc.dg/tree-prof/stringop-2.c: Adjust.
* gfortran.dg/array_memcpy_4.f90: Likewise.
* gfortran.dg/trim_optimize_1.f90: Likewise.
* gfortran.dg/trim_optimize_2.f90: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213753
138bc75d-0d04-0410-961f-
82ee72b054a4
ktietz [Fri, 8 Aug 2014 07:59:38 +0000 (07:59 +0000)]
* semantics.c (expand_or_defer_fn_1): Check for keep-inline-dllexport
that we operate on a true inline.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213751
138bc75d-0d04-0410-961f-
82ee72b054a4
kugan [Fri, 8 Aug 2014 05:31:44 +0000 (05:31 +0000)]
gcc
2014-08-08 Kugan Vivekanandarajah <kuganv@linaro.org>
* calls.c (precompute_arguments): Check
promoted_for_signed_and_unsigned_p and set the promoted mode.
(promoted_for_signed_and_unsigned_p): New function.
(expand_expr_real_1): Check promoted_for_signed_and_unsigned_p
and set the promoted mode.
* expr.h (promoted_for_signed_and_unsigned_p): New function definition.
* cfgexpand.c (expand_gimple_stmt_1): Call emit_move_insn if
SUBREG is promoted with SRP_SIGNED_AND_UNSIGNED.
gcc/testsuite
2014-08-08 Kugan Vivekanandarajah <kuganv@linaro.org>
* gcc.dg/zero_sign_ext_test.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213750
138bc75d-0d04-0410-961f-
82ee72b054a4
kugan [Fri, 8 Aug 2014 05:24:12 +0000 (05:24 +0000)]
gcc/
2014-08-08 Kugan Vivekanandarajah <kuganv@linaro.org>
* calls.c (precompute_arguments): Use new SUBREG_PROMOTED_SET
instead of SUBREG_PROMOTED_UNSIGNED_SET.
(expand_call): Likewise.
* cfgexpand.c (expand_gimple_stmt_1): Use SUBREG_PROMOTED_SIGN
to get promoted mode.
* combine.c (record_promoted_value): Skip > 0 comparison with
SUBREG_PROMOTED_UNSIGNED_P as it now returns only 0 or 1.
* expr.c (convert_move): Use SUBREG_CHECK_PROMOTED_SIGN instead
of SUBREG_PROMOTED_UNSIGNED_P.
(convert_modes): Likewise.
(store_expr): Use SUBREG_PROMOTED_SIGN to get promoted mode.
Use SUBREG_CHECK_PROMOTED_SIGN instead of SUBREG_PROMOTED_UNSIGNED_P.
(expand_expr_real_1): Use new SUBREG_PROMOTED_SET instead of
SUBREG_PROMOTED_UNSIGNED_SET.
* function.c (assign_parm_setup_reg): Use new SUBREG_PROMOTED_SET
instead of SUBREG_PROMOTED_UNSIGNED_SET.
* ifcvt.c (noce_emit_cmove): Updated to use SUBREG_PROMOTED_GET and
SUBREG_PROMOTED_SET.
* internal-fn.c (ubsan_expand_si_overflow_mul_check): Use
SUBREG_PROMOTED_SET instead of SUBREG_PROMOTED_UNSIGNED_SET.
* optabs.c (widen_operand): Use SUBREG_CHECK_PROMOTED_SIGN instead
of SUBREG_PROMOTED_UNSIGNED_P.
* rtl.h (SUBREG_PROMOTED_UNSIGNED_SET): Remove.
(SUBREG_PROMOTED_SET): New define.
(SUBREG_PROMOTED_GET): Likewise.
(SUBREG_PROMOTED_SIGN): Likewise.
(SUBREG_PROMOTED_SIGNED_P): Likewise.
(SUBREG_CHECK_PROMOTED_SIGN): Likewise.
(SUBREG_PROMOTED_UNSIGNED_P): Updated.
* rtlanal.c (unsigned_reg_p): Use new SUBREG_PROMOTED_GET
instead of SUBREG_PROMOTED_UNSIGNED_GET.
(nonzero_bits1): Skip > 0 comparison with the results as
SUBREG_PROMOTED_UNSIGNED_P now returns only 0 or 1.
(num_sign_bit_copies1): Use SUBREG_PROMOTED_SIGNED_P instead
of !SUBREG_PROMOTED_UNSIGNED_P.
* simplify-rtx.c (simplify_unary_operation_1): Use new
SUBREG_PROMOTED_SIGNED_P instead of !SUBREG_PROMOTED_UNSIGNED_P.
(simplify_subreg): Use new SUBREG_PROMOTED_SIGNED_P,
SUBREG_PROMOTED_UNSIGNED_P and SUBREG_PROMOTED_SET instead of
SUBREG_PROMOTED_UNSIGNED_P and SUBREG_PROMOTED_UNSIGNED_SET.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213749
138bc75d-0d04-0410-961f-
82ee72b054a4
amker [Fri, 8 Aug 2014 02:45:13 +0000 (02:45 +0000)]
* gcc.dg/torture/pr61772.c: Skip lto running.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213748
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Fri, 8 Aug 2014 00:16:52 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213747
138bc75d-0d04-0410-961f-
82ee72b054a4
redi [Thu, 7 Aug 2014 22:54:53 +0000 (22:54 +0000)]
* include/std/future (__location_invariant): Move specializations
after preprocessor condition.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213744
138bc75d-0d04-0410-961f-
82ee72b054a4
danglin [Thu, 7 Aug 2014 21:44:55 +0000 (21:44 +0000)]
PR tree-optimization/60707
* gfortran.dg/pr45636.f90: xfail on 32-bit hppa*-*-*.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213740
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Thu, 7 Aug 2014 20:58:17 +0000 (20:58 +0000)]
* ipa-devirt.c: Include gimple-pretty-print.h
(referenced_from_vtable_p): Exclude DECL_EXTERNAL from
further tests.
(decl_maybe_in_construction_p): Fix conditional on cdtor check
(get_polymorphic_call_info): Fix return value
(type_change_info): New sturcture based on ipa-prop
variant.
(noncall_stmt_may_be_vtbl_ptr_store): New predicate
based on ipa-prop variant.
(extr_type_from_vtbl_ptr_store): New function
based on ipa-prop variant.
(record_known_type): New function.
(check_stmt_for_type_change): New function.
(get_dynamic_type): New function.
* ipa-prop.c (ipa_analyze_call_uses): Use get_dynamic_type.
* tree-ssa-pre.c: ipa-utils.h
(eliminate_dom_walker::before_dom_children): Use ipa-devirt
machinery; sanity check with ipa-prop devirtualization.
* trans-mem.c (ipa_tm_insert_gettmclone_call): Clear
polymorphic flag.
* g++.dg/ipa/devirt-35.C: New testcase.
* g++.dg/ipa/devirt-36.C: New testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213739
138bc75d-0d04-0410-961f-
82ee72b054a4
tbsaunde [Thu, 7 Aug 2014 20:52:50 +0000 (20:52 +0000)]
remove pointer-set.[ch]
gcc/
* Makefile.in: Remove references to pointer-set.c and pointer-set.h.
* alias.c, cfgexpand.c, cgraphbuild.c,
config/aarch64/aarch64-builtins.c, config/aarch64/aarch64.c,
config/alpha/alpha.c, config/darwin.c, config/i386/i386.c,
config/i386/winnt.c, config/ia64/ia64.c, config/m32c/m32c.c,
config/mep/mep.c, config/mips/mips.c, config/rs6000/rs6000.c,
config/s390/s390.c, config/sh/sh.c, config/sparc/sparc.c,
config/spu/spu.c, config/stormy16/stormy16.c, config/tilegx/tilegx.c,
config/tilepro/tilepro.c, config/xtensa/xtensa.c, dominance.c,
dse.c, except.c, gengtype.c, gimple-expr.c,
gimple-ssa-strength-reduction.c, gimplify.c, ifcvt.c,
ipa-visibility.c, lto-streamer.h, omp-low.c, predict.c, stmt.c,
tree-affine.c, tree-cfg.c, tree-eh.c, tree-inline.c, tree-nested.c,
tree-scalar-evolution.c, tree-ssa-loop-im.c, tree-ssa-loop-niter.c,
tree-ssa-phiopt.c, tree-ssa-structalias.c, tree-ssa-uninit.c,
tree-ssa.c, tree.c, var-tracking.c, varpool.c: Remove includes of
pointer-set.h.
* pointer-set.c: Remove file.
* pointer-set.h: Remove file.
gcc/c-family/
* c-gimplify.c, cilk.c: Remove includes of pointer-set.h.
gcc/c/
* c-typeck.c: Remove include of pointer-set.h.
gcc/cp/
* class.c, cp-gimplify.c, decl.c, decl2.c, error.c, method.c,
optimize.c, pt.c, semantics.c: Remove includes of pointer-set.h.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213738
138bc75d-0d04-0410-961f-
82ee72b054a4
redi [Thu, 7 Aug 2014 20:13:52 +0000 (20:13 +0000)]
* include/std/future (_State_baseV2::_M_set_result): Pass pointers to
_M_do_set.
(_State_baseV2::_M_do_set): Change parameters to pointers.
(_State_baseV2::_Setter): Change _M_arg from reference to pointer.
(_State_baseV2::__setter): Initialize _Setter with pointers.
(_State_baseV2::__setter(promise<void>*)): Remove overload.
(promise::set_value, promise::set_exception): Pass setter directly
to _M_set_result.
(_State_baseV2::_Task_setter): Add template parameter for callable
type and replace std::function member with pointer to that type.
Change _M_result member from reference to pointer.
(_State_baseV2::_S_task_setter): Change parameter to lvalue reference
and initialize _Task_setter with pointers.
(__location_invariant): Specialize for _Setter and _Task_setter.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213737
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Thu, 7 Aug 2014 19:51:28 +0000 (19:51 +0000)]
/cp
2014-08-07 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/51312
* decl.c (build_enumerator): Handle class types with conversion
operators via perform_implicit_conversion_flags and
build_expr_type_conversion.
* cvt.c (build_expr_type_conversion): Replace pair of errors
with error + inform.
/testsuite
2014-08-07 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/51312
* g++.dg/cpp0x/enum29.C: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213736
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Thu, 7 Aug 2014 19:48:36 +0000 (19:48 +0000)]
PR c++/62043
* parser.c (c_parse_file): Change sorry to fatal_error.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213732
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Thu, 7 Aug 2014 19:48:30 +0000 (19:48 +0000)]
PR c++/61959
* semantics.c (cxx_eval_bare_aggregate): Handle POINTER_PLUS_EXPR.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213731
138bc75d-0d04-0410-961f-
82ee72b054a4
danglin [Thu, 7 Aug 2014 19:21:50 +0000 (19:21 +0000)]
* gcc.dg/atomic/c11-atomic-exec-4.c: Undefine _POSIX_C_SOURCE before
defining in dg-options.
* gcc.dg/atomic/c11-atomic-exec-5.c: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213729
138bc75d-0d04-0410-961f-
82ee72b054a4
danglin [Thu, 7 Aug 2014 18:56:59 +0000 (18:56 +0000)]
* gcc.dg/atomic/stdatomic-flag.c: Add xfail comment.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213727
138bc75d-0d04-0410-961f-
82ee72b054a4
danglin [Thu, 7 Aug 2014 18:46:13 +0000 (18:46 +0000)]
* gcc.dg/memcpy-5.c: Add -fno-common option on hppa*-*-hpux*.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213723
138bc75d-0d04-0410-961f-
82ee72b054a4
danglin [Thu, 7 Aug 2014 18:22:47 +0000 (18:22 +0000)]
* gcc.c-torture/compile/pr60655-1.c: Don't add -fdata-sections option
on 32-bit hppa-hpux.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213720
138bc75d-0d04-0410-961f-
82ee72b054a4
nathan [Thu, 7 Aug 2014 18:02:06 +0000 (18:02 +0000)]
* Makefile.in (LIBGCOV_INTERFACE): Move _gcov_dump ...
(LIBGCOV_DRIVER): ... to here.
* libgcov.h (gcov_do_dump): New #define.
(struct gcov_root): New.
(__gcov_root): New declaration.
(__gcov_dump_one): Declare.
* libgcov-driver.c (gcov_list, gcov_dump_complete,
run_accounted): Delete.
(gcov_compute_histogram): Add LIST argument, adjust.
(compute_summary): Adjust gcov_compute_histogram call.
(gcov_do_dump): Not hidden, static in libgcov.
(gcov_clear): Move to interface.c.
(__gcov_dump_one): New, broken out of ...
(gcov_exit): ... here. Make static.
(__gcov_root): New.
(__gcov_init): Adjust.
* libgcov-interface.c (gcov_clear, gcov_exit): Remove
declarations.
(__gcov_flush): Use __gcov_dump_one and __gcov_reset.
(gcov_clear): Moved from driver.c. Add LIST argument.
(__gcov_reset): Adjust for changed interfaces.
(__gcov_fork): Remove local declaration of __gcov_flush_mx.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213719
138bc75d-0d04-0410-961f-
82ee72b054a4
danglin [Thu, 7 Aug 2014 17:49:08 +0000 (17:49 +0000)]
* gcc.dg/pr57233.c: Add -fno-common option on hppa*-*-hpux*.
* c-c++-common/pr50459.c: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213717
138bc75d-0d04-0410-961f-
82ee72b054a4
redi [Thu, 7 Aug 2014 17:25:13 +0000 (17:25 +0000)]
* include/bits/stl_list.h (_List_base::_List_base(_List_base&&)):
Optimize.
* testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
Adjust dg-error line number.
* testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
Likewise.
* testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
Likewise.
* testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213716
138bc75d-0d04-0410-961f-
82ee72b054a4
ktkachov [Thu, 7 Aug 2014 14:30:01 +0000 (14:30 +0000)]
[ARM] Delete f_sels, f_seld types, use fcsel instead.
* config/arm/arm.md (*cmov<mode>): Set type attribute to fcsel.
* config/arm/types.md (f_sels, f_seld): Delete.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213713
138bc75d-0d04-0410-961f-
82ee72b054a4
ktkachov [Thu, 7 Aug 2014 14:27:59 +0000 (14:27 +0000)]
[AArch64] Restrict usage of FP/SIMD registers for TImode reload and absdi2 patterns for non-float/simd targets.
* config/aarch64/aarch64.md (absdi2): Set simd attribute.
(aarch64_reload_mov<mode>): Predicate on TARGET_FLOAT.
(aarch64_movdi_<mode>high): Likewise.
(aarch64_mov<mode>high_di): Likewise.
(aarch64_movdi_<mode>low): Likewise.
(aarch64_mov<mode>low_di): Likewise.
(aarch64_movtilow_tilow): Likewise.
Add comment explaining usage of fp,simd attributes and of
TARGET_FLOAT and TARGET_SIMD.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213712
138bc75d-0d04-0410-961f-
82ee72b054a4
ktkachov [Thu, 7 Aug 2014 13:42:22 +0000 (13:42 +0000)]
[AArch64] Use MOVN to generate 64-bit negative immediates where sensible
* config/aarch64/aarch64.c (aarch64_expand_mov_immediate):
Use MOVN when one of the half-words is 0xffff.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213711
138bc75d-0d04-0410-961f-
82ee72b054a4