gcc.git
9 years agore PR fortran/66043 (ICE on storage_size of null or output of null array)
Steven G. Kargl [Mon, 18 May 2015 21:52:03 +0000 (21:52 +0000)]
re PR fortran/66043 (ICE on storage_size of null or output of null array)

2015-05-18  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/66043
* check.c (gfc_check_storage_size): Prevent the direct use of NULL()
in STORAGE_SIZE() reference.

2015-05-18  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/66043
* gfortran.dg/storage_size_6.f90: New tests.

From-SVN: r223320

9 years agore PR fortran/66040 (ICE on misplaced sequence in function)
Steven G. Kargl [Mon, 18 May 2015 21:16:05 +0000 (21:16 +0000)]
re PR fortran/66040 (ICE on misplaced sequence in function)

2015-05-18  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/66040
* parse.c(verify_st_order): Replace a gfc_internal_error with your
generic gfc_error.

2015-05-18  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/66040
* gfortran.dg/misplaced_statement.f90: New test.

From-SVN: r223318

9 years ago* sv.po: Update.
Joseph Myers [Mon, 18 May 2015 21:06:01 +0000 (22:06 +0100)]
* sv.po: Update.

From-SVN: r223316

9 years agore PR fortran/66039 (ICE on incomplete parentheses at rewind, flush, endfile, backspace)
Steven G. Kargl [Mon, 18 May 2015 21:04:33 +0000 (21:04 +0000)]
re PR fortran/66039 (ICE on incomplete parentheses at rewind, flush, endfile, backspace)

2015-05-18  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/66039
* io.c (match_filepos): Check for incomplete/mangled REWIND, FLUSH,
BACKSPACE, and ENDFILE statements

2015-05-18  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/66039
* gfortran.dg/filepos1.f90: New test

From-SVN: r223315

9 years agorevert: Makefile.in (GCC_WARN_CXXFLAGS): Add -std=c++98.
Jason Merrill [Mon, 18 May 2015 20:22:14 +0000 (16:22 -0400)]
revert: Makefile.in (GCC_WARN_CXXFLAGS): Add -std=c++98.

Revert:
* Makefile.in (GCC_WARN_CXXFLAGS): Add -std=c++98.

From-SVN: r223314

9 years agore PR fortran/64925 (ICE with same names for dummy arg and internal procedure)
Steven G. Kargl [Mon, 18 May 2015 19:25:49 +0000 (19:25 +0000)]
re PR fortran/64925 (ICE with same names for dummy arg and internal procedure)

2015-05-18  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/64925
* symbol.c(check_conflict):  Check for a conflict between a dummy
argument and an internal procedure name.

2015-05-18  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/64925
* gfortran.dg/pr64925.f90: New test.

From-SVN: r223313

9 years ago* Makefile.in (GCC_WARN_CXXFLAGS): Add -std=c++98.
Jason Merrill [Mon, 18 May 2015 19:21:54 +0000 (15:21 -0400)]
* Makefile.in (GCC_WARN_CXXFLAGS): Add -std=c++98.

From-SVN: r223312

9 years agopr41521_0.f90: Move INTERFACE statement in program unit.
Steven G. Kargl [Mon, 18 May 2015 18:59:48 +0000 (18:59 +0000)]
pr41521_0.f90: Move INTERFACE statement in program unit.

2015-05-18  Steven G. Kargl  <kargl@gcc.gnu.org>

* gfortran.dg/lto/pr41521_0.f90: Move INTERFACE statement in program
unit.
* gfortran.dg/lto/pr41576_1.f90: Ditto.

From-SVN: r223309

9 years agofreebsd-spec.h (FBSD_STARTFILE_SPEC): Add the bits to build pie executables.
Andreas Tobler [Mon, 18 May 2015 18:37:18 +0000 (20:37 +0200)]
freebsd-spec.h (FBSD_STARTFILE_SPEC): Add the bits to build pie executables.

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

gcc:
        * config/freebsd-spec.h (FBSD_STARTFILE_SPEC): Add the bits to build
pie executables.
(FBSD_ENDFILE_SPEC): Likewise.
* config/i386/freebsd.h (STARTFILE_SPEC): Remove and use the one from
config/freebsd-spec.h.
(ENDFILE_SPEC): Likewise.

gcc/testsuite:
* lib/target-supports.exp (check_effective_target_pie): Add *-*-freebsd*
to the family of pie capable targets.

From-SVN: r223308

9 years agopt.c (retrieve_specialization): Make sure our arguments have gone through strip_typedefs.
Jason Merrill [Mon, 18 May 2015 18:08:53 +0000 (14:08 -0400)]
pt.c (retrieve_specialization): Make sure our arguments have gone through strip_typedefs.

* pt.c (retrieve_specialization): Make sure our arguments have
gone through strip_typedefs.

From-SVN: r223305

9 years agopt.c (tsubst_decl): Call coerce_innermost_template_parms.
Jason Merrill [Mon, 18 May 2015 18:08:48 +0000 (14:08 -0400)]
pt.c (tsubst_decl): Call coerce_innermost_template_parms.

* pt.c (tsubst_decl) [VAR_DECL]: Call coerce_innermost_template_parms.
(determine_specialization): Call coerce_template_parms.

From-SVN: r223304

9 years agoDR 1391
Jason Merrill [Mon, 18 May 2015 17:14:11 +0000 (13:14 -0400)]
DR 1391

DR 1391
* pt.c (type_unification_real): Check convertibility here.
(unify_one_argument): Not here.

From-SVN: r223301

9 years agotree.c (strip_typedefs_expr): Fix typo.
Jason Merrill [Mon, 18 May 2015 17:14:04 +0000 (13:14 -0400)]
tree.c (strip_typedefs_expr): Fix typo.

* tree.c (strip_typedefs_expr) [TRAIT_EXPR]: Fix typo.
(strip_typedefs) [DECLTYPE_TYPE]: Fix typedef of decltype.
[TREE_LIST]: Fix no-change case.

From-SVN: r223300

9 years ago* ptree.c (cxx_print_xnode): Handle TRAIT_EXPR.
Jason Merrill [Mon, 18 May 2015 17:13:59 +0000 (13:13 -0400)]
* ptree.c (cxx_print_xnode): Handle TRAIT_EXPR.

From-SVN: r223299

9 years agore PR rtl-optimization/57032 (internal compiler error: Max. number of generated reloa...
Uros Bizjak [Mon, 18 May 2015 16:34:23 +0000 (18:34 +0200)]
re PR rtl-optimization/57032 (internal compiler error: Max. number of generated reload insns per insn is achieved (90))

PR target/57032
* config/alpha/constraints.md (Q): Rewrite as define_memory_constraint.
Check for a memory location that is not a reference (using an AND)
to an unaligned location here.
* config/alpha/predicates.md (normal_memory_operand): Remove.

Co-Authored-By: Richard Henderson <rth@redhat.com>
From-SVN: r223298

9 years agocheck_GNU_style.sh: Don't do 80 char check line by line
Tom de Vries [Mon, 18 May 2015 15:44:55 +0000 (15:44 +0000)]
check_GNU_style.sh: Don't do 80 char check line by line

2015-05-18  Tom de Vries  <tom@codesourcery.com>

* check_GNU_style.sh: Add temp files tmp2 and tmp3.
(cat_with_prefix): New function, using global variable prefix.
(col): Make prefix a global variable. Rewrite to process file at a time
rather than line at a time.  Print part longer than 80 chars in red.

From-SVN: r223297

9 years agoarm.md (andsi_not_shiftsi_si_scc): New pattern.
Alex Velenko [Mon, 18 May 2015 14:38:41 +0000 (14:38 +0000)]
arm.md (andsi_not_shiftsi_si_scc): New pattern.

gcc/config

2015-05-18  Alex Velenko  <Alex.Velenko@arm.com>

   * arm/arm.md (andsi_not_shiftsi_si_scc): New pattern.
   (andsi_not_shiftsi_si_scc_no_reuse): New pattern.

gcc/testsuite

2015-05-18  Alex Velenko <Alex.Velenko@arm.com>

   * gcc.target/arm/bics_1.c : New testcase.
   * gcc.target/arm/bics_2.c : New testcase.
   * gcc.target/arm/bics_3.c : New testcase.
   * gcc.target/arm/bics_4.c : New testcase.

From-SVN: r223295

9 years agoFix ICE when both micromips and nomicromips attributes are used.
Robert Suchanek [Mon, 18 May 2015 14:32:19 +0000 (14:32 +0000)]
Fix ICE when both micromips and nomicromips attributes are used.

gcc/ChangeLog:

2015-05-18  Robert Suchanek  <robert.suchanek@imgtec.com>

* config/mips/mips.c (micromips_globals): New variable.
(mips_set_compression_mode): Save and reinitialize target-dependent
state for microMIPS.

gcc/testsuite/ChangeLog:

2015-05-18  Robert Suchanek  <robert.suchanek@imgtec.com>

* gcc.target/mips/umips-attr.c: New test.

From-SVN: r223294

9 years agoIPA ICF: add support for debug counter.
Martin Liska [Mon, 18 May 2015 09:05:15 +0000 (11:05 +0200)]
IPA ICF: add support for debug counter.

* dbgcnt.def: Add new counter.
* ipa-icf.c (sem_item_optimizer::merge_classes): Use the
counter.

From-SVN: r223288

9 years agodbgcnt: enhance behavior.
Martin Liska [Mon, 18 May 2015 09:03:28 +0000 (11:03 +0200)]
dbgcnt: enhance behavior.

* dbgcnt.def: Sort counters.
* opts.c (common_handle_option): Do not compile if
-fdbg-cnt-list is enabled.

From-SVN: r223287

9 years agoMove array-type va_list handling to build_va_arg
Tom de Vries [Mon, 18 May 2015 08:19:29 +0000 (08:19 +0000)]
Move array-type va_list handling to build_va_arg

2015-05-18  Tom de Vries  <tom@codesourcery.com>

* gimplify.c (gimplify_modify_expr): Remove do_deref handling.
(gimplify_va_arg_expr): Remove do_deref handling.  Remove adding of
address operator to va_list operand.
* tree-stdarg.c (expand_ifn_va_arg_1): Do deref of va_list operand
unconditionally.
* config/i386/i386.c (ix86_gimplify_va_arg): Remove deref on va_list
operand.
* config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Same.
* config/s390/s390.c (s390_gimplify_va_arg): Same.
* config/spu/spu.c (spu_gimplify_va_arg_expr): Same.

* c-common.c (build_va_arg_1): New function.
(build_va_arg): Add address operator to va_list operand if necessary.

From-SVN: r223286

9 years agoFix whitespace in tree-ssa-tail-merge.c
Tom de Vries [Mon, 18 May 2015 08:14:09 +0000 (08:14 +0000)]
Fix whitespace in tree-ssa-tail-merge.c

2015-05-18  Tom de Vries  <tom@codesourcery.com>

* tree-ssa-tail-merge.c: Fix whitespace.

From-SVN: r223285

9 years agocheck_GNU_style.sh: Don't cat empty file
Tom de Vries [Mon, 18 May 2015 07:07:44 +0000 (07:07 +0000)]
check_GNU_style.sh: Don't cat empty file

2015-05-18  Tom de Vries  <tom@codesourcery.com>

* check_GNU_style.sh (g, ag, vg): Don't cat empty file.

From-SVN: r223284

9 years agocheck_GNU_style.sh: Declare local vars with local
Tom de Vries [Mon, 18 May 2015 07:07:36 +0000 (07:07 +0000)]
check_GNU_style.sh: Declare local vars with local

2015-05-18  Tom de Vries  <tom@codesourcery.com>

* check_GNU_style.sh (g, ag, vg, col): Declare local vars with local.

From-SVN: r223283

9 years agocheck_GNU_style.sh: Improve readability function calls
Tom de Vries [Mon, 18 May 2015 07:07:27 +0000 (07:07 +0000)]
check_GNU_style.sh: Improve readability function calls

2015-05-18  Tom de Vries  <tom@codesourcery.com>

* check_GNU_style.sh: Improve readability function calls.

From-SVN: r223282

9 years agoinvoke.texi (ARM Options, mtune): Add generic-armv7-a, cortex-a17, and cortex-a17...
Jim Wilson [Mon, 18 May 2015 03:14:54 +0000 (03:14 +0000)]
invoke.texi (ARM Options, mtune): Add generic-armv7-a, cortex-a17, and cortex-a17.cortex-a7.

gcc/
* doc/invoke.texi (ARM Options, mtune): Add generic-armv7-a,
cortex-a17, and cortex-a17.cortex-a7.

From-SVN: r223281

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

From-SVN: r223280

9 years ago20150120-1.c (dg-final): Cleanup original tree dump.
Uros Bizjak [Sun, 17 May 2015 21:49:19 +0000 (23:49 +0200)]
20150120-1.c (dg-final): Cleanup original tree dump.

* gcc.dg/20150120-1.c (dg-final): Cleanup original tree dump.
* gcc.dg/20150120-2.c (dg-final): Ditto.
* gcc.dg/20150120-2.c (dg-final): Ditto.
* gfortran.dg/inline_matmul_1.f90 (dg-final): Ditto.

From-SVN: r223276

9 years agopr66174.c: New test.
Uros Bizjak [Sun, 17 May 2015 21:45:40 +0000 (23:45 +0200)]
pr66174.c: New test.

* gcc.target/i386/pr66174.c: New test.

From-SVN: r223275

9 years agore PR target/54236 ([SH] Improve addc and subc insn utilization)
Oleg Endo [Sun, 17 May 2015 21:01:29 +0000 (21:01 +0000)]
re PR target/54236 ([SH] Improve addc and subc insn utilization)

gcc/
PR target/54236
* config/sh/sh.md (*addc_2r_t): Use ashift instead of mult.

From-SVN: r223274

9 years agounordered_map.h (unordered_map, [...]): Add missing constructors.
François Dumont [Sun, 17 May 2015 20:14:53 +0000 (20:14 +0000)]
unordered_map.h (unordered_map, [...]): Add missing constructors.

2015-05-17  François Dumont  <fdumont@gcc.gnu.org>

* include/bits/unordered_map.h (unordered_map, unordered_multimap): Add
missing constructors.
* include/bits/unordered_set.h (unordered_set, unordered_multiset):
Likewise.
* include/debug/unordered_map (unordered_map, unordered_multimap): Add
missing constructors.
* include/debug/unordered_set (unordered_set, unordered_multiset):
Likewise.
* include/profile/unordered_map (unordered_map, unordered_multimap): Add
missing constructors.
* include/profile/unordered_set (unordered_set, unordered_multiset):
Likewise.
* testsuite/23_containers/unordered_map/cons/66055.cc: Add constructor
invocations.
* testsuite/23_containers/unordered_multimap/cons/66055.cc: Likewise.
* testsuite/23_containers/unordered_multiset/cons/66055.cc: Likewise.
* testsuite/23_containers/unordered_set/cons/66055.cc: Likewise.

From-SVN: r223273

9 years agore PR target/66174 (ICE: in extract_insn, at recog.c:2341 (unrecognizable insns)...
Uros Bizjak [Sun, 17 May 2015 15:08:16 +0000 (17:08 +0200)]
re PR target/66174 (ICE: in extract_insn, at recog.c:2341 (unrecognizable insns) with -ftree-vectorize -mavx512ifma)

PR target/66174
* config/i386/i386.c (expand_vec_perm_blend): Enable HImode and
QImode inner modes for TARGET_AVX512BW.  Force mask operand
to a register for AVX512F modes.

testsuite/ChangeLog:

PR target/66174
* gcc.target/i386/pr66174.c: New test.

From-SVN: r223269

9 years agore PR fortran/37131 (inline matmul for small matrix sizes)
Thomas Koenig [Sun, 17 May 2015 13:45:07 +0000 (13:45 +0000)]
re PR fortran/37131 (inline matmul for small matrix sizes)

2015-05-17  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/37131
* gfortran.dg/matmul_bounds_6.f90:  New test.
* gfortran.dg/matmul_bounds_7.f90:  New test.

From-SVN: r223268

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

From-SVN: r223265

9 years agoFT32 target added. Approved by Jeff Law [law@redhat.com]
James Bowman [Sat, 16 May 2015 23:49:08 +0000 (23:49 +0000)]
FT32 target added. Approved by Jeff Law [law@redhat.com]

From-SVN: r223261

9 years agotoplev.c (emit_debug_global_declarations): Do not output debug info when doing slim...
Jan Hubicka [Sat, 16 May 2015 23:20:49 +0000 (23:20 +0000)]
toplev.c (emit_debug_global_declarations): Do not output debug info when doing slim LTO objects.

* toplev.c (emit_debug_global_declarations): Do not output debug info
when doing slim LTO objects.

From-SVN: r223260

9 years agoipa-utils.h (warn_types_mismatch, [...]): Declare.
Jan Hubicka [Sat, 16 May 2015 23:19:23 +0000 (23:19 +0000)]
ipa-utils.h (warn_types_mismatch, [...]): Declare.

* ipa-utils.h (warn_types_mismatch, odr_or_derived_type_p,
odr_types_equivalent_p): Declare.
(odr_type_p): Use gcc_checking_assert.
(type_in_anonymous_namespace_p) Declare.
(type_with_linkage_p): Declare.
* common.opt (Wlto-type-mismatch): New warning.
* ipa-devirt.c (compound_type_base): New function.
(odr_or_derived_type_p): New function.
(odr_types_equivalent_p): New function.
(add_type_duplicate): Simplify.
(type_with_linkage_p): Add hack to prevent false positives on C types
(type_in_anonymous_namespace_p): Likewise.
* tree.c (need_assembler_name_p): Use type_with_linkage.
* tree.h (type_in_anonymous_namespace_p): Remove.
* doc/invoke.texi (-Wlto-type-mismatch): Document

From-SVN: r223259

9 years agoipa-utils.h (warn_types_mismatch, [...]): Declare.
Jan Hubicka [Sat, 16 May 2015 23:18:29 +0000 (23:18 +0000)]
ipa-utils.h (warn_types_mismatch, [...]): Declare.

* ipa-utils.h (warn_types_mismatch, odr_or_derived_type_p,
odr_types_equivalent_p): Declare.
(odr_type_p): Use gcc_checking_assert.
(type_in_anonymous_namespace_p) Declare.
(type_with_linkage_p): Declare.
* common.opt (Wlto-type-mismatch): New warning.
* ipa-devirt.c (compound_type_base): New function.
(odr_or_derived_type_p): New function.
(odr_types_equivalent_p): New function.
(add_type_duplicate): Simplify.
(type_with_linkage_p): Add hack to prevent false positives on C types
(type_in_anonymous_namespace_p): Likewise.
* tree.c (need_assembler_name_p): Use type_with_linkage.
* tree.h (type_in_anonymous_namespace_p): Remove.
* doc/invoke.texi (-Wlto-type-mismatch): Document

* lto-symtab.c (warn_type_compatibility_p): Break out from ...;
compare ODR types (if available) and function types.
(lto_symtab_merge): ... here; output ODR violation warnings
and call warn_types_mismatch.

* gfortran.dg/lto/20091028-2_1.c: Fix return value.
* gfortran.dg/lto/pr41576_1.f90: Add interface.
* gfortran.dg/lto/pr41521_0.f90: Disable lto-type-mismatch
* gfortran.dg/lto/pr60635_0.f90: Disable lto-type-mismatch.
* gfortran.dg/lto/20091028-1_1.c: Fix return type.
* gcc.dg/lto/20120723_0.c: Disbale lto-type-mismatch.

From-SVN: r223258

9 years agotree.c (verify_type_variant): Verify tree_base and type_common flags.
Jan Hubicka [Sat, 16 May 2015 20:51:50 +0000 (20:51 +0000)]
tree.c (verify_type_variant): Verify tree_base and type_common flags.

* tree.c (verify_type_variant): Verify tree_base and type_common flags.
(verify_type): Verify STRING_FLAG.

From-SVN: r223252

9 years agore PR fortran/65903 (Line continuation followed by comment character in string fails...
Jerry DeLisle [Sat, 16 May 2015 17:51:41 +0000 (17:51 +0000)]
re PR fortran/65903 (Line continuation followed by comment character in string fails to compile)

2015-05-16  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR fortran/65903
* gfortran.dg/continuation_13.f90: Update test.
* gfortran.dg/pr65903.f90: New test.

From-SVN: r223249

9 years agore PR fortran/65903 (Line continuation followed by comment character in string fails...
Jerry DeLisle [Sat, 16 May 2015 17:44:15 +0000 (17:44 +0000)]
re PR fortran/65903 (Line continuation followed by comment character in string fails to compile)

2015-05-16  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR fortran/65903
* io.c (format_lex): Change to NONSTRING when checking for
possible doubled quote.
* scanner.c (gfc_next_char_literal): Revert change from 64506
and add a check for quotes and return.

From-SVN: r223248

9 years agod-demangle.c (dlang_symbol_kinds): New enum.
Iain Buclaw [Sat, 16 May 2015 16:50:30 +0000 (16:50 +0000)]
d-demangle.c (dlang_symbol_kinds): New enum.

libiberty/ChangeLog:

2015-05-16  Iain Buclaw  <ibuclaw@gdcproject.org>

* d-demangle.c (dlang_symbol_kinds): New enum.
(dlang_parse_symbol): Update signature.  Handle an ambiguity between
pascal functions and template value arguments.  Only check for a type
if parsing a function, or at the top level.  Return failure if the
entire symbol was not successfully demangled.
(dlang_identifier): Update signature.  Handle an ambiguity between two
adjacent digits in a mangled symbol string.
(dlang_type): Update call to dlang_parse_symbol.
(dlang_template_args): Likewise.
(dlang_parse_template): Likewise.
(dlang_demangle): Likewise.
* testsuite/d-demangle-expected: Fix bad tests found, and add problematic
examples to the unittests.

From-SVN: r223247

9 years agod-demangle.c (dlang_template_args): Skip over specialized template parameters in...
Iain Buclaw [Sat, 16 May 2015 16:50:19 +0000 (16:50 +0000)]
d-demangle.c (dlang_template_args): Skip over specialized template parameters in mangled symbol.

libiberty/ChangeLog:

2015-05-16  Iain Buclaw  <ibuclaw@gdcproject.org>

* d-demangle.c (dlang_template_args): Skip over specialized template
parameters in mangled symbol.
* testsuite/d-demangle-expected: Add coverage and unittest for specialized
template parameters.

From-SVN: r223246

9 years agod-demangle.c (dlang_type): Handle cent and ucent types.
Iain Buclaw [Sat, 16 May 2015 16:50:08 +0000 (16:50 +0000)]
d-demangle.c (dlang_type): Handle cent and ucent types.

libiberty/ChangeLog:

2015-05-16  Iain Buclaw  <ibuclaw@gdcproject.org>

* d-demangle.c (dlang_type): Handle cent and ucent types.
* testsuite/d-demangle-expected: Add coverage tests for cent and ucent.

From-SVN: r223245

9 years agod-demangle.c (dlang_attributes): Handle return attributes, ignoring return parameters...
Iain Buclaw [Sat, 16 May 2015 16:49:57 +0000 (16:49 +0000)]
d-demangle.c (dlang_attributes): Handle return attributes, ignoring return parameters in the mangled string.

libiberty/ChangeLog:

2015-05-16  Iain Buclaw  <ibuclaw@gdcproject.org>

* d-demangle.c (dlang_attributes): Handle return attributes, ignoring
return parameters in the mangled string.  Return NULL if have encountered
an unknown attribute.
(dlang_function_args): Handle return parameters in the mangled string.
* testsuite/d-demangle-expected: Add coverage tests for functions with
return parameters and return attributes.

From-SVN: r223244

9 years agod-demangle.c (dlang_identifier): Check encoded length of identifier to verify strncmp...
Iain Buclaw [Sat, 16 May 2015 16:49:46 +0000 (16:49 +0000)]
d-demangle.c (dlang_identifier): Check encoded length of identifier to verify strncmp matches entire string.

libiberty/ChangeLog:

2015-05-16  Iain Buclaw  <ibuclaw@gdcproject.org>

* d-demangle.c (dlang_identifier): Check encoded length of identifier
to verify strncmp matches entire string.
* testsuite/d-demangle-expected: Fix wrong test for postblit symbol.

From-SVN: r223243

9 years agod-demangle.c (dlang_type_modifiers): New function.
Iain Buclaw [Sat, 16 May 2015 16:49:35 +0000 (16:49 +0000)]
d-demangle.c (dlang_type_modifiers): New function.

libiberty/ChangeLog:

2015-05-16  Iain Buclaw  <ibuclaw@gdcproject.org>

* d-demangle.c (dlang_type_modifiers): New function.
(dlang_type_modifier_p): New function.
(dlang_call_convention_p): Ignore any kind of type modifier.
(dlang_type): Handle and emit the type modifier after delegate types.
(dlang_parse_symbol): Handle and emit the type modifier after the symbol.
* testsuite/d-demangle-expected: Add coverage tests for all valid
usages of function symbols with type modifiers.

From-SVN: r223242

9 years agod-demangle.c (dlang_call_convention): Return NULL if have reached the end of the...
Iain Buclaw [Sat, 16 May 2015 16:49:25 +0000 (16:49 +0000)]
d-demangle.c (dlang_call_convention): Return NULL if have reached the end of the symbol, but expected something to read.

libiberty/ChangeLog:

2015-05-16  Iain Buclaw  <ibuclaw@gdcproject.org>

* d-demangle.c (dlang_call_convention): Return NULL if have reached the
end of the symbol, but expected something to read.
(dlang_attributes): Likewise.
(dlang_function_type): Likewise.
(dlang_type): Likewise.
(dlang_identifier): Likewise.
(dlang_value): Likewise.

From-SVN: r223241

9 years agod-demangle.c (dlang_parse_string): Represent embedded whitespace or non-printable...
Iain Buclaw [Sat, 16 May 2015 16:49:13 +0000 (16:49 +0000)]
d-demangle.c (dlang_parse_string): Represent embedded whitespace or non-printable characters as hex or escape...

libiberty/ChangeLog:

2015-05-16  Iain Buclaw  <ibuclaw@gdcproject.org>

* d-demangle.c (dlang_parse_string): Represent embedded whitespace or
non-printable characters as hex or escape sequences.
* testsuite/d-demangle-expected: Add test for templates with tabs and
newlines embedded into the signature.

From-SVN: r223240

9 years agoMAINTAINERS (Write After Approval): Add myself.
Iain Buclaw [Sat, 16 May 2015 13:46:58 +0000 (13:46 +0000)]
MAINTAINERS (Write After Approval): Add myself.

2015-05-16  Iain Buclaw  <ibuclaw@gdcproject.org>

* MAINTAINERS (Write After Approval): Add myself.

From-SVN: r223239

9 years agore PR fortran/66113 (Variable n cannot appear in the expression with nested blocks)
Thomas Koenig [Sat, 16 May 2015 12:33:01 +0000 (12:33 +0000)]
re PR fortran/66113 (Variable n cannot appear in the expression with nested blocks)

2015-05-16  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/66113
* expr.c (is_parent_of_current_ns):  New function.
(check_restricted):  Use it.

2015-05-16  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/66113
* gfortran.dg/block_14.f90:  New test.

From-SVN: r223238

9 years agore PR fortran/44054 (Handle -Werror, -Werror=, -fdiagnostics-show-option, !GCC$ diagn...
Manuel López-Ibáñez [Sat, 16 May 2015 12:31:00 +0000 (12:31 +0000)]
re PR fortran/44054 (Handle -Werror, -Werror=, -fdiagnostics-show-option, !GCC$ diagnostic (pragmas) and color)

gcc/fortran/ChangeLog:

2015-05-16  Manuel López-Ibáñez  <manu@gcc.gnu.org>

PR fortran/44054

Replace all calls to gfc_notify_std_1 with gfc_notify_std and
gfc_warning_1 with gfc_warning.
* decl.c (gfc_verify_c_interop_param): Here.
* resolve.c (resolve_branch): Here.
(resolve_fl_derived): Here.
* dependency.c (gfc_check_argument_var_dependency):
* scanner.c (preprocessor_line): Use gfc_warning_now_at. Fix line
counter and locations before and after warning.
* gfortran.h (gfc_warning_1, gfc_warning_now_1, gfc_notify_std_1):
Delete.
(gfc_warning_now_at): Declare.
* error.c (gfc_warning_1): Delete.
(gfc_notify_std_1): Delete.
(gfc_warning_now_1): Delete.
(gfc_format_decoder): Handle two locations.
(gfc_diagnostic_build_prefix): Rename as
gfc_diagnostic_build_kind_prefix.
(gfc_diagnostic_build_locus_prefix): Take an expanded_location
instead of diagnostic_info.
(gfc_diagnostic_build_locus_prefix): Add overload that takes two
expanded_location.
(gfc_diagnostic_starter): Handle two locations.
(gfc_warning_now_at): New.
(gfc_diagnostics_init): Initialize caret_chars array.
(gfc_diagnostics_finish): Reset caret_chars array to default.

gcc/cp/ChangeLog:

2015-05-16  Manuel López-Ibáñez  <manu@gcc.gnu.org>

PR fortran/44054
* error.c (cp_diagnostic_starter): Use diagnostic_location
function.
(cp_print_error_function): Likewise.
(cp_printer): Replace locus pointer with accessor function.

gcc/c/ChangeLog:

2015-05-16  Manuel López-Ibáñez  <manu@gcc.gnu.org>

PR fortran/44054
* c-objc-common.c (c_tree_printer): Replace locus pointer with
accessor function.

gcc/ChangeLog:

2015-05-16  Manuel López-Ibáñez  <manu@gcc.gnu.org>

PR fortran/44054
* tree-pretty-print.c (percent_K_format): Replace locus pointer
with accessor function.
* tree-diagnostic.c (diagnostic_report_current_function): Use
diagnostic_location function.
(maybe_unwind_expanded_macro_loc): Likewise.
(virt_loc_aware_diagnostic_finalizer): Likewise.
(default_tree_printer): Replace locus pointer with accessor function.
* diagnostic.c (diagnostic_initialize): Initialize caret_chars array.
(diagnostic_set_info_translated): Initialize second location.
(diagnostic_build_prefix): Use CARET_LINE_MARGIN.
(diagnostic_show_locus): Handle two locations. Call
diagnostic_print_caret_line.
(diagnostic_print_caret_line): New.
(default_diagnostic_starter): Use diagnostic_location function.
(diagnostic_report_diagnostic): Use diagnostic_location function.
(verbatim): Do not set text.locus.
* diagnostic.h (struct diagnostic_info): Remove location field.
(struct diagnostic_context): Make caret_chars an array of two.
(diagnostic_location): New inline.
(diagnostic_expand_location): Handle two locations.
(diagnostic_same_line): New inline.
(diagnostic_print_caret_line): Declare.
(CARET_LINE_MARGIN): New constant.
* pretty-print.c (pp_printf): Do not set text.locus.
(pp_verbatim): Do not set text.locus.
* pretty-print.h (MAX_LOCATIONS_PER_MESSAGE): New constant.
(struct text_info): Replace locus pointer with locations
array. Add accessor functions.

gcc/testsuite/ChangeLog:

2015-05-16  Manuel López-Ibáñez  <manu@gcc.gnu.org>

PR fortran/44054
* lib/gfortran-dg.exp: Update regex to handle two locations for
the same diagnostic without caret.
* gfortran.dg/badline.f: Test also that line numbers are correct
before and after "left but not entered" warning.

From-SVN: r223237

9 years agore PR fortran/44054 (Handle -Werror, -Werror=, -fdiagnostics-show-option, !GCC$ diagn...
Manuel López-Ibáñez [Sat, 16 May 2015 12:30:04 +0000 (12:30 +0000)]
re PR fortran/44054 (Handle -Werror, -Werror=, -fdiagnostics-show-option, !GCC$ diagnostic (pragmas) and color)

gcc/fortran/ChangeLog:

2015-05-16  Manuel López-Ibáñez  <manu@gcc.gnu.org>

PR fortran/44054

Replace all calls to gfc_notify_std_1 with gfc_notify_std and
gfc_warning_1 with gfc_warning.
* decl.c (gfc_verify_c_interop_param): Here.
* resolve.c (resolve_branch): Here.
(resolve_fl_derived): Here.
* dependency.c (gfc_check_argument_var_dependency):
* scanner.c (preprocessor_line): Use gfc_warning_now_at. Fix line
counter and locations before and after warning.
* gfortran.h (gfc_warning_1, gfc_warning_now_1, gfc_notify_std_1):
Delete.
(gfc_warning_now_at): Declare.
* error.c (gfc_warning_1): Delete.
(gfc_notify_std_1): Delete.
(gfc_warning_now_1): Delete.
(gfc_format_decoder): Handle two locations.
(gfc_diagnostic_build_prefix): Rename as
gfc_diagnostic_build_kind_prefix.
(gfc_diagnostic_build_locus_prefix): Take an expanded_location
instead of diagnostic_info.
(gfc_diagnostic_build_locus_prefix): Add overload that takes two
expanded_location.
(gfc_diagnostic_starter): Handle two locations.
(gfc_warning_now_at): New.
(gfc_diagnostics_init): Initialize caret_chars array.
(gfc_diagnostics_finish): Reset caret_chars array to default.

gcc/cp/ChangeLog:

2015-05-16  Manuel López-Ibáñez  <manu@gcc.gnu.org>

PR fortran/44054
* error.c (cp_diagnostic_starter): Use diagnostic_location
function.
(cp_print_error_function): Likewise.
(cp_printer): Replace locus pointer with accessor function.

gcc/c/ChangeLog:

2015-05-16  Manuel López-Ibáñez  <manu@gcc.gnu.org>

PR fortran/44054
* c-objc-common.c (c_tree_printer): Replace locus pointer with
accessor function.

gcc/ChangeLog:

2015-05-16  Manuel López-Ibáñez  <manu@gcc.gnu.org>

PR fortran/44054
* tree-pretty-print.c (percent_K_format): Replace locus pointer
with accessor function.
* tree-diagnostic.c (diagnostic_report_current_function): Use
diagnostic_location function.
(maybe_unwind_expanded_macro_loc): Likewise.
(virt_loc_aware_diagnostic_finalizer): Likewise.
(default_tree_printer): Replace locus pointer with accessor function.
* diagnostic.c (diagnostic_initialize): Initialize caret_chars array.
(diagnostic_set_info_translated): Initialize second location.
(diagnostic_build_prefix): Use CARET_LINE_MARGIN.
(diagnostic_show_locus): Handle two locations. Call
diagnostic_print_caret_line.
(diagnostic_print_caret_line): New.
(default_diagnostic_starter): Use diagnostic_location function.
(diagnostic_report_diagnostic): Use diagnostic_location function.
(verbatim): Do not set text.locus.
* diagnostic.h (struct diagnostic_info): Remove location field.
(struct diagnostic_context): Make caret_chars an array of two.
(diagnostic_location): New inline.
(diagnostic_expand_location): Handle two locations.
(diagnostic_same_line): New inline.
(diagnostic_print_caret_line): Declare.
(CARET_LINE_MARGIN): New constant.
* pretty-print.c (pp_printf): Do not set text.locus.
(pp_verbatim): Do not set text.locus.
* pretty-print.h (MAX_LOCATIONS_PER_MESSAGE): New constant.
(struct text_info): Replace locus pointer with locations
array. Add accessor functions.

gcc/testsuite/ChangeLog:

2015-05-16  Manuel López-Ibáñez  <manu@gcc.gnu.org>

PR fortran/44054
* lib/gfortran-dg.exp: Update regex to handle two locations for
the same diagnostic without caret.
* gfortran.dg/badline.f: Test also that line numbers are correct
before and after "left but not entered" warning.

From-SVN: r223236

9 years agore PR target/65768 (sub-optimimal code for constant Uses in loop)
Kugan Vivekanandarajah [Sat, 16 May 2015 09:35:52 +0000 (09:35 +0000)]
re PR target/65768 (sub-optimimal code for constant Uses in loop)

gcc/ChangeLog:

2015-05-16  Kugan Vivekanandarajah  <kuganv@linaro.org>
    Zhenqiang Chen  <zhenqiang.chen@linaro.org>

PR target/65768
* config/arm/arm.h (DONT_EARLY_SPLIT_CONSTANT): New macro.
* config/arm/arm.md (subsi3, andsi3, iorsi3, xorsi3, movsi): Keep some
 large constants in register instead of splitting them.

gcc/testsuite/ChangeLog:

2015-05-16  Kugan Vivekanandarajah  <kuganv@linaro.org>
    Zhenqiang Chen  <zhenqiang.chen@linaro.org>

PR target/65768
* gcc.target/arm/maskdata.c: New test.

Co-Authored-By: Zhenqiang Chen <zhenqiang.chen@linaro.org>
From-SVN: r223235

9 years ago2015-05-16 Mikael Morin <mikael@gcc.gnu.org
Mikael Morin [Sat, 16 May 2015 08:09:52 +0000 (08:09 +0000)]
2015-05-16  Mikael Morin  <mikael@gcc.gnu.org
    Paul Thomas  <pault@gcc.gnu.org>

PR fortran/65792
* trans-expr.c (gfc_trans_subcomponent_assign): Always assign
the expression component to the destination. In addition, if
the component has allocatable components, copy them and
deallocate those of the expression, if it is not a variable.
The expression is fixed if not a variable to prevent multiple
evaluations.

2015-05-16  Mikael Morin  <mikael@gcc.gnu.org>

PR fortran/65792
* gfortran.dg/derived_constructor_components_5: New test

From-SVN: r223234

9 years agore PR target/66140 (ICE at extract_insn, at recog.c:2343 when compiling for alpha...
Uros Bizjak [Sat, 16 May 2015 07:28:16 +0000 (09:28 +0200)]
re PR target/66140 (ICE at extract_insn, at recog.c:2343 when compiling for alpha with gcc-5.1.1)

PR target/66140
* config/alpha/alpha.c (get_aligned_mem): Also look for reload
replacements in memory addresses.
(get_unaligned_address): Ditto.

testsuite/ChangeLog:

PR target/66140
* gcc.target/alpha/pr66140.c: New test.

From-SVN: r223232

9 years agolibgo: Use __USING_SJLJ_EXCEPTIONS__ rather than configure test.
Ian Lance Taylor [Sat, 16 May 2015 00:17:46 +0000 (00:17 +0000)]
libgo: Use __USING_SJLJ_EXCEPTIONS__ rather than configure test.

From Eric Botcazou.

From-SVN: r223231

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

From-SVN: r223230

9 years agoops.cc (stat_type): Define alias for struct stat and use throughout the file.
Jonathan Wakely [Fri, 15 May 2015 18:37:25 +0000 (19:37 +0100)]
ops.cc (stat_type): Define alias for struct stat and use throughout the file.

* src/filesystem/ops.cc (stat_type): Define alias for struct stat and
use throughout the file.
(make_file_type): New function.
(file_size(const path&, error_code&)): Report an error for anything
that isn't a regular file.
(status(const path&), symlink_status(const path&)): Do not throw for
file_type::not_found.
(temp_directory_path()): Check additional environment variables.
* testsuite/experimental/filesystem/operations/exists.cc: New.
* testsuite/experimental/filesystem/operations/file_size.cc: New.
* testsuite/experimental/filesystem/operations/status.cc: New.
* testsuite/experimental/filesystem/operations/temp_directory_path.cc:
New.

From-SVN: r223224

9 years agore PR c/48956 (-Wconversion should warn when a complex value is assigned to a real...
Mikhail Maltsev [Fri, 15 May 2015 18:02:50 +0000 (18:02 +0000)]
re PR c/48956 (-Wconversion should warn when a complex value is assigned to a real result)

PR c/48956

gcc/c-family/
* c-common.c (int_safely_convertible_to_real_p): Define.
(unsafe_conversion_p): Check conversions involving complex types.
(conversion_warning): Add new warning message for conversions which
discard imaginary component.
* c-common.h: (enum conversion_safety): Add new enumerator for such
conversions.

gcc/testsuite/
* gcc.dg/Wconversion-complex-c99.c: New test.
* gcc.dg/Wconversion-complex-gnu.c: New test.

From-SVN: r223223

9 years agore PR tree-optimization/64454 (optimize (x%5)%5)
Marc Glisse [Fri, 15 May 2015 17:34:15 +0000 (19:34 +0200)]
re PR tree-optimization/64454 (optimize (x%5)%5)

2015-05-15  Marc Glisse  <marc.glisse@inria.fr>

PR tree-optimization/64454
gcc/
* match.pd ((X % Y) % Y, (X % Y) < Y): New patterns.
(-1 - A -> ~A): Remove unnecessary condition.
gcc/testsuite/
* gcc.dg/modmod.c: New testcase.

From-SVN: r223221

9 years agoAdd support for CFI directives in fp emulation routines for ARM.
Martin Galvan [Fri, 15 May 2015 16:57:10 +0000 (16:57 +0000)]
Add support for CFI directives in fp emulation routines for ARM.

2015-05-15  Martin Galvan  <martin.galvan@tallertechnologies.com>

        * config/arm/lib1funcs.S (CFI_START_FUNCTION, CFI_END_FUNCTION):
        New macros.
        * config/arm/ieee754-df.S: Add CFI directives.
        * config/arm/ieee754-sf.S: Add CFI directives.

From-SVN: r223220

9 years ago[PATCH 9/13] x86 musl support
Gregor Richards [Fri, 15 May 2015 13:20:01 +0000 (13:20 +0000)]
[PATCH 9/13] x86 musl support

On behalf of Szabolcs Nagy.

2015-05-15  Gregor Richards  <gregor.richards@uwaterloo.ca>

* config/i386/linux.h (MUSL_DYNAMIC_LINKER): Define.
* config/i386/linux64.h (MUSL_DYNAMIC_LINKER32): Define.
(MUSL_DYNAMIC_LINKER64, MUSL_DYNAMIC_LINKERX32): Define.

From-SVN: r223218

9 years agoAdd missed testcase for 223215.
Ilya Enkovich [Fri, 15 May 2015 09:49:25 +0000 (09:49 +0000)]
Add missed testcase for 223215.

From-SVN: r223217

9 years agoipa-chkp.h (chkp_wrap_function): New.
Ilya Enkovich [Fri, 15 May 2015 09:48:13 +0000 (09:48 +0000)]
ipa-chkp.h (chkp_wrap_function): New.

gcc/

* ipa-chkp.h (chkp_wrap_function): New.
* ipa-chkp.c (chkp_wrap_function): Remove 'static'.
(chkp_wrap_function_name): New.
(chkp_build_instrumented_fndecl): Use chkp_wrap_function_name
to get wrapper name.
* lto-cgraph.c: Include ipa-chkp.h.
(input_cgraph_1): Avoid alias chain for wrappers.

gcc/testsuite/

* gcc.dg/lto/chkp-wrap-asm-name_0.c: New.

From-SVN: r223216

9 years agore PR middle-end/66134 ([CHKP] ICE: Unable to coalesce ssa_names 18 and 17 which...
Ilya Enkovich [Fri, 15 May 2015 09:38:44 +0000 (09:38 +0000)]
re PR middle-end/66134 ([CHKP] ICE: Unable to coalesce ssa_names 18 and 17 which are marked as MUST COALESCE)

gcc/

PR middle-end/66134
* tree-chkp.c (chkp_get_orginal_bounds_for_abnormal_copy): New.
(chkp_maybe_copy_and_register_bounds): Don't copy abnormal copy.

gcc/testsuite/

PR middle-end/66134
* gcc.target/i386/mpx/pr66134.c: New test.

From-SVN: r223215

9 years ago[AArch64] Removed unused SLOWMUL target flags
Kyrylo Tkachov [Fri, 15 May 2015 08:47:18 +0000 (08:47 +0000)]
[AArch64] Removed unused SLOWMUL target flags

* config/aarch64/aarch64.h (AARCH64_TUNE_SLOWMUL): Delete.
(AARCH64_FL_SLOWMUL): Delete.
(AARCH64_FL_CRC): Redefine to 1<<3.
(AARCH64_FL_USE_FMA_STEERING_PASS): Redefine to 1<<4.

From-SVN: r223214

9 years agoApply arm.h change for previous commit.
Ramana Radhakrishnan [Fri, 15 May 2015 08:47:06 +0000 (08:47 +0000)]
Apply arm.h change for previous commit.

2015-05-15  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>

* config/arm/arm.h (LOGICAL_OP_NON_SHORT_CIRCUIT): Add appropriate
casting.

From-SVN: r223213

9 years agoFix up bootstrap and fix typo in related changelog entry.
Ramana Radhakrishnan [Fri, 15 May 2015 08:43:13 +0000 (08:43 +0000)]
Fix up bootstrap and fix typo in related changelog entry.

2015-05-15  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>

* config/arm/arm.h (LOGICAL_OP_NON_SHORT_CIRCUIT): Add appropriate
casting.

From-SVN: r223212

9 years agoalpha.md (extendqidi2): Use general_operand instead of some_operand for operand[1...
Uros Bizjak [Fri, 15 May 2015 05:04:32 +0000 (07:04 +0200)]
alpha.md (extendqidi2): Use general_operand instead of some_operand for operand[1] predicate.

* config/alpha/alpha.md (extendqidi2): Use general_operand
instead of some_operand for operand[1] predicate.
(extendhidi2): Ditto.
(cbranchdi4): Use general_operand instead of some_operand
for operand[1] and operands[2] predicates.
(cstoredi4): Ditto.
* config/alpha/predicates.md (some_operand): Remove unused predicate.
(some_ni_operand): Ditto.

From-SVN: r223211

9 years agoalpha.c (alpha_extract_integer): Do not handle CONST_WIDE_INT and CONST_DOUBLE.
Uros Bizjak [Fri, 15 May 2015 05:02:17 +0000 (07:02 +0200)]
alpha.c (alpha_extract_integer): Do not handle CONST_WIDE_INT and CONST_DOUBLE.

* config/alpha/alpha.c (alpha_extract_integer): Do not handle
CONST_WIDE_INT and CONST_DOUBLE.  Assert CONST_INT_P (x).
(alpha_legitimate_constant_p) <case CONST_WIDE_INT>: Check high and
low part of the constant using alpha_emit_set_const_1.
(alpha_expand_mov): Do not handle CONST_WIDE_INT and CONST_DOUBLE.

From-SVN: r223210

9 years agovarasm.c (output_constant_pool_1): Pass down alignment from constant pool entry's...
Rohit Arul Raj [Fri, 15 May 2015 04:58:27 +0000 (22:58 -0600)]
varasm.c (output_constant_pool_1): Pass down alignment from constant pool entry's descriptor to output_constant_pool_2.

2015-05-14  Rohit Arul Raj  <rohitrulraj@freescale.com>

* varasm.c (output_constant_pool_1): Pass down alignment from
constant pool entry's descriptor to output_constant_pool_2.
(output_object_block): Add comment prior to call to
output_constant_pool_1.

* gcc.target/powerpc/pr60158.c: New test.

From-SVN: r223209

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

From-SVN: r223208

9 years agore PR rtl-optimization/65862 ([MIPS] IRA/LRA issue: integers spilled to floating...
Vladimir Makarov [Thu, 14 May 2015 20:40:44 +0000 (20:40 +0000)]
re PR rtl-optimization/65862 ([MIPS] IRA/LRA issue: integers spilled to floating-point registers)

2015-05-14  Vladimir Makarov  <vmakarov@redhat.com>

PR rtl-optimization/65862
* target.def (ira_change_pseudo_allocno_class): New hook.
* targhooks.c (default_ira_change_pseudo_allocno_class): Default
value of the hook.
* targhooks.h (default_ira_change_pseudo_allocno_class): New
extern
* doc/tm.texi.in (TARGET_IRA_CHANGE_PSEUDO_ALLOCNO_CLASS): Add the
hook.
* ira-costs.c (find_costs_and_classes): Call the hook and change
classes when it is necessary.
* doc/tm.texi: Update.

From-SVN: r223202

9 years agoi386.md (sibcall_memory): Check that register with callee address is not also used...
Alexander Monakov [Thu, 14 May 2015 17:43:28 +0000 (20:43 +0300)]
i386.md (sibcall_memory): Check that register with callee address is not also used as one of the arguments...

* config/i386/i386.md (sibcall_memory): Check that register with
callee address is not also used as one of the arguments, instead
of checking that it is not live after the sibcall.
(sibcall_pop_memory): Ditto.
(sibcall_value_memory): Ditto.
(sibcall_value_pop_memory): Ditto.
testsuite:
* gcc.target/i386/sibcall-7.c: New test.
* gcc.target/i386/sibcall-8.c: New test.

From-SVN: r223201

9 years agogeneric-match-head.c (types_match): Handle non-types.
Marc Glisse [Thu, 14 May 2015 14:45:33 +0000 (16:45 +0200)]
generic-match-head.c (types_match): Handle non-types.

2015-05-14  Marc Glisse  <marc.glisse@inria.fr>

gcc/
* generic-match-head.c (types_match): Handle non-types.
* gimple-match-head.c (types_match): Likewise.
* match.pd: Remove unnecessary TREE_TYPE for types_match.

From-SVN: r223199

9 years agore PR libstdc++/66055 (hash containers missing required reserving constructors)
Nathan Myers [Thu, 14 May 2015 13:47:19 +0000 (13:47 +0000)]
re PR libstdc++/66055 (hash containers missing required reserving constructors)

2015-05-14  Nathan Myers  <ncm@cantrip.org>
    Jonathan Wakely  <jwakely@redhat.com>

PR libstdc++/66055
* include/std/unordered_map (unordered_map, unordered_multimap): Add
missing constructors.
* include/std/unordered_set (unordered_set, unordered_multiset):
Likewise.
* testsuite/23_containers/unordered_map/cons/66055.cc: New.
* testsuite/23_containers/unordered_multimap/cons/66055.cc: New.
* testsuite/23_containers/unordered_multiset/cons/66055.cc: New.
* testsuite/23_containers/unordered_set/cons/66055.cc: New.

Co-Authored-By: Jonathan Wakely <jwakely@redhat.com>
From-SVN: r223198

9 years ago[AArch64] Use conditional negate for abs
Wilco Dijkstra [Thu, 14 May 2015 13:35:30 +0000 (13:35 +0000)]
[AArch64] Use conditional negate for abs

2015-05-14  Wilco Dijkstra  <wdijkstr@arm.com>

      gcc/
* config/aarch64/aarch64.md (absdi2): Optimize abs expansion.
(csneg3<mode>_insn): Enable expansion of pattern.

      gcc/testsuite/
* gcc.target/aarch64/abs_1.c (abs64): Update test for new abs expansion.
(abs64_in_dreg): Likewise.

From-SVN: r223197

9 years agore PR libstdc++/66011 (call to '__open_missing_mode' declared with attribute error)
Jonathan Wakely [Thu, 14 May 2015 13:23:14 +0000 (14:23 +0100)]
re PR libstdc++/66011 (call to '__open_missing_mode' declared with attribute error)

PR libstdc++/66011
* acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Check for fchmod and
sendfile.
* config.h.in: Regenerate.
* configure: Regenerate.
* src/filesystem/ops.cc (do_copy_file): Fix arguments to open(). Do
not return after copying contents. Use fchmod, fchmodat, and sendfile
when available.
(current_path, permissions, space): Use errno not return value.

From-SVN: r223196

9 years agore PR libstdc++/66018 (opendir configure test not working when GCC_NO_EXECUTABLES)
Jonathan Wakely [Thu, 14 May 2015 11:47:19 +0000 (12:47 +0100)]
re PR libstdc++/66018 (opendir configure test not working when GCC_NO_EXECUTABLES)

PR libstdc++/66018
* acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Check for struct
dirent.d_type.
* config.h.in: Regenerate.
* configure: Regenerate.
* configure.ac (AC_STRUCT_DIRENT_D_TYPE): Remove.

From-SVN: r223194

9 years agore PR c/66066 (r222889 causes bogus error: initializer element is not constant)
Marek Polacek [Thu, 14 May 2015 11:42:53 +0000 (11:42 +0000)]
re PR c/66066 (r222889 causes bogus error: initializer element is not constant)

PR c/66066
PR c/66127
* c-common.c (c_fully_fold): Pass false down to c_fully_fold_internal.
(c_fully_fold_internal): Fold C_MAYBE_CONST_EXPRs with
C_MAYBE_CONST_EXPR_INT_OPERANDS set.  Add FOR_INT_CONST argument and
use it.  If FOR_INT_CONST, require that all evaluated operands be
INTEGER_CSTs.

* c-typeck.c (digest_init): Call pedwarn_init with OPT_Wpedantic
rather than with 0.

* gcc.dg/pr14649-1.c: Add -Wpedantic.
* gcc.dg/pr19984.c: Likewise.
* gcc.dg/pr66066-1.c: New test.
* gcc.dg/pr66066-2.c: New test.
* gcc.dg/pr66066-3.c: New test.

From-SVN: r223193

9 years agorl78.c (rl78_select_section): Select the correct default section based upon the categ...
Nick Clifton [Thu, 14 May 2015 08:37:09 +0000 (08:37 +0000)]
rl78.c (rl78_select_section): Select the correct default section based upon the category of the decl.

* config/rl78/rl78.c (rl78_select_section): Select the correct
default section based upon the category of the decl.

From-SVN: r223192

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

From-SVN: r223189

9 years agosjlj.m4: New file.
Eric Botcazou [Wed, 13 May 2015 21:15:31 +0000 (21:15 +0000)]
sjlj.m4: New file.

config/
* sjlj.m4: New file.
libgcc/
* configure.ac: Include config/sjlj.m4.
Remove manual SJLJ check, add GCC_CHECK_SJLJ_EXCEPTIONS and adjust.
* config.in: Regenerate.
* configure: Likewise.
* config.host: Replace enable_sjlj_exceptions by ac_cv_sjlj_exceptions.
libjava/
* configure.ac: Include config/sjlj.m4.
Remove manual SJLJ check, add GCC_CHECK_SJLJ_EXCEPTIONS and adjust.
* include/config.h.in: Regenerate.
* configure: Likewise.
* exception.cc: Replace SJLJ_EXCEPTIONS by __USING_SJLJ_EXCEPTIONS__.
* stacktrace.cc: Likewise.
* include/default-signal.h: Likewise.
* sysdep/i386/backtrace.h: Likewise.
libobjc/
* configure.ac: Remove manual SJLJ check.
* config.h.in: Regenerate.
* configure: Likewise.
* exception.c: Replace SJLJ_EXCEPTIONS by __USING_SJLJ_EXCEPTIONS__.
libstdc++-v3/
* acinclude.m4 (GLIBCXX_ENABLE_SJLJ_EXCEPTIONS): Delete.
* configure.ac: Remove GLIBCXX_ENABLE_SJLJ_EXCEPTIONS.
* config.h.in: Regenerate.
* configure: Likewise.
* libsupc++/eh_personality.cc: Replace _GLIBCXX_SJLJ_EXCEPTIONS by
__USING_SJLJ_EXCEPTIONS__.
* libsupc++/eh_throw.cc: Likewise.
* libsupc++/eh_ptr.cc: Likewise.
* doc/html/manual/appendix_porting.html: Remove
GLIBCXX_ENABLE_SJLJ_EXCEPTIONS
* doc/xml/manual/build_hacking.xml: Likewise.
* doc/html/manual/configure.html: Remove --enable-sjlj-exceptions.
* doc/xml/manual/configure.xml: Likewise.

From-SVN: r223181

9 years agore PR rtl-optimization/30967 (Extra sign/zero extend with word comparison result)
Segher Boessenkool [Wed, 13 May 2015 19:14:07 +0000 (21:14 +0200)]
re PR rtl-optimization/30967 (Extra sign/zero extend with word comparison result)

PR rtl-optimization/30967
* config/rs6000/rs6000.c (rs6000_rtx_costs): Don't consider
destination mode for the cost of scc patterns.

From-SVN: r223174

9 years agoi386.md (*mul<mode>3_1): Merge with *mulhi3_1 using SWIM248 mode iterator.
Uros Bizjak [Wed, 13 May 2015 18:01:27 +0000 (20:01 +0200)]
i386.md (*mul<mode>3_1): Merge with *mulhi3_1 using SWIM248 mode iterator.

* config/i386/i386.md (*mul<mode>3_1): Merge with *mulhi3_1
using SWIM248 mode iterator.
(*mulv<mode>4): Use x86_64_sext_operand for operand[2] constraint.
(*mulvhi4): mark operand[1] as commutative.  Use nonimmediate_operand
for operand[2] constraint.
(*mulv<mode>4_1): Merge with *mulvhi4_1 using SWI248 mode iterator.

From-SVN: r223173

9 years agore PR middle-end/66133 (Wrong-code with noreturn #pragma omp task body)
Jakub Jelinek [Wed, 13 May 2015 16:59:20 +0000 (18:59 +0200)]
re PR middle-end/66133 (Wrong-code with noreturn #pragma omp task body)

PR middle-end/66133
* omp-low.c (expand_omp_taskreg): For GIMPLE_OMP_TASK expansion,
make sure it is never noreturn, even when the task body does not
return.
(lower_omp_taskreg): For GIMPLE_OMP_TASK, emit GIMPLE_OMP_CONTINUE
right before GIMPLE_OMP_RETURN.
(make_gimple_omp_edges): Accept GIMPLE_OMP_CONTINUE as ->cont
for GIMPLE_OMP_TASK.  For GIMPLE_OMP_RETURN corresponding to
GIMPLE_OMP_TASK add an EDGE_ABNORMAL edge from entry to exit.

* testsuite/libgomp.c/pr66133.c: New test.

From-SVN: r223171

9 years agoshared_ptr_base.h (__shared_count(unique_ptr&&)): Check for nullptr (LWG 2415).
Jonathan Wakely [Wed, 13 May 2015 16:42:18 +0000 (17:42 +0100)]
shared_ptr_base.h (__shared_count(unique_ptr&&)): Check for nullptr (LWG 2415).

* include/bits/shared_ptr_base.h (__shared_count(unique_ptr&&)): Check
for nullptr (LWG 2415).
* testsuite/20_util/shared_ptr/cons/unique_ptr_deleter.cc: Test
construction from empty unique_ptr.
* testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error.
* testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.

From-SVN: r223170

9 years ago[tree-ssa-math-opts] Expand pow (x, CONST) using square roots when possible
Kyrylo Tkachov [Wed, 13 May 2015 15:26:14 +0000 (15:26 +0000)]
[tree-ssa-math-opts] Expand pow (x, CONST) using square roots when possible

* params.def (PARAM_MAX_POW_SQRT_DEPTH): New param.
* tree-ssa-math-opts.c: Include params.h
(pow_synth_sqrt_info): New struct.
(representable_as_half_series_p): New function.
(get_fn_chain): Likewise.
(print_nested_fn): Likewise.
(dump_fractional_sqrt_sequence): Likewise.
(dump_integer_part): Likewise.
(expand_pow_as_sqrts): Likewise.
(gimple_expand_builtin_pow): Use above to attempt to expand
pow as series of square roots.  Removed now unused variables.

* gcc.target/aarch64/pow-sqrt-synth-1.c: New test.
* gcc.dg/pow-sqrt.x: New file.
* gcc.dg/pow-sqrt-1.c: New test.
* gcc.dg/pow-sqrt-2.c: Likewise.
* gcc.dg/pow-sqrt-3.c: Likewise.

From-SVN: r223167

9 years agoalpha.c (alpha_emit_set_long_const): Remove c1 argument.
Uros Bizjak [Wed, 13 May 2015 15:02:26 +0000 (17:02 +0200)]
alpha.c (alpha_emit_set_long_const): Remove c1 argument.

* config/alpha/alpha.c (alpha_emit_set_long_const): Remove c1 argument.
(alpha_extract_integer): Redeclare as static HOST_WIDE_INT.
Remove *p0 and *p1 arguments.  Rewrite function.
(alpha_legitimate_constant_p): Update call to alpha_extract_integer.
(alpha_split_const_mov): Update calls to alpha_extract_integer and
alpha_emit_set_long_const.
(alpha_expand_epilogue): Update calls to alpha_emit_set_long_const.
(alpha_output_mi_thunk_osf): Ditto.
* config/alpha/alpha.md (movti): Do not check operands[1]
for CONST_DOUBLE.

From-SVN: r223166

9 years agore PR tree-optimization/66129 (FAIL: gcc.dg/vect/vect-strided-*c execution test)
Richard Biener [Wed, 13 May 2015 14:38:19 +0000 (14:38 +0000)]
re PR tree-optimization/66129 (FAIL: gcc.dg/vect/vect-strided-*c execution test)

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

PR tree-optimization/66129
* tree-vect-slp.c (vect_build_slp_tree): Make sure all ops are
commutative.
(vect_schedule_slp_instance): Fix typo.

From-SVN: r223164

9 years agolibcpp/input.c: Add a way to visualize the linemaps (-fdump-internal-locations)
David Malcolm [Wed, 13 May 2015 13:58:18 +0000 (13:58 +0000)]
libcpp/input.c: Add a way to visualize the linemaps (-fdump-internal-locations)

gcc/ChangeLog:
* common.opt (fdump-internal-locations): New option.
* input.c: Include diagnostic-core.h.
(get_end_location): New function.
(write_digit): New function.
(write_digit_row): New function.
(dump_location_range): New function.
(dump_labelled_location_range): New function.
(dump_location_info): New function.
* input.h (dump_location_info): New prototype.
* toplev.c (compile_file): Handle flag_dump_locations.

libcpp/ChangeLog:
* include/line-map.h (source_location): Add a reference to
location-example.txt to the descriptive comment.
* location-example.txt: New file.

From-SVN: r223163

9 years agostl_raw_storage_iter.h (raw_storage_iterator::base()): Define (LWG 2454).
Jonathan Wakely [Wed, 13 May 2015 13:54:46 +0000 (14:54 +0100)]
stl_raw_storage_iter.h (raw_storage_iterator::base()): Define (LWG 2454).

* include/bits/stl_raw_storage_iter.h (raw_storage_iterator::base()):
Define (LWG 2454).
* testsuite/20_util/raw_storage_iterator/base.cc: New.

From-SVN: r223162

9 years agofuture (packaged_task(allocator_arg_t, const A&, F&&): Remove explicit (LWG 2407).
Jonathan Wakely [Wed, 13 May 2015 13:54:40 +0000 (14:54 +0100)]
future (packaged_task(allocator_arg_t, const A&, F&&): Remove explicit (LWG 2407).

* include/std/future (packaged_task(allocator_arg_t, const A&, F&&):
Remove explicit (LWG 2407).

From-SVN: r223161

9 years agobasic_string.h (basic_string::basic_string()): Make noexcept conditional on allocator...
Jonathan Wakely [Wed, 13 May 2015 13:32:36 +0000 (14:32 +0100)]
basic_string.h (basic_string::basic_string()): Make noexcept conditional on allocator (LWG 2455).

* include/bits/basic_string.h (basic_string::basic_string()): Make
noexcept conditional on allocator (LWG 2455).

From-SVN: r223160

9 years ago* include/std/complex (polar): Check for negative rho (LWG 2459).
Jonathan Wakely [Wed, 13 May 2015 13:32:31 +0000 (14:32 +0100)]
* include/std/complex (polar): Check for negative rho (LWG 2459).

From-SVN: r223159

9 years agotuple (apply): Handle pointers to member (LWG 2418).
Jonathan Wakely [Wed, 13 May 2015 13:12:48 +0000 (14:12 +0100)]
tuple (apply): Handle pointers to member (LWG 2418).

* include/experimental/tuple (apply): Handle pointers to member (LWG
2418).
* include/std/functional (_Mem_fn_base): Make constructors constexpr.
(_Maybe_wrap_member_pointer::__do_wrap): Make constexpr.
* testsuite/experimental/tuple/apply.cc: Test pointer to member.

From-SVN: r223158

9 years agogimple-expr.h (is_gimple_constant): Reorder.
Eric Botcazou [Wed, 13 May 2015 12:36:47 +0000 (12:36 +0000)]
gimple-expr.h (is_gimple_constant): Reorder.

* gimple-expr.h (is_gimple_constant): Reorder.
* tree-ssa-propagate.c (before_dom_children): Use inline accessor.

From-SVN: r223156

9 years ago* include/bits/random.h (seed_seq): More noexcept (LWG 2440).
Jonathan Wakely [Wed, 13 May 2015 12:21:52 +0000 (13:21 +0100)]
* include/bits/random.h (seed_seq): More noexcept (LWG 2440).

From-SVN: r223155

9 years agoalloc_traits.h (_S_max_size): Implement LWG 2466.
Jonathan Wakely [Wed, 13 May 2015 12:21:45 +0000 (13:21 +0100)]
alloc_traits.h (_S_max_size): Implement LWG 2466.

* include/bits/alloc_traits.h (_S_max_size): Implement LWG 2466.
* testsuite/20_util/allocator_traits/members/max_size.cc: Adjust.
* testsuite/23_containers/forward_list/allocator/minimal.cc:
Likewise.
* testsuite/23_containers/map/allocator/minimal.cc: Likewise.
* testsuite/23_containers/multimap/allocator/minimal.cc: Likewise.
* testsuite/23_containers/multiset/allocator/minimal.cc: Likewise.
* testsuite/23_containers/set/allocator/minimal.cc: Likewise.
* testsuite/23_containers/unordered_map/allocator/minimal.cc:
Likewise.
* testsuite/23_containers/unordered_multimap/allocator/minimal.cc:
Likewise.
* testsuite/23_containers/unordered_multiset/allocator/minimal.cc:
Likewise.
* testsuite/23_containers/unordered_set/allocator/minimal.cc:
Likewise.
* testsuite/util/testsuite_allocator.h: Remove unused parameter.

From-SVN: r223154