Commit Graph

118632 Commits

Author SHA1 Message Date
Tobias Burnus
bda2b77217 re PR fortran/54467 (f951: internal compiler error: in gfc_add_component_ref, at fortran/class.c:213)
2012-09-03  Tobias Burnus  <burnus@net-b.de>

        PR fortran/54467
        * class.c (gfc_find_derived_vtab): Fix disabling of _final
        by continuing to generate normal type-bound procedures.

From-SVN: r190892
2012-09-03 16:06:27 +02:00
Richard Biener
6cadda8be2 re PR middle-end/54362 (COND_EXPR not understood by either alias or ITM)
2012-09-03  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/54362
	* tree-ssa-structalias.c (find_func_aliases): Handle COND_EXPR.

From-SVN: r190889
2012-09-03 13:24:07 +00:00
Georg-Johann Lay
a4cf6e4682 configure.ac (noconfigdirs,target=avr): Add target-libquadmath.
* configure.ac (noconfigdirs,target=avr): Add target-libquadmath.
	* configure: Regenerate.

From-SVN: r190887
2012-09-03 12:10:40 +00:00
Andreas Krebbel
98412b775b s390.c (s390_loadrelative_operand_p): New function.
2012-09-03  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

	* config/s390/s390.c (s390_loadrelative_operand_p): New function.
	(s390_check_qrst_address, print_operand_address): Use
	s390_loadrelative_operand_p instead of s390_symref_operand_p.
	(s390_check_symref_alignment): Accept pointer size alignment for GOT slots.
	(legitimize_pic_address): Use load relative on z10 or later.

From-SVN: r190884
2012-09-03 11:46:56 +00:00
Jakub Jelinek
d540153b67 re PR debug/53923 (ICE: RTL check: expected code 'reg', have 'debug_expr' in rhs_regno, at rtl.h:1091)
PR debug/53923
	* valtrack.c (dead_debug_insert_temp): Drop non-reg uses
	from the chain.

From-SVN: r190883
2012-09-03 13:42:31 +02:00
Joseph Myers
28b4fc515b common.opt (--no-sysroot-suffix): New driver option.
* common.opt (--no-sysroot-suffix): New driver option.
	* doc/invoke.texi (--no-sysroot-suffix): Document.
	* gcc.c (driver_handle_option): Handle --no-sysroot-suffix as not
	needing spec processing.
	(main): Do not process sysroot suffixes if no_sysroot_suffix.

From-SVN: r190882
2012-09-03 12:34:22 +01:00
Tobias Burnus
d6cd871198 class.c (gfc_find_derived_vtab): Disable ABI-breaking generation of the "_final" subroutine for now.
2012-09-03  Tobias Burnus  <burnus@net-b.de>

        * class.c (gfc_find_derived_vtab): Disable ABI-breaking
        generation of the "_final" subroutine for now.

From-SVN: r190872
2012-09-03 09:51:05 +02:00
Tobias Burnus
bc7a23378e class.c (finalize_component): Fixes to the comment.
2012-09-03  Tobias Burnus  <burnus@net-b.de>

        * class.c (finalize_component): Fixes to the comment.

From-SVN: r190870
2012-09-03 08:45:35 +02:00
Tobias Burnus
8e54f1392c [multiple changes]
2012-09-03  Alessandro Fanfarillo  <fanfarillo.gcc@gmail.com>
            Tobias Burnus  <burnus@net-b.de>

        PR fortran/37336
        * gfortran.h (symbol_attribute): Add artificial.
        * module.c (mio_symbol_attribute): Handle attr.artificial
        * class.c (gfc_build_class_symbol): Defer creation of the vtab
        if the DT has finalizers, mark generated symbols as
        attr.artificial.
        (has_finalizer_component, finalize_component,
        finalization_scalarizer, generate_finalization_wrapper):
        New static functions.
        (gfc_find_derived_vtab): Add _final component and call
        generate_finalization_wrapper.
        * dump-parse-tree.c (show_f2k_derived): Use resolved
        proc_tree->n.sym rather than unresolved proc_sym.
        (show_attr): Handle attr.artificial.
        * resolve.c (gfc_resolve_finalizers): Ensure that the vtab
        * exists.
        (resolve_fl_derived): Resolve finalizers before
        generating the vtab.
        (resolve_symbol): Also allow assumed-rank arrays with CONTIGUOUS;
        skip artificial symbols.
        (resolve_fl_derived0): Skip artificial symbols.

2012-09-03  Tobias Burnus  <burnus@net-b.de>

        PR fortran/51632
        * gfortran.dg/coarray_class_1.f90: New.

From-SVN: r190869
2012-09-03 08:35:59 +02:00
GCC Administrator
2e4a4bbd98 Daily bump.
From-SVN: r190868
2012-09-03 00:17:29 +00:00
Oleg Endo
af86932630 re PR target/33135 ([SH] -ffinite-math-only should not be on by default)
PR target/33135
	* common/config/sh/sh-common.c: Update copyright years.
	(sh_option_init_struct): Delete.
	(TARGET_OPTION_INIT_STRUCT): Likewise.

From-SVN: r190865
2012-09-02 23:18:08 +00:00
Oleg Endo
b07c437262 re PR target/54418 ([SH] Invalid operands for opcode)
PR target/54418
	* config/sh/sh.md (cmpgeusi_t): Remove N alternative.
	Check operands[1] in split condition instead of operands[0].
	Add comments.

From-SVN: r190864
2012-09-02 23:15:25 +00:00
Mark Kettenis
613061fdd0 config.host (x86_64-*-openbsd*): New target.
libgcc/

	* config.host (x86_64-*-openbsd*): New target.

gcc/

	* config.gcc (x86_64-*-openbsd*): New target.
	* config.host (*-*-openbsd*): New target.
	* config/openbsd.h (TARGET_C99_FUNCTIONS): Define.
	* config/i386/openbsdelf.h: Remove some superfluous defines and
	group things together in a more logical fashion.
	(DBX_REGISTER_NUMBER): Provide a
	definition that works on both 32-bit and 64-bit targets.
	(WCHAR_TYPE_SIZE): Hardcode as 32.
	(NO_DOLLAR_IN_LABEL): Remove undef.
	(TARGET_DEFAULT): Remove.
	(SET_ASM_OP): Remove.
	(DEFAULT_PCC_STRUCT_RETURN): Undef first to prevent warning.
	(ASM_OUTPUT_MAX_SKIP_ALIGN): Synch with x86-64.h
	(DWARF2_UNWIND_INFO): Remove define.
	(HAVE_ENABLE_EXECUTE_STACK): Define.
	* config/host-openbsd.c: New file.
	* config/t-openbsd (USER_H): Add EXTRA_HEADERS.
	* config/x-openbsd: New file.

From-SVN: r190863
2012-09-02 14:13:21 +00:00
Oleg Endo
ee86a05fd0 sh.md (*extend<mode>si2_compact_mem_disp): Pass iterated mode to sh_legitimate_index_p instead of QImode.
* config/sh/sh.md (*extend<mode>si2_compact_mem_disp): Pass iterated
	mode to sh_legitimate_index_p instead of QImode.

From-SVN: r190862
2012-09-02 13:05:10 +00:00
Uros Bizjak
b418bc475d sync.md (atomic_compare_and_swap<dwi>_doubleword): Improve insn output code.
* config/i386/sync.md (atomic_compare_and_swap<dwi>_doubleword):
	Improve insn output code.

From-SVN: r190861
2012-09-02 13:08:33 +02:00
Eric Botcazou
eaf23fc3d5 re PR rtl-optimization/54369 (delayed-branch pass removes too many instructions)
PR rtl-optimization/54369
	* config/mips/mips.c (mips_reorg): Invoke cleanup_barriers before
	calling dbr_schedule.
	* config/sparc/sparc.c (sparc_reorg): Likewise.

From-SVN: r190858
2012-09-02 10:36:27 +00:00
Uros Bizjak
51ad44fd6b re PR target/49206 (RA failure in spill_failure, at reload1.c:2113)
PR target/49206
	* gcc.c-torture/compile/pr49206.c: New test.

From-SVN: r190857
2012-09-02 10:49:31 +02:00
Uros Bizjak
aba2356930 * gcc.c-torture/compile/pr44687.c: Fix whitespace.
From-SVN: r190856
2012-09-02 10:42:45 +02:00
Dominique d'Humieres
714499a070 re PR target/36680 (ICE in spill_failure, reload1.c:1995)
PR target/36680
	* gfortran.dg/pr36680.f90: New test.


Co-Authored-By: Uros Bizjak <ubizjak@gmail.com>

From-SVN: r190855
2012-09-02 10:10:21 +02:00
Uros Bizjak
21975c30c3 re PR target/42295 (ICE: 'error: unable to find a register to spill in class "AREG"' with -fschedule-insns)
PR target/42295
	* g++.dg/opt/pr42295.C: New test.

From-SVN: r190854
2012-09-02 09:07:45 +02:00
Tobias Burnus
603cf12f58 re PR fortran/54426 (FAIL: gfortran.dg/common_6.f90 -O (internal compiler error) on powerpc-apple-darwin9)
2012-09-02  Tobias Burnus  <burnus@net-b.de>

        PR fortran/54426
        * symbol.c (find_common_symtree): New function.
        (gfc_undo_symbols): Use it; free common_head if needed.

From-SVN: r190853
2012-09-02 08:40:27 +02:00
GCC Administrator
155b46f5eb Daily bump.
From-SVN: r190852
2012-09-02 00:17:49 +00:00
Jakub Jelinek
e89f93f66a re PR target/54436 (Compiling some regular C++ code gives assembler '700415 shortened to 255' warning)
PR target/54436
	* config/i386/i386.md (*mov<mode>_insv_1_rex64, *movsi_insv_1): If
	operands[1] is CONST_INT_P, convert it to QImode before printing.

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

From-SVN: r190849
2012-09-01 21:09:02 +02:00
Andrew Pinski
dcf8468f1c simplify-rtx.c (simplify_unary_operation_1 <case TRUNCATE>): A truncate of a memory is just loading the low part of the memory.
2012-09-01  Andrew Pinski  <apinski@cavium.com>

	* simplify-rtx.c (simplify_unary_operation_1 <case TRUNCATE>):
	A truncate of a memory is just loading the low part of the memory.

2012-09-01  Andrew Pinski  <apinski@cavium.com>

        * gcc.target/mips/truncate-8.c: New testcase.

From-SVN: r190848
2012-09-01 11:52:19 -07:00
Uros Bizjak
2caf633d4f re PR target/46829 (ICE: in spill_failure, at reload1.c:2105 with -fschedule-insns -fsched-pressure and variadic function)
PR target/46829
	PR target/46843
	* config/i386/i386.c (ix86_legitimate_combined_insn): New function.
	(TARGET_LEGITIMATE_COMBINED_INSN): New macro.

testsuite/ChangeLog:

	PR target/46829
	PR target/46843
	* gcc.target/i386/pr46829.c: New test.
	* gcc.target/i386/pr46843.c: Ditto.

From-SVN: r190847
2012-09-01 16:29:45 +02:00
Uros Bizjak
78e4f1ad4e target.def (legitimate_combined_insn): New target hook.
* target.def (legitimate_combined_insn): New target hook.
	* doc/tm.texi.in (TARGET_LEGITIMATE_COMBINED_INSN): New hook.
	* doc/tm.texi: Regenerated.
	* combine.c (recog_for_combine): Call targetm.legitimate_combined_insn
	to allow targets to reject combined insn.
	* hooks.h (hook_bool_rtx_true): New.
	* hooks.c (hook_bool_rtx_true): Ditto.

From-SVN: r190846
2012-09-01 16:26:28 +02:00
GCC Administrator
cb7dba8ebf Daily bump.
From-SVN: r190845
2012-09-01 00:17:53 +00:00
Paolo Carlini
1dec70fa4c re PR c++/18747 ("template<> int i;" accepted)
PR c++/18747
	* pt.c (check_template_variable): New.
	(num_template_headers_for_class): Split out...
	* decl.c (grokdeclarator): ...from here.
	(start_decl): Remove redundant diagnostic.
	* cp-tree.h: Declare them
	* parser.c (cp_parser_single_declaration): Call check_template_variable.
.
Co-Authored-By: Jason Merrill <jason@redhat.com>

From-SVN: r190842
2012-08-31 17:35:33 -04:00
Martin Jambor
be279f8651 ipa-inline-analysis.c (estimate_function_body_sizes): Allocate nonconstant_names after calculate_dominance_info and loop_optimizer_init.
2012-08-31  Martin Jambor  <mjambor@suse.cz>

	* ipa-inline-analysis.c (estimate_function_body_sizes): Allocate
	nonconstant_names after calculate_dominance_info and
	loop_optimizer_init.

From-SVN: r190841
2012-08-31 21:16:21 +02:00
Jakub Jelinek
d409320ca8 re PR c/54428 (ICE in gimplify_expr, at gimplify.c:7591)
PR c/54428
	* c-convert.c (convert): Don't call fold_convert_loc if
	TYPE_MAIN_VARIANT of a COMPLEX_TYPE is the same, unless e
	is a COMPLEX_EXPR.  Remove TYPE_MAIN_VARIANT check from
	COMPLEX_TYPE -> COMPLEX_TYPE conversion.

	* gcc.c-torture/compile/pr54428.c: New test.

From-SVN: r190840
2012-08-31 21:00:59 +02:00
Greta Yorsh
2c84f67d84 arm.c (arm_expand_epilogue): Remove unused variable floats_from_frame.
gcc/

2012-08-31  Greta Yorsh  <Greta.Yorsh@arm.com>

        * config/arm/arm.c (arm_expand_epilogue): Remove unused variable
        floats_from_frame.

From-SVN: r190838
2012-08-31 17:42:21 +01:00
Ollie Wild
5efef981c8 re PR c++/54197 (Lifetime of reference not properly extended)
2012-08-31  Ollie Wild  <aaw@google.com>

	PR c++/54197
	* gcc/cp/call.c (extend_ref_init_temps_1): Handle COMPOUND_EXPR trees.
	* gcc/testsuite/g++.dg/init/lifetime3.C: New test.

From-SVN: r190834
2012-08-31 15:47:29 +00:00
Martin Jambor
0336096575 re PR middle-end/54409 (internal compiler error: in remap_predicate, at ipa-inline-analysis.c:2710)
2012-08-31  Martin Jambor  <mjambor@suse.cz>

	PR middle-end/54409
	* ipa-inline-analysis.c (remap_predicate): Fix the offset_map
	checking condition.

	* gcc/testsuite/gcc.dg/torture/pr54409.c: New test.

From-SVN: r190833
2012-08-31 16:05:45 +02:00
Martin Jambor
48679f6e24 ipa-inline-analysis.c (phi_result_unknown_predicate): New function.
2012-08-31  Martin Jambor  <mjambor@suse.cz>

	* ipa-inline-analysis.c (phi_result_unknown_predicate): New function.
	(predicate_for_phi_result): Likewise.
	(estimate_function_body_sizes): Use the above two functions.

	* testsuite/gfortran.dg/pr48636.f90: Add dump scan checks.

From-SVN: r190832
2012-08-31 15:48:37 +02:00
Martin Jambor
172e74fa37 re PR middle-end/54394 (fatigue2 -flto run time regression)
2012-08-31  Martin Jambor  <mjambor@suse.cz>

	PR middle-end/54394
	* ipa-inline-analysis.c (estimate_function_body_sizes): Compute
	dominance info and loops whenever optimizing.

From-SVN: r190831
2012-08-31 15:13:03 +02:00
Jason Merrill
2c90550220 re PR c++/50545 ([C++0x][DR 1172] SFINAE does not handle an explicit type conversion (functional notation) with a braced-init-list well if target type is not dependent)
PR c++/50545
	PR c++/51222
	* pt.c (instantiation_dependent_r): New.
	(instantiation_dependent_expression_p): New.
	(value_dependent_expression_p): Use it.  SCOPE_REF is always dependent.
	* semantics.c (finish_decltype_type): Use it.
	* cp-tree.h: Declare it.

From-SVN: r190830
2012-08-30 22:50:28 -04:00
Jason Merrill
e467c9d257 semantics.c (finish_qualified_id_expr): Handle building up a non-dependent SCOPE_REF here.
* semantics.c (finish_qualified_id_expr): Handle building up a
	non-dependent SCOPE_REF here.
	(finish_id_expression): Not here.
	* error.c (dump_decl) [SCOPE_REF]: Only pass TFF_UNQUALIFIED_NAME.

From-SVN: r190829
2012-08-30 22:50:18 -04:00
Jason Merrill
091bffba90 friend.c (make_friend_class): Handle template template parameters.
* friend.c (make_friend_class): Handle template template parameters.
	* parser.c (cp_parser_template_declaration_after_export): Likewise.
	* pt.c (tsubst_friend_class): Likewise.
	(instantiate_class_template_1): Likewise
	* decl.c (check_elaborated_type_specifier): Likewise.
	(lookup_and_check_tag): Likewise.

From-SVN: r190828
2012-08-30 22:50:08 -04:00
Jason Merrill
5cb25c9c7b pt.c (get_class_bindings): Call coerce_template_parms.
* pt.c (get_class_bindings): Call coerce_template_parms.  Add
	main_tmpl parameter.
	(more_specialized_class): Add main_tmpl parameter.
	(most_specialized_class): Adjust calls.

From-SVN: r190827
2012-08-30 22:49:52 -04:00
Jason Merrill
fdf565deae decl.c (cp_finish_decl): Check for invalid multiple initializers even if the initializer is dependent.
* decl.c (cp_finish_decl): Check for invalid multiple initializers
	even if the initializer is dependent.

From-SVN: r190826
2012-08-30 22:49:42 -04:00
Jason Merrill
429f8106ec pt.c (instantiate_template_1): Keep processing_template_decl set if there are dependent args.
* pt.c (instantiate_template_1): Keep processing_template_decl set
	if there are dependent args.

From-SVN: r190825
2012-08-30 22:49:33 -04:00
GCC Administrator
da4aca78cf Daily bump.
From-SVN: r190822
2012-08-31 00:18:02 +00:00
Benjamin Kosnik
dda78b5c0b ChangeLog fixup
From-SVN: r190811
2012-08-30 19:25:04 +00:00
Benjamin Kosnik
3e7e2f128b PR libstdc++/54005 continued
2012-08-30  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/54005 continued
	* include/std/atomic: Use __atomic_lock_free with
	* include/bits/atomic_base.h: Same.

From-SVN: r190810
2012-08-30 19:24:58 +00:00
Ulrich Drepper
25270f5e5a random.h (random_device): Remove 'return' from constructor.
* include/bits/random.h (random_device) [GLIBCXX_USE_RANDOM_TR1]:
	Remove 'return' from constructor.

From-SVN: r190806
2012-08-30 16:33:09 +00:00
Benjamin Kosnik
90a75549c3 testsuite_abi.cc (check_version): Add GLIBCXX_3.4.18.
2012-08-30  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/util/testsuite_abi.cc (check_version): Add GLIBCXX_3.4.18.

From-SVN: r190805
2012-08-30 15:58:52 +00:00
Ramana Radhakrishnan
e3783e8274 re PR target/54252 (Bad alignment code generated for Neon loads)
Fix PR target/54252

2012-08-29  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
	    Richard Earnshaw  <richard.earnshaw@arm.com>

	PR target/54252
	* config/arm/arm.c (neon_dereference_pointer): Adjust nelems by
	element size. Use elem_type from the formal parameter. New parameter
	fcode.
	(neon_expand_args): Adjust call to neon_dereference_pointer.



Co-Authored-By: Richard Earnshaw <rearnsha@arm.com>

From-SVN: r190800
2012-08-30 10:17:04 +00:00
Ulrich Drepper
d53591084b Missing CL entry
From-SVN: r190796
2012-08-30 02:21:12 +00:00
GCC Administrator
3248bfed32 Daily bump.
From-SVN: r190793
2012-08-30 00:18:21 +00:00
Ulrich Drepper
a8c3f4c972 random.h (random_device): Move implementation to...
* include/bits/random.h (random_device): Move implementation to...
	* src/c++11/random.cc: ...here.  New file.
	* config/abi/pre/gnu.ver: Add new version GLIBCXX_3.4.18.  Export
	std::random_device::* symbols.
	* config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Generated.
	* src/c++11/Makefile.am (sources): Add random.cc.
	* src/c++11/Makefile.in: Regenerated.

From-SVN: r190787
2012-08-29 22:05:41 +00:00