Commit Graph

107314 Commits

Author SHA1 Message Date
Jakub Jelinek
ba3ceb2dd2 re PR middle-end/47917 (snprintf(..., "const string") should be optimized into memcpy)
PR middle-end/47917
	* builtins.c (fold_builtin_snprintf): New function.
	(fold_builtin_3): Call it for BUILT_IN_SNPRINTF.
	(fold_builtin_4): Likewise.

	* gcc.c-torture/execute/pr47917.c: New test.
	* gcc.dg/pr47917.c: New test.

From-SVN: r170959
2011-03-14 21:30:24 +01:00
Tom Tromey
d63c53cce2 printers.py (_use_gdb_pp): New global.
* python/libstdcxx/v6/printers.py (_use_gdb_pp): New global.
	Try to import `gdb.printing' module.
	(UniquePointerPrinter.__init__): Add 'typename' argument.
	(StdSlistPrinter.__init__): Likewise.
	(StdSlistIteratorPrinter.__init__): Likewise.
	(StdVectorIteratorPrinter.__init__): Likewise.
	(StdRbtreeIteratorPrinter.__init__): Likewise.
	(StdDebugIteratorPrinter.__init__): Likewise.
	(StdDequeIteratorPrinter.__init__): Likewise.
	(StdStringPrinter.__init__): Likewise.
	(RxPrinter, Printer): New class.
	(libstdcxx_printer): New global.
	(register_libstdcxx_printers): Rewrite.
	(build_libstdcxx_dictionary): Rewrite.
	(pretty_printers_dict): Remove.

From-SVN: r170958
2011-03-14 20:29:23 +00:00
Jakub Jelinek
2e64f8b8f6 re PR middle-end/38878 (gcc.dg/tree-ssa/foldaddr-1.c XFAILed)
PR middle-end/38878
	* fold-const.c (fold_binary_loc) <case EQ_EXPR, NE_EXPR>: Add
	STRIP_NOPS on arg0 and arg1.  When optimizing X +- C == X
	and C - X == X also strip nops from +/-/p+ operand.
	When optimizing -X == C, fold C to arg0's type.

	* gcc.dg/tree-ssa/foldaddr-1.c: Remove xfail.

From-SVN: r170957
2011-03-14 21:12:16 +01:00
Jakub Jelinek
de888d9027 re PR debug/47946 (Dwarf uses 64-bits to refer to a structure offset unnecessarily)
PR debug/47946
	* dwarf2out.c (add_bit_offset_attribute): If bit_offset is negative,
	emit it as add_AT_int instead of add_AT_unsigned.

From-SVN: r170956
2011-03-14 21:07:22 +01:00
Tom Tromey
f4e749b498 unwind-dw2.c: Include sys/sdt.h if it exists.
* unwind-dw2.c: Include sys/sdt.h if it exists.
	(_Unwind_DebugHook): Use STAP_PROBE2.
	* config.in, configure: Rebuild.
	* configure.ac: Check for sys/sdt.h.

From-SVN: r170954
2011-03-14 19:47:58 +00:00
Uros Bizjak
d34abfd271 i386.md (ROUND_FLOOR): New constant.
* config/i386/i386.md (ROUND_FLOOR): New constant.
	(ROUND_CEIL): Ditto.
	(ROUND_TRUNC): Ditto.
	(ROUND_MXCSR): Ditto.
	(ROUND_NO_EXC): Ditto.
	(rint<mode>2): Use new defines instead of numerical constants.
	(floor<mode>2): Ditto.
	(ceil<mode>2): Ditto.
	(btrunc<mode>2): Ditto.
	* config/i386/i386-builtin-types.def: Define ROUND function type
	aliases.
	* config/i386/i386.c (enum ix86_builtins): Add
	IX86_BUILTIN_{FLOOR,CEIL,TRUNC,RINT}{PS,PD}{,256} defines.
	(struct builtin_description): Add
	__builtin_ia32_{floor,ceil,trunc,rint}{pd,ps}{,256} descriptions.
	(ix86_expand_sse_round): New static function.
	(ix86_expand_args_builtin): Call ix86_expand_sse_round for ROUND
	function types.
	(ix86_builtin_vectorized_function): Handle
	BUILT_IN_{FLOOR,CEIL,TRUNC,RINT}{,F} builtins.

testsuite/ChangeLog:

	* gcc.target/i386/sse4_1-floor-vec.c: New test.
	* gcc.target/i386/sse4_1-ceil-vec.c: Ditto.
	* gcc.target/i386/sse4_1-trunc-vec.c: Ditto.
	* gcc-target/i386/sse4_1-rint-vec.c: Ditto.
	* gcc.target/i386/sse4_1-floorf-vec.c: Ditto.
	* gcc.target/i386/sse4_1-ceilf-vec.c: Ditto.
	* gcc.target/i386/sse4_1-truncf-vec.c: Ditto.
	* gcc.target/i386/sse4_1-rintf-vec.c: Ditto.
	* gcc.target/i386/avx-floor-vec.c: Ditto.
	* gcc.target/i386/avx-ceil-vec.c: Ditto.
	* gcc.target/i386/avx-trunc-vec.c: Ditto.
	* gcc.target/i386/avx-rint-vec.c: Ditto.
	* gcc.target/i386/avx-floorf-vec.c: Ditto.
	* gcc.target/i386/avx-ceilf-vec.c: Ditto.
	* gcc.target/i386/avx-truncf-vec.c: Ditto.
	* gcc.target/i386/avx-rintf-vec.c: Ditto.

From-SVN: r170953
2011-03-14 19:57:11 +01:00
Tom Tromey
87f9e23daf c-parser.c (c_parser_asm_string_literal): Clear warn_overlength_strings.
gcc
	* c-parser.c (c_parser_asm_string_literal): Clear
	warn_overlength_strings.
gcc/testsuite
	* gcc.dg/Woverlength-strings-pedantic-c90-asm.c: New file.
	* gcc.dg/Woverlength-strings-pedantic-c89-asm.c: New file.
	* gcc.dg/Woverlength-strings-pedantic-c99-asm.c: New file.

From-SVN: r170948
2011-03-14 18:01:10 +00:00
Tom Tromey
b3ab9ea297 c-parser.c (disable_extension_diagnostics): Save warn_overlength_strings.
gcc
	* c-parser.c (disable_extension_diagnostics): Save
	warn_overlength_strings.
	(restore_extension_diagnostics): Restore warn_overlength_strings.
gcc/testsuite
	* gcc.dg/Woverlength-strings-pedantic-c89-ext.c: New file.
	* gcc.dg/Woverlength-strings-pedantic-c90-ext.c: New file.
	* gcc.dg/Woverlength-strings-pedantic-c99-ext.c: New file.

From-SVN: r170947
2011-03-14 17:58:12 +00:00
Andrey Zholos
d8d4db3345 re PR libstdc++/48114 ([C++0x] binomial_distribution incorrect for p > .5 and geometric_distribution wrongly implements the TR1 definition)
2011-03-14  Andrey Zholos  <aaz@althenia.net>

	PR libstdc++/48114
	* include/bits/random.h (geometric_distribution): Correct formula
	in comment, per C++0x.
	(geometric_distribution<>::param_type::param_type(double)): Fix check.
	(geometric_distribution<>::param_type::_M_initialize):
	Store log(1 - p).
	* include/bits/random.tcc (geometric_distribution<>::operator()):
	Fix computation.
	(binomial_distribution<>::operator()): Likewise.

From-SVN: r170946
2011-03-14 17:57:48 +00:00
H.J. Lu
7edc478cef Enable __float128 test for 32bit.
2011-03-14  H.J. Lu  <hongjiu.lu@intel.com>

	* gcc.target/i386/builtin-copysign.c: Remove __LP64__ check.

From-SVN: r170945
2011-03-14 10:24:25 -07:00
Jakub Jelinek
5d866bd71f crontab: Enable 4.7 snapshots, switch 4.6 snapshots to 4.6 branch.
* crontab: Enable 4.7 snapshots, switch 4.6 snapshots to
	4.6 branch.

From-SVN: r170941
2011-03-14 14:55:52 +01:00
Richard Sandiford
b03bdade7a re PR rtl-optimization/47166 (SpecCpu2000 Ammp segfaults for ARM with -O3 -mthumb)
gcc/testsuite/
	PR rtl-optimization/47166
	* gcc.c-torture/execute/postmod-1.c: New test.

From-SVN: r170939
2011-03-14 13:46:12 +00:00
Jakub Jelinek
6bd73dd889 * BASE-VER: Change to 4.7.0.
From-SVN: r170936
2011-03-14 14:07:26 +01:00
Richard Guenther
7f4d6e1beb re PR tree-optimization/48098 (internal compiler error: in build_vector_from_val, at tree.c:1380)
2011-03-14  Richard Guenther  <rguenther@suse.de>

	PR middle-end/48098
	* tree.c (build_vector_from_val): Adjust assert to requirements
	and reality.

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

From-SVN: r170934
2011-03-14 12:20:48 +00:00
Jakub Jelinek
c6104ef1c3 re PR bootstrap/48102 (Bootstrap failure: error: macro "build_cloog_prog" requires 4 arguments, but only 3 given)
PR bootstrap/48102
	* graphite-cloog-compat.h (build_cloog_prog): Remove STATE
	parameter.

From-SVN: r170933
2011-03-14 09:18:52 +01:00
Andreas Tobler
9cfa14995f config.host (cpu_type): Add FreeBSD PowerPC specific parts.
2011-03-14  Andreas Tobler  <andreast@fgznet.ch>

	* config.host (cpu_type): Add FreeBSD PowerPC specific parts.
	Adjust copyright year.

From-SVN: r170931
2011-03-14 07:06:23 +01:00
Andreas Tobler
dfa95e1991 freebsd.h: (RELOCATABLE_NEEDS_FIXUP): Define in terms of target_flags_explicit.
2011-03-14  Andreas Tobler  <andreast@fgznet.ch>

	* config/rs6000/freebsd.h: (RELOCATABLE_NEEDS_FIXUP): Define in
	terms of target_flags_explicit. Adjust copyright year.

	* config.gcc: Add FreeBSD PowerPC soft-float libgcc bits.
	* config/rs6000/t-freebsd: New file. Add override for
	LIB2FUNCS_EXTRA.

From-SVN: r170930
2011-03-14 07:05:29 +01:00
Jack Howarth
a6c7127054 re PR lto/48086 (bootstrap-lto creates c-common.s with too many sections on x86_64-apple-darwin10)
2011-03-13  Jack Howarth  <howarth@bromo.med.uc.edu>

	    PR lto/48086
	    * configure.ac: Disable LTO on darwin due to an assembler change in
	    Xcode 3.2.6/4.0 that limits the total number of sections/segments to
	    under 256.
	    * configure: Regenerate.

From-SVN: r170929
2011-03-14 02:47:49 +00:00
GCC Administrator
de3ab57bf5 Daily bump.
From-SVN: r170928
2011-03-14 00:17:51 +00:00
Chris Demetriou
bb3220188f invoke.texi (-fdiagnostics-show-option): Replace with...
2011-03-13  Chris Demetriou  <cgd@google.com>

        * doc/invoke.texi (-fdiagnostics-show-option): Replace with...
        (-fno-diagnostics-show-option): this, to reflect current default.
        (-Werror=): Update text about -fno-diagnostics-show-option.

From-SVN: r170921
2011-03-12 23:38:22 -08:00
Peter Bergner
12b1c80b30 re PR target/48053 (ICE in in build_int_cst_wide, when building cpu2000 galgel/equake/ammp/fma3d/sixtrack)
gcc/
	PR target/48053
	* config/rs6000/predicates.md (easy_vector_constant_add_self,
	easy_vector_constant_msb): Do not handle V2DImode and V2DFmode.
	* config/rs6000/rs6000.c (const_vector_elt_as_int): Add assert that
	mode is not V2DImode or V2DFmode.
	(vspltis_constant): Do not handle V2DImode and V2DFmode.
	(rs6000_expand_vector_init): Replace copy_to_reg with copy_to_mode_reg.
	* config/rs6000/rs6000.md (movdi_internal32): Allow setting VSX
	registers to 0.
	(movdi_internal64): Likewise.

gcc/testsuite/
	PR target/48053
	* gcc/testsuite/gcc.target/powerpc/pr48053-1.c: New test.
	* gcc/testsuite/gcc.target/powerpc/pr48053-2.c: Likewise.

From-SVN: r170920
2011-03-12 22:06:41 -06:00
GCC Administrator
d39ac823a3 Daily bump.
From-SVN: r170918
2011-03-13 00:18:39 +00:00
Thomas Koenig
5f1baa4907 re PR fortran/48066 (Segfault with SUM of zero-sized array)
2011-03-12  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR libfortran/48066
	* gfortran.dg/intrinsic_ifunction_2.f90:  Correct PR number.

From-SVN: r170913
2011-03-12 23:18:09 +00:00
Thomas Koenig
289b782785 re PR fortran/48066 (Segfault with SUM of zero-sized array)
2011-03-12  Thomas Koenig  <tkoenig@gcc.gnu.org>

        PR libfortran/40866
        * libgfortran/ChangeLog:  Correct PR number.
        * gcc/testsuite/ChangeLog:  Likewise.

From-SVN: r170912
2011-03-12 23:13:56 +00:00
Thomas Koenig
facc1285b2 re PR fortran/48066 (Segfault with SUM of zero-sized array)
2011-03-12  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR libfortran/40866
	* m4/ifunction.m4:  If return array is empty, return.
	* m4/ifunction_logical.m4:  Likewise.
	* generated/all_l16.c: Regenerated.
	* generated/all_l1.c: Regenerated.
	* generated/all_l2.c: Regenerated.
	* generated/all_l4.c: Regenerated.
	* generated/all_l8.c: Regenerated.
	* generated/any_l16.c: Regenerated.
	* generated/any_l1.c: Regenerated.
	* generated/any_l2.c: Regenerated.
	* generated/any_l4.c: Regenerated.
	* generated/any_l8.c: Regenerated.
	* generated/count_16_l.c: Regenerated.
	* generated/count_1_l.c: Regenerated.
	* generated/count_2_l.c: Regenerated.
	* generated/count_4_l.c: Regenerated.
	* generated/count_8_l.c: Regenerated.
	* generated/maxloc1_16_i16.c: Regenerated.
	* generated/maxloc1_16_i1.c: Regenerated.
	* generated/maxloc1_16_i2.c: Regenerated.
	* generated/maxloc1_16_i4.c: Regenerated.
	* generated/maxloc1_16_i8.c: Regenerated.
	* generated/maxloc1_16_r10.c: Regenerated.
	* generated/maxloc1_16_r16.c: Regenerated.
	* generated/maxloc1_16_r4.c: Regenerated.
	* generated/maxloc1_16_r8.c: Regenerated.
	* generated/maxloc1_4_i16.c: Regenerated.
	* generated/maxloc1_4_i1.c: Regenerated.
	* generated/maxloc1_4_i2.c: Regenerated.
	* generated/maxloc1_4_i4.c: Regenerated.
	* generated/maxloc1_4_i8.c: Regenerated.
	* generated/maxloc1_4_r10.c: Regenerated.
	* generated/maxloc1_4_r16.c: Regenerated.
	* generated/maxloc1_4_r4.c: Regenerated.
	* generated/maxloc1_4_r8.c: Regenerated.
	* generated/maxloc1_8_i16.c: Regenerated.
	* generated/maxloc1_8_i1.c: Regenerated.
	* generated/maxloc1_8_i2.c: Regenerated.
	* generated/maxloc1_8_i4.c: Regenerated.
	* generated/maxloc1_8_i8.c: Regenerated.
	* generated/maxloc1_8_r10.c: Regenerated.
	* generated/maxloc1_8_r16.c: Regenerated.
	* generated/maxloc1_8_r4.c: Regenerated.
	* generated/maxloc1_8_r8.c: Regenerated.
	* generated/maxval_i16.c: Regenerated.
	* generated/maxval_i1.c: Regenerated.
	* generated/maxval_i2.c: Regenerated.
	* generated/maxval_i4.c: Regenerated.
	* generated/maxval_i8.c: Regenerated.
	* generated/maxval_r10.c: Regenerated.
	* generated/maxval_r16.c: Regenerated.
	* generated/maxval_r4.c: Regenerated.
	* generated/maxval_r8.c: Regenerated.
	* generated/minloc1_16_i16.c: Regenerated.
	* generated/minloc1_16_i1.c: Regenerated.
	* generated/minloc1_16_i2.c: Regenerated.
	* generated/minloc1_16_i4.c: Regenerated.
	* generated/minloc1_16_i8.c: Regenerated.
	* generated/minloc1_16_r10.c: Regenerated.
	* generated/minloc1_16_r16.c: Regenerated.
	* generated/minloc1_16_r4.c: Regenerated.
	* generated/minloc1_16_r8.c: Regenerated.
	* generated/minloc1_4_i16.c: Regenerated.
	* generated/minloc1_4_i1.c: Regenerated.
	* generated/minloc1_4_i2.c: Regenerated.
	* generated/minloc1_4_i4.c: Regenerated.
	* generated/minloc1_4_i8.c: Regenerated.
	* generated/minloc1_4_r10.c: Regenerated.
	* generated/minloc1_4_r16.c: Regenerated.
	* generated/minloc1_4_r4.c: Regenerated.
	* generated/minloc1_4_r8.c: Regenerated.
	* generated/minloc1_8_i16.c: Regenerated.
	* generated/minloc1_8_i1.c: Regenerated.
	* generated/minloc1_8_i2.c: Regenerated.
	* generated/minloc1_8_i4.c: Regenerated.
	* generated/minloc1_8_i8.c: Regenerated.
	* generated/minloc1_8_r10.c: Regenerated.
	* generated/minloc1_8_r16.c: Regenerated.
	* generated/minloc1_8_r4.c: Regenerated.
	* generated/minloc1_8_r8.c: Regenerated.
	* generated/minval_i16.c: Regenerated.
	* generated/minval_i1.c: Regenerated.
	* generated/minval_i2.c: Regenerated.
	* generated/minval_i4.c: Regenerated.
	* generated/minval_i8.c: Regenerated.
	* generated/minval_r10.c: Regenerated.
	* generated/minval_r16.c: Regenerated.
	* generated/minval_r4.c: Regenerated.
	* generated/minval_r8.c: Regenerated.
	* generated/product_c10.c: Regenerated.
	* generated/product_c16.c: Regenerated.
	* generated/product_c4.c: Regenerated.
	* generated/product_c8.c: Regenerated.
	* generated/product_i16.c: Regenerated.
	* generated/product_i1.c: Regenerated.
	* generated/product_i2.c: Regenerated.
	* generated/product_i4.c: Regenerated.
	* generated/product_i8.c: Regenerated.
	* generated/product_r10.c: Regenerated.
	* generated/product_r16.c: Regenerated.
	* generated/product_r4.c: Regenerated.
	* generated/product_r8.c: Regenerated.
	* generated/sum_c10.c: Regenerated.
	* generated/sum_c16.c: Regenerated.
	* generated/sum_c4.c: Regenerated.
	* generated/sum_c8.c: Regenerated.
	* generated/sum_i16.c: Regenerated.
	* generated/sum_i1.c: Regenerated.
	* generated/sum_i2.c: Regenerated.
	* generated/sum_i4.c: Regenerated.
	* generated/sum_i8.c: Regenerated.
	* generated/sum_r10.c: Regenerated.
	* generated/sum_r16.c: Regenerated.
	* generated/sum_r4.c: Regenerated.
	* generated/sum_r8.c: Regenerated.

2011-03-12  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR libfortran/40866
	* gfortran.dg/intrinsic_ifunction_2.f90:  New test case.

From-SVN: r170908
2011-03-12 22:39:33 +00:00
Sebastian Pop
57d598f76c Fix PR47127: call cloog_state_malloc and cloog_state_free only once.
2011-03-12  Sebastian Pop  <sebastian.pop@amd.com>

	PR tree-optimization/47127
	* graphite-clast-to-gimple.c (build_cloog_prog): Removed state
	parameter.
	(set_cloog_options): Same.
	(scop_to_clast): Same.
	(print_clast_stmt): Do not call cloog_state_malloc and
	cloog_state_free.
	(print_generated_program): Same.
	(gloog): Same.
	* graphite-clast-to-gimple.h (cloog_state): Declared.
	(scop_to_clast): Adjust declaration.
	* graphite.c (cloog_state): Defined here.
	(graphite_initialize): Call cloog_state_malloc.
	(graphite_finalize): Call cloog_state_free.

From-SVN: r170907
2011-03-12 22:05:38 +00:00
Janus Weil
2e49964fd8 re PR fortran/48059 ([OOP] ICE in in gfc_conv_component_ref: character function of extended type)
2011-03-12  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/48059
	* trans-expr.c (gfc_apply_interface_mapping_to_expr): Replace base type
	for polymorphic arguments.

2011-03-12  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/48059
	* gfortran.dg/class_41.f03: New.

From-SVN: r170906
2011-03-12 17:58:33 +01:00
Francois-Xavier Coudert
28a0157c80 re PR libfortran/48054 (Documentation for LOG intrinsic function is ambiguous)
PR fortran/48054
	* intrinsic.texi: Clarify doc of logarithm functions.

From-SVN: r170899
2011-03-12 10:33:54 +00:00
Francois-Xavier Coudert
8e421af998 re PR fortran/47552 (CTIME: Valgrind warning "depends on uninitialised value")
PR fortran/47552
        * trans-intrinsic.c (gfc_conv_intrinsic_ctime): Fix type of
        the string length variable.

From-SVN: r170898
2011-03-12 10:28:01 +00:00
Dodji Seketeli
b057bff4c1 re PR c++/46824 (chromium-compile failed because error: no match for ‘operator*’ in)
PR c++/46824

gcc/cp/

	* call.c (add_builtin_candidate)<case INDIRECT_REF>: The type
	of the argument of the indirection operator should not be
	dependent.  Fix the comment.

gcc/testsuite/

	* g++.dg/conversion/cast3.C: New test.

From-SVN: r170897
2011-03-12 08:28:20 +01:00
Jason Merrill
ba7d31f68a re PR c++/47125 (ICE occurs in combination with partial specialization and invalid template function.)
PR c++/47125
	* pt.c (tsubst) [TYPENAME_TYPE]: Only give errors if tf_error.

From-SVN: r170896
2011-03-12 01:48:57 -05:00
Jerry DeLisle
8e71a20690 re PR libfortran/48047 (Incorrect output rounding of double precision numbers)
2011-03-11  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libgfortran/48047
	* io/write_float.def (write_float): Change MIN_FIELD_WIDTH to 48.

From-SVN: r170895
2011-03-12 00:49:51 +00:00
GCC Administrator
548c4e2bcd Daily bump.
From-SVN: r170894
2011-03-12 00:18:58 +00:00
Jason Merrill
8318b14cae re PR c++/47144 (Doesn't reject attempt to define type in template argument; results in weird parse)
PR c++/47144
	* parser.c (cp_parser_template_type_arg): Set
	type_definition_forbidden_message.

From-SVN: r170888
2011-03-11 17:47:59 -05:00
Jason Merrill
f231b5ff3f attribs.c (lookup_attribute_spec): Take const_tree.
* attribs.c (lookup_attribute_spec): Take const_tree.
	* tree.h: Adjust.
	* c-family/c-common.c (attribute_takes_identifier_p): Add missing const.

From-SVN: r170887
2011-03-11 17:38:58 -05:00
Jason Merrill
1b9b91a68b re PR c++/46803 (libstdc++ build errors on invalid OpenBSD system header attributes)
PR c++/46803
	* c-common.c (attribute_takes_identifier_p): Assume that an
	unknown attribute takes an identifier.

From-SVN: r170885
2011-03-11 16:36:02 -05:00
Joseph Myers
6a4e2bd556 sparc.c (sparc_option_override): Use PROCESSOR_NIAGARA2 not PROCESSOR_NIAGARA for "niagara2".
* config/sparc/sparc.c (sparc_option_override): Use
	PROCESSOR_NIAGARA2 not PROCESSOR_NIAGARA for "niagara2".

From-SVN: r170879
2011-03-11 16:51:29 +00:00
Jason Merrill
e8d6ec55fd re PR c++/47808 ([C++0x] internal compiler error: in tsubst_copy_and_build, at cp/pt.c:13326)
PR c++/47808
	* decl.c (compute_array_index_type): Discard folding
	if it didn't produce a constant.

From-SVN: r170878
2011-03-11 11:49:41 -05:00
Richard Guenther
a758fd670c re PR tree-optimization/48067 (FMA with no add operand produced by convert_mul_to_fma)
2011-03-11  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/48067
	* tree-ssa-math-opts.c (convert_mult_to_fma): Verify the
	multiplication result will be only used once on the target
	stmt.

	* gcc.dg/pr48067.c: New testcase.

From-SVN: r170877
2011-03-11 16:36:16 +00:00
Richard Guenther
03dfda5453 invoke.texi (max-inline-insns-single): Adjust default value.
2011-03-11  Richard Guenther  <rguenther@suse.de>

	* doc/invoke.texi (max-inline-insns-single): Adjust default value.

From-SVN: r170876
2011-03-11 16:07:07 +00:00
Richard Guenther
5f11a50a53 re PR c++/48073 (ICE with -flto in templated C++ code)
2011-03-11  Richard Guenther  <rguenther@suse.de>

	PR lto/48073
	* tree.c (find_decls_types_r): Do not walk types only reachable
	from IDENTIFIER_NODEs.

	* g++.dg/lto/20110311-1_0.C: New testcase.

From-SVN: r170875
2011-03-11 15:59:42 +00:00
Jakub Jelinek
e33eba7593 re PR c++/48035 (Mismatch on size of class when initializing hierarchy involving virtual inheritance and empty base classes)
PR c++/48035
	* init.c (build_zero_init_1): Extracted from build_zero_init.
	Add FIELD_SIZE argument, if non-NULL and field bit_position
	as not smaller than that, don't add that field's initializer.
	Pass DECL_SIZE as last argument to build_zero_init_1
	for DECL_FIELD_IS_BASE fields.
	(build_zero_init): Use build_zero_init_1.

	* g++.dg/inherit/virtual8.C: New test.

From-SVN: r170874
2011-03-11 16:43:37 +01:00
Jakub Jelinek
4074f163fc re PR middle-end/48044 (ICE in function_and_variable_visibility, at ipa.c:875)
PR middle-end/48044
	* ipa.c (cgraph_remove_unreachable_nodes): Enqueue
	all vnode->force_output nodes as needed.

	* gcc.dg/torture/pr48044.c: New test.

From-SVN: r170873
2011-03-11 15:47:26 +01:00
Jason Merrill
30f7cdcde6 re PR c++/48069 (FAIL: g++.old-deja/g++.pt/spec26.C)
PR c++/48069
	* tree.c (type_hash_eq): Use COMPLETE_TYPE_P, not
	COMPLETE_OR_UNBOUND_ARRAY_TYPE_P.

From-SVN: r170872
2011-03-11 09:44:49 -05:00
Janus Weil
0f2a6198d1 re PR fortran/47768 (ICE: printing a derived-type variable with proc-pointer components)
2011-03-11  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/47768
	* module.c (ab_attribute,attr_bits): Add AB_PROC_POINTER_COMP.
	(mio_symbol_attribute): Handle attribute 'proc_pointer_comp'.

2011-03-11  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/47768
	* gfortran.dg/proc_ptr_comp_31.f90: New.

From-SVN: r170871
2011-03-11 15:13:49 +01:00
Martin Jambor
62ecfeb8b9 cgraphunit.c (verify_cgraph_node): Call cgraph_get_node instead of cgraph_node.
2011-03-11  Martin Jambor  <mjambor@suse.cz>

	* cgraphunit.c (verify_cgraph_node): Call cgraph_get_node instead of
	cgraph_node.

From-SVN: r170870
2011-03-11 14:27:26 +01:00
Richard Guenther
dcb9e2c19a re PR tree-optimization/47278 (hidden weak function not handled properly)
2011-03-11  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/47278
	* gcc.dg/torture/pr47278-1.c: New testcase.
	* gcc.dg/torture/pr47278-2.c: Likewise.

From-SVN: r170869
2011-03-11 10:45:54 +00:00
Jakub Jelinek
e89e03ab8a re PR tree-optimization/48063 (ICE: verify_stmts failed: conversion of register to a different size with -fno-early-inlining)
PR tree-optimization/48063
	* ipa-inline.c (cgraph_decide_inlining): Don't try to
	inline functions called once if !tree_can_inline_p (node->callers).

	* gcc.dg/torture/pr48063.c: New test.

From-SVN: r170867
2011-03-11 11:04:30 +01:00
Eric Botcazou
efbe978b7a Fix long lines
From-SVN: r170865
2011-03-11 07:02:40 +00:00
Chen Liqin
9d6193a7e2 config.gcc (score-*-elf): add extra_parts .., update tmake_file, extra_objs.
* config.gcc (score-*-elf): add extra_parts .., update tmake_file, extra_objs.
	* config/score/score3.c: Delete.
	* config/score/score3.h: Delete.
	* config/score/mul-div.S: Delete.
	* config/score/sfp-machine.h: Add new file.
	* config/score/constraints.md: Add new file.
	* config/score/t-score-softfp: Add new file.
	* config/score/t-score-elf: Remove score3.o and multilib generate.
	* config/score/score7.c (score7_const_ok_for_letter_p): Delete.
	(score7_extra_constraint): Delete.
	(score7_option_override): Remove unused code which mode to constraint.md.
	* config/score/score.c: Remove score3 and score5 define and code.
	* config/score/score.h: Remove score3 and score5 define and code.
	* config/score/score.md: Remove score3 template and unusal insn generate.
	* config/score/score.opt: Remove score3 and score5 options.

From-SVN: r170864
2011-03-11 05:59:07 +00:00