1. 16 May, 2015 17 commits
    • d-demangle.c (dlang_symbol_kinds): New enum. · 7e865541
      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 committed
    • d-demangle.c (dlang_template_args): Skip over specialized template parameters in mangled symbol. · ed4cdb85
      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 committed
    • d-demangle.c (dlang_type): Handle cent and ucent types. · 59251a73
      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 committed
    • d-demangle.c (dlang_attributes): Handle return attributes, ignoring return… · 7ce4461f
      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 committed
    • d-demangle.c (dlang_identifier): Check encoded length of identifier to verify… · 5cc158e9
      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 committed
    • d-demangle.c (dlang_type_modifiers): New function. · fa66ced4
      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 committed
    • d-demangle.c (dlang_call_convention): Return NULL if have reached the end of the… · 76b41cad
      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 committed
    • d-demangle.c (dlang_parse_string): Represent embedded whitespace or… · eb058b7d
      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 committed
    • MAINTAINERS (Write After Approval): Add myself. · 886faf50
      2015-05-16  Iain Buclaw  <ibuclaw@gdcproject.org>
      
      	* MAINTAINERS (Write After Approval): Add myself.
      
      From-SVN: r223239
      Iain Buclaw committed
    • re PR fortran/66113 (Variable n cannot appear in the expression with nested blocks) · 1aae3f05
      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
      Thomas Koenig committed
    • re PR fortran/44054 (Handle -Werror, -Werror=, -fdiagnostics-show-option, !GCC$… · 2a2703a2
      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 committed
    • re PR fortran/44054 (Handle -Werror, -Werror=, -fdiagnostics-show-option, !GCC$… · 40de31cf
      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
      Manuel López-Ibáñez committed
    • re PR target/65768 (sub-optimimal code for constant Uses in loop) · 26c66656
      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
      Kugan Vivekanandarajah committed
    • 2015-05-16 Mikael Morin <mikael@gcc.gnu.org · e24ba4ab
      	    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
      Mikael Morin committed
    • re PR target/66140 (ICE at extract_insn, at recog.c:2343 when compiling for alpha with gcc-5.1.1) · 30a5d3e6
      	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
      Uros Bizjak committed
    • libgo: Use __USING_SJLJ_EXCEPTIONS__ rather than configure test. · 5ea73ae3
      From Eric Botcazou.
      
      From-SVN: r223231
      Ian Lance Taylor committed
    • Daily bump. · f03f953f
      From-SVN: r223230
      GCC Administrator committed
  2. 15 May, 2015 15 commits
  3. 14 May, 2015 8 commits
    • re PR rtl-optimization/65862 ([MIPS] IRA/LRA issue: integers spilled to floating-point registers) · 5074a1f8
      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
      Vladimir Makarov committed
    • i386.md (sibcall_memory): Check that register with callee address is not also… · f226d229
      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
      Alexander Monakov committed
    • generic-match-head.c (types_match): Handle non-types. · aea417d7
      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
      Marc Glisse committed
    • re PR libstdc++/66055 (hash containers missing required reserving constructors) · ddbd742b
      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
      Nathan Myers committed
    • [AArch64] Use conditional negate for abs · fc8b587d
      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
      Wilco Dijkstra committed
    • re PR libstdc++/66011 (call to '__open_missing_mode' declared with attribute error) · a0c4531c
      	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 committed
    • re PR libstdc++/66018 (opendir configure test not working when GCC_NO_EXECUTABLES) · 0b9fc9fe
      	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
      Jonathan Wakely committed
    • re PR c/66066 (r222889 causes bogus error: initializer element is not constant) · 3aa3c9fc
      	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
      Marek Polacek committed