Age | Commit message (Collapse) | Author | Files | Lines |
|
PR c/77767
* c-decl.c (grokdeclarator): If *expr is non-NULL, append expression
to *expr instead of overwriting it.
* gcc.c-torture/execute/pr77767.c: New test.
From-SVN: r243832
|
|
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
|
|
* gcc.dg/sms-3.c: Add -fno-sched-pressure for powerpc.
* gcc.dg/sms-6.c: Likewise.
From-SVN: r243829
|
|
From-SVN: r243828
|
|
From-SVN: r243827
|
|
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
|
|
* 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
|
|
* 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 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 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
|
|
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
|
|
From-SVN: r243819
|
|
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
|
|
From-SVN: r243817
|
|
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
|
|
* 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
|
|
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
|
|
* config/i386/i386.md (*popcounthi2_1): New insn_and_split pattern.
testsuite/ChangeLog:
* gcc.target/i386/pr59874-3.c: New test.
From-SVN: r243811
|
|
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
|
|
From-SVN: r243809
|
|
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 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
|
|
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
|
|
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 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
|
|
* 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
|
|
From-SVN: r243802
|
|
* 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
|
|
* 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
|
|
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
|
|
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
|
|
* intrinsics/chmod.c (chmod_internal): Fix case where mode_t is
different from unsigned int.
From-SVN: r243796
|
|
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 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
|
|
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
|
|
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 Krister Walfridsson <krister.walfridsson@gmail.com>
* config/netbsd.h (LINK_EH_SPEC): Define.
From-SVN: r243791
|
|
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
|
|
From-SVN: r243789
|
|
From-SVN: r243788
|
|
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
|
|
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
|
|
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
|
|
* 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
|
|
From-SVN: r243781
|
|
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
|
|
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
|
|
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 Matthias Klose <doko@ubuntu.com>
* config/arc/gmon: Remove empty directory.
From-SVN: r243775
|
|
* 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
|