Commit Graph

100030 Commits

Author SHA1 Message Date
Jakub Jelinek
f1de5107b0 re PR middle-end/44102 (ICE with asm goto + __builtin_unreachable () in C++)
PR middle-end/44102
	* cfgcleanup.c (try_optimize_cfg): When removing trivially empty
	bb with no successors, move footer whenever in IR_RTL_CFGLAYOUT
	mode, not just when CLEANUP_CFGLAYOUT, and when in IR_RTL_CFGRTL
	add BARRIER after previous bb if needed.

	* g++.dg/ext/asmgoto1.C: New test.

From-SVN: r159495
2010-05-17 19:18:24 +02:00
Nathan Froyd
1eabc6beae fix ChangeLog entries for previous commits
From-SVN: r159494
2010-05-17 16:28:51 +00:00
Nathan Froyd
8341deb535 fix bogus email for myself
From-SVN: r159492
2010-05-17 16:10:31 +00:00
Nathan Froyd
b64fca6369 tree.c (build_function_type_list_1): Remove bogus assert condition.
gcc/
	* tree.c (build_function_type_list_1): Remove bogus assert condition.

gcc/fortran/
	* trans-types.c (gfc_init_types): Use build_function_type_list.
	(gfc_get_ppc_type): Likewise.
	* trans-decl.c (gfc_generate_constructors): Likewise.
	* f95-lang.c (build_builtin_fntypes): Likewise.
	(gfc_init_builtin_functions): Likewise.
	(DEF_FUNCTION_TYPE_0): Likewise.
	(DEF_FUNCTION_TYPE_1): Likewise.
	(DEF_FUNCTION_TYPE_2): Likewise.
	(DEF_FUNCTION_TYPE_3): Likewise.
	(DEF_FUNCTION_TYPE_4): Likewise.
	(DEF_FUNCTION_TYPE_5): Likewise.
	(DEF_FUNCTION_TYPE_6): Likewise.
	(DEF_FUNCTION_TYPE_7): Likewise.  Use ARG7.
	(DEF_FUNCTION_TYPE_VAR_0): Use build_varags_function_type_list.

From-SVN: r159491
2010-05-17 16:09:35 +00:00
Nathan Froyd
8748ad99e9 trans-array.c (gfc_trans_array_constructor_value): Use build_constructor instead of build_constructor_from_list.
* trans-array.c (gfc_trans_array_constructor_value): Use
	build_constructor instead of build_constructor_from_list.
	(gfc_build_constant_array_constructor): Likewise.
	* trans-decl.c (create_main_function): Likewise.
	* trans-stmt.c (gfc_trans_character_select): Likewise.

From-SVN: r159490
2010-05-17 16:03:46 +00:00
Alan Modra
2882bfcc5b rs6000.c (rs6000_emit_allocate_stack): Delete unnecessary prototype.
* config/rs6000/rs6000.c (rs6000_emit_allocate_stack): Delete
	unnecessary prototype.  Replace copy_r12 and copy_r11 flag params
	with copy_reg rtx param.
	(rs6000_emit_prologue): Update rs6000_emit_allocate_stack calls.
	Correct cases where code for ABI_V4 did not initialise the reg
	used to access frame.  Also leave frame_reg_rtx as sp for large
	frames that save no regs.

From-SVN: r159483
2010-05-17 23:04:23 +09:30
Martin Jambor
5feb49f0a6 re PR middle-end/44133 (Uninit warning regression with new SRA)
2010-05-17  Martin Jambor  <mjambor@suse.cz>

	PR middle-end/44133
	* tree-sra.c (create_access_replacement): New parameter rename, mark
	the replaement for renaming only when it is true.
	(get_access_replacement): Pass true in the rename parameter of
	create_access_replacement.
	(get_unrenamed_access_replacement): New function.
	(replace_uses_with_default_def_ssa_name): New parameter racc, get the
	replacement declaration from it.

	* testsuite/gcc.dg/tree-ssa/pr44133.c: New test.
	* testsuite/gcc.dg/tree-ssa/sra-9.c: Make the scan regular
	expression more precise.

From-SVN: r159482
2010-05-17 14:48:34 +02:00
Bernd Schmidt
56731d645e function.c (try_fit_stack_local, [...]): New static functions.
* function.c (try_fit_stack_local, add_frame_space): New static
	functions.
	(assign_stack_local_1): Use them.  Look for opportunities to use
	space previously wasted on alignment.
	* function.h (struct frame_space): New.
	(struct rtl_data): Add FRAME_SPACE_LIST member.
	* reload1.c (something_was_spilled): New static variable.
	(alter_reg): Set it.
	(reload): Test it in addition to testing if the frame size changed.

From-SVN: r159480
2010-05-17 11:16:00 +00:00
Paolo Carlini
1041dabaa2 functional (result_of): Move...
2010-05-17  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/functional (result_of): Move...
	* include/std/type_traits: ... here.
	* testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
	line number.

From-SVN: r159478
2010-05-17 10:19:31 +00:00
Janus Weil
233961db33 re PR fortran/44044 ([OOP] SELECT TYPE with class-valued function)
2010-05-17  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/44044
	* resolve.c (resolve_fl_var_and_proc): Move error messages here from ...
	(resolve_fl_variable_derived): ... this place.
	(resolve_symbol): Make sure function symbols (and their result
	variables) are not resolved twice.


2010-05-17  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/44044
	* gfortran.dg/class_20.f03: New.

From-SVN: r159476
2010-05-17 10:25:06 +02:00
Christian Borntraeger
ff71b48db0 re PR middle-end/44078 (FAIL: gcc.dg/tree-ssa/prefetch-7.c)
2010-05-17  Christian Borntraeger  <borntraeger@de.ibm.com>

        PR 44078
        * gcc.dg/tree-ssa/prefetch-7.c: Change pattern to match only the old
        debug messages but not the newly introduced one.

From-SVN: r159475
2010-05-17 07:53:20 +00:00
Christian Borntraeger
24a235c84f s390.c: Define sane prefetch settings and activate flag_prefetch_loop_arrays on -O3.
2010-05-17  Christian Borntraeger  <borntraeger@de.ibm.com>

        * config/s390/s390.c: Define sane prefetch settings and activate
        flag_prefetch_loop_arrays on -O3.
        * config/s390/s390.h: Declare that read can use write prefetch.

From-SVN: r159474
2010-05-17 07:52:27 +00:00
Jakub Jelinek
18252dcfaa lto-streamer-out.c (lto_output): Fix --enable-checking=release build.
* lto-streamer-out.c (lto_output): Fix --enable-checking=release
	build.

From-SVN: r159473
2010-05-17 09:32:44 +02:00
Jan Hubicka
199f1dc47f ipa-cp.c (ipcp_versionable_function_p): Walk cgraph edges instead of function body...
* ipa-cp.c (ipcp_versionable_function_p): Walk cgraph edges instead of
	function body; do not check stdarg field of struct function.

From-SVN: r159472
2010-05-17 07:01:26 +00:00
GCC Administrator
c4b4455fa9 Daily bump.
From-SVN: r159471
2010-05-17 00:16:57 +00:00
Jan Hubicka
ccbbf8a2db cgraph.c (dump_cgraph_node): Dump versionable flag.
* cgraph.c (dump_cgraph_node): Dump versionable flag.
	* cgraph.h (cgraph_local_info): Add versionable flag.
	* ipa-cp.c (ipcp_analyze_node): Set versionable flag.
	(ipcp_versionable_function_p): Use it.
	* lto-cgraph.c (lto_output_node, input_overwrite_node): Stream
	versionable flag.

From-SVN: r159467
2010-05-16 22:24:26 +00:00
Jan Hubicka
91fbf0c7c6 cgraph.c (cgraph_clone_node): Take decl argument and insert clone into hash when it is different from orig.
* cgraph.c (cgraph_clone_node): Take decl argument and insert
	clone into hash when it is different from orig.
	(cgraph_create_virtual_clone): Update use of cgraph_clone_node.
	* cgraph.h (cgraph_clone_node): Update prototype.
	* lto-cgrpah.c (lto_cgraph_encoder_new): Create body map.
	(lto_cgraph_encoder_delete): Delete body map.
	(lto_cgraph_encoder_size): Move to header.
	(lto_cgraph_encoder_encode_body_p, lto_set_cgraph_encoder_encode_body): New.
	(lto_output_node): Do not take written_decls argument; output clone_of
	pointer.
	(add_node_to): Add include_body_argument; call
	lto_set_cgraph_encoder_encode_body on master of the clone.
	(add_references): Update use of add_node_to.
	(compute_ltrans_boundary): Likewise.
	(output_cgraph): Do not create written_decls bitmap.
	(input_node): Take nodes argument; stream in clone_of correctly.
	(input_cgraph_1): Update use of input_node.
	* lto-streamer-out.c (lto_output): Use encoder info to decide
	what bodies to output.
	* ipa-inline.c (cgraph_clone_inlined_nodes,
	cgraph_decide_recursive_inlining): Update call of cgraph_clone_node.
	* lto-streamer.h (lto_cgraph_encoder_d): Add body.
	(lto_cgraph_encoder_size): Define here.
	(lto_cgraph_encoder_encode_body_p, lto_varpool_encoder_encode_body_p):
	Declare.

From-SVN: r159466
2010-05-16 21:49:36 +00:00
Daniel Franke
cdc6637d7c re PR fortran/35779 (error pointer wrong in PARAMETER)
gcc/fortran/:
2010-05-16  Daniel Franke  <franke.daniel@gmail.com>

        PR fortran/35779
	* array.c (match_array_list): Revert functional change of 2010-05-13.

gcc/fortran/:
2010-05-16  Daniel Franke  <franke.daniel@gmail.com>

        PR fortran/35779
	* gfortran.dg/initialization_25.f90: Commented testcase.
	* gfortran.dg/initialization_26.f90: New.

From-SVN: r159465
2010-05-16 16:01:06 -04:00
Richard Guenther
6b87d1b4ca invoke.texi (-fipa-struct-reorg): Do not mention -fipa-type-escape.
2010-05-16  Richard Guenther  <rguenther@suse.de>

	* doc/invoke.texi (-fipa-struct-reorg): Do not mention
	-fipa-type-escape.
	* ipa-type-escape.c (gate_type_escape_vars): Run when
	-fipa-struct-reorg runs.
	* opts.c (decode_options): Do not unset flag_ipa_type_escape.
	* common.opt (fipa-type-escape): Remove.

	* gcc.dg/pr43317.c: Do not pass -fipa-type-escape.
	* gcc.dg/pr43084.c: Likewise.
	* gcc.dg/pr42250.c: Pass -fipa-struct-reorg instead of
	-fipa-type-escape.
	* gcc.dg/struct/wo_prof_escape_arg_to_local.c: Do not pass
	-fipa-type-escape.
	* gcc.dg/struct/struct-reorg.exp: Likewise.
	* gcc.dg/struct/wo_prof_empty_str.c: Likewise.
	* gcc.dg/struct/wo_prof_escape_return.c: Likewise.

From-SVN: r159464
2010-05-16 19:56:44 +00:00
Eric Botcazou
203a92e384 opts.c (handle_option): Call into LTO streamer only if ENABLE_LTO.
* opts.c (handle_option): Call into LTO streamer only if ENABLE_LTO.
	(decode_options): Likewise.
	* Makefile.in (opts.o): Add dependency on LTO_STREAMER_H.

From-SVN: r159463
2010-05-16 18:46:16 +00:00
Richard Guenther
afdda4b445 trans-decl.c (module_htab_decls_hash): Revert last change.
2010-05-16  Richard Guenther  <rguenther@suse.de>

	* trans-decl.c (module_htab_decls_hash): Revert last change.

From-SVN: r159462
2010-05-16 17:27:09 +00:00
Jan Hubicka
e419f710ea ipa.c (function_and_variable_visibility): Also bring local all aliases.
* ipa.c (function_and_variable_visibility): Also bring local all
	aliases.

From-SVN: r159461
2010-05-16 17:26:55 +00:00
Richard Guenther
2e0c984cca alias.c (nonoverlapping_memrefs_p): Remove use of IPA type-escape information.
2010-05-16  Richard Guenther  <rguenther@suse.de>

	* alias.c (nonoverlapping_memrefs_p): Remove use of
	IPA type-escape information.

From-SVN: r159460
2010-05-16 17:15:30 +00:00
Joseph Myers
3291228620 c-common.c (c_common_reswords): Add _Static_assert for C.
* c-common.c (c_common_reswords): Add _Static_assert for C.
	* c-parser.c (c_token_starts_declaration,
	c_parser_next_token_starts_declaration,
	c_parser_static_assert_declaration_no_semi,
	c_parser_static_assert_declaration): New.
	(c_parser_declaration_or_fndef): Add parameter static_assert_ok.
	Handle static assertions if static_assert_ok.
	(c_parser_external_declaration, c_parser_declaration_or_fndef,
	c_parser_compound_statement_nostart, c_parser_label,
	c_parser_for_statement, c_parser_objc_methodprotolist,
	c_parser_omp_for_loop): All callers of
	c_parser_declaration_or_fndef changed.
	(c_parser_struct_declaration): Handle static assertions.
	(c_parser_compound_statement_nostart): Use
	c_parser_next_token_starts_declaration and
	c_token_starts_declaration to detect start of declarations.
	(c_parser_label, c_parser_for_statement, c_parser_omp_for_loop):
	Likewise.

testsuite:
	* gcc.dg/c1x-static-assert-1.c, gcc.dg/c1x-static-assert-2.c,
	gcc.dg/c1x-static-assert-3.c, gcc.dg/c1x-static-assert-4.c,
	gcc.dg/c1x-static-assert-5.c, gcc.dg/c1x-static-assert-6.c,
	gcc.dg/c90-static-assert-1.c, gcc.dg/c99-static-assert-1.c: New
	tests.

From-SVN: r159459
2010-05-16 17:55:16 +01:00
Anatoly Sokolov
a3ca07e3be mmix.h (FUNCTION_VALUE, [...]): Remove macros.
* config/mmix/mmix.h (FUNCTION_VALUE, FUNCTION_OUTGOING_VALUE,
	LIBCALL_VALUE, FUNCTION_VALUE_REGNO_P): Remove macros.
	* config/mmix/mmix.c (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE,
	TARGET_FUNCTION_VALUE_REGNO_P): Define.
	(mmix_function_outgoing_value): Rename to...
	(mmix_function_value): ...this. Make static. Add 'outgoing' argument.
	(mmix_function_value_regno_p): Make static.
	(mmix_libcall_value): New function.
	* config/mmix/mmix-protos.h (mmix_function_outgoing_value,
	mmix_function_value_regno_p): Remove declaration.

From-SVN: r159458
2010-05-16 20:51:40 +04:00
Eric Botcazou
29d1748506 tree.c (build_common_builtin_nodes): Always clear TREE_NOTHROW on BUILT_IN_ALLOCA if stack checking is enabled.
* tree.c (build_common_builtin_nodes): Always clear TREE_NOTHROW on
	BUILT_IN_ALLOCA if stack checking is enabled.

From-SVN: r159457
2010-05-16 15:20:47 +00:00
Richard Guenther
a6590c31ac var-tracking.c (vars_copy_1): Inline ...
2010-05-16  Richard Guenther  <rguenther@suse.de>

	* var-tracking.c (vars_copy_1): Inline ...
	(vars_copy): ... here.  Use FOR_EACH_HTAB_ELEMENT.
	(variable_union): Use FOR_EACH_HTAB_ELEMENT.  Merge asserts.
	(variable_merge_over_cur): Adjust.  Merge asserts.
	(variable_merge_over_src): Likewise.
	(dataflow_set_merge): Use FOR_EACH_HTAB_ELEMENT.
	(variable_post_merge_new_vals): Merge asserts.
	(variable_post_merge_perm_vals): Likewise.
	(find_mem_expr_in_1pdv): Likewise.
	(dataflow_set_different_value): Remove.
	(onepart_variable_different_p): Merge asserts.
	(variable_different_p): Likewise.
	(dataflow_set_different_1): Inline ...
	(dataflow_set_different): ... here.  Use FOR_EACH_HTAB_ELEMENT.
	(emit_notes_for_differences_1): Merge asserts.

From-SVN: r159456
2010-05-16 14:58:34 +00:00
Richard Guenther
6456e26e2c lto-symtab.c (lto_symtab_entry_hash): Use IDENTIFIER_HASH_VALUE.
2010-05-16  Richard Guenther  <rguenther@suse.de>

	* lto-symtab.c (lto_symtab_entry_hash): Use IDENTIFIER_HASH_VALUE.
	* optabs.c (libfunc_decl_hash): Likewise.
	* varasm.c (emutls_decl): Likewise.

	fortran/
	* trans-decl.c (module_htab_decls_hash): Use IDENTIFIER_HASH_VALUE.

From-SVN: r159455
2010-05-16 14:47:38 +00:00
Manuel López-Ibáñez
fa36ce9c63 misc.c (gnat_handle_option): Remove special logic for Wuninitialized without -O.
2010-05-16  Manuel López-Ibáñez  <manu@gcc.gnu.org>

ada/
	* gcc-interface/misc.c (gnat_handle_option): Remove special logic
	for Wuninitialized without -O.
fortran/
	* options.c (set_Wall): Remove special logic for Wuninitialized
	without -O.

From-SVN: r159454
2010-05-16 10:30:39 +00:00
Uros Bizjak
491fc0e191 pass46-frag.c (dg-options): Remove -Wall.
* testsuite/libmudflap.c/pass46-frag.c (dg-options): Remove -Wall.

From-SVN: r159453
2010-05-16 12:03:01 +02:00
Eric Botcazou
871fda0ab0 gigi.h (enum standard_datatypes): Add new value ADT_exception_data_name_id.
* gcc-interface/gigi.h (enum standard_datatypes): Add new value
	ADT_exception_data_name_id.
	(exception_data_name_id): New define.
	* gcc-interface/trans.c (gigi): Initialize it.
	* gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Use the standard
	exception type for standard exception definitions.  Do not make them
	volatile.
	<E_Record_Type>: Equate fields of types associated with an exception
	definition to those of the standard exception type.

From-SVN: r159452
2010-05-16 09:11:39 +00:00
Steven Bosscher
1d4c5fe99b c-decl.c: Don't include gimple.h.
* c-decl.c: Don't include gimple.h.
	(merge_decls): Do not copy gimple_body.

From-SVN: r159451
2010-05-16 07:12:46 +00:00
Jason Merrill
9feb3d6aca c.opt: Add -fnothrow-opt.
gcc:
	* c.opt: Add -fnothrow-opt.
gcc/cp:
	* cp-tree.h (TYPE_NOEXCEPT_P): New macro.
	* except.c (begin_eh_spec_block): Use MUST_NOT_THROW_EXPR if
	TYPE_NOEXCEPT_P.
	(finish_eh_spec_block): Adjust.

From-SVN: r159450
2010-05-15 22:27:02 -04:00
GCC Administrator
e05e5c083b Daily bump.
From-SVN: r159449
2010-05-16 00:16:54 +00:00
Janus Weil
3a28464c5c re PR fortran/44154 (initialization problem with allocatable scalars)
2010-05-15  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/44154
	PR fortran/42647
	* trans-decl.c (gfc_trans_deferred_vars): Modify ordering of
	if branches.


2010-05-15  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/44154
	PR fortran/42647
	* gfortran.dg/allocatable_scalar_9.f90: New.

From-SVN: r159445
2010-05-16 00:03:09 +02:00
Jan Hubicka
9b3cf76aa1 ipa-prop.c (ipa_prop_read_section): Add sanity check that node is analyzed.
* ipa-prop.c (ipa_prop_read_section): Add sanity check that node is analyzed.
	* passes.c (ipa_write_summaries): Write all analyzed nodes.

From-SVN: r159444
2010-05-15 20:48:58 +00:00
Jakub Jelinek
1f9109426d re PR c++/44148 (C++ genericization/gimplification may clobber templare arguments)
PR c++/44148
	* pt.c (tsubst): Unshare template argument.

	* g++.dg/torture/pr44148.C: New test.

From-SVN: r159443
2010-05-15 22:23:59 +02:00
Steven Bosscher
f4ce02c5bf vecir.h: New file with VEC primitives for tree, gimple, and rtl.
gcc/ChangeLog
	* vecir.h: New file with VEC primitives for tree, gimple, and rtl.
	* Makefile.in: Add it.
	Fix all other Makefile dependencies for changes below.
	* tree.h: Include it instead of defining VEC primitives here.
	* gimple.h: Likewise.
	* rtl.h: Likewise.
	* tree-inline.h: Inlclude vecir.h instead of gimple.h.
	* except.h: Include vecir.h, break dependence on tree.h.

	* gimplify.c (append_to_statement_list_1, append_to_statement_list):
	Move from here...
	* tree-iterator.c: ...to here.
	* tree-iterator.h: Fix file introduction comment.  Add extern markers.

	* c-lex.c: Include fixed-value.h instead of rtl.h.  Do not include
	tm_p.h.
	* c-cppbuiltin.c: Explain why debug.h and tm_p.h are included.
	* c-objc-common.h: Do not include tm.h, rtl.h, insn-config.h,
	integrate.h, function.h, toplev.h, tree-inline.h, ggc.h,
	tree-mudflap.h, and target.h.
	* c-semantics.c: Do not include except.h, ggc.h, rtl.h, timevar.h,
	predict.h, tree-inline.h, gimple.h, and langhooks.h.
	* c-decl.c: Do not include expr.h, ggc.h, libfuncs.h, except.h.
	Add FIXME for why gimple.h is still included (should be unnecessary
	since GCC 4.5 gimplification unit-at-a-time).
	* c-typeck.c: Do not include rtl.h, tm_p.h, ggc.h, and gimple.h.
	* c-pragma.c: Add FIXME for why function.h needs to be included just
	for cfun, at front-end level.
	Add note that REGISTER_TARGET_PRAGMAS should probably be a target hook.
	Do not include ggc.h, but include vecprim.h for VEC(char).
	* c-opts.c: Do not include tm.h, tree-inline.h, and tm_p.h.
	Explain why target.h is included.
	* c-omp.h: Do not include tm.h, function.h, and bitmap.h.
	Explain why gimple.h is included.
	* c-ppoutput.c: Do not include tm.h.
	* c-common.c: Do not include gimple.h.  Explain why expr.h is included.
	* c-parses.c: Explain why rtl.h is included, and that this (and only
	this) is also why tm.h must be included.
	Do not include except.h.
	* c-lang.c: Do not include ggc.h.

cp/ChangeLog
	* decl.c: Include tree-iterator.h, as fixup for tree-inline.h changes.
	* Make-lang.in: Fix dependencies accordingly.

From-SVN: r159442
2010-05-15 20:02:11 +00:00
Uros Bizjak
12201e4873 targhooks.c (GO_IF_MODE_DEPENDENT_ADDRESS): Use CONST_CAST_RTX.
* targhooks.c (GO_IF_MODE_DEPENDENT_ADDRESS): Use CONST_CAST_RTX.

From-SVN: r159441
2010-05-15 21:58:30 +02:00
Uros Bizjak
eb5b0f64d2 mfdg.exp (additional_prunes): New global.
* testsuite/lib/mfdg.exp (additional_prunes): New global.
	(dg-test): Clear additional_prunes before test is run.
	(dg-prune-output): New procedure.
	* testsuite/lib/libmudflap.exp (libmudflap-dg-test): Do not call
	prune_gcc_output.
	(libmudflap-dg-prune): New procedure.
	* testsuite/libmudflap.c++/pass57-frag.cxx (dg-prune-output):
	New dg directive.

From-SVN: r159440
2010-05-15 21:19:48 +02:00
Joseph Myers
4bdd0a60b2 c-decl.c (grokfield): Allow typedefs for anonymous structs and unions by default if...
* c-decl.c (grokfield): Allow typedefs for anonymous structs and
	unions by default if those structs and unions have no tags.  Do
	not condition anonymous struct and unions handling on flag_iso.
	Allow anonymous structs and unions for C1X.
	(finish_struct): Do not diagnose lack of named fields when
	anonymous structs and unions present for C1X.  Accept flexible
	array members in structure with anonymous structs or unions but no
	directly named fields.
	* doc/extend.texi (Unnamed Fields): Update.

testsuite:
	* gcc.dg/c1x-anon-struct-1.c, gcc.dg/c1x-anon-struct-2.c,
	gcc.dg/c90-anon-struct-1.c, gcc.dg/c99-anon-struct-1.c: New tests.
	* gcc.dg/20080820.c, gcc.dg/anon-struct-1.c: Update expected
	diagnostics and type sizes.

From-SVN: r159439
2010-05-15 20:07:01 +01:00
Eric Botcazou
d025732d19 gimple.h (compare_field_offset): Rename into...
* gimple.h (compare_field_offset): Rename into...
	(gimple_compare_field_offset): ...this.
	* gimple.c (compare_field_offset): Rename into...
	(gimple_compare_field_offset): ...this.  Compare the full access if
	the offset is self-referential.
	(gimple_types_compatible_p): Adjust for above renaming.
	* lto-streamer-in.c (input_gimple_stmt): Likewise.  Also compare the
	DECL_NONADDRESSABLE_P flag of fields before merging them.

From-SVN: r159438
2010-05-15 19:05:06 +00:00
Nathan Froyd
b75bdd292f tree.h (ctor_to_list): Delete.
* tree.h (ctor_to_list): Delete.
	* tree.c (ctor_to_list): Delete.

From-SVN: r159437
2010-05-15 18:41:11 +00:00
Jan Hubicka
ade41c1df2 ipareference_1.c: Rename to ...
* gcc.dg/lto/ipareference_1.c: Rename to ...
	* gcc.dg/lto/ipareference_0.c: ... this one.
	* gcc.dg/lto/ipareference_2.c: Rename to ...
	* gcc.dg/lto/ipareference_1.c: ... this one.

From-SVN: r159436
2010-05-15 17:06:48 +00:00
Jan Hubicka
f338064159 ipa-reference.c: Include toplev.h
* ipa-reference.c: Include toplev.h
	(is_proper_for_analysis): Only add to all_module_statics
	if it is allocated.
	(write_node_summary_p, stream_out_bitmap,
	ipa_reference_write_optimization_summary,
	ipa_reference_read_optimization_summary): New.
	(struct ipa_opt_pass_d pass_ipa_reference): Add
	optimization summary streaming.
	* lto-cgraph.c (referenced_from_this_partition_p, 
	reachable_from_this_partition_p): New functions.
	* tree-ssa-alias.c (ref_maybe_used_by_call_p_1,
	call_may_clobber_ref_p_1): Ask ipa-reference even for public vars.
	* opts.c (decode_options): Enable ipa_reference.
	* Makefile.in (ipa-reference.o): Add toplev.h dependency.
	* lto-streamer.h (referenced_from_this_partition_p,
	reachable_from_this_partition_p): Declare.

	* gcc.dg/lto/ipareference_1.c: New file.
	* gcc.dg/lto/ipareference_2.c: New file.

From-SVN: r159435
2010-05-15 16:57:35 +00:00
Richard Guenther
9d0baae10e re PR other/44038 (ICE: verify_stmts failed)
2010-05-15  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/44038
	* tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Avoid
	taking the address of a V_C_E of a constant.

	* gcc.c-torture/compile/pr44038.c: New testcase.

From-SVN: r159434
2010-05-15 15:06:47 +00:00
H.J. Lu
75d2d58156 Add -std=c99 to avx-cmpsd-1.c and avx-cmpss-1.c.
2010-05-15  H.J. Lu  <hongjiu.lu@intel.com>

	* gcc.target/i386/avx-cmpsd-1.c: Add -std=c99.
	* gcc.target/i386/avx-cmpss-1.c: Likewise.

From-SVN: r159432
2010-05-15 06:54:44 -07:00
Janus Weil
f8dde8af6f re PR fortran/43207 ([OOP] invalid (pointer) assignment to and from abstract non-polymorphic expressions)
2010-05-15  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/43207
	PR fortran/43969
	* gfortran.h (gfc_class_null_initializer): New prototype.
	* expr.c (gfc_class_null_initializer): New function to build a NULL
	initializer for CLASS pointers.
	* symbol.c (gfc_build_class_symbol): Modify internal naming of class
	containers. Remove default NULL initialization of $data component.
	* trans.c (gfc_allocate_array_with_status): Fix wording of an error 
	message.
	* trans-expr.c (gfc_conv_initializer,gfc_trans_subcomponent_assign):
	Use new function 'gfc_class_null_initializer'.
	* trans-intrinsic.c (gfc_conv_allocated): Handle allocatable scalar
	class variables.


2010-05-15  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/43207
	PR fortran/43969
	* gfortran.dg/class_18.f03: New.
	* gfortran.dg/class_19.f03: New.

From-SVN: r159431
2010-05-15 15:52:33 +02:00
Jan Hubicka
46c3001944 tree.h (memory_identifier_string): Remove.
* tree.h (memory_identifier_string): Remove.
	* ipa-reference.c: Update comment; do not include gt-ipa-reference.h
	(ipa_reference_global_vars_info_d): Remove statics_not_read and
	statics_not_written.
	(ipa_reference_optimization_summary_d): New structure.
	(ipa_reference_optimization_summary_t): New type and vector.
	(ipa_reference_vars_info_d): Embedd structures instead of using
	pointers.
	(reference_vars_to_consider): Remove out of GGC space.
	(module_statics_escape): Remove.
	(global_info_obstack): Rename to ...
	(optimization_summary_obstack): ... this one.
	(initialization_status_t): Remove.
	(memory_identifier_string): Remove.
	(get_reference_vars_info): Fix indenting.
	(set_reference_vars_info): Likewise.
	(get_reference_optimization_summary): New.
	(set_reference_optimization_summary): New.
	(get_global_reference_vars_info): Remove.
	(ipa_reference_get_read_global): Remove.
	(ipa_reference_get_written_global): Remove.
	(ipa_reference_get_not_read_global): Update.
	(ipa_reference_get_not_written_global): Update.
	(is_proper_for_analysis): Outlaw addressable.
	(propagate_bits): Update for new datastructures.
	(analyze_variable): Remove.
	(init_function_info): Update for new datastructures.
	(clean_function_local_data): Remove.
	(clean_function): Remove.
	(copy_global_bitmap): Use optimizations_summary_obstack.
	(duplicate_node_data): Duplicate optimization summary only.
	(remove_node_data): Remove optimization summary only.
	(generate_summary): Do not analyze variables; do not compute
	module_statics_escape; do not prune solutions by it.
	(read_write_all_from_decl): Fix typos in comments.
	(propagate): Doscover readonly and nonaddressable first;
	update for new datastructures; share global bitmaps.
	* ipa-reference.h (ipa_reference_get_read_global,
	ipa_reference_get_written_global): Remove.
	* ipa-pure-const.c (check_stmt): Do not use memory_identifier_string.
	* Makefile.in: Remove ipa-refereference from GT files.

From-SVN: r159430
2010-05-15 09:46:55 +00:00
Jakub Jelinek
22bf7d174a re PR debug/44112 (Revision 159354 causes Fortran test failures)
PR debug/44112
	* dwarf2out.c (resolve_one_addr): Check TREE_ASM_WRITTEN
	for all SYMBOL_REF_DECLs.

	* gcc.dg/debug/dwarf2/const-1.c: Remove.
	* g++.dg/debug/dwarf2/const1.C: Remove.

From-SVN: r159429
2010-05-15 08:01:20 +02:00