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
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
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
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
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
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
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
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
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
Jason Merrill [Mon, 18 May 2015 17:13:59 +0000 (13:13 -0400)]
* ptree.c (cxx_print_xnode): Handle TRAIT_EXPR.
From-SVN: r223299
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
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
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
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
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
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
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
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
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
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
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
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
GCC Administrator [Mon, 18 May 2015 00:16:20 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r223280
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
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
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
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
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
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
GCC Administrator [Sun, 17 May 2015 00:16:20 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r223265
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
GCC Administrator [Sat, 16 May 2015 00:16:16 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r223230
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
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
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
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
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
Ilya Enkovich [Fri, 15 May 2015 09:49:25 +0000 (09:49 +0000)]
Add missed testcase for 223215.
From-SVN: r223217
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
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
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
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
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
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
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
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
GCC Administrator [Fri, 15 May 2015 00:16:15 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r223208
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
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
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
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
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
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
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
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
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
GCC Administrator [Thu, 14 May 2015 00:16:15 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r223189
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
David Malcolm [Wed, 13 May 2015 11:51:03 +0000 (11:51 +0000)]
libcpp: Replace macro usage with C++ constructs
libcpp/ChangeLog:
* include/line-map.h (MAX_SOURCE_LOCATION): Convert from a macro
to a const source_location.
(RESERVED_LOCATION_COUNT): Likewise.
(linemap_check_ordinary): Convert from a macro to a pair of inline
functions, for const/non-const arguments.
(MAP_START_LOCATION): Likewise.
(ORDINARY_MAP_STARTING_LINE_NUMBER): Likewise.
(ORDINARY_MAP_INCLUDER_FILE_INDEX): Likewise.
(ORDINARY_MAP_IN_SYSTEM_HEADER_P): Likewise.
(ORDINARY_MAP_NUMBER_OF_COLUMN_BITS): Convert from a macro to a
pair of inline functions, for const/non-const arguments, where the
latter is named...
(SET_ORDINARY_MAP_NUMBER_OF_COLUMN_BITS): New function.
(ORDINARY_MAP_FILE_NAME): Convert from a macro to a pair of inline
functions, for const/non-const arguments.
(MACRO_MAP_MACRO): Likewise.
(MACRO_MAP_NUM_MACRO_TOKENS): Likewise.
(MACRO_MAP_LOCATIONS): Likewise.
(MACRO_MAP_EXPANSION_POINT_LOCATION): Likewise.
(LINEMAPS_MAP_INFO): Likewise.
(LINEMAPS_MAPS): Likewise.
(LINEMAPS_ALLOCATED): Likewise.
(LINEMAPS_USED): Likewise.
(LINEMAPS_CACHE): Likewise.
(LINEMAPS_ORDINARY_CACHE): Likewise.
(LINEMAPS_MACRO_CACHE): Likewise.
(LINEMAPS_MAP_AT): Convert from a macro to an inline function.
(LINEMAPS_LAST_MAP): Likewise.
(LINEMAPS_LAST_ALLOCATED_MAP): Likewise.
(LINEMAPS_ORDINARY_MAPS): Likewise.
(LINEMAPS_ORDINARY_MAP_AT): Likewise.
(LINEMAPS_ORDINARY_ALLOCATED): Likewise.
(LINEMAPS_ORDINARY_USED): Likewise.
(LINEMAPS_LAST_ORDINARY_MAP): Likewise.
(LINEMAPS_LAST_ALLOCATED_ORDINARY_MAP): Likewise.
(LINEMAPS_MACRO_MAPS): Likewise.
(LINEMAPS_MACRO_MAP_AT): Likewise.
(LINEMAPS_MACRO_ALLOCATED): Likewise.
(LINEMAPS_MACRO_USED): Likewise.
(LINEMAPS_MACRO_LOWEST_LOCATION): Likewise.
(LINEMAPS_LAST_MACRO_MAP): Likewise.
(LINEMAPS_LAST_ALLOCATED_MACRO_MAP): Likewise.
(IS_ADHOC_LOC): Likewise.
(COMBINE_LOCATION_DATA): Likewise.
(SOURCE_LINE): Likewise.
(SOURCE_COLUMN): Likewise.
(LAST_SOURCE_LINE_LOCATION): Likewise.
(LAST_SOURCE_LINE): Likewise.
(LAST_SOURCE_COLUMN): Likewise.
(LAST_SOURCE_LINE_LOCATION)
(INCLUDED_FROM): Likewise.
(MAIN_FILE_P): Likewise.
(LINEMAP_FILE): Likewise.
(LINEMAP_LINE): Likewise.
(LINEMAP_SYSP): Likewise.
(linemap_location_before_p): Likewise.
* line-map.c (linemap_check_files_exited): Make local "map" const.
(linemap_add): Use SET_ORDINARY_MAP_NUMBER_OF_COLUMN_BITS.
(linemap_line_start): Likewise.
From-SVN: r223152
Michael Haubenwallner [Wed, 13 May 2015 11:31:32 +0000 (11:31 +0000)]
zlib: Bump to automake 1.11.6
2015-05-13 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
* Makefile.in: Regenerated with automake-1.11.6.
* aclocal.m4: Likewise.
* configure: Likewise.
From-SVN: r223151
Michael Haubenwallner [Wed, 13 May 2015 11:30:22 +0000 (11:30 +0000)]
lto-plugin: Bump to automake 1.11.6
2015-05-13 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
* Makefile.am: Drop 'by automake version' from top-level comment.
* Makefile.in: Regenerated with automake-1.11.6.
* aclocal.m4: Likewise.
* configure: Likewise.
From-SVN: r223150
Michael Haubenwallner [Wed, 13 May 2015 11:28:41 +0000 (11:28 +0000)]
libvtv: Bump to automake 1.11.6
2015-05-13 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
* Makefile.in: Regenerated with automake-1.11.6.
* aclocal.m4: Likewise.
* configure: Likewise.
* testsuite/Makefile.in: Likewise.
* testsuite/other-tests/Makefile.in: Likewise.
From-SVN: r223149