Commit Graph

138156 Commits

Author SHA1 Message Date
Iain Buclaw 59251a7367 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
2015-05-16 16:50:08 +00:00
Iain Buclaw 7ce4461f37 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
2015-05-16 16:49:57 +00:00
Iain Buclaw 5cc158e9a9 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
2015-05-16 16:49:46 +00:00
Iain Buclaw fa66ced4bf 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
2015-05-16 16:49:35 +00:00
Iain Buclaw 76b41cad1c 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
2015-05-16 16:49:25 +00:00
Iain Buclaw eb058b7de6 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
2015-05-16 16:49:13 +00:00
Iain Buclaw 886faf50c7 MAINTAINERS (Write After Approval): Add myself.
2015-05-16  Iain Buclaw  <ibuclaw@gdcproject.org>

	* MAINTAINERS (Write After Approval): Add myself.

From-SVN: r223239
2015-05-16 13:46:58 +00:00
Thomas Koenig 1aae3f0547 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
2015-05-16 12:33:01 +00:00
Manuel López-Ibáñez 2a2703a2bd 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
2015-05-16 12:31:00 +00:00
Manuel López-Ibáñez 40de31cfe4 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
2015-05-16 12:30:04 +00:00
Kugan Vivekanandarajah 26c666565d 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
2015-05-16 09:35:52 +00:00
Mikael Morin e24ba4ab12 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
2015-05-16 08:09:52 +00:00
Uros Bizjak 30a5d3e618 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
2015-05-16 09:28:16 +02:00
Ian Lance Taylor 5ea73ae3b8 libgo: Use __USING_SJLJ_EXCEPTIONS__ rather than configure test.
From Eric Botcazou.

From-SVN: r223231
2015-05-16 00:17:46 +00:00
GCC Administrator f03f953f58 Daily bump.
From-SVN: r223230
2015-05-16 00:16:16 +00:00
Jonathan Wakely 9caf7b2729 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
2015-05-15 19:37:25 +01:00
Mikhail Maltsev 7a37fa9070 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
2015-05-15 18:02:50 +00:00
Marc Glisse bc4315fbb0 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
2015-05-15 17:34:15 +00:00
Martin Galvan ff935d0c3d 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
2015-05-15 16:57:10 +00:00
Gregor Richards cf57e99350 [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
2015-05-15 13:20:01 +00:00
Ilya Enkovich 77942fbd40 Add missed testcase for 223215.
From-SVN: r223217
2015-05-15 09:49:25 +00:00
Ilya Enkovich 2662516181 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
2015-05-15 09:48:13 +00:00
Ilya Enkovich 2c1f37b57a 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
2015-05-15 09:38:44 +00:00
Kyrylo Tkachov 95f991707b [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
2015-05-15 08:47:18 +00:00
Ramana Radhakrishnan 4cbd1e61e6 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
2015-05-15 08:47:06 +00:00
Ramana Radhakrishnan 291e978467 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
2015-05-15 08:43:13 +00:00
Uros Bizjak 944ce67865 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
2015-05-15 07:04:32 +02:00
Uros Bizjak 7eb05850a8 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
2015-05-15 07:02:17 +02:00
Rohit Arul Raj 06e7e3183b 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
2015-05-14 22:58:27 -06:00
GCC Administrator a5551ee6fc Daily bump.
From-SVN: r223208
2015-05-15 00:16:15 +00:00
Vladimir Makarov 5074a1f86a 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
2015-05-14 20:40:44 +00:00
Alexander Monakov f226d22967 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
2015-05-14 20:43:28 +03:00
Marc Glisse aea417d748 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
2015-05-14 14:45:33 +00:00
Nathan Myers ddbd742bf8 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
2015-05-14 14:47:19 +01:00
Wilco Dijkstra fc8b587d7e [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
2015-05-14 13:35:30 +00:00
Jonathan Wakely a0c4531ccf 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
2015-05-14 14:23:14 +01:00
Jonathan Wakely 0b9fc9fee8 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
2015-05-14 12:47:19 +01:00
Marek Polacek 3aa3c9fc9a 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
2015-05-14 11:42:53 +00:00
Nick Clifton 12b3286d41 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
2015-05-14 08:37:09 +00:00
GCC Administrator 9f001ecfa8 Daily bump.
From-SVN: r223189
2015-05-14 00:16:15 +00:00
Eric Botcazou 9b92a9f3b6 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
2015-05-13 21:15:31 +00:00
Segher Boessenkool 7893307bb2 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
2015-05-13 21:14:07 +02:00
Uros Bizjak 1c08a6770c 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
2015-05-13 20:01:27 +02:00
Jakub Jelinek b37dddbc77 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
2015-05-13 18:59:20 +02:00
Jonathan Wakely 098aac94ef 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
2015-05-13 17:42:18 +01:00
Kyrylo Tkachov b7dce216c7 [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
2015-05-13 15:26:14 +00:00
Uros Bizjak da80c6b81f 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
2015-05-13 17:02:26 +02:00
Richard Biener 1ece8d4c77 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
2015-05-13 14:38:19 +00:00
David Malcolm ba4ad400f1 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
2015-05-13 13:58:18 +00:00
Jonathan Wakely 49d50b6b8f 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
2015-05-13 14:54:46 +01:00