Commit Graph

114723 Commits

Author SHA1 Message Date
Andrey Belevantsev
3dbdd1b950 re PR rtl-optimization/48374 (ICE: in single_succ_edge, at basic-block.h:562 with -fselective-scheduling2 and __builtin_unreachable())
gcc:
	PR rtl-optimization/48374
        * sel-sched-ir.h (get_all_loop_exits): Check for zero successors.

testsuite:
        PR rtl-optimization/48374
        * gcc.dg/pr48374.c: New test.

From-SVN: r183519
2012-01-25 17:20:43 +04:00
Andrey Belevantsev
9ca3d00efe tree-predcom.c (tree_predictive_commoning_loop): Bail out when compute_data_dependences_for_loop returns false.
* tree-predcom.c (tree_predictive_commoning_loop): Bail out when
        compute_data_dependences_for_loop returns false.
        * tree-parloops.c (loop_parallel_p): Likewise.

From-SVN: r183518
2012-01-25 17:11:50 +04:00
Matthias Klose
b9264b5f91 arm: Remove empty directory.
2012-01-25  Matthias Klose  <doko@ubuntu.com>

        * config/linux/arm: Remove empty directory.
        * configure.tgt (config_path): Remove linux-arm for arm*-*-linux*.

From-SVN: r183516
2012-01-25 12:13:12 +00:00
Matthias Klose
c622f1b7ca requirements: Remove empty directory.
2012-01-25  Matthias Klose  <doko@ubuntu.com>

        * testsuite/30_threads/condition_variable_any/requirements: Remove
        empty directory.

From-SVN: r183515
2012-01-25 12:04:48 +00:00
Richard Guenther
87c0fb4bcb tree.h (get_pointer_alignment_1): Declare.
2012-01-25  Richard Guenther  <rguenther@suse.de>

	* tree.h (get_pointer_alignment_1): Declare.
	* builtins.c (get_pointer_alignment_1): New function.
	(get_pointer_alignment): Use it.

From-SVN: r183514
2012-01-25 11:14:28 +00:00
Greta Yorsh
fcc82a7a8a pr50908-2.c (dg-options): Add -fno-short-enums.
2012-01-25  Greta Yorsh  <Greta.Yorsh@arm.com>
	* gcc.dg/pr50908-2.c (dg-options): Add -fno-short-enums.

From-SVN: r183513
2012-01-25 16:29:11 +05:30
Ramana Radhakrishnan
2630025d14 re PR target/48308 (crosscompiling to arm fails with assembler: can't resolve '.LC4' {.rodata.str1.1 section} - '.LPIC4' {*UND* section})
2012-01-25  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>

	PR rtl-optimization/48308
	* combine.c (enum undo_kind): Add UNDO_LINKS.
	(struct undo): Add member l to other_contents and where.
	(do_SUBST_LINK): New.
	(SUBST_LINK): New.
	(try_combine): Handle LOG_LINKS for the dummy i1 case.
	(undo_all): Handle UNDO_LINKS.

From-SVN: r183512
2012-01-25 08:52:39 +00:00
Tobias Burnus
083dd940dc re PR fortran/51966 (ICE in gfc_conv_array_constructor_expr)
2012-01-24  Tobias Burnus  <burnus@net-b.de>

        PR fortran/51966
        * resolve.c (resolve_structure_cons): Only create an
        array constructors for nonscalars.

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

        PR fortran/51966
        * gfortran.dg/derived_constructor_char_3.f90: New.

From-SVN: r183510
2012-01-25 07:59:21 +01:00
Jason Merrill
d2bb8192ee re PR c++/51917 (g++.old-deja/g++.abi/vmihint.C FAILs)
PR c++/51917
	* decl.c (xref_basetypes): Check VEC_length instead of VEC_space.

From-SVN: r183509
2012-01-24 23:39:52 -05:00
GCC Administrator
5d972ea6d5 Daily bump.
From-SVN: r183507
2012-01-25 00:19:21 +00:00
Mike Stump
7a4217067d c-common.c (c_common_type_for_mode): Match signed/unsigned types exactly.
* c-common.c (c_common_type_for_mode): Match signed/unsigned types
	exactly.

From-SVN: r183503
2012-01-25 00:06:27 +00:00
Ian Lance Taylor
efcf639fab Update to current Go testsuite.
* go.test/go-test.exp (filecmp): New procedure.
	(errchk): Handle quoted square brackets.
	(go-gc-tests): Set go_compile_args. Handle various new test
	lines.  Skip a few new tests.
	* lib/go-torture.exp (go-torture-execute): Use go_compile_args.

From-SVN: r183502
2012-01-25 00:04:13 +00:00
Ian Lance Taylor
d1cab3a615 compiler: Error if type switch case can not implement switch value.
From-SVN: r183500
2012-01-24 23:26:20 +00:00
Ian Lance Taylor
5fca1e3f90 compiler: Do not allow slice of array literal.
From-SVN: r183499
2012-01-24 22:33:43 +00:00
Richard Henderson
42cf06094d optabs.c (maybe_emit_atomic_test_and_set): Mark model unused.
* optabs.c (maybe_emit_atomic_test_and_set): Mark model unused.
        Allow non-QImode mem inputs.

From-SVN: r183497
2012-01-24 13:11:49 -08:00
Ian Lance Taylor
625d0ab2fd compiler: Simple statement in type switch is in different block.
From-SVN: r183496
2012-01-24 20:52:37 +00:00
Richard Sandiford
1efaf134d4 optabs.c (gen_atomic_test_and_set): Use each argument.
gcc/
	* optabs.c (gen_atomic_test_and_set): Use each argument.

From-SVN: r183494
2012-01-24 19:50:14 +00:00
Richard Sandiford
fbbf1bf0eb gcc/testsuite/
* lib/target-supports.exp (proc check_effective_target_vect_perm)
	(check_effective_target_vect_extract_even_odd)
	(check_effective_target_vect_interleave): Return true for MIPS
	paired-single.

From-SVN: r183493
2012-01-24 19:40:52 +00:00
Richard Sandiford
63b9d91a98 gcc/
* config/mips/mips-ps-3d.md (mips_addr_ps, reduc_splus_v2sf)
	(mips_cvt_pw_ps, mips_cvt_ps_pw, mips_mulr_ps, mips_cabs_cond_<fmt>)
	(mips_cabs_cond_4s, mips_cabs_cond_ps, bc1any4t, bc1any4f, bc1any2t)
	(bc1any2f, mips_rsqrt1_<fmt>, mips_rsqrt2_<fmt>, mips_recip1_<fmt>)
	(mips_recip2_<fmt>): Require TARGET_MIPS3D rather than
	TARGET_PAIRED_SINGLE_FLOAT.

From-SVN: r183492
2012-01-24 19:35:25 +00:00
Alan Modra
8ef03aa785 t-linux64: Delete.
* config/rs6000/t-linux64: Delete.  Move..
	* config/rs6000/t-ppc64-fp: ..softfp_wrap defines to here..
	* config/rs6000/t-linux: ..and libgcc flags to here.

From-SVN: r183491
2012-01-25 06:05:22 +10:30
Ian Lance Taylor
fd9df055b2 compiler: Correct type of expressions involving character constants.
From-SVN: r183490
2012-01-24 19:33:52 +00:00
Richard Sandiford
2c49569ece scal-to-vec1.c (one): New volatile variable.
gcc/testsuite/
	* gcc.c-torture/execute/scal-to-vec1.c (one): New volatile variable.
	(main): Use it instead of argc.

From-SVN: r183489
2012-01-24 19:23:56 +00:00
Torvald Riegel
999bcff5bd libitm: Fix wake-up of readers in futex-based serial lock.
libitm/
	* config/linux/rwlock.cc (GTM::gtm_rwlock::write_unlock): Fix reader
	wake-up.

From-SVN: r183488
2012-01-24 19:17:05 +00:00
Jason Merrill
c873934cd9 re PR c++/51973 ([C++11] Template parameter deduction fails for overloaded functions when template parameters have defaulted arguments)
PR c++/51973
	* tree.c (called_fns_equal): Check template args.
	(cp_tree_equal): Call it.

From-SVN: r183487
2012-01-24 14:07:24 -05:00
Richard Sandiford
5535633407 rtl.texi (MEM_IN_STRUCT_P, [...]): Delete.
gcc/
	* doc/rtl.texi (MEM_IN_STRUCT_P, MEM_SCALAR_P): Delete.
	(in_struct, return_val): Remove MEM documentation.
	* rtl.h (rtx_def): Remove MEM meanings from in_struct and return_val.
	(MEM_IN_STRUCT_P, MEM_SCALAR_P): Delete.
	(MEM_COPY_ATTRIBUTES): Remove references to MEM_IN_STRUCT_P
	and MEM_SCALAR.
	* emit-rtl.c (set_mem_attributes_minus_bitpos): Likewise.
	* cfgexpand.c (add_alias_set_conflicts): Likewise.
	* expr.c (store_field): Likewise.
	* function.c (assign_stack_temp_for_type): Likewise.
	* ifcvt.c (noce_try_cmove_arith): Likewise.
	* reload1.c (reload): Likewise.
	* config/alpha/alpha.c (alpha_set_memflags_1): Likewise.
	(alpha_set_memflags): Likewise.
	* config/m32c/m32c.c (m32c_immd_dbl_mov): Nullify.

gcc/testsuite/
	* gcc.dg/memcpy-4.c: Don't expect /s on MEMs.

From-SVN: r183486
2012-01-24 19:06:38 +00:00
Richard Sandiford
53d9622bda rtl.h (true_dependence, [...]): Remove varies parameter.
gcc/
	* rtl.h (true_dependence, canon_true_dependence): Remove varies
	parameter.
	* alias.c (fixed_scalar_and_varying_struct_p): Delete.
	(true_dependence_1, write_dependence_p, may_alias_p): Don't call it.
	(true_dependence_1, true_dependence, canon_true_dependence): Remove
	varies parameter.
	* cselib.c (cselib_rtx_varies_p): Delete.
	(cselib_invalidate_mem): Update call to canon_true_dependence.
	* dse.c (record_store, check_mem_read_rtx): Likewise.
	(scan_reads_nospill): Likewise.
	* cse.c (check_dependence): Likewise.
	(cse_rtx_varies_p): Delete.
	* expr.c (safe_from_p): Update call to true_dependence.
	* ira.c (validate_equiv_mem_from_store): Likewise.
	(memref_referenced_p): Likewise.
	* postreload-gcse.c (find_mem_conflicts): Likewise.
	* sched-deps.c (sched_analyze_2): Likewise.
	* store-motion.c (load_kills_store): Likewise.
	* config/frv/frv.c (frv_registers_conflict_p_1): Likewise.
	* gcse.c (mems_conflict_for_gcse_p): Likewise.
	(compute_transp): Update call to canon_true_dependence.

From-SVN: r183485
2012-01-24 19:03:33 +00:00
Richard Henderson
f8a27aa631 atomic: Create and use maybe_emit_atomic_test_and_set.
* optabs.c (CODE_FOR_atomic_test_and_set): Provide default.
	(maybe_emit_atomic_test_and_set): New.
	(expand_sync_lock_test_and_set): Use it.
	(expand_atomic_test_and_set): Likewise.
	* doc/extend.texi (__atomic_test_and_set): Adjust the docs to match
	the implementation; clarify implementation defined details.
	* doc/md.texi (atomic_test_and_set): Document.

From-SVN: r183483
2012-01-24 09:55:29 -08:00
Ian Lance Taylor
3b547557aa compiler: Verify types of sink variables.
From-SVN: r183482
2012-01-24 17:52:41 +00:00
Richard Henderson
f1d4a790ec sparc: Use match_code in zero_or_v7_operand.
Failure to do so means that genpreds doesn't know that we're
matching a const_int, and it generates the wrong mode test.

        * config/sparc/predicates.md (zero_or_v7_operand): Use match_code.

From-SVN: r183481
2012-01-24 09:44:15 -08:00
Richard Henderson
ed6cf3188b re PR target/51968 (gcc trunk (ARM) ICEs in final_scan_insn in final.c:2716, with "could not split insn" error msg)
PR target/51968
        * config/arm/arm.c (neon_split_vcombine): Emit deleted note
        to effect no-op split.

From-SVN: r183480
2012-01-24 09:33:41 -08:00
Ian Lance Taylor
d4157849c9 compiler: Better handling of erroneous function signatures.
From-SVN: r183479
2012-01-24 17:22:40 +00:00
Aldy Hernandez
00a42fb364 + PR c++/51928 + * class.c (set_method_tm_attributes): Use TARGET_THUNK instead...
+       PR c++/51928
+       * class.c (set_method_tm_attributes): Use TARGET_THUNK instead of
+       thunk for set_one_vmethod_tm_attributes.


Co-Authored-By: Patrick Marlier <patrick.marlier@gmail.com>

From-SVN: r183478
2012-01-24 16:47:24 +00:00
Aldy Hernandez
1aa5d1c74a + * trans-mem.c (requires_barrier): Do not instrument thread local + variables and emit save/restore for them.
+       * trans-mem.c (requires_barrier): Do not instrument thread local
+       variables and emit save/restore for them.


Co-Authored-By: Patrick Marlier <patrick.marlier@gmail.com>

From-SVN: r183476
2012-01-24 13:38:10 +00:00
Jason Merrill
c5c90089e6 re PR c++/51812 (Virtual public inheritance and thunks leads to "undefined reference" in header files.)
PR c++/51812
	* cgraphunit.c (cgraph_decide_is_function_needed): Don't always
	output static aliases.

From-SVN: r183475
2012-01-24 08:37:38 -05:00
Jakub Jelinek
5460e1fc15 re PR driver/47249 (ICE in common_handle_option, at opts.c:1695 with unknown option passed to cc1)
PR driver/47249
	* common.opt (-pie, -shared, pie, shared): Change from Common to
	Driver.
	* gcc.c (display_help): Display help for -pie and -shared.

From-SVN: r183474
2012-01-24 14:18:08 +01:00
Georg-Johann Lay
aa9ec4db5f re PR target/49868 (Implement named address space to place/access data in flash memory)
PR target/49868
	* doc/extend.texi (AVR Named Address Spaces): Move sample code up.
	Remove note on size/offset limitation.
	(AVR Variable Attributes): Add example how to read data located
	with progmem.  Refer to named address spaces.
	* doc/invoke.texi (AVR Options): Fix typo.

From-SVN: r183473
2012-01-24 12:38:52 +00:00
Paolo Carlini
7cc35b68d5 re PR c++/51223 (ICE with invalid function parameter)
/cp
2012-01-24  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/51223
	* call.c (build_over_call): Check for error_mark_node as
	TREE_VALUE when default arguments are processed.

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

	PR c++/51223
	* g++.dg/parse/crash58.C: New.

From-SVN: r183472
2012-01-24 10:39:03 +00:00
Richard Guenther
a9d3ac1e89 [multiple changes]
2012-01-24  Richard Guenther  <rguenther@suse.de>

	Forward-port to trunk
	2010-09-21  Jakub Jelinek  <jakub@redhat.com>

	PR middle-end/45678
	* expr.c (expand_expr_real_1) <case VIEW_CONVERT_EXPR>: If
	op0 isn't sufficiently aligned and there is movmisalignM
	insn for mode, use it to load op0 into a temporary register.

From-SVN: r183470
2012-01-24 09:17:01 +00:00
Jakub Jelinek
93bcc8c9ff re PR target/51957 (ppc64 .debug_loc toc reference)
PR target/51957
	* target.def (const_not_ok_for_debug_p): New hook.
	* doc/tm.texi.in (TARGET_CONST_NOT_OK_FOR_DEBUG_P): New hook
	documentation.
	* doc/tm.texi: Regenerated.
	* dwarf2out.c (const_ok_for_output_1): If
	targetm.const_not_ok_for_debug_p returns true, fail.
	* config/rs6000/rs6000.c (rs6000_const_not_ok_for_debug_p): New
	function.
	(TARGET_CONST_NOT_OK_FOR_DEBUG_P): Redefine.

	* gcc.dg/pr51957-1.c: New test.
	* gcc.dg/pr51957-1.h: New file.
	* gcc.dg/pr51957-2.c: New test.

From-SVN: r183468
2012-01-24 08:24:34 +01:00
Uros Bizjak
9848887afa target.h (gtm_jmpbuf): Move rip to the end of structure.
* config/x86/target.h (gtm_jmpbuf) [__x86_64__]: Move rip to the
	end of structure.
	* config/x86/sjlj.S (_ITM_beginTransaction) [__x86_64__]: Update
	offset values.  Do not copy return address.  Decrement stack
	by 56 bytes only.
	(GTM_longjump) [__x86_64__]: Update offset values.

From-SVN: r183467
2012-01-24 08:23:57 +01:00
Ian Lance Taylor
a023688237 compiler: Better error message for invalid use of predeclared function.
From-SVN: r183466
2012-01-24 07:00:15 +00:00
Benjamin Kosnik
a7a790e9ec Makefile.am (libstdc++convenience.la): Correct stamp rule, copy.
2012-01-23  Benjamin Kosnik  <bkoz@redhat.com>

	* src/Makefile.am (libstdc++convenience.la): Correct stamp rule, copy.
	* src/Makefile.in: Regenerate.

From-SVN: r183465
2012-01-24 05:22:23 +00:00
Harshit Chopra
e5e45c6878 Adding line to ChangeLog for the change in MAINTAINERS file.
From-SVN: r183464
2012-01-24 01:14:09 +00:00
Harshit Chopra
34e3ee7e9f Adding myself to MAINTAINERS file for write after approval.
From-SVN: r183463
2012-01-24 00:54:44 +00:00
GCC Administrator
cbf74655a1 Daily bump.
From-SVN: r183462
2012-01-24 00:18:44 +00:00
Ian Lance Taylor
b1b3aec1b1 compiler: Give an error if a variable is defined but not used.
From-SVN: r183458
2012-01-23 23:55:31 +00:00
Benjamin Kosnik
8bae34da8a [multiple changes]
2012-01-20  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/49829
	Add libc++98convenience.la, libc++11convenience.la.
	* src/c++98: New directory.
	* src/c++11: New directory.
	* acinclude.m4: (GLIBCXX_CONFIGURE): Add src-c++98, src-c++11.
	* configure: Regenerated.
	* Makefile.am (hosted_source): Add src-c++98, src-c++11 to SUBDIRS.
	* Makefile.in: Regenerate.
	* libsupc++/Makefile.am (AM_CXXFLAGS): USe XTEMPLATE_FLAGS for
	-fno-implicit-templates.
	* libsupc++/Makefile.in: Regenerate.
	* src/Makefile.am (inst_sources): Move... C++11 files into
	separate directory for libstdc++11convenience.la. Files are:
	fstream-inst.cc, string-inst.cc, wlocale-inst.cc, wstring-inst.cc).
	(sources): Move C++11 files. Files are: compatibility-c++0x.cc,
	compatibility-atomic-c++0x.cc, debug.cc, functexcept.cc,
	functional.cc, hash_c++0x.cc, hashtable_c++0x.cc, limits.cc,
	system_error.cc, placeholders.cc, regex.cc, shared_ptr.cc,
	mutex.cc, condition_variable.cc, chrono.cc, thread.cc, future.cc.
	(libstdc++convenience.la): Add new target.
	(SUBDIRS): Add c++11, c++98.
	* src/Makefile.in: Regenerate.
	* src/c++11/Makefile.am: New.
	* src/c++11/Makefile.in: Generate.
	* src/c++98/Makefile.am: New, C++98 files.
	* src/c++98/Makefile.in: Generate.

2012-01-23  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/49829
	Add libc++98convenience.la, libc++11convenience.la.
	* src/c++98: New directory.
	* src/c++11: New directory.
	* acinclude.m4: (GLIBCXX_CONFIGURE): Add src-c++98, src-c++11.
	* configure: Regenerated.
	* Makefile.am (hosted_source): Add src-c++98, src-c++11 to SUBDIRS.
	* Makefile.in: Regenerate.
	* libsupc++/Makefile.am (AM_CXXFLAGS): USe XTEMPLATE_FLAGS for
	-fno-implicit-templates.
	* libsupc++/Makefile.in: Regenerate.
	* src/Makefile.am (inst_sources): Move... C++11 files into
	separate directory for libstdc++11convenience.la. Files are:
	fstream-inst.cc, string-inst.cc, wlocale-inst.cc, wstring-inst.cc).
	(sources): Move C++11 files. Files are: compatibility-c++0x.cc,
	compatibility-atomic-c++0x.cc, debug.cc, functexcept.cc,
	functional.cc, hash_c++0x.cc, hashtable_c++0x.cc, limits.cc,
	system_error.cc, placeholders.cc, regex.cc, shared_ptr.cc,
	mutex.cc, condition_variable.cc, chrono.cc, thread.cc, future.cc.
	(libstdc++convenience.la): Add new target.
	(SUBDIRS): Add c++11, c++98.
	* src/Makefile.in: Regenerate.
	* src/c++11/Makefile.am: New.
	* src/c++11/Makefile.in: Generate.
	* src/c++98/Makefile.am: New, C++98 files.
	* src/c++98/Makefile.in: Generate.

From-SVN: r183457
2012-01-23 23:12:01 +00:00
Jason Merrill
22197246e3 re PR c++/51930 (Explicitly instantiated template gets hidden visibility)
PR c++/51930
	* decl2.c (determine_visibility): Check for visibility attribute
	on template specialization.

From-SVN: r183455
2012-01-23 15:48:31 -05:00
Jason Merrill
c5a3e2ecbf use scan-not-hidden
From-SVN: r183454
2012-01-23 15:48:23 -05:00
Tobias Burnus
048037281c re PR fortran/51948 ([OOP] Rejects valid: Function result value in MOVE_ALLOC, nested in SELECT TYPE)
2012-01-23  Tobias Burnus  <burnus@net-b.de>

        PR fortran/51948
        * check.c (variable_check): Fix checking for
        result variables and deeply nested BLOCKs.

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

        PR fortran/51948
        * gfortran.dg/move_alloc_12.f90: New.

From-SVN: r183453
2012-01-23 21:38:23 +01:00