Commit Graph

114219 Commits

Author SHA1 Message Date
Joseph Myers
48b0b19630 gcc:
* c-decl.c (diagnose_mismatched_decls, grokdeclarator, grokfield)
	(finish_struct): Refer to C11 in comments.  Use flag_isoc11.
	* c-parser.c (c_parser_static_assert_declaration)
	(c_parser_static_assert_declaration_no_semi, c_parser_declspecs)
	(c_parser_alignas_specifier, c_parser_alignof_expression): Refer
	to C11 in comments.  Use flag_isoc11.
	* c-typeck.c (comptypes_check_different_types): Refer to C11 in
	comment.
	* doc/cpp.texi (Overview): Refer to -std=c11 instead of -std=c1x.
	* doc/cppopts.texi (-std=c11, -std=gnu11): Document in preference
	to -std=c1x and -std=gnu1x.
	* doc/extend.texi (Inline, Alternate Keywords, Other Builtins)
	(__builtin_complex, Unnamed Fields): Refer to -std=c11 and C11
	instead of -std=c1x and C1X.
	* doc/invoke.texi (-std=c11, -std=iso9899:2011): Document in
	preference to -std=c1x.
	(-std=gnu11): Document in preference to -std=gnu1x.
	* doc/standards.texi: Document C11 instead of C1X.  Document C11
	as actual standard.  Document headers required from freestanding
	C11 implementations.
	* ginclude/float.h, ginclude/stddef.h: Test __STDC_VERSION__ >=
	201112L for C11.  Update comments to refer to C11.

gcc/c-family:
	* c-common.c (flag_isoc99): Update comment to refer to C11.
	(flag_isoc1x): Change to flag_isoc11.
	* c-common.h (flag_isoc99): Update comment to refer to C11.
	(flag_isoc1x): Change to flag_isoc11.
	* c-cppbuiltin.c (cpp_atomic_builtins): Change comment to refer to
	C11.
	* c-opts.c (set_std_c1x): Change to set_std_c11.
	(c_common_handle_option): Handle OPT_std_c11 and OPT_std_gnu11.
	Call set_std_c11.
	(set_std_c89, set_std_c99, set_std_c11): Use flag_isoc11.
	(set_std_c1): Use CLK_STDC11 and CLK_GNUC11.
	* c.opt (std=c1x): Change to std=c11.  Document as non-draft
	standard.
	(std=c1x, std=iso9899:2011): Add as aliases of std=c11.
	(std=gnu1x): Change to std=gnu11.  Refer to non-draft standard.
	(std=gnu1x): Make alias of std=gnu11.

gcc/testsuite:
	* gcc.dg/c11-version-1.c, gcc.dg/c11-version-2.c,
	gcc.dg/c94-version-1.c, gcc.dg/c99-version-1.c,
	gcc.dg/gnu11-version-1.c: New tests.

libcpp:
	* include/cpplib.h (CLK_GNUC1X): Change to CLK_GNUC11.
	(CLK_STDC1X): Change to CLK_STDC11.
	* init.c (lang_defaults): Update comments.
	(cpp_init_builtins): Update language tests.  Use 201112L for C11
	__STDC_VERSION__.

From-SVN: r182551
2011-12-20 20:44:13 +00:00
Ian Lance Taylor
d8fa39bfc8 libgo/runtime: Don't define _GNU_SOURCE in source code.
From-SVN: r182550
2011-12-20 18:49:40 +00:00
Ian Lance Taylor
e44d7e3917 syscall: Don't define IPMreq in socket_irix.go.
From Rainer Orth.

From-SVN: r182549
2011-12-20 18:17:21 +00:00
Ian Lance Taylor
d48be5dfaf libgo: Fix use of -D_GNU_SOURCE and friends when building libgo.
From-SVN: r182548
2011-12-20 18:14:30 +00:00
Andreas Schwab
4a5e00ca50 warnings.m4 (ACX_PROG_CC_WARNING_OPTS): Avoid leading dash in expr call.
config/:
	* warnings.m4 (ACX_PROG_CC_WARNING_OPTS): Avoid leading dash in
	expr call.
fixincludes/:
	* configure: Regenerate.
gcc/:
	* configure: Regenerate.
libcpp/:
	* configure: Regenerate.
libdecnumber/:
	* configure: Regenerate.
libiberty/:
	* configure: Regenerate.
lto-plugin/:
	* configure: Regenerate.

From-SVN: r182546
2011-12-20 16:54:12 +00:00
Bernd Schmidt
36acc1a242 expr.c (store_field): Avoid a direct store if the mode is larger than the size of the bit field.
gcc/
	* expr.c (store_field): Avoid a direct store if the mode is larger
	than the size of the bit field.
	* stor-layout.c (layout_decl): If flag_strict_volatile_bitfields,
	treat non-volatile bit fields like volatile ones.
	* toplev.c (process_options): Disallow combination of
	-fstrict-volatile-bitfields and ABI versions less than 2.
	* config/arm/arm.c (arm_option_override): Don't enable
	flag_strict_volatile_bitfields if the ABI version is less than 2.
	* config/h8300/h8300.c (h8300_option_override): Likewise.
	* config/rx/rx.c (rx_option_override): Likewise.
	* config/m32c/m32c.c (m32c_option_override): Likewise.
	* config/sh/sh.c (sh_option_override): Likewise.

	gcc/testsuite/
	* gcc.target/arm/volatile-bitfields-4.c: New test.
	* c-c++-common/abi-bf.c: New test.

From-SVN: r182545
2011-12-20 16:46:22 +00:00
Arnaud Charlet
51e641f8ef [multiple changes]
2011-12-20  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch12.adb (Insert_Freeze_Node_For_Instance):  Further
	refinements on the placement of a freeze node for a package
	instantiation, when the generic appears within a previous
	instantiation in the same unit.If the current instance is within
	the one that contains the generic, the freeze node for the
	current one must appear in the current declarative part. Ditto
	if the current instance is within another package instance. In
	these cases the freeze node of the previous instance is is not
	relevant. New predicate Enclosing_Body simplifies the process.
	(Freeze_Subprogram_Body): Rename Enclosing_Body to
	Enclosing_Package_Body, to prevent confusion with subprogram of
	same name elsewhere.
	(Install_Body): Recognize enclosing subprogram bodies to determine
	whether freeze_node belongs in current declarative list.

2011-12-20  Robert Dewar  <dewar@adacore.com>

	* sem_ch13.adb (Analyze_Attribute_Definition_Clause): Allow
	attribute definition clause for renaming if generated internally
	and generate duplicate clause to apply to renamed object.
	(Rep_Item_Too_Late): Only diagnose source level entities
	* prj-nmsc.adb: Minor reformatting.
	* gcc-interface/Make-lang.in: Update dependencies.

From-SVN: r182542
2011-12-20 15:09:26 +01:00
Arnaud Charlet
b2009d4681 [multiple changes]
2011-12-20  Bob Duff  <duff@adacore.com>

	* opt.ads (List_Inherited_Aspects): Default to False
	(i.e. -gnatw.L is the default).
	* usage.adb: Document new default for -gnatw.L.
	* gnat_ugn.texi: Document -gnatw.l and -gnatw.L switches.
	* warnsw.adb (Set_Warning_Switch): Do not include
	List_Inherited_Aspects in -gnatwa.

2011-12-20  Ed Schonberg  <schonberg@adacore.com>

	* checks.adb (Apply_Type_Conversion_Checks): For a discrete type
	with predicates, indicate unconditionally that a range check
	is needed.
	* exp_ch4.adb (Expand_N_In): When the membership test is rewritten
	to incorporate a call to a predicate function, analyze expression
	with checks suppressed, to prevent infinite recursion.

From-SVN: r182540
2011-12-20 15:04:19 +01:00
Arnaud Charlet
2f7b74678b [multiple changes]
2011-12-20  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_ch11.adb (Find_Local_Handler): Guard the
	search over individual exception choices in case the list of
	handlers contains other (possibly illegal) constructs.

2011-12-20  Gary Dismukes  <dismukes@adacore.com>

	* sem_ch8.adb (Find_Type): Test taggedness
	of the Available_Type when checking for an illegal use of an
	incomplete type, when the incomplete view is a limited view of
	a type. Remove redundant Is_Tagged test.

2011-12-20  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_util.adb: Add with and use clause for Aspects.
	(Is_Finalizable_Transient): Objects which denote Ada containers
	in the context of iterators are not considered transients. Such
	object must live for as long as the loop is around.
	(Is_Iterated_Container): New routine.

2011-12-20  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_imgv.adb (Expand_Width_Attribute): Add a
	type conversion from the enumeration subtype to its base subtype.

From-SVN: r182539
2011-12-20 15:00:46 +01:00
Arnaud Charlet
b26f70a095 Minor reformatting.
From-SVN: r182538
2011-12-20 14:56:21 +01:00
Hristian Kirtchev
15954beb2b sem_ch4.adb (Operator_Check): Update the call to Is_Dimensioned_Type.
2011-12-20  Hristian Kirtchev  <kirtchev@adacore.com>

	* sem_ch4.adb (Operator_Check): Update the call to
	Is_Dimensioned_Type.
	* sem_dim.adb: Remove with and use clause for Namet.Sp. Reorganize
	all type declarations and datastructures involved. Propagate
	all changes involving data structures and types throughout
	the pakage. Alphabetize all subprograms. Add ??? comments.
	(AD_Hash): Removed.
	(Analyze_Aspect_Dimension): Rewritten. This
	routine now does all its checks in one pass rather than
	two. Refactor code. The error message are now in a more GNAT-ish style.
	(Create_Rational_From_Expr): This is now a function.
	(Get_Dimensions): Removed.
	(Get_Dimensions_String_Id): Removed.
	(Dimensions_Of): New rouitne.
	(Exists): New routines.
	(Is_Invalid): New routine.
	(Permits_Dimensions): Removed.
	(Present): Removed.
	(Set_Symbol): New routine.
	(System_Of): New routine.
	* sem_dim.ads: Rewrite the top level description of the
	package. Alphabetize subprograms. Add various comments on
	subprogram usage. Add ??? comments.
	(Is_Dimensioned_Type):
	Renamed to Has_Dimension_System.
	* sem_res.adb (Resolve_Op_Expon): Update the call to Is_Dimensioned_Type

From-SVN: r182537
2011-12-20 14:55:31 +01:00
Ed Schonberg
76d49f494a sem_ch13.adb (Check_Indexing_Functions): The return type of an indexing function can be the default element type...
2011-12-20  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch13.adb (Check_Indexing_Functions): The return type of an
	indexing function can be the default element type, and does not
	need to be a reference type.
	* sem_ch4.adb (Try_Container_Indexing): Ditto.

From-SVN: r182536
2011-12-20 14:53:42 +01:00
Arnaud Charlet
a68d415b1d [multiple changes]
2011-12-20  Robert Dewar  <dewar@adacore.com>

	* a-cdlili.ads, sem_cat.adb, sem_ch10.adb: Minor reformatting.

2011-12-20  Bob Duff  <duff@adacore.com>

	* s-taprop-mingw.adb (Yield): Do_Yield is no longer Unreferenced.

2011-12-20  Vincent Pucci  <pucci@adacore.com>

	* impunit.adb: s-dimkio, s-dimmks and s-dmotpr defined as GNAT
	Defined Additions to System.
	* Makefile.rtl: s-dimkio, s-dimmks and s-dmotpr added.
	* s-dimkio.ads, s-dimmks.ads, s-dmotpr.ads: New files.

2011-12-20  Gary Dismukes  <dismukes@adacore.com>

	* sem_ch4.adb (Traverse_Homonyms): Allow a homonym to match when
	within an instance, even if the homonym is marked Is_Hidden at
	this point.

From-SVN: r182535
2011-12-20 14:52:22 +01:00
Arnaud Charlet
54c04d6ca5 [multiple changes]
2011-12-20  Robert Dewar  <dewar@adacore.com>

	* sem_ch3.adb, sem_ch5.adb, s-diinio.adb, s-diinio.ads, sem_dim.adb,
	sem_dim.ads, sem_res.adb, s-stposu.adb, s-stposu.ads, sem_ch4.adb,
	s-diflio.adb, s-diflio.ads, exp_disp.adb, s-llflex.ads: Minor
	reformatting.
	* aspects.ads: Dimension[_Aspects] are GNAT defined.

2011-12-20  Robert Dewar  <dewar@adacore.com>

	* sem_ch13.adb (Analyze_Attribute_Definition_Clause): Check
	renaming case.

2011-12-20  Thomas Quinot  <quinot@adacore.com>

	* sem_cat.adb, sem_ch10.adb (Analyze_With_Clause): For a WITH clause on
	a child unit that is an illegal instantiation, mark the WITH clause in
	error.
	(Install_Siblings, Validate_Categorization_Dependency): Guard
	against WITH clause marked as in error.

From-SVN: r182534
2011-12-20 14:47:44 +01:00
Hristian Kirtchev
7b2aafc959 sem_res.adb (Resolve_Allocator): Warning on allocation of tasks on a subpool and rewrite the allocator into a...
2011-12-20  Hristian Kirtchev  <kirtchev@adacore.com>

	* sem_res.adb (Resolve_Allocator): Warning on allocation
	of tasks on a subpool and rewrite the allocator into a raise
	Program_Error statement.
	* s-stposu.ads, s-stposu.adb: Code reformatting.
	(Create_Subpool): Remove formal parameter Storage_Size.
	(Default_Subpool_For_Pool): Add the default implementation of this
	routine.
	(Set_Pool_Of_Subpool): Rename formal parameter Pool to To. Update
	all the uses of the parameter.

From-SVN: r182533
2011-12-20 14:41:00 +01:00
Dodji Seketeli
9a417f117e PR debug/49951 - jumpy stepping at end of scope in C++
gcc/cp/

	PR debug/49951
	* decl.c (cxx_maybe_build_cleanup): Don't set location of the call
	to the destructor.

gcc/testsuite/

	PR debug/49951
	* g++.dg/gcov/gcov-2.C: Adjust.

From-SVN: r182532
2011-12-20 14:36:04 +01:00
Rainer Orth
08b2f8e637 Support 64-bit libjava multilib for i?86-linux
* configure.ac (i?86-*-linux*): Set SIGNAL_HANDLER_AUX.
	* configure: Regenerate.
	* include/i386-signal.h: Wrap in __i386__, include
	java-signal-aux.h otherwise.

From-SVN: r182528
2011-12-20 12:18:26 +00:00
Rainer Orth
6b302f9720 Support 64-bit libgnat multilib on i?86-linux
* gcc-interface/Makefile.in (%86 linux%):
	(LIBGNAT_TARGET_PAIRS_32): Split off from LIBGNAT_TARGET_PAIRS.
	(LIBGNAT_TARGET_PAIRS_64): New.
	(LIBGNAT_TARGET_PAIRS): Add either depending on multilib.

From-SVN: r182527
2011-12-20 12:16:43 +00:00
Paolo Carlini
f0bc5f840f re PR c++/51612 ([c++0x] [4.6/4.7 Regression] ICE with constexpr constructor and virtual base class)
/cp
2011-12-20  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/51612
	* semantics.c (is_valid_constexpr_fn): In case of constexpr
	constructors also check for virtual base classes.

/testsuite
2011-12-20  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/51612
	* g++.dg/cpp0x/constexpr-ice4.C: New.

From-SVN: r182526
2011-12-20 10:38:44 +00:00
Richard Guenther
336e404f9f re PR debug/46796 (debug info missing builtin type names with lto)
2011-12-20  Richard Guenther  <rguenther@suse.de>

	PR lto/46796
	* dwarf2out.c (modified_type_die): When the type variant
	chain is corrupt use the types name, if available, instead
	of __unknown__.

From-SVN: r182524
2011-12-20 09:49:17 +00:00
Jonathan Wakely
d8ab827382 re PR libstdc++/51365 (cannot use final empty class in std::tuple)
PR libstdc++/51365
	* include/std/tuple (_Tuple_impl): Check __is_final as well as
	is_empty.
	* testsuite/20_util/tuple/51365.cc: New.

From-SVN: r182523
2011-12-20 09:09:50 +00:00
Uros Bizjak
1bb4b6a35a linux-unwind.h: Update copyright years.
* config/alpha/linux-unwind.h: Update copyright years.
	(MD_FROB_UPDATE_CONTEXT): New define.
	(alpha_frob_update_context): New function.

From-SVN: r182522
2011-12-20 09:46:38 +01:00
Tristan Gingold
cf45cd09af alpha.c (alpha_start_function): Adjust condition to create VMS trampoline entry point.
2011-12-20  Tristan Gingold  <gingold@adacore.com>

	* config/alpha/alpha.c (alpha_start_function): Adjust condition to
	create VMS trampoline entry point.

From-SVN: r182521
2011-12-20 08:35:12 +00:00
Tristan Gingold
8c3db96e64 aclocal.m4: Assume strncmp works in cross case.
2011-12-20  Tristan Gingold  <gingold@adacore.com>

	* aclocal.m4: Assume strncmp works in cross case.
	* configure: Regenerate

From-SVN: r182520
2011-12-20 08:08:30 +00:00
GCC Administrator
0f172beec4 Daily bump.
From-SVN: r182516
2011-12-20 00:18:56 +00:00
Benjamin Kosnik
d50fb67123 eh_tm.cc (free_any_cxa_exception): Use __GCC_ATOMIC_INT_LOCK_FREE, not _GLIBCXX_ATOMIC_BUILTINS_4.
2011-12-19  Benjamin Kosnik  <bkoz@redhat.com>

	* libsupc++/eh_tm.cc (free_any_cxa_exception): Use
	__GCC_ATOMIC_INT_LOCK_FREE, not _GLIBCXX_ATOMIC_BUILTINS_4.

From-SVN: r182512
2011-12-20 00:16:25 +00:00
Benjamin Kosnik
31785b29ee search_n.cc: Disambiguate local variable.
2011-12-19  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/performance/25_algorithms/search_n.cc: Disambiguate
	local variable.

From-SVN: r182510
2011-12-19 23:29:14 +00:00
Paolo Carlini
eded273670 re PR c++/51328 (ICE on invalid template parameter)
/cp
2011-12-19  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/51328
	* pt.c (convert_template_argument): Early error out and return
	error_mark_node for invalid uses of destructors as types.

/testsuite
2011-12-19  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/51328
	* g++.dg/template/crash109.C: New.

From-SVN: r182508
2011-12-19 22:40:11 +00:00
Richard Sandiford
77a748f887 Add a PR reference.
From-SVN: r182506
2011-12-19 22:23:42 +00:00
Jason Merrill
4f7002c581 re PR c++/51530 ([C++0x] internal compiler error: in unify, at cp/pt.c:16854)
PR c++/51530
	* pt.c (unify): Handle NULLPTR_TYPE.

From-SVN: r182505
2011-12-19 17:08:29 -05:00
Richard Sandiford
7a61392921 fwprop.c (forward_propagate_subreg): Skip the SIGN/ZERO_EXTEND optimization if the source register is already extended.
gcc/
	* fwprop.c (forward_propagate_subreg): Skip the SIGN/ZERO_EXTEND
	optimization if the source register is already extended.

From-SVN: r182504
2011-12-19 22:05:28 +00:00
Richard Sandiford
373203331a mult-1.c: Require -O2.
gcc/testsuite/
	* gcc.target/mips/mult-1.c: Require -O2.

From-SVN: r182502
2011-12-19 21:45:21 +00:00
Richard Sandiford
da3507d0a4 ext-2.c: Add NOMIPS16.
gcc/testsuite/
	* gcc.target/mips/ext-2.c: Add NOMIPS16.

From-SVN: r182501
2011-12-19 21:42:12 +00:00
Richard Sandiford
488c8379f4 lower-subreg.c (can_decompose_p): Check every word of a hard register.
gcc/
	* lower-subreg.c (can_decompose_p): Check every word of a hard
	register.

From-SVN: r182500
2011-12-19 21:19:13 +00:00
Jason Merrill
176fcc5d18 re PR c++/51526 ([C++11][constexpr] constexpr delegating constructor should be accepted)
PR c++/51526
	* semantics.c (build_data_member_initialization): Handle
	delegating constructor.
	(build_constexpr_constructor_member_initializers): Likewise.

From-SVN: r182499
2011-12-19 16:06:44 -05:00
Sandra Loosemore
8f1ad6b6bf re PR rtl-optimization/50380 ([4.6 only] cc1 hangs eating 100% CPU)
2011-12-19  Sandra Loosemore  <sandra@codesourcery.com>
	    Tom de Vries <tom@codesourcery.com>

	PR rtl-opt/50380

	gcc/
	* cse.c (find_comparison_args): Detect fixed point and
	bail early.

	gcc/testsuite/
	* gcc.c-torture/compile/pr50380.c: New testcase.

Co-Authored-By: Tom de Vries <tom@codesourcery.com>

From-SVN: r182498
2011-12-19 15:29:21 -05:00
Tobias Burnus
1e815d3221 re PR fortran/51605 (internal compiler error gfc_trans_block_construct, at fortran/trans-stmt.c:984)
2011-12-19  Tobias Burnus  <burnus@net-b.de>

        PR fortran/51605
        * parse.c (gfc_fixup_sibling_symbols): Regard FL_LABEL as
        local symbol.

2011-12-19  Tobias Burnus  <burnus@net-b.de>

        PR fortran/51605
        * gfortran.dg/block_10.f90: New.

From-SVN: r182497
2011-12-19 21:18:18 +01:00
Jason Merrill
11c71a22d9 re PR c++/51553 (brace initialization and conversion operators)
PR c++/51553
	* cp-tree.h (LOOKUP_LIST_INIT_CTOR): Rename from
	LOOKUP_NO_COPY_CTOR_CONVERSION.
	(add_list_candidates): Set it earlier.
	(add_candidates): Don't check explicit on ctors when it's set.
	(add_function_candidate): Check it even when LOOKUP_ONLYCONVERTING
	is set.

From-SVN: r182496
2011-12-19 15:10:49 -05:00
Jason Merrill
00ef705904 re PR c++/51553 (brace initialization and conversion operators)
PR c++/51553
	* call.c (add_function_candidate): Allow conversions for the copy
	parm in list-initialization unless the argument is an init-list.

From-SVN: r182495
2011-12-19 15:10:37 -05:00
Jason Merrill
d58d6eb5ec re PR c++/51228 (ICE with transparent union)
PR c++/51228
	* c-common.c (handle_transparent_union_attribute): Check the first
	field if the type is complete.

From-SVN: r182494
2011-12-19 15:10:25 -05:00
Aldy Hernandez
1784915af2 Commit forgotten testcase that goes along with this PR.
PR middle-end/51411
	* trans-mem.c (ipa_tm_create_version): Unset DECL_WEAK.

From-SVN: r182493
2011-12-19 19:33:05 +00:00
Aldy Hernandez
e0b22991cc re PR middle-end/51411 (ICE: in function_and_variable_visibility, at ipa.c:835 with -O -fgnu-tm and overriding virtual transaction_safe function)
PR middle-end/51411
	* trans-mem.c (ipa_tm_create_version): Unset DECL_WEAK.

From-SVN: r182492
2011-12-19 19:31:17 +00:00
Eric Botcazou
a062c51e00 re PR tree-optimization/51580 (segfault during loop vectorization at -O3)
PR tree-optimization/51580
	* gnat.dg/specs/loop_optimization1.ads: New test.
	* gnat.dg/specs/loop_optimization1_pkg.ad[sb]: New helper.

From-SVN: r182491
2011-12-19 19:17:10 +00:00
Quentin Neill
f7593cb4c6 re PR target/48743 (-march=native mis-detects AMD K6-2+ / K6-3 as Athlon - compiled C fails with "illegal instruction")
2011-12-19  Quentin Neill  <quentin.neill@amd.com>
2011-12-19  Quentin Neill  <quentin.neill@amd.com>

	PR target/48743
	* config/i386/driver-i386.c (host_detect_local_cpu): Also check
	family to distinguish PROCESSOR_ATHLON.

From-SVN: r182489
2011-12-19 17:57:32 +00:00
Richard Guenther
7e54c6084d re PR lto/51573 (ICE (segfault) in lto_varpool_encoder_encode_initializer_p)
2011-12-19  Richard Guenther  <rguenther@suse.de>

	PR lto/51573
	* streamer-hooks.h (struct streamer_hooks): Add second
	ref_p parameter to write_tree.
	(stream_write_tree): Adjust.
	(stream_write_tree_shallow_non_ref): New define.
	* lto-streamer.h (lto_output_tree): Adjust.
	* lto-streamer-out.c (lto_output_tree): Likewise.
	* tree-streamer-out.c (streamer_write_chain): Only
	force the immediate tree to be streamed as non-reference.

	* gcc.dg/lto/20111207-2_0.c: Adjust.
	* g++.dg/lto/pr51573-1_0.C: New testcase.

From-SVN: r182487
2011-12-19 15:57:02 +00:00
Jakub Jelinek
23a3541f27 re PR c++/51619 ([c++0x] [4.6 Regression] ICE with array class member)
PR c++/51619
	* semantics.c (cxx_eval_vec_init_1): If init is NULL for
	multidimensional array, just set eltinit to NULL_TREE.

	* g++.dg/cpp0x/pr51619.C: New test.

From-SVN: r182485
2011-12-19 16:38:06 +01:00
Tobias Burnus
cd99c23ca4 re PR fortran/51605 (internal compiler error gfc_trans_block_construct, at fortran/trans-stmt.c:984)
2011-12-19  Tobias Burnus  <burnus@net-b.de>

        PR fortran/51605
        * match.c (gfc_match_select_type): Handle
        scalar polymophic coarrays.
        (select_type_set_tmp, ): Ditto; avoid segfault if !class_ok.
        * primary.c (gfc_match_rvalue): Avoid segfault if !class_ok.
        * resolve.c (resolve_select_type): Ditto.
        (resolve_assoc_var): Fix setting the TARGET attribute for
        polymorphic selectors which are pointers.

2011-12-19  Tobias Burnus  <burnus@net-b.de>

        PR fortran/51605
        * gfortran.dg/select_type_25.f90: New.

From-SVN: r182484
2011-12-19 16:30:23 +01:00
Martin Jambor
6a9ceb1703 re PR tree-optimization/51583 (One more missing force_gimple_operand in SRA)
2011-12-19  Martin Jambor  <mjambor@suse.cz>

	PR tree-optimization/51583
	* tree-sra.c (load_assign_lhs_subreplacements): Call
	force_gimple_operand_gsi when necessary also in case of no
	corresponding replacement on the RHS.

	* testsuite/gcc.dg/tree-ssa/pr51583.c: New test.

From-SVN: r182483
2011-12-19 15:33:18 +01:00
Jakub Jelinek
a1a6c5b26a gimple.h (gimplify_seq_add_stmt): Rename to...
* gimple.h (gimplify_seq_add_stmt): Rename to...
	(gimple_seq_add_stmt_without_update): ... this.
	* gimplify.c (gimplify_seq_add_stmt): Rename to...
	(gimple_seq_add_stmt_without_update): ... this.
	(gimplify_seq_add_stmt): New inline wrapper for it.
	* tree-vect-patterns.c (append_pattern_def_seq): Use
	gimple_seq_add_stmt_without_update instead of gimplify_seq_add_stmt.

	* cp-gimplify.c (gimplify_must_not_throw_expr): Use
	gimple_seq_add_stmt_without_update instead of gimplify_seq_add_stmt.

From-SVN: r182482
2011-12-19 15:25:28 +01:00
Jakub Jelinek
77753f4dae re PR tree-optimization/51596 (ICE: verify_flow_info failed: BB 6 can not throw but has an EH edge with -fnon-call-exceptions)
PR tree-optimization/51596
	* tree-cfg.c (replace_uses_by): Call gimple_purge_dead_eh_edges
	when needed.

	* g++.dg/opt/pr51596.C: New test.

From-SVN: r182481
2011-12-19 15:24:29 +01:00