Commit Graph

125033 Commits

Author SHA1 Message Date
Christian Widmer 992592ec7a re PR target/57927 (-march=core-avx2 different than -march=native on INTEL Haswell (i7-4700K))
PR target/57927
	* config/i386/driver-i386.c (host_detect_local_cpu): Add detection
	of Ivy Bridge and Haswell processors.  Assume core-avx2 for unknown
	AVX2 capable processors.

From-SVN: r202026
2013-08-27 19:24:37 +02:00
Tejas Belagod 9116eb22e4 arm_neon.h: Replace all inline asm implementations of vget_low_* with implementations in...
2013-08-27  Tejas Belagod  <tejas.belagod@arm.com>

        * config/aarch64/arm_neon.h: Replace all inline asm implementations
        of vget_low_* with implementations in terms of other intrinsics.

From-SVN: r202023
2013-08-27 16:22:10 +01:00
Nick Clifton da02a644dd Remove experimental LRA test
From-SVN: r202022
2013-08-27 15:22:07 +00:00
Marc Glisse 1c5abb53b9 re PR middle-end/57219 (__builtin_isinf_sign source comments more restrictive than documentation)
2013-08-27  Marc Glisse  <marc.glisse@inria.fr>

	PR middle-end/57219
	* doc/extend.texi (__builtin_isinf_sign): Restrict the return
	values to -1, 0 and 1.

From-SVN: r202021
2013-08-27 12:39:21 +00:00
Vidya Praveen 2e100703fa aarch64.md (unspec): Add UNSPEC_SISD_SSHL...
gcc/

2013-08-27  Vidya Praveen  <vidyapraveen@arm.com>

	* config/aarch64/aarch64.md (unspec): Add UNSPEC_SISD_SSHL, 
	UNSPEC_SISD_USHL, UNSPEC_USHL_2S, UNSPEC_SSHL_2S, UNSPEC_SISD_NEG.
	(<optab><mode>3_insn): Remove.
	(aarch64_ashl_sisd_or_int_<mode>3): New Pattern.
	(aarch64_lshr_sisd_or_int_<mode>3): Likewise.
	(aarch64_ashr_sisd_or_int_<mode>3): Likewise.
	(define_split for aarch64_lshr_sisd_or_int_di3): Likewise.
	(define_split for aarch64_lshr_sisd_or_int_si3): Likewise.
	(define_split for aarch64_ashr_sisd_or_int_di3): Likewise.
	(define_split for aarch64_ashr_sisd_or_int_si3): Likewise.
	(aarch64_sisd_ushl, aarch64_sisd_sshl): Likewise.
	(aarch64_ushl_2s, aarch64_sshl_2s, aarch64_sisd_neg_qi): Likewise.
	(ror<mode>3_insn): Likewise.
	* config/aarch64/predicates.md (aarch64_simd_register): New.

gcc/testsuite/

2013-08-27  Vidya Praveen  <vidyapraveen@arm.com>

	* gcc.target/aarch64/scalar_shift_1.c: New.

From-SVN: r202020
2013-08-27 11:50:26 +01:00
Richard Biener 4ded82768a re PR tree-optimization/57521 (wrong code for expressions in loop at -O3)
2013-08-27  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/57521
	* tree-if-conv.c (if_convertible_bb_p): Verify that at least
	one edge is non-critical.
	(find_phi_replacement_condition): Make sure to use a non-critical
	edge.  Cleanup and remove old bug workarounds.
	(bb_postdominates_preds): Remove.
	(if_convertible_loop_p_1): Do not compute post-dominators.
	(combine_blocks): Do not free post-dominators.
	(main_tree_if_conversion): Likewise.
	(pass_data_if_conversion): Add TODO_verify_ssa.

	* gcc.dg/torture/pr57521.c: New testcase.

From-SVN: r202019
2013-08-27 10:10:34 +00:00
Jakub Jelinek d15774b631 re PR rtl-optimization/57860 (wrong code for bitwise ops with long long literal on x86_64-linux (32-bit mode))
PR rtl-optimization/57860
	PR rtl-optimization/57861
	PR rtl-optimization/57875
	PR rtl-optimization/57876
	PR rtl-optimization/57877
	* gcc.c-torture/execute/pr57860.c: New test.
	* gcc.c-torture/execute/pr57861.c: New test.
	* gcc.c-torture/execute/pr57875.c: New test.
	* gcc.c-torture/execute/pr57876.c: New test.
	* gcc.c-torture/execute/pr57877.c: New test.

From-SVN: r202018
2013-08-27 11:24:52 +02:00
Paolo Carlini 11729fa7a0 decl.c (grokfndecl): Remove old bison hack.
2013-08-27  Paolo Carlini  <paolo.carlini@oracle.com>

	* decl.c (grokfndecl): Remove old bison hack.

From-SVN: r202017
2013-08-27 08:41:09 +00:00
DJ Delorie 5aa1106101 * config/i386/djgpp.h (ASM_DECLARE_FUNCTION_NAME): New.
From-SVN: r202016
2013-08-27 00:22:05 -04:00
Tim Shen 33fbbb766c Makefile.am: Add regex_scanner.{h,tcc}.
2013-08-26  Tim Shen  <timshen91@gmail.com>

	* include/Makefile.am: Add regex_scanner.{h,tcc}.
	* include/Makefile.in: Regenerate.
	* include/bits/regex.h (match_search): Handle the `__first == __last`
	  situation correctly.
	* include/bits/regex_compiler.h: Move _Scanner...
	* include/bits/regex_scanner.h: ...to here. New.
	* include/bits/regex_compiler.tcc: Move _Scanner...
	* include/bits/regex_scanner.tcc: ...to here, too. New.
	* include/bits/regex_executor.tcc: Use value instead of reference for
	  submatch.
	* include/std/regex: Add regex_scanner.h
	* testsuite/28_regex/algorithms/regex_match/awk/cstring_01.cc: New.
	* testsuite/28_regex/algorithms/regex_match/basic/empty_range.cc: New.
	* testsuite/28_regex/algorithms/regex_match/ecma/cstring_hex.cc: New.
	* testsuite/28_regex/algorithms/regex_match/ecma/empty_range.cc: New.
	* testsuite/28_regex/algorithms/regex_search/ecma/string_01.cc: New.

From-SVN: r202015
2013-08-27 02:49:22 +00:00
Yufeng Zhang fd91cfe3e0 function.c (assign_parm_find_data_types): Set passed_mode and nominal_mode to the TYPE_MODE of nominal_type for the built...
gcc/
	* function.c (assign_parm_find_data_types): Set passed_mode and
	nominal_mode to the TYPE_MODE of nominal_type for the built
	pointer type in case of the struct-pass-by-reference.

From-SVN: r202014
2013-08-27 02:45:17 +00:00
GCC Administrator 1530095001 Daily bump.
From-SVN: r202013
2013-08-27 00:17:02 +00:00
Caroline Tice 1fd07dbc6b Move myself from libvtv "Various Reviewers" to libvtv
"Various Maintainers".

From-SVN: r202010
2013-08-26 15:27:56 -07:00
Joern Rennecke 67518c9337 avr.opt (mfract-convert-truncate): New option.
* config/avr/avr.opt (mfract-convert-truncate): New option.
        * config/avr/avr.c (avr_out_fract): Unless TARGET_FRACT_CONV_TRUNC
        is set, round negative fractional integers according to n1169
        when converting to integer types.

From-SVN: r202008
2013-08-26 17:57:28 +01:00
Joern Rennecke 6e2bcc9822 Add PR marker to PR id in ChangeLog.
From-SVN: r202007
2013-08-26 17:54:29 +01:00
Joern Rennecke 0fdd4508af re PR c/35649 (Incorrect printf warning: expect double has float)
2013-08-26  Joern Rennecke  <joern.rennecke@embecosm.com>
            Joseph Myers  <joseph@codesourcery.com>

        c/35649
        * c-typeck.c (c_common_type): Prefer double_type_node over
        other REAL_TYPE types with the same precision.
        (convert_arguments): Likewise.

Amend patch as suggested:
From:  	"Joseph S. Myers" <joseph@codesourcery.com>
In convert_arguments I think you should be comparing TYPE_MAIN_VARIANT
(valtype) against double_type_node and long_double_type_node, rather than
just valtype.

This is PR c/35649 (so include that number in your ChangeLog entry and
close that bug as fixed).

Co-Authored-By: Joseph Myers <joseph@codesourcery.com>

From-SVN: r202006
2013-08-26 17:52:19 +01:00
Joern Rennecke 907555cee3 avr-stdint.h (INT16_TYPE): Change default to "int".
* config/avr/avr-stdint.h (INT16_TYPE): Change default to "int".
        (UINT16_TYPE): Change default to "unsigned int".

From-SVN: r202005
2013-08-26 17:39:25 +01:00
Joern Rennecke 2531a1d9f4 c-typeck.c (c_common_type): Prefer double_type_node over other REAL_TYPE types with the same precision.
* c-typeck.c (c_common_type): Prefer double_type_node over
        other REAL_TYPE types with the same precision.
        (convert_arguments): Likewise.

From-SVN: r202004
2013-08-26 17:22:37 +01:00
Jan Hubicka d6d989fc19 cgraph.c (cgraph_propagate_frequency): Do not assume that virtual methods can not be called indirectly when...
* cgraph.c (cgraph_propagate_frequency): Do not assume that virtual
	methods can not be called indirectly when their address is not taken.

From-SVN: r202003
2013-08-26 15:42:10 +00:00
Jan Hubicka 2aa3da06e0 * gimple-fold.c (gimple_get_virt_method_for_binfo): Use ctor_for_folding.
From-SVN: r202002
2013-08-26 15:40:40 +00:00
Jan Hubicka 0987ffe7c1 ipa.c (comdat_can_be_unshared_p_1): C++ constructors and destructors can be unshared.
* ipa.c (comdat_can_be_unshared_p_1): C++ constructors and destructors
	can be unshared.

From-SVN: r202001
2013-08-26 15:38:33 +00:00
Joern Rennecke befe864770 reload.c (find_valid_class): Allow classes that do not include FIRST_PSEUDO_REGISTER - 1.
* reload.c (find_valid_class): Allow classes that do not include
	FIRST_PSEUDO_REGISTER - 1.

From-SVN: r202000
2013-08-26 16:32:55 +01:00
Jan Hubicka a21e735ed5 cgraph.c (cgraph_redirect_edge_call_stmt_to_callee): Fix formatting...
* cgraph.c (cgraph_redirect_edge_call_stmt_to_callee): Fix formatting;
	fix edge count/frequency when speculation failed; fix type check
	for the direct call.

From-SVN: r201999
2013-08-26 15:29:28 +00:00
Jan Hubicka e067bd4339 * ipa-prop.c (ipa_print_node_params): Do not ICE during WPA.
From-SVN: r201998
2013-08-26 15:24:41 +00:00
Jan Hubicka e8aec9755b ipa-inline-transform.c (inline_transform): Be ready for basic block to be changed by edge redirection.
* ipa-inline-transform.c (inline_transform): Be ready for basic block
	to be changed by edge redirection.

From-SVN: r201997
2013-08-26 15:23:48 +00:00
Jan Hubicka d0b66480a9 cgraph.c (cgraph_speculative_call_info): Fix parameter order and formating; add sanity check.
* cgraph.c (cgraph_speculative_call_info): Fix parameter order and formating;
	add sanity check.
	(cgraph_resolve_speculation): Add FIXME about scaling profiles.
	(cgraph_redirect_edge_call_stmt_to_callee): Fix ICE in debug dump.
	* ipa-inline.c (heap_edge_removal_hook): Reset node growth cache.
	(resolve_noninline_speculation): Update callee keys, too.

From-SVN: r201996
2013-08-26 13:02:39 +00:00
Jan Hubicka 0f9aaac79e tree.h (tree_decl_with_vis): Add cxx_constructor, cxx_destructor.
* tree.h (tree_decl_with_vis): Add cxx_constructor, cxx_destructor.
	(DECL_CXX_CONSTRUCTOR_P, DECL_CXX_DESTRUCTOR_P): New macros.
	* cp-tree.h (DECL_CONSTRUCTOR_P, DECL_DESTRUCTOR_P): Use
	middle-end flag.

From-SVN: r201994
2013-08-26 11:42:03 +00:00
Joern Rennecke 4b37444e71 i386.c (x86_64_elf_select_section): Put ATTRIBUTE_UNUSED into proper place.
* config/i386/i386.c (x86_64_elf_select_section): Put ATTRIBUTE_UNUSED
        into proper place.

From-SVN: r201993
2013-08-26 12:04:08 +01:00
Uros Bizjak 8616e65ce8 i386.c (ix86_return_in_memory): Do not remove ATTRIBUTE_UNUSED on function argument.
* config/i386/i386.c (ix86_return_in_memory): Do not
	remove ATTRIBUTE_UNUSED on function argument.

From-SVN: r201990
2013-08-26 11:21:51 +02:00
Gabriel Dos Reis 8dc7066751 Really commit all changes
From-SVN: r201989
2013-08-26 09:15:22 +00:00
Uros Bizjak 5339fc0c38 i386.c (ix86_debug_options): Remove prototype.
* config/i386/i386.c (ix86_debug_options): Remove prototype.
	(x86_64_elf_select_section): Ditto.
	(ix86_handle_tm_regparm_attribute): Remove ATTRIBUTE_UNUSED on used
	arguments.
	(ix86_pass_by_reference): Ditto.
	(ix86_return_in_memory): Ditto.
	(output_set_got): Ditto.
	(ix86_unary_operator_ok): Ditto.
	(ix86_expand_builtin): Ditto.

From-SVN: r201988
2013-08-26 11:02:04 +02:00
Gabriel Dos Reis 00d34d3ab1 c-pretty-print.h (c_pretty_printer::unary_expression): Now a virtual member function.
c-family/
	* c-pretty-print.h (c_pretty_printer::unary_expression): Now a
	virtual member function.
	(c_pretty_printer::multiplicative_expression): Likewise.
	(c_pretty_printer::conditional_expression): Likewise.
	(c_pretty_printer::assignment_expression): Likewise.
	(c_pretty_printer::expression): Likewise.
	(pp_unary_expression): Adjust.
	(pp_multiplicative_expression): Likewise.
	(pp_assignment_expression): Likewise.
	(pp_conditional_expression): Likewise.
	(pp_expression): Likewise.
	* c-pretty-print.c (c_pretty_printer::unary_expression): Rename
	from pp_c_unary_expression.  Adjust.
	(c_pretty_printer::multiplicative_expression): Rename from
	pp_c_multiplicative_expression.  Adjust.
	(c_pretty_printer::conditional_expression): Rename from
	pp_c_conditional_expression.  Adjust.
	(c_pretty_printer::assignment_expression): Rename from
	pp_c_assignment_expression.  Adjust.
	(c_pretty_printer::expression): Rename from pp_c_expression.  Adjust.
	(c_pretty_printer::c_pretty_printer): Do not assign to
	unary_expression, multiplicative_expression,
	conditional_expression, expression.

cp/
	* cxx-pretty-print.h (cxx_pretty_printer::unary_expression):
	Declare as overrider.
	(cxx_pretty_printer::multiplicative_expression): Likewise.
	(cxx_pretty_printer::conditional_expression): Likewise.
	(cxx_pretty_printer::assignment_expression): Likewise.
	(cxx_pretty_printer::expression): Likewise.
	* cxx-pretty-print.c (cxx_pretty_printer::unary_expression):
	Rename from pp_cxx_unary_expression.  Adjust.
	(cxx_pretty_printer::multiplicative_expression): Rename from
	pp_cxx_multiplicative_expression.  Adjust.
	(cxx_pretty_printer::conditional_expression): Rename from
	pp_cxx_conditional_expression.  Adjust.
	(cxx_pretty_printer::assignment_expression): Rename from
	pp_cxx_assignment_expression.  Adjust.
	(cxx_pretty_printer::expression): Rename from pp_cxx_expression.
	Adjust.
	(cxx_pretty_printer::cxx_pretty_printer): Dot not assign to
	unary_expression, multiplicative_expression,
	conditional_expression, assignment_expression, expression.

From-SVN: r201987
2013-08-26 08:37:24 +00:00
Gabriel Dos Reis fb22178f7d c-pretty-print.h (c_pretty_printer::postfix_expression): Now a virtual member function.
c-family/
	* c-pretty-print.h (c_pretty_printer::postfix_expression): Now a
	virtual member function.
	(pp_postfix_expression): Adjust.
	(pp_c_postfix_expression): Remove.
	* c-pretty-print.c (c_pretty_printer::postfix_expression): Rename
	from pp_c_postfix_expression.  Adjust.
	(c_pretty_printer::c_pretty_printer): Do not assign to
	postfix_expression.

cp/
	* cxx-pretty-print.h (cxx_pretty_printer::postfix_expression):
	Declare as overrider.
	* cxx-pretty-print.c (cxx_pretty_printer::postfix_expression):
	Rename from pp_cxx_postfix_expression.  Adjust.
	(pp_cxx_expression): Use pp_postfix_expression.
	(cxx_pretty_printer::cxx_pretty_printer): Do not assign to
	postfix_expression.

From-SVN: r201985
2013-08-26 03:12:38 +00:00
GCC Administrator 2c9d6efb4f Daily bump.
From-SVN: r201984
2013-08-26 00:16:54 +00:00
Thomas Koenig 8cd61b3c8b re PR fortran/58146 (Array slice bounds checking)
2013-08-26  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/58146
	* array.c (gfc_ref_dimen_size):  If possible, use
	gfc_dep_difference to calculate array refrence
	sizes.  Fall back to integer code otherwise.
	* dependency.c (discard_nops).  Move up.
	Also discarde widening integer conversions.
	(gfc_dep_compare_expr):  Use discard_nops.

2013-08-26  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/58146
	* gfortran.dg/bounds_check_18.f90:  New test.

From-SVN: r201981
2013-08-25 22:55:12 +00:00
Gabriel Dos Reis 7ecc260031 c-pretty-print.h (c_pretty_printer::primary_expression): Now a virtua member function.
c-family/
	* c-pretty-print.h (c_pretty_printer::primary_expression): Now a
	virtua member function.
	(pp_primary_expression): Adjust.
	(pp_c_primary_expression): Remove.
	* c-pretty-print.c (c_pretty_printer::primary_expression): Rename
	from pp_c_primary_expression.  Adjust.
	(pp_c_initializer_list): Use pp_primary_expression.
	(c_pretty_printer::c_pretty_printer): Do not assign to
	primary_expression.

cp/
	* cxx-pretty-print.h (cxx_pretty_printer::primary_expression): Now
	an overrider of c_pretty_printer::primary_expression.
	* cxx-pretty-print.c (cxx_pretty_printer::primary_expression):
	Rename from pp_cxx_primary_expression.  Adjust.
	(pp_cxx_postfix_expression): Use pp_primary_expression.
	(pp_cxx_ctor_initializer): Likewise.
	(cxx_pretty_printer::cxx_pretty_printer): Do not assign to
	primary_expression.

From-SVN: r201978
2013-08-25 18:05:29 +00:00
Jan Hubicka d5c3d3ef54 cgraph.c (cgraph_turn_edge_to_speculative): Fix debug output.
* cgraph.c (cgraph_turn_edge_to_speculative):
	Fix debug output.

From-SVN: r201977
2013-08-25 09:47:00 +00:00
Jan Hubicka 4b0809ef53 * g++.dg/ipa/devirt-14.C: Fix typo.
From-SVN: r201976
2013-08-25 09:45:34 +00:00
Jan Hubicka 5b1e743577 tree.h (TYPE_FINAL_P, [...]): New macros.
* tree.h (TYPE_FINAL_P, DECL_FINAL_P): New macros.
	(tree_decl_with_vis): Add FINAL field.

	* cp-tree.h (struct lang_type_class): Free is_final bit.
	(CLASSTYPE_FINAL): Define using TYPE_FINAL_P.
	(DECL_FINAL_P): Remove.
	* pt.c (instantiate_class_template_1): Guard that CLASSTYPE_FINAL
	is called on CLASS_TYPE_P.

From-SVN: r201975
2013-08-25 09:43:34 +00:00
Gabriel Dos Reis 0691175fe2 c-pretty-print.h (c_pretty_printer::translate_string): Declare.
c-family/
	* c-pretty-print.h (c_pretty_printer::translate_string): Declare.
	* c-pretty-print.c (M_): Remove.
	(c_pretty_printer::translate_string): Define.
	(pp_c_type_specifier): Use it.
	(pp_c_primary_expression): Likewise.
	(pp_c_expression): Likewise.

cp/
	* cxx-pretty-print.c (M_): Remove.
	(pp_cxx_unqualified_id): Use translate_string instead of M_.
	(pp_cxx_canonical_template_parameter): Likewise.

From-SVN: r201974
2013-08-25 05:51:54 +00:00
Gabriel Dos Reis 66dfe4c4f8 c-pretty-print.h (c_pretty_printer::id_expression): Now a virtual function.
c-family/
	* c-pretty-print.h (c_pretty_printer::id_expression): Now a
	virtual function.
	(pp_c_id_expression): Remove.
	(pp_id_expression): Adjust.
	* c-pretty-print.c (c_pretty_printer::id_expression): Rename from
	pp_c_id_expression.  Adjust.
	(pp_c_postfix_expression): Use pp_id_expression.
	(c_pretty_printer::c_pretty_printer): Do not assign to id_expression.

cp/
	* cxx-pretty-print.h (cxx_pretty_printer::id_expression): Declare.
	* cxx-pretty-print.c (cxx_pretty_printer::id_expression): Rename
	from pp_cxx_id_expression.  Adjust.
	(pp_cxx_userdef_literal): Use pp_id_expression.
	(pp_cxx_primary_expression): Likewise.
	(pp_cxx_direct_declarator): Likewise.
	(cxx_pretty_printer::cxx_pretty_printer): Do not assign to
	id_expression.

From-SVN: r201973
2013-08-25 00:24:27 +00:00
GCC Administrator 84deafd2c3 Daily bump.
From-SVN: r201972
2013-08-25 00:16:46 +00:00
Gabriel Dos Reis ca43e9d547 c-pretty-print.h (c_pretty_printer::constant): Now a virtual member function.
* c-pretty-print.h (c_pretty_printer::constant): Now a virtual
	member function.
	(pp_constant): Adjust.
	(pp_c_constant): Remove.
	* c-pretty-print.c (c_pretty_printer::constant): Rename from
	pp_c_constant.  Adjust.
	(pp_c_constant)
	(pp_c_primary_expression): Call pp_constant in lieu of pp_c_constant.
	(c_pretty_printer::c_pretty_printer): Remove assignment to constant.

cp/
	* cxx-pretty-print.h (cxx_pretty_printer::constant): Now a member
	function, overriding c_pretty_printer::constant.
	* cxx-pretty-print.c (cxx_pretty_printer::constant): Rename from
	pp_cxx_constant.  Adjust.
	(cxx_pretty_printer::cxx_pretty_printer): Do not assign to constant.

From-SVN: r201969
2013-08-24 22:29:37 +00:00
Jeff Law ead69dac20 tree-ssa-pre.c (do_regular_insertion): Include the expression in the debugging dump when the expression is fully redundant.
* tree-ssa-pre.c (do_regular_insertion): Include the expression
        in the debugging dump when the expression is fully redundant.

From-SVN: r201963
2013-08-23 22:48:19 -06:00
GCC Administrator b6e0149fca Daily bump.
From-SVN: r201959
2013-08-24 00:16:49 +00:00
Gabriel Dos Reis 025311c4bb diagnostic.c (diagnostic_set_caret_max_width): Use pp_buffer.
* diagnostic.c (diagnostic_set_caret_max_width): Use pp_buffer.
	* gimple-pretty-print.c (gimple_dump_bb_buff): Likewise.
	* pretty-print.c (pp_formatted_text_data): Likewise.
	(pp_write_text_to_stream): Likewise.
	(pp_write_text_as_dot_label_to_stream): Likewise.
	(pp_append_r): Likewise.
	(pp_format): Likewise.
	(pp_flush): Likewise.
	(pp_clear_output_area): Likewise.
	(pp_append_text): Likewise.
	(pp_formatted_text): Likewise.
	(pp_remaining_character_count_for_line): Likewise.
	(pp_newline): Likewise.
	(pp_character): Likewise.
	(output_buffer::~output_buffer): Define.
	(pretty_printer::~pretty_printer): Destruct output buffer.
	* pretty-print.h (output_buffer::~output_buffer): Declare.
	(pretty_printer::~pretty_printer): Declare virtual.

c/
	* c-objc-common.c (c_tree_printer): Document the nature of the cast.
	(c_initialize_diagnostics): Call a destructor for the early printer.

cp/
	* cp-objcp-common.c (cxx_initialize_diagnostics): Call a
	destructor for the early printer.
	* error.c (type_to_string): Use pp_buffer.

From-SVN: r201956
2013-08-23 23:58:55 +00:00
Marc Glisse 0cadbfaa89 re PR other/57324 (Undefined behavior issues found with clang's -fsanitize=undefined)
2013-08-24  Marc Glisse  <marc.glisse@inria.fr>

	PR other/57324
	* hwint.h (HOST_WIDE_INT_UC, HOST_WIDE_INT_1U, HOST_WIDE_INT_M1,
	HOST_WIDE_INT_M1U): New macros.
	* fold-const.c (sign_bit_p, build_range_check, fold_unary_loc,
	fold_binary_loc, fold_ternary_loc): Use the new macros. Use an
	unsigned -1 for lshift.
	* cse.c (cse_insn): Likewise.
	* double-int.c (rshift_double, lshift_double): Likewise.
	* builtins.c (fold_builtin_bitop): Likewise.
	* combine.c (force_to_mode): Likewise.
	* tree.c (integer_pow2p, tree_log2, tree_floor_log2): Likewise.
	* simplify-rtx.c (simplify_const_unary_operation,
	simplify_const_binary_operation): Likewise.
	* tree-stdarg.c (va_list_counter_bump, va_list_ptr_read,
	check_va_list_escapes): Likewise.
	* rtlanal.c (nonzero_bits1): Likewise.
	* expmed.c (expand_smod_pow2): Likewise.
	* tree-ssa-structalias.c (UNKNOWN_OFFSET): Use HOST_WIDE_INT_MIN.

From-SVN: r201953
2013-08-23 22:16:08 +00:00
Ian Lance Taylor 4500f676e1 compiler: don't export embedded builtins.
The panic in test/fixedbugs/bug461.go was caused by the fact that
reflect expects unexported fields in a struct to have a valid
package path. If a struct field is an embedded built-in type, it is
now given the package name of the currently compiling package, so it
remains unexported for purposes of reflect.

Fixed Issue 25.

From-SVN: r201951
2013-08-23 21:04:40 +00:00
Jan Hubicka 009e53539d cgraph.c (cgraph_turn_edge_to_speculative): Mark target node as having address taken.
* cgraph.c (cgraph_turn_edge_to_speculative): Mark target node
	as having address taken.

From-SVN: r201948
2013-08-23 18:33:45 +00:00
Mikael Morin 1f65468a21 re PR fortran/57798 (Incorrect handling of sum over first dimension of a product of automatic arrays)
fortran/
	PR fortran/57798
	* trans-array.c (gfc_conv_ss_startstride, set_loop_bounds,
	gfc_set_delta): Generate preliminary code before the outermost loop.

testsuite/
	PR fortran/57798
	* gfortran.dg/inline_sum_5.f90: New.

From-SVN: r201947
2013-08-23 17:49:39 +00:00