Commit Graph

114838 Commits

Author SHA1 Message Date
Pascal Obry a76b09dce5 prj-proc.adb (Recursive_Process): Set From_Encapsulated_Lib boolean value to true in the process list created by...
2012-01-30  Pascal Obry  <obry@adacore.com>

	* prj-proc.adb (Recursive_Process): Set From_Encapsulated_Lib
	boolean value to true in the process list created by this routine.
	* prj.ads (Project_List_Element): New field From_Encapsulated_Lib.
	Continued work for KA06-021.
	* prj.adb (Compute_All_Imported_Projects): Set
	From_Encapsulated_Lib boolean flag.

From-SVN: r183703
2012-01-30 11:33:44 +01:00
Arnaud Charlet 457c5df44b [multiple changes]
2012-01-30  Vincent Pucci  <pucci@adacore.com>

	* sem_dim.adb (Expand_Put_Call_With_Dimension_Symbol): Minor
	code clean up.
	* s-diflio.ads: Minor change.

2012-01-30  Javier Miranda  <miranda@adacore.com>

	* exp_ch9.adb (Build_Dispatching_Requeue): Add missing call
	to Get_Entry_Index.  Required to generate code which provides
	the correct value of Entry_Index in the target entry.

2012-01-30  Nicolas Roche  <roche@adacore.com>

	* system-vxworks-ppc.ads: Add pragma Linker_Options -crtbe to
	fix issue with zcx on VxWorks5.

2012-01-30  Pascal Obry  <obry@adacore.com>

	* prj.ads, prj.adb (For_Every_Project_Imported): Remove
	In_Aggregate_Lib.
	(For_Every_Project_Imported_Context): New generic routine with
	a context parameter.
	* prj-nmsc.adb: Revert to use For_Every_Project_Imported Avoid
	distributed complexity.
	* prj-env.adb, prj-conf.adb, makeutl.adb, gnatcmd.adb: Ditto.

From-SVN: r183702
2012-01-30 11:32:44 +01:00
Arnaud Charlet 1b6897ce5d [multiple changes]
2012-01-30  Thomas Quinot  <quinot@adacore.com>

	* exp_aggr.adb (Expand_Record_Aggregate): After creating the
	_parent aggregate for an extension aggregate, check whether it
	requires delayed (top-down) expansion.

2012-01-30  Vincent Pucci  <pucci@adacore.com>

	* sem_dim.adb (Expand_Put_Call_With_Dimension_Symbol): Rewritten.
	* snames.ads-tmpl: Name_Item and Name_Symbols added.
	* s-diflio.adb, s-diflio.ads, s-diinio.adb, s-diinio.ads: Rename
	and change the position of parameter Symbols in every Put routine.
	* s-dimmks.ads: Convert long float type Mks_Type into long
	long float.
	* s-llflex.ads: Modifications in comments.

2012-01-30  Hristian Kirtchev  <kirtchev@adacore.com>

	* sem_ch12.adb (Earlier): Do not use the
	top level source locations of the two input nodes.

From-SVN: r183701
2012-01-30 11:29:35 +01:00
Robert Dewar 50decc819b exp_aggr.adb, [...]: Minor reformatting.
2012-01-30  Robert Dewar  <dewar@adacore.com>

	* exp_aggr.adb, sem_aggr.adb: Minor reformatting.

From-SVN: r183700
2012-01-30 11:27:36 +01:00
Robert Dewar 22243c12a3 einfo.ads, [...]: Minor reformatting.
2012-01-30  Robert Dewar  <dewar@adacore.com>

	* einfo.ads, sem_prag.adb, sem_attr.adb, aspects.ads,
	sem_cat.adb, sem_aggr.adb, exp_aggr.adb: Minor reformatting.

From-SVN: r183699
2012-01-30 11:26:25 +01:00
Arnaud Charlet 25081892c4 [multiple changes]
2012-01-30  Robert Dewar  <dewar@adacore.com>

	* a-cdlili.adb, a-cidlli.adb, a-cbdlli.adb: Minor reformatting.

2012-01-30  Olivier Hainque  <hainque@adacore.com>

	* sigtramp-ppcvxw.c (CFI_COMMON_REGS): Add rule for r1 back +
	comments.

2012-01-30  Thomas Quinot  <quinot@adacore.com>

	* gnat_rm.texi, sem_dist.adb, sem_dist.ads, einfo.ads, sem_prag.adb,
	sem_ch12.adb, sem_attr.adb, aspects.adb, aspects.ads, par-prag.adb,
	sem_cat.adb, snames.ads-tmpl (Sem_Dist.Is_Valid_Remote_Object_Type):
	New subprogram (extracted from
	Sem_Cat.Validate_Remote_Access_Object_Type_Declaration).
	(Einfo.Is_Remote_Types): Now applies to generic types. Update
	documentation accordingly.
	(Sem_Ch12.Analyze_Associations): A RACW type is acceptable as
	actual for a formal type to which a pragma Remote_Access_Type
	applies.
	(Aspects, Par.Prag, Sem_Prag): Support for new pramga/aspect
	Remote_Access_Type.
	(Sem_Attr.Analyze_Attribute, case Stub_Type): Attribute can
	be applied to a generic type if pragma Remote_Access_Type
	applies, in which case the type of the attribute is
	System.Partition_Interface.RACW_Stub_Type.

From-SVN: r183698
2012-01-30 11:24:17 +01:00
Georg-Johann Lay 4f0534570b avr.c (out_movqi_mr_r): Fix length computation.
* config/avr/avr.c (out_movqi_mr_r): Fix length computation.

From-SVN: r183697
2012-01-30 10:16:29 +00:00
Georg-Johann Lay 733ccf098f avr.c (out_movqi_mr_r): Fix length computation.
* config/avr/avr.c (out_movqi_mr_r): Fix length computation.

From-SVN: r183696
2012-01-30 10:08:25 +00:00
Andreas Krebbel 5f8f0db63d fe-convert-2.c: Force use of soft dfp on s390 and s390x.
2012-01-30  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

	* gcc.dg/dfp/fe-convert-2.c: Force use of soft dfp on s390 and
          s390x.

From-SVN: r183694
2012-01-30 08:24:46 +00:00
Sandra Loosemore 1d7b264ef1 invoke.texi: Make usage of "compile time" and "run time"/"runtime" consistent throughout the...
2012-01-29  Sandra Loosemore  <sandra@codesourcery.com>

	gcc/
	* doc/invoke.texi: Make usage of "compile time" and
	"run time"/"runtime" consistent throughout the file.

From-SVN: r183693
2012-01-29 19:41:03 -05:00
GCC Administrator 9c0ef3731c Daily bump.
From-SVN: r183692
2012-01-30 00:18:29 +00:00
John David Anglin 491341879b re PR testsuite/51875 (FAIL: gfortran.dg/guality/pr41558.f90 -O0 line 7 s == 'foo')
PR testsuite/51875
	* gfortran.dg/guality/pr41558.f90: Skip on 32-bit hppa*-*-hpux*.

From-SVN: r183688
2012-01-29 23:56:38 +00:00
John David Anglin de0f11fe09 template10.C: Fix typo.
* g++.dg/ext/visibility/template10.C: Fix typo.

From-SVN: r183687
2012-01-29 23:53:44 +00:00
John David Anglin 921f02a0fd pr51472.c: Add -fno-common option on hppa-*-hpux*.
* gcc.dg/tm/pr51472.c: Add -fno-common option on hppa-*-hpux*.

From-SVN: r183686
2012-01-29 23:51:00 +00:00
Paolo Carlini 07a71223f1 re PR c++/51327 ([c++0x] [4.7 Regression] ICE with invalid constexpr parameter)
/cp
2012-01-29  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/51327
	* class.c (explain_non_literal_class): Correctly handle implicitly
	deleted constructors.

/testsuite
2012-01-29  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/51327
	* g++.dg/cpp0x/constexpr-ice6.C: New.

From-SVN: r183685
2012-01-29 21:42:56 +00:00
Paolo Carlini efff2fb40e re PR c++/51327 ([c++0x] [4.7 Regression] ICE with invalid constexpr parameter)
/cp
2012-01-29  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/51327
	* class.c (explain_non_literal_class): Correctly handle implicitly
	deleted constructors.

/testsuite
2012-01-29  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/51327
	* g++.dg/cpp0x/constexpr-ice6.C: New.

From-SVN: r183684
2012-01-29 21:41:54 +00:00
Uros Bizjak 1e86df8d39 alpha.c (alpha_option_overrride): Default to full IEEE compliance mode for Go language.
* config/alpha/alpha.c (alpha_option_overrride): Default to
	full IEEE compliance mode for Go language.

From-SVN: r183683
2012-01-29 21:55:09 +01:00
Tobias Burnus 0b673c092d re PR fortran/41600 ([OOP] SELECT TYPE with associate-name => exp: Arrays not supported)
2012-01-29  Tobias Burnus  <burnus@net-b.de>

        PR fortran/41600
        * expr.c (gfc_default_initializer): Convert the values if
        the type does not match.

2012-01-29  Tobias Burnus  <burnus@net-b.de>

        PR fortran/41600
        * gfortran.dg/default_initialization_6.f90: New.


Co-Authored-By: Steven G. Kargl <kargl@gcc.gnu.org>

From-SVN: r183682
2012-01-29 21:51:19 +01:00
Janne Blomqvist cc19bc7fdd Reduce size of pointer_info tree, minor cleanups.
2012-01-29  Janne Blomqvist  <jb@gcc.gnu.org>

	* module.c (pointer_info): Make true_name and module pointers
	rather than arrays, order pointers before other fields.
	(free_pi_tree): free true_name and module as well.
	(mio_read_string): Rename to read_string.
	(mio_write_string): Remove.
	(load_commons): Use read_string.
	(read_module): Use read_string rather than mio_internal_string.
	(write_blank_common): Call write_atom directly.
	(write_symbol): Likewise.

From-SVN: r183681
2012-01-29 22:29:50 +02:00
Tobias Burnus 4ed1b019f6 re PR fortran/51972 ([OOP] Wrong code as _copy does not honor CLASS components)
2012-01-29  Tobias Burnus  <burnus@net-b.de>

        PR fortran/51972
        * trans-array.c (structure_alloc_comps): Fix assignment of
        polymorphic components (polymorphic deep copying).

2012-01-29  Tobias Burnus  <burnus@net-b.de>

        PR fortran/51972
        * gfortran.dg/class_allocate_12.f90: Enable disabled test.
        * gfortran.dg/class_48.f90: New.

From-SVN: r183680
2012-01-29 21:02:19 +01:00
Janne Blomqvist 9975a30b5c PR 51808 Constify binding_label.
2012-01-29  Janne Blomqvist  <jb@gcc.gnu.org>

	PR fortran/51808
	* decl.c (set_binding_label): Make binding_label argument const.
	(curr_binding_label): Constify.
	* gfortran.h (gfc_symbol): Constify binding_label.
	(gfc_common_head): Likewise.
	(get_iso_c_sym): Likewise.
	* match.c (gfc_match_name_C): Constify buffer argument.
	* match.h (gfc_match_name_C): Likewise.
	* resolve.c (set_name_and_label): Constify binding_label argument.
	(gfc_iso_c_sub_interface): Constify binding_label variable.
	* symbol.c (get_iso_c_sym): Constify binding_label argument.

From-SVN: r183679
2012-01-29 21:01:09 +02:00
Janne Blomqvist 9e85a9fd0d PR 51808 Fix ChangeLog entry
From-SVN: r183678
2012-01-29 19:41:49 +02:00
Janne Blomqvist 62603fae93 PR 51808 Support arbitrarily long bind(C) binding labels.
2012-01-29  Janne Blomqvist  <jb@gcc.gnu.org>

	PR fortran/51808
	* decl.c (set_binding_label): Move prototype from match.h to here.
	(curr_binding_label): Make a pointer rather than static array.
	(build_sym): Check sym->binding_label pointer rather than array,
	update set_binding_label call, handle curr_binding_label changes.
	(set_binding_label): Handle new curr_binding_label, dest_label
	double ptr, and sym->binding_label.
	(verify_bind_c_sym): Handle sym->binding_label being a pointer.
	(set_verify_bind_c_sym): Check sym->binding_label pointer rather
	than array, update set_binding_label call.
	(gfc_match_bind_c_stmt): Handle curr_binding_label change.
	(match_procedure_decl): Update set_binding_label call.
	(gfc_match_bind_c): Change binding_label to pointer, update
	gfc_match_name_C call.
	* gfortran.h (GFC_MAX_BINDING_LABEL_LEN): Remove macro.
	(gfc_symbol): Make binding_label a pointer.
	(gfc_common_head): Likewise.
	* match.c (gfc_match_name_C): Heap allocate bind(C) name.
	* match.h (gfc_match_name_C): Change prototype argument.
	(set_binding_label): Move prototype to decl.c.
	* module.c (struct pointer_info): Make binding_label a pointer.
	(free_pi_tree): Free unused binding_label.
	(mio_read_string): New function.
	(mio_write_string): New function.
	(load_commons): Redo reading of binding_label.
	(read_module): Likewise.
	(write_common_0): Change to write empty string instead of name if
	no binding_label.
	(write_blank_common): Write empty string for binding label.
	(write_symbol): Change to write empty string instead of name if no
	binding_label.
	* resolve.c (gfc_iso_c_func_interface): Don't set binding_label.
	(set_name_and_label): Make binding_label double pointer, use
	asprintf.
	(gfc_iso_c_sub_interface): Make binding_label a pointer.
	(resolve_bind_c_comms): Handle cases if
	gfc_common_head->binding_label is NULL.
	(gfc_verify_binding_labels): sym->binding_label is a pointer.
	* symbol.c (gfc_free_symbol): Free binding_label.
	(gfc_new_symbol): Rely on XCNEW zero init for binding_label.
	(gen_special_c_interop_ptr): Don't set binding label.
	(generate_isocbinding_symbol): Insert binding_label into symbol
	table.
	(get_iso_c_sym): Use pointer assignment instead of strcpy.
	* trans-common.c (gfc_sym_mangled_common_id): Handle
	com->binding_label being a pointer.
	* trans-decl.c (gfc_sym_mangled_identifier): Handle
	sym->binding_label being a pointer.
	(gfc_sym_mangled_function_id): Likewise.


testsuite ChangeLog

2012-01-29  Janne Blomqvist  <jb@gcc.gnu.org>

	PR fortran/51808
	* gfortran.dg/module_md5_1.f90: Update MD5 sum.

From-SVN: r183677
2012-01-29 19:19:32 +02:00
Kai Tietz 9b850dd969 ffi.c (ffi_call_win32): Add new argument to prototype for specify calling-convention.
* src/libffi/src/x86/ffi.c (ffi_call_win32): Add new
        argument to prototype for specify calling-convention.
        (ffi_call): Add support for stdcall/thiscall convention.
        (ffi_prep_args): Likewise.
        (ffi_raw_call): Likewise.
        * src/x86/ffitarget.h (ffi_abi): Add FFI_THISCALL and
        FFI_FASTCALL.
        * src/x86/win32.S (_ffi_call_win32): Add support for
        fastcall/thiscall calling-convention calls.
        * testsuite/libffi.call/fastthis1_win32.c: New test.
        * testsuite/libffi.call/fastthis2_win32.c: New test.
        * testsuite/libffi.call/fastthis3_win32.c: New test.
        * testsuite/libffi.call/strlen2_win32.c: New test.
        * testsuite/libffi.call/many2_win32.c: New test.
        * testsuite/libffi.call/struct1_win32.c: New test.
        * testsuite/libffi.call/struct2_win32.c: New test.

From-SVN: r183676
2012-01-29 14:29:53 +01:00
Tobias Burnus ae98156eae re PR fortran/52038 (fortran bootstrap failure: no previous prototype for 'symbol_as')
2012-01-29  Tobias Burnus  <burnus@net-b.de>

        PR fortran/52038
        * resolve.c (symbol_as): Remove unused, accidentally
        added function.

From-SVN: r183675
2012-01-29 12:56:18 +01:00
GCC Administrator 319191b93c Daily bump.
From-SVN: r183674
2012-01-29 00:18:29 +00:00
Tijl Coosemans fc4c0b4335 * config/freebsd-spec.h [TARGET_LIBC_PROVIDES_SSP]
(LINK_SSP_SPEC): Define.

From-SVN: r183670
2012-01-28 23:13:47 +00:00
John David Anglin df8b553576 re PR target/51871 (FAIL: gcc.c-torture/execute/20010122-1.c execution)
PR target/51871
	* config/pa/pa.c (pa_return_addr_rtx): Add support for PA2.0 export
	stubs.

From-SVN: r183669
2012-01-28 18:48:11 +00:00
Tobias Burnus 3bfe6da98d re PR fortran/51972 ([OOP] Wrong code as _copy does not honor CLASS components)
2012-01-28  Tobias Burnus  <burnus@net-b.de>

        PR fortran/51972
        * trans-stmt.c (gfc_trans_allocate): Properly check whether
        we have a BT_CLASS which needs to be memset.

2012-01-28  Tobias Burnus  <burnus@net-b.de>

        PR fortran/51972
        * gfortran.dg/class_allocate_12.f90: New.

From-SVN: r183668
2012-01-28 17:57:28 +01:00
Eric Botcazou ce590933fe * gcc.dg/torture/pr50444.c: Fix dg directives.
From-SVN: r183667
2012-01-28 15:45:36 +00:00
Sandra Loosemore 6b6985baae invoke.texi: Correct hyphenation of "floating point"...
2012-01-28  Sandra Loosemore  <sandra@codesourcery.com>

	gcc/
	* doc/invoke.texi: Correct hyphenation of "floating point",
	"double precision", and related terminology throughout the file.

From-SVN: r183663
2012-01-27 22:58:05 -05:00
Jakub Jelinek 8ea2d689b8 re PR target/52006 (ARM ICE with incorrectly peepholed tls_load_dot_plus_eight)
PR target/52006
	* config/arm/arm.md (pic_add_dot_plus_eight peephole2): Use
	arm_general_register_operand predicate for operand 2 instead of
	register_operand.

	* gcc.target/arm/pr52006.c: New test.

From-SVN: r183661
2012-01-28 01:29:11 +01:00
GCC Administrator 44d111797f Daily bump.
From-SVN: r183660
2012-01-28 00:19:01 +00:00
Paolo Carlini d9c257a7e2 re PR libstdc++/51795 (linear_congruential_engine doesn't work correctly)
2012-01-27  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/51795
	* include/bits/random.h (linear_congruential_generator): Add
	static_assert preventing instantiation for values of 'a' and 'm'
	currently handled incorrectly but _Mod::__calc.
	* include/bits/random.tcc (seed_seq::generate): Avoid unsafe
	uses of _Mod::__calc.

From-SVN: r183655
2012-01-27 23:30:28 +00:00
Ian Lance Taylor af5c13eb04 syscall: Define IPV6 constants for Irix.
From Rainer Orth.

From-SVN: r183652
2012-01-27 22:37:14 +00:00
Ian Lance Taylor eb6a1fe097 libgo: Fix merge errors shown on Solaris.
From Rainer Orth.

From-SVN: r183651
2012-01-27 22:34:53 +00:00
Ian Lance Taylor 183dd1301c compiler: Use new __builtin_init_heap_trampoline.
PR go/47656
	* builtins.def (BUILT_IN_INIT_HEAP_TRAMPOLINE): Define.
	* builtins.c (expand_builtin_init_trampoline): Add onstack
	parameter.  Change caller.
	(expand_builtin): Handle BUILT_IN_INIT_HEAP_TRAMPOLINE.
	* tree.c (build_common_builtin_nodes): Declare
	__builtin_init_heap_trampoline.

From-SVN: r183650
2012-01-27 22:25:02 +00:00
Aldy Hernandez a6bc042329 re PR testsuite/52011 (FAIL: gcc.dg/lto/trans-mem-* c_lto_trans-mem-*.o assemble, -flto -fgnu-tm in 32 bit mode)
PR testsuite/52011
        * gcc.dg/lto/trans-mem.h: New file.
        * gcc.dg/lto/trans-mem-2_0.c: Include it.
        * gcc.dg/lto/trans-mem-1_1.c: Same.
        * gcc.dg/lto/trans-mem-4_1.c: Same.
        * gcc.dg/lto/trans-mem-3_1.c: Same.

From-SVN: r183648
2012-01-27 21:53:40 +00:00
Jakub Jelinek 7dcbaaa984 re PR libstdc++/51798 (libstdc++ atomicity performance regression due to __sync_fetch_and_add)
PR libstdc++/51798
	* config/cpu/generic/atomicity_builtins/atomicity.h
	(__exchange_and_add, __atomic_add): Use __atomic_fetch_add
	with __ATOMIC_ACQ_REL semantics instead of __sync_fetch_and_add.
	* include/ext/atomicity.h (__exchange_and_add, __atomic_add):
	Likewise.

From-SVN: r183644
2012-01-27 21:26:03 +01:00
Tobias Burnus 8c6cb782a3 re PR fortran/52022 (Wrong-code with procedures passed as actual argument)
2012-01-27  Tobias Burnus  <burnus@net-b.de>

        PR fortran/52022
        * trans-expr.c (gfc_conv_procedure_call): Fix passing
        of functions, which return allocatables.

2012-01-27  Tobias Burnus  <burnus@net-b.de>

        PR fortran/52022
        * gfortran.dg/dummy_procedure_7.f90: New.

From-SVN: r183643
2012-01-27 21:11:51 +01:00
Andreas Schwab bea3da64d6 constexpr-rom.C: Don't add -G0 on *-*-darwin* *-*-aix* alpha*-*-osf* alpha*-*-*vms*.
* g++.dg/cpp0x/constexpr-rom.C: Don't add -G0 on *-*-darwin*
*-*-aix* alpha*-*-osf* alpha*-*-*vms*.

From-SVN: r183642
2012-01-27 19:46:46 +00:00
Rafael Ávila de Espíndola b939d4f696 typeinfo: Correctly match #pragma GCC visibility pop with #pragma GCC visibility push.
2011-01-27  Rafael Avila de Espindola  <rafael.espindola@gmail.com>

	* libsupc++/typeinfo: Correctly match #pragma GCC visibility
	pop with #pragma GCC visibility push.

From-SVN: r183641
2012-01-27 19:38:56 +00:00
Georg-Johann Lay 38ee081588 avr-protos.h (lpm_reg_rtx, [...]): Make global.
* config/avr/avr-protos.h (lpm_reg_rtx, lpm_addr_reg_rtx,
	tmp_reg_rtx, zero_reg_rtx, all_regs_rtx, rampz_rtx): Make global.
	* config/avr/avr.c: Ditto.
	(avr_regnames): Remove because unused.
	* config/avr/avr.md (*cpse.ne): New peephole.
	(*cpse.eq): New peephole from former cpse peepholes.

From-SVN: r183638
2012-01-27 18:17:41 +00:00
Jakub Jelinek 8c71382973 re PR c++/51852 ([c++11] tree check: expected tree_list, have HßèMÕþÿøtxøtsø)
PR c++/51852
	* pt.c (tsubst_pack_expansion): Delete and restore
	local_specialization whenever need_local_specialization, not just
	when saved_local_specializations is non-NULL.

	* g++.dg/other/gc5.C: New test.

From-SVN: r183637
2012-01-27 18:55:55 +01:00
Michael Eager b6c71f7771 microblaze.c (microblaze_emit_compare): Correct test after pcmp instruction.
* config/microblaze.c (microblaze_emit_compare): Correct
	test after pcmp instruction.

From-SVN: r183635
2012-01-27 16:36:12 +00:00
Joseph Myers 1f89a7e959 gcc.pot: Regenerate.
gcc/po:
	* gcc.pot: Regenerate.

libcpp/po:
	* cpplib.pot: Regenerate.

From-SVN: r183634
2012-01-27 16:18:53 +00:00
Richard Guenther 1360492750 re PR regression/52020 (ICE in immed_double_const, at emit-rtl.c:544)
2012-01-27  Richard Guenther  <rguenther@suse.de>

        PR tree-optimization/52020
	* tree-sra.c (sra_modify_assign): Do not transform clobbers.

From-SVN: r183633
2012-01-27 15:50:32 +00:00
Richard Guenther ace018f938 ipa-pure-const.c (check_stmt): Clobbers do not make a function non-const/pure.
2012-01-27  Richard Guenther  <rguenther@suse.de>

	* ipa-pure-const.c (check_stmt): Clobbers do not make a
	function non-const/pure.

From-SVN: r183632
2012-01-27 15:49:34 +00:00
Richard Guenther aff8659424 re PR tree-optimization/50444 (-ftree-sra ignores alignment)
2012-01-27  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/50444
	* tree-sra.c (build_ref_for_offset): Properly adjust the
	MEM_REF type for unaligned accesses.

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

From-SVN: r183630
2012-01-27 14:56:54 +00:00
Richard Guenther 223453574e re PR tree-optimization/50444 (-ftree-sra ignores alignment)
2012-01-27  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/50444
	* expr.c (mem_ref_refers_to_non_mem_p): New function.
	(expand_assignment): Use it.  Properly handle misaligned
	bases when expanding stores to component references.
	(expand_expr_real_1): Use mem_ref_refers_to_non_mem_p and
	refactor that case.

From-SVN: r183629
2012-01-27 14:54:37 +00:00