1. 19 Sep, 2014 2 commits
  2. 18 Sep, 2014 16 commits
    • Update gcc.dg/pr61053.c for x32 · df43e02a
      	* gcc.dg/pr61053.c: Updated for x32.
      
      From-SVN: r215369
      H.J. Lu committed
    • Remove LIBGCC2_TF_CEXT target macro. · dd69f047
      This patch removes the (undocumented) LIBGCC2_TF_CEXT target macro,
      replacing it by -fbuilding-libgcc predefines (and thereby gets rid of
      another LIBGCC2_LONG_DOUBLE_TYPE_SIZE conditional, though some more
      patches are needed before that target macro can be eliminated).  This
      macro indicated the suffix used on __builtin_huge_val,
      __builtin_copysign, __builtin_fabs built-in function names to produce
      the names for a given floating-point mode.
      
      Predefines are added for all floating-point modes supported for
      libgcc, not just TFmode.  These are fully accurate for modes
      corresponding to float, double and long double.  For other modes, the
      suffix for *constants* is determined by the targetm.c.mode_for_suffix
      hook (the limit to two possible suffixes 'w' and 'q' being hardcoded
      in various places).  This is in fact the suffix for built-in functions
      as well where such functions exist.
      
      * For i386, the *q functions always exist (whether or not TFmode is
        used for long double).  The *w functions never exist (but this
        doesn't matter for libgcc, since no i386 configuration treats XFmode
        as a supported scalar mode if long double is TFmode; if __float80
        were to be supported for 64-bit Android, properly such functions
        ought to be added).
      
      * For ia64, the *q functions exist for non-HP-UX (under HP-UX, long
        double is TFmode, so they aren't needed).  The *w functions never
        exist.  This is an issue for this libgcc code for the XFmode complex
        functions in libgcc on HP-UX; as I understand it, right now those
        will accidentally be using TFmode versions of those three functions,
        so involving unnecessary conversions, while the sanity check on CEXT
        accidentally passes because all it tests is the sizes of the types.
      
      Because of the lack of 'w' functions, the patch uses 'l' when the
      constant suffix is 'w', matching what the existing libgcc code would
      do for IA64 HP-UX in that case.
      
      Ideally there would be generic code to create such built-in functions
      for all supported floating-point types.  That may be something to
      consider if support for TS 18661-3 (standard bindings for IEEE
      754-2008, defining names such as _Float128, and function names such as
      copysignf128) is added in future.
      
      Bootstrapped with no regressions on x86_64-unknown-linux-gnu.
      
      gcc:
      	* system.h (LIBGCC2_TF_CEXT): Poison.
      	* config/i386/cygming.h (LIBGCC2_TF_CEXT): Remove.
      	* config/i386/darwin.h (LIBGCC2_TF_CEXT): Likewise.
      	* config/i386/dragonfly.h (LIBGCC2_TF_CEXT): Likewise.
      	* config/i386/freebsd.h (LIBGCC2_TF_CEXT): Likewise.
      	* config/i386/gnu-user-common.h (LIBGCC2_TF_CEXT): Likewise.
      	* config/i386/openbsdelf.h (LIBGCC2_TF_CEXT): Likewise.
      	* config/i386/sol2.h (LIBGCC2_TF_CEXT): Likewise.
      	* config/ia64/ia64.h (LIBGCC2_TF_CEXT): Likewise.
      	* config/ia64/linux.h (LIBGCC2_TF_CEXT): Likewise.
      
      gcc/c-family:
      	* c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_*_FUNC_EXT__
      	for supported floating-point modes.
      
      libgcc:
      	* libgcc2.c (CEXT): Define using __LIBGCC_*_FUNC_EXT__.
      
      From-SVN: r215368
      Joseph Myers committed
    • Add header guard to several header files. · f1717f8d
      2014-09-19  Kito Cheng  <kito@0xlab.org>
      
      	* except.h: Fix header guard.
      	* addresses.h: Add missing header guard.
      	* cfghooks.h: Likewise.
      	* collect-utils.h: Likewise.
      	* collect2-aix.h: Likewise.
      	* conditions.h: Likewise.
      	* cselib.h: Likewise.
      	* dwarf2asm.h: Likewise.
      	* graphds.h: Likewise.
      	* graphite-scop-detection.h: Likewise.
      	* gsyms.h: Likewise.
      	* hw-doloop.h: Likewise.
      	* incpath.h: Likewise.
      	* ipa-inline.h: Likewise.
      	* ipa-ref.h: Likewise.
      	* ira-int.h: Likewise.
      	* ira.h: Likewise.
      	* lra-int.h: Likewise.
      	* lra.h: Likewise.
      	* lto-section-names.h: Likewise.
      	* read-md.h: Likewise.
      	* reload.h: Likewise.
      	* rtl-error.h: Likewise.
      	* sdbout.h: Likewise.
      	* targhooks.h: Likewise.
      	* tree-affine.h: Likewise.
      	* xcoff.h: Likewise.
      	* xcoffout.h: Likewise.
      
      From-SVN: r215365
      Kito Cheng committed
    • re PR debug/63285 (-fcompare-debug scheduler related failure) · 2fb5f0da
      2014-09-18  Vladimir Makarov  <vmakarov@redhat.com>
      
      	PR debug/63285
      	* haifa-sched.c (schedule_block): Advance cycle at the end of BB
      	if advance != 0.
      
      2014-09-18  Vladimir Makarov  <vmakarov@redhat.com>
      
      	PR debug/63285
      	* gcc.target/i386/pr63285.c: New test.
      
      From-SVN: r215364
      Vladimir Makarov committed
    • config-list.mk (LIST): Add v850-rtems. · f4d5fe47
      2014-09-18  Joel Sherrill <joel.sherrill@oarcorp.com>
      
      	* config-list.mk (LIST): Add v850-rtems.
      
      From-SVN: r215362
      Joel Sherrill committed
    • re PR c++/63248 (Crash when OpenMP target's array section handling is used with templates) · bce16b88
      	PR c++/63248
      	* semantics.c (finish_omp_clauses): Don't call cp_omp_mappable_type
      	on type of type dependent expressions, and don't call it if
      	handle_omp_array_sections has kept TREE_LIST because something
      	was type dependent.
      	* pt.c (tsubst_expr) <case OMP_TARGET, case OMP_TARGET_DATA>:
      	Use keep_next_level, begin_omp_structured_block and
      	finish_omp_structured_block instead of push_stmt_list and
      	pop_stmt_list.
      libgomp/
      	* testsuite/libgomp.c++/pr63248.C: New test.
      
      From-SVN: r215359
      Jakub Jelinek committed
    • re PR target/61360 (ICE: in lra_update_insn_recog_data, at lra.c:1363 with -mtune=bdver4) · 74c101d5
      2014-09-18  Vladimir Makarov  <vmakarov@redhat.com>
      
      	PR target/61360
      	* lra.c (lra): Call recog_init.
      
      2014-09-18  Vladimir Makarov  <vmakarov@redhat.com>
      
      	PR target/61360
      	* gcc.target/i386/pr61360.c: New.
      
      From-SVN: r215358
      Vladimir Makarov committed
    • config-list.mk (LIST): Add arm-rtems. · b060c217
      2014-09-18  Sebastian Huber  <sebastian.huber@embedded-brains.de>
      
      	* config-list.mk (LIST): Add arm-rtems.
      	Add nios2-rtems.  Remove extra option from powerpc-rtems.
      
      From-SVN: r215357
      Sebastian Huber committed
    • re PR c++/62017 (AddressSanitizer reports *-buffer-overflow in destructor when… · e1e160c1
      re PR c++/62017 (AddressSanitizer reports *-buffer-overflow in destructor when multiple virtual inheritance is used)
      
      	PR c++/62017
      	* asan.c (transform_statements): Don't instrument clobber statements.
      
      	* g++.dg/asan/pr62017.C: New test.
      
      From-SVN: r215354
      Jakub Jelinek committed
    • re PR testsuite/63292 (ASan reports global-buffer-overflow in gcc.dg/vect/pr59594.c.) · c8f29873
      	PR testsuite/63292
      	* gcc.dg/vect/pr59594.c (b): Increase size to N + 2 elements.
      
      From-SVN: r215352
      Jakub Jelinek committed
    • re PR c++/62232 (-Wnon-virtual-dtor shouldn't warn on final classes) · abce9208
      /cp
      2014-09-18  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/62232
      	* class.c (finish_struct_1): Do not -Wnon-virtual-dtor warn
      	for final class types.
      
      /testsuite
      2014-09-18  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/62232
      	* g++.dg/cpp0x/Wdtor1.C: New.
      
      From-SVN: r215351
      Paolo Carlini committed
    • dyncast.cc (__dynamic_cast): Handle mid-destruction dynamic_cast more gracefully. · 4666e1fb
      	* libsupc++/dyncast.cc (__dynamic_cast): Handle mid-destruction
      	dynamic_cast more gracefully.
      
      From-SVN: r215350
      Jason Merrill committed
    • Fix i386 FP_TRAPPING_EXCEPTIONS. · e770bfd9
      The i386 sfp-machine.h defines FP_TRAPPING_EXCEPTIONS in a way that is
      always wrong: it treats a set bit as indicating the exception is
      trapping, when actually a set bit (both for 387 and SSE floating
      point) indicates it is masked, and a clear bit indicates it is
      trapping.  This patch fixes this bug.
      
      Bootstrapped with no regressions on x86_64-unknown-linux-gnu.
      
      libgcc:
      	* config/i386/sfp-machine.h (FP_TRAPPING_EXCEPTIONS): Treat clear
      	bits not set bits as indicating trapping exceptions.
      
      gcc/testsuite:
      	* gcc.dg/torture/float128-exact-underflow.c: New test.
      
      From-SVN: r215347
      Joseph Myers committed
    • [ARM] Fix insn type of movmisalign neon load pattern. · b5a26023
      	* config/arm/neon.md (*movmisalign<mode>_neon_load): Change type
      	to neon_load1_1reg<q>.
      
      From-SVN: r215346
      Kyrylo Tkachov committed
    • re PR c++/61745 (template friend for dyadic operator- is only accepted if the… · 2a2c9357
      re PR c++/61745 (template friend for dyadic operator- is only accepted if the monadic operator- follows it)
      
      2014-09-18  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/61745
      	* g++.dg/template/pr61745.C: New.
      
      From-SVN: r215345
      Paolo Carlini committed
    • Daily bump. · 1d2af993
      From-SVN: r215344
      GCC Administrator committed
  3. 17 Sep, 2014 13 commits
  4. 16 Sep, 2014 9 commits
    • re PR target/61853 (ICE: SIGSEGV in store_field) · cbf6bcbe
      	PR target/61853
      	* config/pa/pa.c (pa_function_value): Directly handle aggregates
      	that fit exactly in a word or double word.
      
      From-SVN: r215309
      John David Anglin committed
    • PR libfortran/62768 Handle filenames with embedded null characters. · 0e05c303
      testsuite ChangeLog:
      
      2014-09-17  Janne Blomqvist  <jb@gcc.gnu.org>
      
      	PR libfortran/62768
      	* gfortran.dg/filename_null.f90: New test.
      
      libgfortran ChangeLog:
      
      2014-09-17  Janne Blomqvist  <jb@gcc.gnu.org>
      
      	PR libfortran/62768
      	* io/io.h (gfc_unit): Store C string for the filename.
      	* io/close.c (st_close): Use gfc_unit.filename.
      	* io/inquire.c (inquire_via_unit): Likewise.
      	* io/open.c (new_unit): Likewise.
      	(already_open): Likewise, unlink file before freeing filename.
      	* io/unit.c (init_units): Likewise.
      	(close_unit_1): Likewise.
      	(filename_from_unit): Likewise.
      	* io/unix.c (compare_file_filename): Likewise.
      	(find_file0): Likewise.
      	(delete_file): Likewise.
      
      From-SVN: r215307
      Janne Blomqvist committed
    • Fix a typo in gcc.dg/pg-override.c · 7425e424
      	* gcc.dg/pg-override.c: Fix a typo.
      
      From-SVN: r215304
      H.J. Lu committed
    • Fix a typo in gcc.dg/pg.c · 1ca894fa
      	* gcc.dg/pg.c: Fix a typo.
      
      From-SVN: r215301
      H.J. Lu committed
    • re PR testsuite/63258 (FAIL: gcc.dg/vect/costmodel/ppc/costmodel-slp-33.c… · a0a2a23b
      re PR testsuite/63258 (FAIL: gcc.dg/vect/costmodel/ppc/costmodel-slp-33.c scan-tree-dump-times vect "vectorization not profitable" 1)
      
      2014-09-16  Richard Biener  <rguenther@suse.de>
      
      	PR testsuite/63258
      	* gcc.dg/vect/costmodel/ppc/costmodel-slp-33.c: Remove scan
      	for "vectorization not profitable".
      
      From-SVN: r215299
      Richard Biener committed
    • driver-i386.c (host_detect_local_cpu): Detect lack of zmm/k regs support. · 2c12f2f4
      gcc/
      2014-09-16  Ilya Tocar  <ilya.tocar@intel.com>
      
              * config/i386/driver-i386.c (host_detect_local_cpu): Detect lack of
              zmm/k regs support.
      
      testsuite/
      2014-09-16  Ilya Tocar  <ilya.tocar@intel.com>
      
              * gcc.target/i386/avx512f-os-support.h: Remove magic number.
      
      From-SVN: r215297
      Ilya Tocar committed
    • AVX-512. Extend extract insn patterns. · 0774c160
      gcc/
      	* config/i386/i386.c
      	(ix86_expand_vector_extract): Handle V32HI and V64QI modes.
      	* config/i386/sse.md
      	(define_mode_iterator VI48F_256): New.
      	(define_mode_attr extract_type): Ditto.
      	(define_mode_attr extract_suf): Ditto.
      	(define_mode_iterator AVX512_VEC): Ditto.
      	(define_expand
      	"<extract_type>_vextract<shuffletype><extract_suf>_mask"): Use
      	AVX512_VEC.
      	(define_insn "avx512dq_vextract<shuffletype>64x2_1_maskm"): New.
      	(define_insn
      	"<mask_codefor>avx512dq_vextract<shuffletype>64x2_1<mask_name>"):
      	Ditto.
      	(define_mode_attr extract_type_2): Ditto.
      	(define_mode_attr extract_suf_2): Ditto.
      	(define_mode_iterator AVX512_VEC_2): Ditto.
      	(define_expand
      	"<extract_type_2>_vextract<shuffletype><extract_suf_2>_mask"): Use
      	AVX512_VEC_2 mode iterator.
      	(define_insn "vec_extract_hi_<mode>_maskm"): Ditto.
      	(define_expand "avx512vl_vextractf128<mode>"): Ditto.
      	(define_insn_and_split "vec_extract_lo_<mode>"): Delete.
      	(define_insn "vec_extract_lo_<mode><mask_name>"): New.
      	(define_split for V16FI mode): Ditto.
      	(define_insn_and_split "vec_extract_lo_<mode>"): Delete.
      	(define_insn "vec_extract_lo_<mode><mask_name>"): New.
      	(define_split for VI8F_256 mode): Ditto.
      	(define_insn "vec_extract_hi_<mode><mask_name>"): Add masking.
      	(define_insn_and_split "vec_extract_lo_<mode>"): Delete.
      	(define_insn "vec_extract_lo_<mode><mask_name>"): New.
      	(define_split for VI4F_256 mode): Ditto.
      	(define_insn "vec_extract_lo_<mode>_maskm"): Ditto.
      	(define_insn "vec_extract_hi_<mode>_maskm"): Ditto.
      	(define_insn "vec_extract_hi_<mode><mask_name>"): Add masking.
      	(define_mode_iterator VEC_EXTRACT_MODE): Add V64QI and V32HI modes.
      	(define_insn "vcvtph2ps<mask_name>"): Fix pattern condition.
      	(define_insn "avx512f_vextract<shuffletype>32x4_1_maskm"): Ditto.
      	(define_insn "<mask_codefor>avx512f_vextract<shuffletype>32x4_1<mask_name>"):
      	Update `type' attribute, remove explicit `memory' attribute calculation.
      
      
      Co-Authored-By: Andrey Turetskiy <andrey.turetskiy@intel.com>
      Co-Authored-By: Anna Tikhonova <anna.tikhonova@intel.com>
      Co-Authored-By: Ilya Tocar <ilya.tocar@intel.com>
      Co-Authored-By: Ilya Verbin <ilya.verbin@intel.com>
      Co-Authored-By: Kirill Yukhin <kirill.yukhin@intel.com>
      Co-Authored-By: Maxim Kuznetsov <maxim.kuznetsov@intel.com>
      Co-Authored-By: Michael Zolotukhin <michael.v.zolotukhin@intel.com>
      
      From-SVN: r215296
      Alexander Ivchenko committed
    • re PR fortran/56408 (Fix dependency handling of testsuite/gfortran.dg) · 7c943bd8
      	PR fortran/56408
      	* gfortran.dg/dg.exp (dg-compile-aux-modules): Workaround
      	missing nexted dg-test call support in dejaGNU 1.4.4.
      
      From-SVN: r215293
      Jakub Jelinek committed
    • Clean up useless initialization for IRA if using LRA. · 9994ad20
      gcc/
      	* ira.c (ira): Don't initialize ira_spilled_reg_stack_slots and
      	ira_spilled_reg_stack_slots_num if using lra.
      	(do_reload): Remove release ira_spilled_reg_stack_slots part.
      	* ira-color.c (ira_sort_regnos_for_alter_reg): Add assertion to
      	make sure not using lra.
      	(ira_reuse_stack_slot): Likewise.
      	(ira_mark_new_stack_slot): Likewise.
      
      From-SVN: r215286
      Kito Cheng committed