150739 Commits

Author SHA1 Message Date
Janne Blomqvist
a388bdc777 Use the middle-end boolean_type_node
Use the boolean_type_node setup by the middle-end instead of
redefining it. boolean_type_node is not used in GFortran for any
ABI-visible stuff, only internally as the type of boolean
expressions. There appears to be one exception to this, namely the
caf_get* and caf_send* calls which have boolean_type_node
arguments. However, on the library side they seem to use C _Bool, so I
suspect this might be a case of a argument mismatch that hasn't
affected anything so far.

The practical effect of this is that the size of such variables will
be the same as a C _Bool or C++ bool, that is, on most targets a
single byte. Previously we redefined boolean_type_node to be a Fortran
default logical kind sized variable, that is 4 or 8 bytes depending on
compile options. This might enable slightly more compact code, in case
the optimizer determines that the result of such a generated
comparison expression needs to be stored in some temporary location
rather than being used immediately.

Regression tested on x86_64-pc-linux-gnu.

2016-12-20  Janne Blomqvist  <jb@gcc.gnu.org>

	* trans-types.c (gfc_init_types): Don't redefine boolean type node.

From-SVN: r243830
2016-12-20 22:46:13 +02:00
Pat Haugen
5b1d0fbaea sms-3.c: Add -fno-sched-pressure for powerpc.
* gcc.dg/sms-3.c: Add -fno-sched-pressure for powerpc.
	* gcc.dg/sms-6.c: Likewise.

From-SVN: r243829
2016-12-20 19:41:39 +00:00
David Edelsohn
96d8abf524 * gcc.dg/pr70859-2.c: Define _ISOC99_SOURCE on AIX.
From-SVN: r243828
2016-12-20 13:40:53 -05:00
David Edelsohn
0a565f3805 * gcc.dg/tls/alias-1.c: dg-add-options tls.
From-SVN: r243827
2016-12-20 13:30:21 -05:00
Andre Vieira
d654723319 pr78255-2.c: Fix to work for targets that do not optimize for tailcall.
2016-12-20  Andre Vieira  <andre.simoesdiasvieira@arm.com>

	* gcc.target/arm/pr78255-2.c: Fix to work for targets
	that do not optimize for tailcall.

From-SVN: r243826
2016-12-20 16:39:50 +00:00
David Edelsohn
d4dc42d276 pr78796.c: dg-add-options tls.
* gcc.dg/tls/pr78796.c: dg-add-options tls.
        * gcc.target/powerpc/fold-vec-mult-int.c: power8-vector.
        * gcc.target/powerpc/fold-vec-mult-longlong.c: -maix64.

From-SVN: r243825
2016-12-20 11:22:09 -05:00
James Greenhalgh
314e1b47dc [Patch] Turn -fexcess-precision=fast on when in -ffast-math
* common.opt (excess_precision): Tag as SetByCombined.
	* opts.c (set_fast_math_flags): Also set
	flag_excess_precision_cmdline.
	(fast_math_flags_set_p): Also check flag_excess_precision_cmdline.
	* doc/invoke.texi (-fexcess-precision): Drop text saying the
	option has no effect under -ffast-math, make it clear that
	-ffast-math will cause -fexcess-precision=fast by default even for
	standards compliant modes.
	(-ffast-math): Document that this sets -fexcess-precision=fast.

From-SVN: r243824
2016-12-20 16:17:27 +00:00
Richard Biener
aa90531ea4 gimple-parser.c (c_parser_gimple_compound_statement): Improve error recovery.
2016-12-20  Richard Biener  <rguenther@suse.de>

	c/
	* gimple-parser.c (c_parser_gimple_compound_statement): Improve
	error recovery.
	(c_parser_gimple_statement): Only build assigns for non-error
	stmts.
	(c_parser_gimple_postfix_expression_after): Improve error recovery.

From-SVN: r243823
2016-12-20 12:50:09 +00:00
Richard Biener
a676a9a8c5 passes.c (execute_one_pass): Handle going out of SSA w/o hitting pass_startwith.
2016-12-20  Richard Biener  <rguenther@suse.de>

	* passes.c (execute_one_pass): Handle going out of SSA w/o
	hitting pass_startwith.  Handle skipping property providers.

	* gcc.dg/gimplefe-19.c: New testcase.

From-SVN: r243822
2016-12-20 12:49:31 +00:00
Kyrylo Tkachov
2a1d4076c4 [ARM] PR target/78694: Avoid invalid RTL sharing in minipool code
PR target/78694
	* config/arm/arm.c (dump_minipool): Copy mp->value before emitting it
	in the minipool to avoid invalid RTL sharing.

	* gcc.c-torture/compile/pr78694.c: New test.

From-SVN: r243820
2016-12-20 09:39:44 +00:00
Eric Botcazou
48e512b698 Fix PR testsuite/71232 entry.
From-SVN: r243819
2016-12-20 08:50:21 +00:00
Eric Botcazou
c8c0c9ada6 re PR tree-optimization/71237 (scev tests failing after pass reorganization)
PR testsuite/71237
	* gnat.dg/vect1.adb: Add -fno-vect-cost-model to dg-options.
	* gnat.dg/vect2.adb: Likewise.
	* gnat.dg/vect3.adb: Likewise.
	* gnat.dg/vect4.adb: Likewise.
	* gnat.dg/vect5.adb: Likewise.
	* gnat.dg/vect6.adb: Likewise.

From-SVN: r243818
2016-12-20 08:45:52 +00:00
GCC Administrator
a818a1e026 Daily bump.
From-SVN: r243817
2016-12-20 00:16:18 +00:00
Francois-Xavier Coudert
75b07bb45a trans-decl.c (create_main_function): Remove unused elements to the set_options call.
* trans-decl.c (create_main_function): Remove unused elements to
	the set_options call.

	* runtime/compile_options.c (set_options): Remove unused elements.

From-SVN: r243814
2016-12-19 22:29:43 +00:00
Aaron Sawdey
e9c2033eff rs6000-protos.h (expand_strn_compare): Declare.
* config/rs6000/rs6000-protos.h (expand_strn_compare): Declare.
	* config/rs6000/rs6000.md (UNSPEC_CMPB): New unspec.
	(cmpb<mode>3): pattern for generating cmpb.
	(cmpstrnsi): pattern to expand strncmp ().
	* config/rs6000/rs6000.opt (mstring-compare-inline-limit): Add a new
	target option for controlling how much code inline expansion of
	strncmp() will be allowed to generate.
	* config/rs6000/rs6000.c (expand_strncmp_align_check): generate code
	for runtime page crossing check of strncmp () args.
	(expand_strn_compare): Function to do builtin expansion of strncmp ().

From-SVN: r243813
2016-12-19 15:32:16 -06:00
David Malcolm
f407722285 print_rtx_function: update example in comment
The patch updates the example dump in the comment for
print_rtx_function to reflect various changes:
- r241593: addition of insn UIDs
- r241908: removal of trailing "(nil)" and other default values
- r242023: addition of "param" directives
- r243798: change of format of regnos in non-virtual pseudos
(from "$2" to "<2>")

gcc/ChangeLog:
	* print-rtl-function.c (print_rtx_function): Update
	example in comment to reflect current format.

From-SVN: r243812
2016-12-19 20:33:05 +00:00
Uros Bizjak
6418b07737 i386.md (*popcounthi2_1): New insn_and_split pattern.
* config/i386/i386.md (*popcounthi2_1): New insn_and_split pattern.

testsuite/ChangeLog:

	* gcc.target/i386/pr59874-3.c: New test.

From-SVN: r243811
2016-12-19 21:23:08 +01:00
Sandra Loosemore
f56013e541 cpp.texi: Clean up anachronistic C99 references and remove discussion of very old GCC...
2016-12-19  Sandra Loosemore  <sandra@codesourcery.com>

	gcc/
	* doc/cpp.texi: Clean up anachronistic C99 references and remove 
	discussion of very old GCC versions.
	(Differences from previous versions): Delete entire section.

From-SVN: r243810
2016-12-19 15:08:31 -05:00
David Edelsohn
5e51f5a55f Fix formatting.
From-SVN: r243809
2016-12-19 14:13:15 -05:00
Will Schmidt
cf0848ba94 Move my updates to the correct ChangeLog.
2016-12-19  Will Schmidt  <will_schmidt@vnet.ibm.com>

Move my updates to the correct ChangeLog. (ChangeLog->gcc/ChangeLog)

From-SVN: r243808
2016-12-19 19:10:10 +00:00
Will Schmidt
a2124400f5 rs6000.c: Add handling for early expansion of vector multiply builtins.
2016-12-19  Will Schmidt  <will_schmidt@vnet.ibm.com>

        *  config/rs6000/rs6000.c: Add handling for early expansion of
        vector multiply builtins.
    
[gcc/testsuite]

2016-12-19  Will Schmidt  <will_schmidt@vnet.ibm.com>

        *  gcc.dg/vmx/mult-even-odd-be-order.c : Mark
        variables as volatile.
        *  gcc.target/powerpc/fold-vec-mult-char.c : New.
        *  gcc.target/powerpc/fold-vec-mult-float.c : New.
        *  gcc.target/powerpc/fold-vec-mult-floatdouble.c : New.
        *  gcc.target/powerpc/fold-vec-mult-int.c : New.
        *  gcc.target/powerpc/fold-vec-mult-int128-p8.c : New.
        *  gcc.target/powerpc/fold-vec-mult-int128-p9.c : New.
        *  gcc.target/powerpc/fold-vec-mult-longlong.c : New.
        *  gcc.target/powerpc/fold-vec-mult-short.c : New.

From-SVN: r243807
2016-12-19 19:03:48 +00:00
Will Schmidt
3b35c54a60 rs6000.c (rs6000_gimple_fold_builtin): Add handling for early expansion of vector subtract builtins.
2016-12-19  Will Schmidt  <will_schmidt@vnet.ibm.com>

        * config/rs6000/rs6000.c (rs6000_gimple_fold_builtin): Add handling for
        early expansion of vector subtract builtins.
    
[gcc/testsuite]

2016-12-19  Will Schmidt  <will_schmidt@vnet.ibm.com>

      * gcc.target/powerpc/fold-vec-sub-char.c: New.
      * gcc.target/powerpc/fold-vec-sub-float.c: New.
      * gcc.target/powerpc/fold-vec-sub-floatdouble.c: New.
      * gcc.target/powerpc/fold-vec-sub-int.c: New.
      * gcc.target/powerpc/fold-vec-sub-int128.c: New.
      * gcc.target/powerpc/fold-vec-sub-longlong.c: New.
      * gcc.target/powerpc/fold-vec-sub-short.c: New.

From-SVN: r243806
2016-12-19 18:58:19 +00:00
Ian Lance Taylor
0d3dd8fb65 runtime: copy cgo support from Go 1.7 runtime
Remove support for _cgo_allocate.  It was removed from the gc
    toolchain in Go 1.5, so it is unlikely that anybody is trying to use it.
    
    Reviewed-on: https://go-review.googlesource.com/34557

From-SVN: r243805
2016-12-19 18:00:35 +00:00
Janne Blomqvist
4daecdb623 Remove unused functions, take 2.
2016-12-19  Janne Blomqvist  <jb@gcc.gnu.org>

      * Actually remove files that should have been removed by r243799.
This line, and those below, will be ignored--

M    libgfortran/ChangeLog
D    libgfortran/generated/exponent_r10.c
D    libgfortran/generated/exponent_r16.c
D    libgfortran/generated/exponent_r4.c
D    libgfortran/generated/exponent_r8.c
D    libgfortran/generated/fraction_r10.c
D    libgfortran/generated/fraction_r16.c
D    libgfortran/generated/fraction_r4.c
D    libgfortran/generated/fraction_r8.c
D    libgfortran/generated/nearest_r10.c
D    libgfortran/generated/nearest_r16.c
D    libgfortran/generated/nearest_r4.c
D    libgfortran/generated/nearest_r8.c
D    libgfortran/generated/rrspacing_r10.c
D    libgfortran/generated/rrspacing_r16.c
D    libgfortran/generated/rrspacing_r4.c
D    libgfortran/generated/rrspacing_r8.c
D    libgfortran/generated/set_exponent_r10.c
D    libgfortran/generated/set_exponent_r16.c
D    libgfortran/generated/set_exponent_r4.c
D    libgfortran/generated/set_exponent_r8.c
D    libgfortran/generated/spacing_r10.c
D    libgfortran/generated/spacing_r16.c
D    libgfortran/generated/spacing_r4.c
D    libgfortran/generated/spacing_r8.c
D    libgfortran/generated/transpose_c10.c
D    libgfortran/generated/transpose_c16.c
D    libgfortran/generated/transpose_c4.c
D    libgfortran/generated/transpose_c8.c
D    libgfortran/generated/transpose_i16.c
D    libgfortran/generated/transpose_i4.c
D    libgfortran/generated/transpose_i8.c
D    libgfortran/generated/transpose_r10.c
D    libgfortran/generated/transpose_r16.c
D    libgfortran/generated/transpose_r4.c
D    libgfortran/generated/transpose_r8.c
D    libgfortran/intrinsics/malloc.c
D    libgfortran/intrinsics/transpose_generic.c
D    libgfortran/m4/exponent.m4
D    libgfortran/m4/fraction.m4
D    libgfortran/m4/nearest.m4
D    libgfortran/m4/rrspacing.m4
D    libgfortran/m4/set_exponent.m4
D    libgfortran/m4/spacing.m4
D    libgfortran/m4/transpose.m4

From-SVN: r243804
2016-12-19 18:20:09 +02:00
Francois-Xavier Coudert
03506f8cc3 trans.h: Remove gfor_fndecl_stop_numeric_f08.
* trans.h: Remove gfor_fndecl_stop_numeric_f08.
	* trans-decl.c: Remove gfor_fndecl_stop_numeric_f08.
	* trans-stmt.c (gfc_trans_stop): Use gfor_fndecl_stop_numeric
	instead of gfor_fndecl_stop_numeric_f08.

	* gfortran.map: Remove _gfortran_stop_numeric_f08.
	* runtime/stop.c: Rename stop_numeric_f08 into stop_numeric.

From-SVN: r243803
2016-12-19 16:09:12 +00:00
François-Xavier Coudert
c52b53d629 * Makefile.in: Regenerate.
From-SVN: r243802
2016-12-19 16:04:19 +00:00
Francois-Xavier Coudert
adc905cd6c Makefile.am: Remove ISO_C_BINDING runtime functions.
* Makefile.am: Remove ISO_C_BINDING runtime functions.
	* Makefile.in: Regenerate.
	* gfortran.map: Remove all __iso_c_binding_c_f_pointer_* symbols.
	* intrinsics/iso_c_binding.h: Remove.
	* intrinsics/iso_c_binding.c: Remove.
	* intrinsics/iso_c_generated_procs.c: Remove.

From-SVN: r243801
2016-12-19 16:03:53 +00:00
Francois-Xavier Coudert
bed192f40a Makefile.am: Remove intrinsics/bit_intrinsics.c.
* Makefile.am: Remove intrinsics/bit_intrinsics.c.
	* Makefile.in: Regenerate.
	* gfortran.map: Remove _gfortran_clz128 and _gfortran_ctz128.
	* intrinsics/bit_intrinsics.c: Remove.

From-SVN: r243800
2016-12-19 16:00:42 +00:00
Janne Blomqvist
7e294024ad Remove unused libgfortran functions
Now that the libgfortran ABI major version has been bumped, we can
remove functions for which the frontend nowadays generates inline
code.

This removes the malloc, free, exponent, fraction, nearest, rrspacing,
spacing, set_exponent and transpose intrinsics. Also the unused
store_exe_path function is removed.

2016-12-19  Janne Blomqvist  <jb@gcc.gnu.org>

	* Makefile.am: Remove exponent, fraction, nearest, rrspacing,
	set_exponent, spacing, transpose, malloc, transpose_generic.
	* Makefile.in: Regenerate.
	* generated/exponent_r10.c: Remove.
	* generated/exponent_r16.c: Remove.
	* generated/exponent_r4.c: Remove.
	* generated/exponent_r8.c: Remove.
	* generated/fraction_r10.c: Remove.
	* generated/fraction_r16.c: Remove.
	* generated/fraction_r4.c: Remove.
	* generated/fraction_r8.c: Remove.
	* generated/nearest_r10.c: Remove.
	* generated/nearest_r16.c: Remove.
	* generated/nearest_r4.c: Remove.
	* generated/nearest_r8.c: Remove.
	* generated/rrspacing_r10.c: Remove.
	* generated/rrspacing_r16.c: Remove.
	* generated/rrspacing_r4.c: Remove.
	* generated/rrspacing_r8.c: Remove.
	* generated/set_exponent_r10.c: Remove.
	* generated/set_exponent_r16.c: Remove.
	* generated/set_exponent_r4.c: Remove.
	* generated/set_exponent_r8.c: Remove.
	* generated/spacing_r10.c: Remove.
	* generated/spacing_r16.c: Remove.
	* generated/spacing_r4.c: Remove.
	* generated/spacing_r8.c: Remove.
	* generated/transpose_c10.c: Remove.
	* generated/transpose_c16.c: Remove.
	* generated/transpose_c4.c: Remove.
	* generated/transpose_c8.c: Remove.
	* generated/transpose_i16.c: Remove.
	* generated/transpose_i4.c: Remove.
	* generated/transpose_i8.c: Remove.
	* generated/transpose_r10.c: Remove.
	* generated/transpose_r16.c: Remove.
	* generated/transpose_r4.c: Remove.
	* generated/transpose_r8.c: Remove.
	* gfortran.map: Remove exponent, fraction, nearest, rrspacing,
	set_exponent, spacing, transpose, malloc, free, transpose_generic,
	store_exe_path.
	* intrinsics/malloc.c: Remove.
	* intrinsics/transpose_generic.c: Remove.
	* libgfortran.h (store_exe_path): Remove.
	* m4/exponent.m4: Remove.
	* m4/fraction.m4: Remove.
	* m4/nearest.m4: Remove.
	* m4/rrspacing.m4: Remove.
	* m4/set_exponent.m4: Remove.
	* m4/spacing.m4: Remove.
	* m4/transpose.m4: Remove.
	* runtime/main.c (store_exe_path): Remove.

From-SVN: r243799
2016-12-19 17:32:17 +02:00
David Malcolm
596762ee4b print-rtl.c: use '<' and '>' rather than % for pseudos in compact mode
gcc/ChangeLog:
	* print-rtl.c (rtx_writer::print_rtx_operand_code_r): For
	non-virtual pseudos in compact mode, wrap the regno in '<' and '>'
	rather than using a '%' prefix.
	* rtl-tests.c (selftest::test_dumping_regs): Update for above change.

From-SVN: r243798
2016-12-19 15:24:47 +00:00
Francois-Xavier Coudert
dc31c238bd chmod.c (chmod_internal): Fix case where mode_t is different from unsigned int.
* intrinsics/chmod.c (chmod_internal): Fix case where mode_t is
	different from unsigned int.

From-SVN: r243796
2016-12-19 13:41:32 +00:00
Ville Voutilainen
4b21c3ea03 Make the perfect-forwarding constructor of a two-element tuple sfinae away when the first argument is an allocator_arg.
Make the perfect-forwarding constructor of a two-element tuple
sfinae away when the first argument is an allocator_arg.
* include/std/tuple (tuple(_U1&&, _U2&&)): Constrain.
* testsuite/20_util/tuple/cons/allocator_with_any.cc: New.
* testsuite/20_util/tuple/element_access/get_neg.cc: Adjust.

From-SVN: r243795
2016-12-19 14:55:33 +02:00
Janus Weil
99eb50e806 re PR fortran/78545 (Possible correction to online LTIME documentation)
2016-12-19  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/78545
	* intrinsic.texi: Minor documentation fixes for non-standard
	time-related intrinsics. Add references to standard intrinsics and
	linkify some existing references.

From-SVN: r243794
2016-12-19 11:26:04 +01:00
Dominik Vogt
ad7ab32ed4 PR target/78748: S/390: Fix ICE with ANDC splitter.
gcc/ChangeLog:

2016-12-19  Dominik Vogt  <vogt@linux.vnet.ibm.com>

	PR target/78748
	* config/s390/s390.md ("*andc_split_<mode>"): Allow memory destination
	only if it coincides with operand 2.

gcc/testsuite/ChangeLog:

2016-12-19  Dominik Vogt  <vogt@linux.vnet.ibm.com>

	PR target/78748
	* gcc.c-torture/compile/pr78748.c: New test.

From-SVN: r243793
2016-12-19 09:53:56 +00:00
Dominik Vogt
e01f223f28 combine: Omit redundant AND in change_zero_ext.
This is another micro-optimisation in change_zero_ext.  If an

  (and (lshiftrt ... (N)) (M))

generated by change_zero_ext is equivalent to just

  (lshiftrt ... (N))

(because the AND constant selects the N rightmost bits of the
result), strip off the AND.

gcc/ChangeLog:

2016-12-19  Dominik Vogt  <vogt@linux.vnet.ibm.com>

	* combine.c (change_zero_ext): Skip generation of redundant AND.

From-SVN: r243792
2016-12-19 09:51:11 +00:00
Krister Walfridsson
26b14bc192 netbsd.h (LINK_EH_SPEC): Define.
2016-12-19  Krister Walfridsson  <krister.walfridsson@gmail.com>

	* config/netbsd.h (LINK_EH_SPEC): Define.

From-SVN: r243791
2016-12-19 09:39:17 +00:00
Krister Walfridsson
ab955692fe config.host (*-*-netbsd*): Add t-eh-dw2-dip to tmake_file.
2016-12-19  Krister Walfridsson  <krister.walfridsson@gmail.com>

	* config.host (*-*-netbsd*): Add t-eh-dw2-dip to tmake_file.
	* crtstuff.c (BSD_DL_ITERATE_PHDR_AVAILABLE): Define for NetBSD.
	* unwind-dw2-fde-dip.c (USE_PT_GNU_EH_FRAME, ElfW): Likewise.

From-SVN: r243790
2016-12-19 09:21:09 +00:00
Chenghua Xu
cc811459fa Add myself under Write After Approval.
From-SVN: r243789
2016-12-19 07:35:33 +00:00
GCC Administrator
1e3823ca88 Daily bump.
From-SVN: r243788
2016-12-19 00:16:16 +00:00
Dominique d'Humieres
1feb2bedae re PR fortran/78545 (Possible correction to online LTIME documentation)
2016-12-18  Dominique d'Humieres  <dominiq@lps.ens.fr>

	PR fortran/78545
	* intrinsic.texi: Fix documentation for GMTIME and LTIME.

	* intrinsics/date_and_time.c: Fix comments for GMTIME and LTIME.

From-SVN: r243785
2016-12-18 19:03:36 +01:00
Janus Weil
707024b2e8 re PR fortran/78848 ([OOP] ICE on writing CLASS variable with non-typebound DTIO procedure)
2016-12-18  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/78848
	* trans-io.c (get_dtio_proc): Generate non-typebound DTIO call for class
	variables, if no typebound DTIO procedure is available.

2016-12-18  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/78848
	* gfortran.dg/dtio_22.f90: New test.

From-SVN: r243784
2016-12-18 14:22:13 +01:00
Janus Weil
413e859cdf re PR fortran/78592 (ICE in gfc_find_specific_dtio_proc, at fortran/interface.c:4939)
2016-12-18  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/78592
	* interfac.c (gfc_find_specific_dtio_proc): Fixup for r243005, making
	sure that the generic list is followed through until the end.

2016-12-18  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/78592
	* gfortran.dg/dtio_21.f90: New test.

From-SVN: r243783
2016-12-18 12:03:41 +01:00
Eric Botcazou
ab5d223376 lra-constraints.c (process_address): Add forward declaration.
* lra-constraints.c (process_address): Add forward declaration.
	(simplify_operand_subreg): In the MEM case, if the adjusted memory
	reference is not sufficient aligned and the address was invalid,
	reload the address before reloading the original memory reference.
	Fix long lines and add a final return for the sake of clarity.

From-SVN: r243782
2016-12-18 08:33:38 +00:00
GCC Administrator
54b890f3e4 Daily bump.
From-SVN: r243781
2016-12-18 00:16:17 +00:00
Steven G. Kargl
efa84b0163 re PR fortran/78746 (charlen_03, charlen_10 ICE)
2016-12-17  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/78746
	* charlen_03.f90: Remove test. 
	* charlen_10.f90: Ditto.

From-SVN: r243778
2016-12-17 23:10:01 +00:00
Jakub Jelinek
8ccaace835 re PR sanitizer/78832 (-fcompare-debug failure (length) with -fsanitize=address)
PR sanitizer/78832
	* sanopt.c (sanitize_asan_mark_unpoison): Remove next variable, use
	continue if gsi_next should be skipped.
	(sanitize_asan_mark_poison): Remove prev variable, use continue if
	gsi_prev should be skipped.  When removing ASAN_MARK, do gsi_prev
	first and gsi_remove on a previously made copy of the iterator.

	* gcc.dg/asan/pr78832.c: New test.

From-SVN: r243777
2016-12-17 20:10:39 +01:00
Thomas Koenig
63ac625170 re PR fortran/78239 (ICE in char_len_param_value, at fortran/decl.c:926, with -fimplicit-none)
2016-12-17  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/78239
	* decl.c (char_len_param_value):  Actually commit
	previous change.

From-SVN: r243776
2016-12-17 17:03:49 +00:00
Matthias Klose
de34320fba gmon: Remove empty directory.
2016-12-17  Matthias Klose  <doko@ubuntu.com>

        * config/arc/gmon: Remove empty directory.

From-SVN: r243775
2016-12-17 12:42:03 +00:00
Andrew Senkevich
75d727d2d0 avx512bwintrin.h: Add new k-mask intrinsics.
* config/i386/avx512bwintrin.h: Add new k-mask intrinsics.
	* config/i386/avx512dqintrin.h: Ditto.
	* config/i386/avx512fintrin.h: Ditto.
	* config/i386/i386-builtin.def (__builtin_ia32_kaddqi,
	__builtin_ia32_kaddhi, __builtin_ia32_kaddsi,
	__builtin_ia32_kadddi): New.
	* config/i386/sse.md (kadd<mode>): New.

testsuite/ChangeLog:

	* gcc.target/i386/avx512bw-kaddd-1.c: New test.
	* gcc.target/i386/avx512bw-kaddq-1.c: Ditto.
	* gcc.target/i386/avx512dq-kaddb-1.c: Ditto.
	* gcc.target/i386/avx512f-kaddw-1.c: Ditto.

From-SVN: r243774
2016-12-17 12:42:05 +01:00
Thomas Koenig
52fd48aeea re PR fortran/78239 (ICE in char_len_param_value, at fortran/decl.c:926, with -fimplicit-none)
2016-12-17  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/78239
	* decl.c(char_len_param_value): Also check for -fimplicit-none
	when determining if implicit none is in force.

2016-12-17  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/78239
	* gfortran.dg/fimplicit_none_1.f90:  New test.
	* gfortran.dg/fimplicit_none_2.f90:  New test.

From-SVN: r243773
2016-12-17 11:13:16 +00:00