1. 16 May, 2015 12 commits
    • 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 10 commits
  4. 13 May, 2015 3 commits
    • sjlj.m4: New file. · 9b92a9f3
      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
      Eric Botcazou committed
    • re PR rtl-optimization/30967 (Extra sign/zero extend with word comparison result) · 7893307b
      	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
      Segher Boessenkool committed
    • i386.md (*mul<mode>3_1): Merge with *mulhi3_1 using SWIM248 mode iterator. · 1c08a677
      	* 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
      Uros Bizjak committed