Commit Graph

90736 Commits

Author SHA1 Message Date
Thomas Koenig a388c77976 re PR libfortran/38225 (RESHAPE bounds with multi-dimensional SOURCE)
2008-11-22  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR libfortran/38225
	* intrinsics/reshape_generic.c (reshape_internal):
	Use all dimensions of source for bounds checking.
	* m4/reshape.m4:  Likewise.
	* generated/reshape_c10.c Regenerated.
	* generated/reshape_c16.c Regenerated.
	* generated/reshape_c4.c Regenerated.
	* generated/reshape_c8.c Regenerated.
	* generated/reshape_i16.c Regenerated.
	* generated/reshape_i4.c Regenerated.
	* generated/reshape_i8.c Regenerated.
	* generated/reshape_r10.c Regenerated.
	* generated/reshape_r16.c Regenerated.
	* generated/reshape_r4.c Regenerated.
	* generated/reshape_r8.c Regenerated.

2008-11-22  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR libfortran/38225
	* gfortran.dg/reshape_3.f90:  New test.

From-SVN: r142125
2008-11-22 21:41:27 +00:00
Tobias Burnus 2ec855f1f7 re PR fortran/38160 (C Binding: Kind parameter checking too strict and too late)
2008-11-22  Tobias Burnus  <burnus@net-b.de>

        PR fortran/38160
        * trans-types.c (gfc_validate_c_kind): Remove function.
        * decl.c (gfc_match_kind_spec): Add C kind parameter check.
          (verify_bind_c_derived_type): Remove gfc_validate_c_kind call.
          (verify_c_interop_param): Update call.
        * gfortran.h (verify_bind_c_derived_type): Update prototype.
          (gfc_validate_c_kind): Remove.
        * symbol.c (verify_bind_c_derived_type): Update verify_c_interop
        * call.
        * resolve.c (gfc_iso_c_func_interface): Ditto.

2008-11-22  Tobias Burnus  <burnus@net-b.de>

        PR fortran/38160
        * gfortran.dg/bind_c_usage_18.f90: New test.
        * gfortran.dg/c_kind_tests_2.f03: Update dg-messages.
        * gfortran.dg/interop_params.f03: Ditto.

From-SVN: r142124
2008-11-22 19:18:05 +01:00
Adam Nemet 9d50ba211c mips.md (rdhwr): Rename to rdhwr_synci_step_<mode>.
* config/mips/mips.md (rdhwr): Rename to rdhwr_synci_step_<mode>.
	Use constant 1 as the operand.
	* config/mips/mips.c (mips_expand_synci_loop): Make INC Pmode.
	Rename gen_rdhwr to gen_rdhwr_synci_step_si or
	gen_rdhwr_synci_step_di depending on the size of Pmode.

From-SVN: r142123
2008-11-22 17:02:14 +00:00
H.J. Lu e548e2c0f2 Fix ChangeLog entry for config/i386/avxintrin.h.
From-SVN: r142122
2008-11-22 07:41:06 -08:00
Uros Bizjak a00ce5fe3e re PR target/38222 (gcc.target/i386/sse4_2-popcntl.c fails on i686-apple-darwin9)
PR target/38222
	* config/i386/i386.md (SWI248): New mode iterator.
	(SWI32): Remove mode iterator.
	(popcount<mode>2): Rename from popcounthi2, popcountsi2 and
	popcounthi2 insn patterns. Macroize pattern using SWI248 mode
	iterator.  Generate popcnt mnemonic without mode extensions
	for Darwin x86 targets.
	(*popcount<mode>2_cmp): Ditto.
	(*popcountsi2_cmp_zext): Generate popcnt mnemonic without mode
	extensions for Darwin x86 targets.

testsuite/ChangeLog:

	PR target/38222
	* gcc.target/i386/funcspec-3.c: Scan for popcnt on Darwin targets.

From-SVN: r142121
2008-11-22 15:16:57 +01:00
Eric Botcazou f06fb22be5 sparc.c (TARGET_ASM_OUTPUT_DWARF_DTPREL): Define only if HAVE_AS_SPARC_UA_PCREL is defined.
* config/sparc/sparc.c (TARGET_ASM_OUTPUT_DWARF_DTPREL): Define
	only if HAVE_AS_SPARC_UA_PCREL is defined.

From-SVN: r142118
2008-11-22 12:44:24 +00:00
Richard Sandiford 61ad6db1bd ira-costs.c (find_allocno_class_costs): Work out the maximum allocno_costs value of the classees with the lowest...
gcc/
	* ira-costs.c (find_allocno_class_costs): Work out the maximum
	allocno_costs value of the classees with the lowest total_costs
	value.  Use this to set ALLOCNO_COVER_CLASS_COST here...
	(setup_allocno_cover_class_and_costs): ...rather than here.
	Use the ALLOCNO_COVER_CLASS_COST for all registers in the
	preferred class.

From-SVN: r142117
2008-11-22 09:16:02 +00:00
Jakub Jelinek b6500984e4 re PR middle-end/37323 (__builtin_apply failures)
PR middle-end/37323
	* builtins.c (expand_builtin_apply_args): Emit sequence before
	parm_birth_insn instead of after entry_of_function's first insn.

From-SVN: r142116
2008-11-22 09:28:44 +01:00
Jakub Jelinek bbd46fd5f2 re PR middle-end/37316 (Small structs are not passed correctly on hppa64-*-*)
PR middle-end/37316
	* function.c (assign_parm_remove_parallels): Pass
	data->passed_type as third argument to emit_group_store.

From-SVN: r142115
2008-11-22 09:27:04 +01:00
Jakub Jelinek b7c7b76871 re PR target/37170 (gcc.dg/weak/weak-1.c)
PR target/37170
	* final.c (mark_symbol_refs_as_used): New function.
	* output.h (mark_symbol_refs_as_used): New prototype.
	* config/s390/s390.c (s390_mark_symbol_ref_as_used): Removed.
	(s390_output_pool_entry): Use mark_symbol_refs_as_used.
	* config/arm/arm.md (consttable_4): Likewise.

From-SVN: r142114
2008-11-22 09:26:24 +01:00
Jakub Jelinek a7fe25b885 re PR target/37170 (gcc.dg/weak/weak-1.c)
PR target/37170
	* final.c (mark_symbol_refs_as_used): New function.
	* output.h (mark_symbol_refs_as_used): New prototype.
	* config/s390/s390.c (s390_mark_symbol_ref_as_used): Removed.
	(s390_output_pool_entry): Use mark_symbol_refs_as_used.
	* config/arm/arm.md (consttable_4): Likewise.

From-SVN: r142113
2008-11-22 09:22:52 +01:00
Jakub Jelinek 3b13901446 re PR target/37880 (Documentation of option -mcmodel=medium is wrong)
PR target/37880
	* doc/invoke.texi: Adjust wording of -mcmodel=medium description.

From-SVN: r142112
2008-11-22 09:21:04 +01:00
Jakub Jelinek e14568432a re PR libfortran/37839 (st_parameter_dt has unwanted padding, is out of sync with compiler)
PR libfortran/37839
	* trans-io.c (gfc_build_io_library_fndecls): Decrease pad size back
	to 16 pointers plus 32 integers.  Don't use max integer kind
	alignment, only gfc_intio_kind's alignment.
	(gfc_trans_inquire): Only set flags2 if mask2 is non-zero.
	* ioparm.def: Fix order, bitmasks and types of inquire round, sign
	and pending fields.  Move u in dt before id.
	* io.c (gfc_free_inquire): Free decimal and size exprs.
	(match_inquire_element): Match size instead of matching blank twice.
	(gfc_resolve_inquire): Resolve size.

	* gfortran.dg/f2003_inquire_1.f03: New test.
	* gfortran.dg/f2003_io_1.f03: Remove xfail.
	* gfortran.dg/f2003_io_4.f03: Likewise.
	* gfortran.dg/f2003_io_5.f03: Likewise.
	* gfortran.dg/f2003_io_6.f03: Likewise.
	* gfortran.dg/f2003_io_7.f03: Likewise.

	* io/io.h (IOPARM_INQUIRE_HAS_ROUND, IOPARM_INQUIRE_HAS_SIGN,
	IOPARM_INQUIRE_HAS_PENDING): Adjust values.
	(st_parameter_inquire): Reorder and fix types of round, sign and
	pending fields.
	(st_parameter_43, st_parameter_44): Removed.
	(st_parameter_dt): Put back struct definition directly to u.p
	declaration.  Change type of u.p.size_used from gfc_offset to
	GFC_IO_INT.  Decrease back size of u.pad to 16 pointers and
	32 ints.  Put id, pos, asynchronous, blank, decimal, delim,
	pad, round and sign fields after the union.
	* io/inquire.c (inquire_via_unit, inquire_via_filename): Only read
	flags2 if it is defined.
	* io/transfer.c (read_sf, read_block_form, write_block): Cast
	additions to size_used to GFC_IO_INT instead of gfc_offset.
	(data_transfer_init): Clear whole u.p struct.  Adjust
	for moving id, pos, asynchronous, blank, decimal, delim, pad,
	round and sign fields from u.p directly into st_parameter_dt.
	(finalize_transfer): Don't cast size_used to GFC_IO_INT.
	* io/file_pos.c (st_endfile): Clear whole u.p struct.

From-SVN: r142111
2008-11-22 09:10:41 +01:00
GCC Administrator 220904438f Daily bump.
From-SVN: r142108
2008-11-22 00:17:09 +00:00
Eric Botcazou da17a98b19 ffi.c (ffi_prep_cif_machdep): Add support for signed/unsigned int8/16 return values.
* src/sparc/ffi.c (ffi_prep_cif_machdep): Add support for
	signed/unsigned int8/16 return values.
	* src/sparc/v8.S (ffi_call_v8): Likewise.
	(ffi_closure_v8): Likewise.

From-SVN: r142102
2008-11-21 22:12:56 +00:00
Jakub Jelinek 88e091c337 re PR middle-end/38200 (internal compiler error: in find_func_aliases, at tree-ssa-structalias.c:3905)
PR middle-end/38200
	* tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Only
	propagate x = &a into *x = b if conversion from b to a's type is
	useless.

	* gcc.dg/pr38200.c: New test.

From-SVN: r142100
2008-11-21 22:59:33 +01:00
Eric Botcazou 0e51e769b5 caller-save.c (insert_one_insn): Take into account REG_INC notes for the liveness computation of the new insn.
* caller-save.c (insert_one_insn): Take into account REG_INC notes
	for the liveness computation of the new insn.

From-SVN: r142099
2008-11-21 21:19:34 +00:00
DJ Delorie 015e1120e8 stormy16.md (movqi_internal, [...]): Moves to/from below100 space (W) can only use r0-r7.
* config/stormy16/stormy16.md (movqi_internal, movhi_internal):
Moves to/from below100 space (W) can only use r0-r7.

From-SVN: r142098
2008-11-21 15:39:09 -05:00
Paolo Carlini ec01436d3d re PR other/38214 (Unrecognized command line option "-fipa-marix-reorg" although it's documented)
2008-11-21  Paolo Carlini  <paolo.carlini@oracle.com>

	PR other/38214
	* doc/invoke.texi (Optimization Options): Fix typo.

From-SVN: r142092
2008-11-21 16:21:33 +00:00
H.J. Lu 218984317d Add the new file.
From-SVN: r142091
2008-11-21 06:05:42 -08:00
H.J. Lu 04a412f9d4 config.gcc (extra_headers): For x86 and x86-64, remove gmmintrin.h, add immintrin.h and avxintrin.h.
gcc/

2008-11-21  H.J. Lu  <hongjiu.lu@intel.com>
	    Xuepeng Guo  <xuepeng.guo@intel.com>

	* config.gcc (extra_headers): For x86 and x86-64, remove
	gmmintrin.h, add immintrin.h and avxintrin.h.

	* config/i386/gmmintrin.h: Renamed to ...
	* config/i386/avxintrin.h: This.  Don't include intrinsics if
	_IMMINTRIN_H_INCLUDED is undedined.

	* config/i386/immintrin.h: New.

gcc/testsuite/

2008-11-21  H.J. Lu  <hongjiu.lu@intel.com>

	* gcc.target/i386/avx-1.c: Include <immintrin.h> instead of
	<gmmintrin.h>.
	* gcc.target/i386/avx-2.c: Likewise.
	* gcc.target/i386/m256-check.h: Likewise.
	* g++.dg/other/i386-5.C: Likewise.
	* g++.dg/other/i386-6.C: Likewise.

Co-Authored-By: Xuepeng Guo <xuepeng.guo@intel.com>

From-SVN: r142090
2008-11-21 06:05:02 -08:00
Kai Tietz da9014c049 Missed to check in changes to /config/mh-mingw.
Missed to check in changes to /config/mh-mingw. It is part of the reviewed
patch 2008/10/13 by Danny Smith.

2008-11-21  Kai Tietz  <kai.tietz@onevision.com>

        Fix PR/25502
        * mh-mingw (BOOT_CFLAGS): Add -Wno-pedantic-ms-format switch.

From-SVN: r142089
2008-11-21 14:54:41 +01:00
Jakub Jelinek 231a1e5243 re PR target/38208 (gcc.c-torture/compile/20080806-1.c)
PR target/38208
	* reload1.c (eliminate_regs_in_insn): For trunc_int_for_mode use
	mode of PLUS, not mode of the eliminated register.

From-SVN: r142088
2008-11-21 14:47:05 +01:00
Kai Tietz b15b7ef84d Object.m (errno): Replaced by errno.h include.
2008-11-21  Kai Tietz  <kai.tietz@onevision.com>

        *  Object.m (errno): Replaced by errno.h include.
        (compare): Cast self to id to prevent warning on comparison.
        * objc/objc.h (BOOL): Prevent redeclaration of BOOL, if it is
        already there.
        * sendmsg.c (__objc_print_dtable_stats): Remove type warnings.
        * thr-win32.c (__objc_thread_detach): Remove type warning.
        (__objc_thread_id): Likewise.
        * thr.c (__objc_thread_detach_functiont): Add __builtin_trap ()
        for noreturn.

From-SVN: r142087
2008-11-21 13:07:43 +01:00
Paolo Carlini 6b96ae3a28 38210.cc: Tweak.
2008-11-21  Paolo Carlini  <paolo.carlini@oracle.com>

	* testsuite/22_locale/num_put/put/char/38210.cc: Tweak.
	* testsuite/22_locale/num_put/put/wchar_t/38210.cc: Likewise.

From-SVN: r142086
2008-11-21 10:14:14 +00:00
Paolo Carlini d2f6b13b3b re PR libstdc++/38210 (num_put<>::do_put(void*) performs padding incorrectly when adjustfield==internal)
2008-11-21  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/38210
	* include/bits/locale_facets.tcc (num_put<>::do_put(iter_type,
	ios_base&, char_type, const void*)): Fix.
	* testsuite/22_locale/num_put/put/char/38210.cc: New.
	* testsuite/22_locale/num_put/put/wchar_t/38210.cc: Likewise.

From-SVN: r142085
2008-11-21 09:59:17 +00:00
Uros Bizjak c6d55c5b0e mmx.md (mmx_nand<mode>3): Rename to mmx_andnot<mode>3.
* config/i386/mmx.md (mmx_nand<mode>3): Rename to mmx_andnot<mode>3.
	* config/i386/sse.md (avx_nand<mode>3): Rename to avx_andnot<mode>3.
	(<sse>_nand<mode>3): Rename to <sse>_andnot<mode>3.
	(sse2_nand<mode>3): Rename to sse2_andnot<mode>3.
	(*sse_nand<mode>3): Rename to *sse_andnot<mode>3.
	(*avx_nand<mode>3): Rename to *avx_andnot<mode>3.
	(*nand<mode>3): Rename to *andnot<mode>3.
	(*nandtf3): rename to *andnottf3.
	* config/i386/i386.c (bdesc_args) [IX86_BUILTIN_PANDN]:
	Use CODE_FOR_mmx_andnotv2si3.
	[IX86_BUILTIN_ANDNPS]: Use CODE_FOR_sse_andnotv4sf3.
	[IX86_BUILTIN_ANDNPD]: Use CODE_FOR_sse2_andnotv2df3.
	[IX86_BUILTIN_PANDN128]: Use CODE_FOR_sse2_andnotv2di3.
	[IX86_BUILTIN_ANDNPS256]: Use CODE_FOR_avx_andnotv8sf3.
	[IX86_BUILTIN_ANDNPD256]: Use CODE_FOR_avx_andnotv4df3.

From-SVN: r142083
2008-11-21 09:54:18 +01:00
Uros Bizjak 974920dc24 re PR middle-end/37908 (atomic NAND op generate wrong code; __sync_nand_and_fetch, __sync_fetch_and_nand)
PR middle-end/37908
	* config/ia64/ia64.c (ia64_expand_atomic_ope): Properly handle NAND
	case by calculating ~(new_reg & val) instead of (~new_reg & val).
	* config/ia64/sync.md (sync_nand<mode>): Change insn RTX
	to (not:IMODE (and:IMODE (...))).
	(sync_old_nand<mode>): Ditto.
	(sync_new_nand<mode>): Ditto.

From-SVN: r142082
2008-11-21 08:28:27 +01:00
Jerry DeLisle 941bcbde52 re PR fortran/37472 (bad output on default-format write of double in common block with -m64)
2008-11-20  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libfortran/37472
	* gfortran.dg/namelist_print_1.f: Update test.

From-SVN: r142080
2008-11-21 04:35:17 +00:00
Jerry DeLisle 0f4122ff3d re PR fortran/37472 (bad output on default-format write of double in common block with -m64)
2008-11-20  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libfortran/37472
	* io/write_float.def (output_float_FMT_G_): Adjust conversion of
	G format specification to F format.

From-SVN: r142079
2008-11-21 04:29:54 +00:00
GCC Administrator 54182589cf Daily bump.
From-SVN: r142075
2008-11-21 00:16:55 +00:00
Joseph Myers f72d3365ec thumb2.md (thumb2_casesi_internal, [...]): Use earlyclobber for scratch operand 4.
* config/arm/thumb2.md (thumb2_casesi_internal,
	thumb2_casesi_internal_pic): Use earlyclobber for scratch operand
	4.

From-SVN: r142070
2008-11-20 23:00:00 +00:00
Andreas Krebbel d7a9e5c0b9 sync-2.c: Add type cast to avoid folding.
2008-11-20  Andreas Krebbel  <krebbel1@de.ibm.com>

	* gcc.dg/sync-2.c: Add type cast to avoid folding.
	* gcc.dg/sync-3.c: Likewise.

From-SVN: r142064
2008-11-20 22:11:42 +00:00
Andreas Krebbel 6a238c58a6 s390.c (s390_expand_atomic): Adjust QI/HI atomic nand to the changed 4.4 semantic.
2008-11-20  Andreas Krebbel  <krebbel1@de.ibm.com>

	* gcc/config/s390/s390.c (s390_expand_atomic): Adjust QI/HI atomic
	nand to the changed 4.4 semantic.

From-SVN: r142063
2008-11-20 22:08:08 +00:00
Jakub Jelinek 81f5094da4 re PR middle-end/29215 (extra store for memcpy)
PR middle-end/29215
	* builtins.c (SLOW_UNALIGNED_ACCESS): Define if not defined.
	(fold_builtin_memory_op): Handle even the case where just one
	of src and dest is an address of a var decl component, using
	TYPE_REF_CAN_ALIAS_ALL pointers.  Remove is_gimple_min_invariant
	and readonly_data_expr src check.
	* tree-ssa-sccvn.c (DFS): Use clear_and_done_ssa_iter to shut
	up warnings.

	* trans-array.c (trans_array_constructor_value,
	gfc_build_constant_array_constructor): Fill in TREE_PURPOSE.

	* gfortran.dg/array_memcpy_3.f90: Adjust pattern to match even
	memcpy optimized into ref-all store.
	* gcc.dg/pr29215.c: New test.

From-SVN: r142061
2008-11-20 22:35:03 +01:00
Jakub Jelinek 1fd8faf059 re PR rtl-optimization/36998 (Ada bootstrap broken on i586-*-*)
PR rtl-optimization/36998
	* dwarf2out.c (stack_adjust_offset): Add cur_args_size and cur_offset
	arguments.  Handle sp = reg and (set (foo) (mem (pre_inc (reg sp)))).
	(compute_barrier_args_size_1, dwarf2out_frame_debug_expr): Adjust
	stack_adjust_offset callers.
	(dwarf2out_stack_adjust): Likewise.  Handle insns in annulled
	branches properly.
	(compute_barrier_args_size): Handle insns in annulled branches
	properly.

From-SVN: r142060
2008-11-20 22:26:52 +01:00
Uros Bizjak b52b558a25 re PR middle-end/38151 (structures with _Complex arguments are not passed correctly)
PR target/38151
	* config/i386/i386.c (classify_argument) [integer mode size <= 64bit]:
	Handle cases when integer argument crosses argument register boundary.

testsuite/ChangeLog:

	PR target/38151
	* gcc.target/i386/pr38151-1.c: New test.

From-SVN: r142059
2008-11-20 22:11:22 +01:00
Eric Botcazou 586125658a * gcc-interface/utils.c (init_gigi_decls): Fix type mismatch.
From-SVN: r142058
2008-11-20 20:56:23 +00:00
Eric Botcazou 521f661554 Follow up fix for GC19-015:
* utils.c (init_gigi_decls): Fix type mismatch.

From-SVN: r142057
2008-11-20 20:24:53 +00:00
Jason Merrill a6bf902249 re PR c++/28513 (QOI: Diagnostic missing since 3.3.x when naming rule is violated)
PR c++/28513
        * parser.c (cp_parser_class_name): Call maybe_note_name_used_in_class.

From-SVN: r142056
2008-11-20 15:23:32 -05:00
Jason Merrill c7962e7d5d re PR c++/37540 (ICE on __decltype of method call in function template)
PR c++/37540
        * call.c (build_over_call): Take the address of the function even
        in a template.
        (build_new_method_call): Remember the type of the called function
        in a template.

From-SVN: r142054
2008-11-20 13:40:52 -05:00
Rainer Orth 19523300a0 re PR bootstrap/33100 (on bootstrap getting section .eh_frame: bad cie version 0: offset 0x0)
gcc:
	PR bootstrap/33100
	* config.gcc (i[34567]86-*-solaris2*): Don't include
	i386/t-crtstuff here.
	Move extra_parts, i386/t-sol2 in tmake_file to libgcc/config.host.
	* config/i386/t-sol2: Move to libgcc/config/i386.
	
	libgcc:
	PR bootstrap/33100
	* configure.ac (i?86-*-solaris2.1[0-9]*): Only include
	i386/t-crtstuff if linker supports ZERO terminator unwind entries.
	* configure: Regenerate.
	* config.host (i[34567]86-*-solaris2*): Move i386/t-sol2 in
	tmake_file here from gcc/config.gcc.
	Move extra_parts here from gcc/config.gcc.
	* config/i386/t-sol2: Move here from gcc/config/i386.
	Use gcc_srcdir instead of srcdir.

From-SVN: r142050
2008-11-20 17:13:01 +00:00
Paolo Carlini 7391b59739 re PR libstdc++/38196 (num_put<>::do_put(bool) performs 'internal' padding incorrectly when boolalpha==true)
2008-11-20  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/38196
	* include/bits/locale_facets.tcc (num_put<>::do_put(iter_type,
	ios_base&, char_type, bool)): Fix.
	* testsuite/22_locale/num_put/put/char/38196.cc: New.
	* testsuite/22_locale/num_put/put/wchar_t/38196.cc: Likewise.

From-SVN: r142048
2008-11-20 16:00:17 +00:00
Jakub Jelinek 8c3ed71edb trans-intrinsic.c (gfc_conv_intrinsic_minmaxloc): Use gfc_index_one_node.
* trans-intrinsic.c (gfc_conv_intrinsic_minmaxloc): Use
	gfc_index_one_node.
	(gfc_conv_intrinsic_size): Use gfc_index_{zero,one}_node.

From-SVN: r142046
2008-11-20 16:21:12 +01:00
Thomas Schwinge 97e274e76f Add PR tag forgotten in rev142043.
From-SVN: r142044
2008-11-20 14:24:18 +01:00
Samuel Thibault e29354d4a4 tlink.c: Include "libiberty.h".
2008-11-20  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	* tlink.c: Include "libiberty.h".
	(initial_cwd): Change type into char *.
	(tlink_init): Call getpwd instead of getcwd.

From-SVN: r142043
2008-11-20 14:21:51 +01:00
Richard Guenther 32427faa01 re PR tree-optimization/37868 (code that breaks TBAA is misoptimized even with -fno-strict-aliasing)
2008-11-20  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/37868
	* gcc.dg/torture/pr37868.c: New testcase.
	* gcc.c-torture/execute/pr38048-1.c: Likewise.
	* gcc.c-torture/execute/pr38048-2.c: Likewise.

From-SVN: r142041
2008-11-20 12:25:26 +00:00
Jakub Jelinek b41b10e590 re PR fortran/38181 (calls to SIZE not optimized out of loops)
PR fortran/38181
	* trans-intrinsic.c (gfc_conv_intrinsic_size): Inline 2 argument
	size if the second argument is not optional and one argument size
	for rank 1 arrays.

	* gfortran.dg/array_section_2.f90: Adjust pattern to match
	the inlined size0 instead of a size0 call.

From-SVN: r142037
2008-11-20 10:42:35 +01:00
Zdenek Dvorak dc5b3407f2 re PR rtl-optimization/32283 (Missed induction variable optimization)
PR rtl-optimization/32283
	* tree-ssa-loop-niter.c (scev_probably_wraps_p): Use type of the base
	of the induction variable to decide whether it may wrap.
	* tree-ssa-loop-ivopts.c (rewrite_use_compare): Emit the initialization
	of the bound before the loop.
	* simplify-rtx.c (simplify_binary_operation_1): Add two simplifications
	regarding AND.
	(simplify_plus_minus): Only fail if no simplification is possible.
	* loop-iv.c (simple_rhs_p): Consider reg + reg and reg << cst simple.

From-SVN: r142035
2008-11-20 08:05:12 +00:00
Jakub Jelinek f9487002a4 re PR c++/36631 (attribute always_inline -> sorry, unimplemented: recursive inlining)
PR c++/36631
	* gimplify.c (gimplify_call_expr): Defer most of the cannot inline
	checking until GIMPLE lowering.
	* gimple-low.c (check_call_args): New function.
	(lower_stmt) <case GIMPLE_CALL>: Call it.

	* g++.dg/template/call5.C: New test.

From-SVN: r142033
2008-11-20 02:47:10 +01:00