Richard Henderson [Sat, 9 Jul 2011 20:26:43 +0000 (13:26 -0700)]
dwarf2cfi: Unify add_fde_cfi and add_cie_cfi.
* dwarf2cfi.c (add_cfi_vec): New.
(add_cfi): Rename from add_fde_cfi. Add the element to add_cfi_vec.
(def_cfa_1, reg_save): Remove for_cie argument. Update all callers.
(execute_dwarf2_frame): Set add_cfi_vec.
From-SVN: r176095
Richard Henderson [Sat, 9 Jul 2011 20:18:32 +0000 (13:18 -0700)]
Move ASM_COMMENT_START to defaults.h.
Note the extreme silliness in dwarf2out.c with 3 (three) copies.
* defaults.h (ASM_COMMENT_START): Move here...
* dwarf2asm.c: ... from here.
* dwarf2out.c, final.c, vmsdbgout.c: Remove duplicates.
* toplev.c: Remove ifndef tests of ASM_COMMENT_START.
* varasm.c: Likewise.
From-SVN: r176093
Richard Henderson [Sat, 9 Jul 2011 19:57:27 +0000 (12:57 -0700)]
re PR rtl-optimization/49686 (CFI notes are missed for delayed slot)
PR debug/49686
* dwarf2cfi.c (dwarf2out_frame_debug): Don't set cfi_insn here...
(create_cfi_notes): ... do it here instead.
From-SVN: r176091
H.J. Lu [Sat, 9 Jul 2011 19:25:11 +0000 (19:25 +0000)]
Add x32 support to GCC testsuite.
2011-07-09 H.J. Lu <hongjiu.lu@intel.com>
* c-c++-common/dfp/func-vararg-alternate-d128-2.c: Support x32.
* c-c++-common/dfp/func-vararg-mixed-2.c: Likewise.
* g++.dg/abi/bitfield3.C: Likewise.
* g++.dg/eh/pr38662.C: Likewise.
* g++.dg/ext/attrib36.C: Likewise.
* g++.dg/ext/attrib37.C: Likewise.
* g++.dg/ext/attrib8.C: Likewise.
* g++.dg/ext/tmplattr1.C: Likewise.
* g++.dg/inherit/override-attribs.C: Likewise.
* g++.dg/opt/inline9.C: Likewise.
* g++.dg/opt/life1.C: Likewise.
* g++.dg/opt/longbranch2.C: Likewise.
* g++.dg/opt/nrv12.C: Likewise.
* g++.dg/opt/reg-stack4.C: Likewise.
* g++.dg/other/pr35504.C: Likewise.
* g++.dg/other/pr39496.C: Likewise.
* g++.dg/torture/stackalign/eh-fastcall-1.C: Likewise.
* g++.dg/torture/stackalign/eh-thiscall-1.C: Likewise.
* g++.dg/torture/stackalign/stdcall-1.C: Likewise.
* g++.dg/torture/stackalign/unwind-0.C: Likewise.
* g++.dg/torture/stackalign/unwind-1.C: Likewise.
* g++.dg/torture/stackalign/unwind-2.C: Likewise.
* g++.dg/torture/stackalign/unwind-3.C: Likewise.
* g++.dg/torture/stackalign/unwind-4.C: Likewise.
* g++.dg/torture/stackalign/unwind-5.C: Likewise.
* g++.dg/torture/stackalign/unwind-6.C: Likewise.
* g++.dg/warn/pr15774-1.C: Likewise.
* g++.dg/warn/pr15774-2.C: Likewise.
* g++.old-deja/g++.ext/attrib1.C: Likewise.
* g++.old-deja/g++.ext/attrib2.C: Likewise.
* g++.old-deja/g++.ext/attrib3.C: Likewise.
* g++.old-deja/g++.pt/asm2.C: Likewise.
* gcc.c-torture/compile/
20000804-1.c: Likewise.
* gcc.c-torture/compile/pr16566-2.c: Likewise.
* gcc.c-torture/execute/ieee/ieee.exp: Likewise.
* gcc.dg/
20020108-1.c: Likewise.
* gcc.dg/
20020122-2.c: Likewise.
* gcc.dg/
20020122-3.c: Likewise.
* gcc.dg/
20020206-1.c: Likewise.
* gcc.dg/
20020219-1.c: Likewise.
* gcc.dg/
20020310-1.c: Likewise.
* gcc.dg/
20020411-1.c: Likewise.
* gcc.dg/
20020418-2.c: Likewise.
* gcc.dg/
20020426-2.c: Likewise.
* gcc.dg/
20020517-1.c: Likewise.
* gcc.dg/
20030204-1.c: Likewise.
* gcc.dg/
20030826-2.c: Likewise.
* gcc.dg/
20031102-1.c: Likewise.
* gcc.dg/
20031202-1.c: Likewise.
* gcc.dg/
20050111-1.c: Likewise.
* gcc.dg/
20050503-1.c: Likewise.
* gcc.dg/array-init-1.c: Likewise.
* gcc.dg/builtin-apply4.c: Likewise.
* gcc.dg/dfp/pr31344.c: Likewise.
* gcc.dg/gomp/atomic-11.c: Likewise.
* gcc.dg/graphite/pr40281.c: Likewise.
* gcc.dg/ia64-sync-1.c: Likewise.
* gcc.dg/ia64-sync-2.c: Likewise.
* gcc.dg/ia64-sync-3.c: Likewise.
* gcc.dg/ia64-sync-4.c: Likewise.
* gcc.dg/ifcvt-fabs-1.c: Likewise.
* gcc.dg/invalid-call-1.c: Likewise.
* gcc.dg/loop-3.c: Likewise.
* gcc.dg/lower-subreg-1.c: Likewise.
* gcc.dg/lto/pr47259_0.c: Likewise.
* gcc.dg/nested-calls-1.c: Likewise.
* gcc.dg/pr20017.c: Likewise.
* gcc.dg/pr25023.c: Likewise.
* gcc.dg/pr27671-2.c: Likewise.
* gcc.dg/pr32176.c: Likewise.
* gcc.dg/pr33676.c: Likewise.
* gcc.dg/pr35045.c: Likewise.
* gcc.dg/pr36015.c: Likewise.
* gcc.dg/pr36584.c: Likewise.
* gcc.dg/pr36998.c: Likewise.
* gcc.dg/pr37438.c: Likewise.
* gcc.dg/pr37908.c: Likewise.
* gcc.dg/pr41241.c: Likewise.
* gcc.dg/pr41340.c: Likewise.
* gcc.dg/pr44136.c: Likewise.
* gcc.dg/pr44194-1.c: Likewise.
* gcc.dg/pr46212.c: Likewise.
* gcc.dg/prefetch-loop-arrays-1.c: Likewise.
* gcc.dg/setjmp-2.c: Likewise.
* gcc.dg/short-compare-1.c: Likewise.
* gcc.dg/short-compare-2.c: Likewise.
* gcc.dg/smod-1.c: Likewise.
* gcc.dg/sync-2.c: Likewise.
* gcc.dg/sync-3.c: Likewise.
* gcc.dg/tls/opt-1.c: Likewise.
* gcc.dg/tls/opt-2.c: Likewise.
* gcc.dg/tls/opt-3.c: Likewise.
* gcc.dg/torture/badshift.c: Likewise.
* gcc.dg/torture/fp-int-convert-float80-timode.c: Likewise.
* gcc.dg/torture/pr20314-2.c: Likewise.
* gcc.dg/torture/pr36891.c: Likewise.
* gcc.dg/torture/pr38774.c: Likewise.
* gcc.dg/torture/stackalign/alloca-2.c: Likewise.
* gcc.dg/torture/stackalign/alloca-4.c: Likewise.
* gcc.dg/torture/stackalign/alloca-5.c: Likewise.
* gcc.dg/torture/stackalign/alloca-6.c: Likewise.
* gcc.dg/torture/stackalign/fastcall-1.c: Likewise.
* gcc.dg/torture/stackalign/push-1.c: Likewise.
* gcc.dg/torture/stackalign/regparm-1.c: Likewise.
* gcc.dg/torture/stackalign/thiscall-1.c: Likewise.
* gcc.dg/tree-ssa/loop-28.c: Likewise.
* gcc.dg/tree-ssa/prefetch-3.c: Likewise.
* gcc.dg/tree-ssa/prefetch-4.c: Likewise.
* gcc.dg/tree-ssa/prefetch-5.c: Likewise.
* gcc.dg/tree-ssa/prefetch-6.c: Likewise.
* gcc.dg/tree-ssa/prefetch-7.c: Likewise.
* gcc.dg/tree-ssa/prefetch-8.c: Likewise.
* gcc.dg/tree-ssa/prefetch-9.c: Likewise.
* gcc.dg/tree-ssa/stdarg-2.c: Likewise.
* gcc.dg/tree-ssa/stdarg-3.c: Likewise.
* gcc.dg/tree-ssa/stdarg-4.c: Likewise.
* gcc.dg/tree-ssa/stdarg-5.c: Likewise.
* gcc.dg/tree-ssa/update-unroll-1.c: Likewise.
* gcc.dg/unroll-1.c: Likewise.
* gcc.dg/vect/costmodel/x86_64/x86_64-costmodel-vect.exp: Likewise.
* gcc.misc-tests/i386-pf-3dnow-1.c: Likewise.
* gcc.misc-tests/i386-pf-athlon-1.c: Likewise.
* gcc.misc-tests/i386-pf-none-1.c: Likewise.
* gcc.misc-tests/i386-pf-sse-1.c: Likewise.
* gcc.target/i386/
20000609-1.c: Likewise.
* gcc.target/i386/
20000720-1.c: Likewise.
* gcc.target/i386/
20000724-1.c: Likewise.
* gcc.target/i386/
20011107-1.c: Likewise.
* gcc.target/i386/
20011119-1.c: Likewise.
* gcc.target/i386/
20020201-3.c: Likewise.
* gcc.target/i386/
20020218-1.c: Likewise.
* gcc.target/i386/
20020729-1.c: Likewise.
* gcc.target/i386/
20030926-1.c: Likewise.
* gcc.target/i386/
20060125-1.c: Likewise.
* gcc.target/i386/
20060125-2.c: Likewise.
* gcc.target/i386/
20060512-1.c: Likewise.
* gcc.target/i386/
20060512-2.c: Likewise.
* gcc.target/i386/
20060512-3.c: Likewise.
* gcc.target/i386/
20060512-4.c: Likewise.
* gcc.target/i386/387-1.c: Likewise.
* gcc.target/i386/387-2.c: Likewise.
* gcc.target/i386/387-5.c: Likewise.
* gcc.target/i386/387-6.c: Likewise.
* gcc.target/i386/980312-1.c: Likewise.
* gcc.target/i386/980313-1.c: Likewise.
* gcc.target/i386/990117-1.c: Likewise.
* gcc.target/i386/990424-1.c: Likewise.
* gcc.target/i386/990524-1.c: Likewise.
* gcc.target/i386/991129-1.c: Likewise.
* gcc.target/i386/991214-1.c: Likewise.
* gcc.target/i386/991230-1.c: Likewise.
* gcc.target/i386/addr-sel-1.c: Likewise.
* gcc.target/i386/aggregate-ret1.c: Likewise.
* gcc.target/i386/aggregate-ret2.c: Likewise.
* gcc.target/i386/align-main-3.c: Likewise.
* gcc.target/i386/amd64-abi-1.c: Likewise.
* gcc.target/i386/amd64-abi-2.c: Likewise.
* gcc.target/i386/amd64-abi-4.c: Likewise.
* gcc.target/i386/amd64-abi-5.c: Likewise.
* gcc.target/i386/amd64-abi-6.c: Likewise.
* gcc.target/i386/asm-1.c: Likewise.
* gcc.target/i386/asm-3.c: Likewise.
* gcc.target/i386/asm-5.c: Likewise.
* gcc.target/i386/attributes-error.c: Likewise.
* gcc.target/i386/avx-vcvtsd2si-2.c: Likewise.
* gcc.target/i386/avx-vcvtsi2sd-2.c: Likewise.
* gcc.target/i386/avx-vcvtsi2ss-2.c: Likewise.
* gcc.target/i386/avx-vcvtss2si-2.c: Likewise.
* gcc.target/i386/avx-vcvttsd2si-2.c: Likewise.
* gcc.target/i386/avx-vcvttss2si-2.c: Likewise.
* gcc.target/i386/avx-vinsertps-3.c: Likewise.
* gcc.target/i386/avx-vmovd-2.c: Likewise.
* gcc.target/i386/avx-vmovq-2.c: Likewise.
* gcc.target/i386/avx-vmovq-3.c: Likewise.
* gcc.target/i386/avx-vpextrq-1.c: Likewise.
* gcc.target/i386/avx-vpinsrq-1.c: Likewise.
* gcc.target/i386/avx-vzeroupper-16.c: Likewise.
* gcc.target/i386/avx-vzeroupper-17.c: Likewise.
* gcc.target/i386/avx-vzeroupper-18.c: Likewise.
* gcc.target/i386/bitfield1.c: Likewise.
* gcc.target/i386/bitfield2.c: Likewise.
* gcc.target/i386/bmi-2.c: Likewise.
* gcc.target/i386/bmi-5.c: Likewise.
* gcc.target/i386/builtin-unreachable.c: Likewise.
* gcc.target/i386/cleanup-2.c: Likewise.
* gcc.target/i386/clobbers.c: Likewise.
* gcc.target/i386/cmov8.c: Likewise.
* gcc.target/i386/cmpxchg16b-1.c: Likewise.
* gcc.target/i386/compress-float-387-pic.c: Likewise.
* gcc.target/i386/compress-float-387.c: Likewise.
* gcc.target/i386/compress-float-sse-pic.c: Likewise.
* gcc.target/i386/compress-float-sse.c: Likewise.
* gcc.target/i386/crc32-2.c: Likewise.
* gcc.target/i386/crc32-3.c: Likewise.
* gcc.target/i386/divmod-7.c: Likewise.
* gcc.target/i386/divmod-8.c: Likewise.
* gcc.target/i386/fastcall-sseregparm.c: Likewise.
* gcc.target/i386/fma3-builtin.c: Likewise.
* gcc.target/i386/fma3-fma.c: Likewise.
* gcc.target/i386/fma4-256-vector.c: Likewise.
* gcc.target/i386/fma4-builtin.c: Likewise.
* gcc.target/i386/fma4-fma-2.c: Likewise.
* gcc.target/i386/fma4-fma.c: Likewise.
* gcc.target/i386/fma4-vector-2.c: Likewise.
* gcc.target/i386/fma4-vector.c: Likewise.
* gcc.target/i386/funcspec-1.c: Likewise.
* gcc.target/i386/funcspec-10.c: Likewise.
* gcc.target/i386/funcspec-11.c: Likewise.
* gcc.target/i386/funcspec-2.c: Likewise.
* gcc.target/i386/funcspec-5.c: Likewise.
* gcc.target/i386/funcspec-6.c: Likewise.
* gcc.target/i386/gcc-have-sync-compare-and-swap-1.c: Likewise.
* gcc.target/i386/gcc-have-sync-compare-and-swap-2.c: Likewise.
* gcc.target/i386/gcc-have-sync-compare-and-swap-3.c: Likewise.
* gcc.target/i386/gcc-have-sync-compare-and-swap-4.c: Likewise.
* gcc.target/i386/incoming-1.c: Likewise.
* gcc.target/i386/incoming-10.c: Likewise.
* gcc.target/i386/incoming-11.c: Likewise.
* gcc.target/i386/incoming-12.c: Likewise.
* gcc.target/i386/incoming-13.c: Likewise.
* gcc.target/i386/incoming-14.c: Likewise.
* gcc.target/i386/incoming-15.c: Likewise.
* gcc.target/i386/incoming-2.c: Likewise.
* gcc.target/i386/incoming-3.c: Likewise.
* gcc.target/i386/incoming-4.c: Likewise.
* gcc.target/i386/incoming-5.c: Likewise.
* gcc.target/i386/incoming-6.c: Likewise.
* gcc.target/i386/incoming-7.c: Likewise.
* gcc.target/i386/incoming-8.c: Likewise.
* gcc.target/i386/incoming-9.c: Likewise.
* gcc.target/i386/lea.c: Likewise.
* gcc.target/i386/local.c: Likewise.
* gcc.target/i386/loop-1.c: Likewise.
* gcc.target/i386/loop-2.c: Likewise.
* gcc.target/i386/loop-3.c: Likewise.
* gcc.target/i386/max-stack-align.c: Likewise.
* gcc.target/i386/memcpy-1.c: Likewise.
* gcc.target/i386/movbe-2.c: Likewise.
* gcc.target/i386/movq-2.c: Likewise.
* gcc.target/i386/movq.c: Likewise.
* gcc.target/i386/nrv1.c: Likewise.
* gcc.target/i386/pad-4.c: Likewise.
* gcc.target/i386/pad-5a.c: Likewise.
* gcc.target/i386/pad-5b.c: Likewise.
* gcc.target/i386/pad-6a.c: Likewise.
* gcc.target/i386/pad-6b.c: Likewise.
* gcc.target/i386/pad-7.c: Likewise.
* gcc.target/i386/pad-9.c: Likewise.
* gcc.target/i386/pentium4-not-mull.c: Likewise.
* gcc.target/i386/pic-1.c: Likewise.
* gcc.target/i386/pr12092-1.c: Likewise.
* gcc.target/i386/pr12329.c: Likewise.
* gcc.target/i386/pr21518.c: Likewise.
* gcc.target/i386/pr22362.c: Likewise.
* gcc.target/i386/pr22585.c: Likewise.
* gcc.target/i386/pr23098.c: Likewise.
* gcc.target/i386/pr25196.c: Likewise.
* gcc.target/i386/pr25293.c: Likewise.
* gcc.target/i386/pr25654.c: Likewise.
* gcc.target/i386/pr26449.c: Likewise.
* gcc.target/i386/pr26778.c: Likewise.
* gcc.target/i386/pr26826.c: Likewise.
* gcc.target/i386/pr27266.c: Likewise.
* gcc.target/i386/pr29978.c: Likewise.
* gcc.target/i386/pr30505.c: Likewise.
* gcc.target/i386/pr30961-1.c: Likewise.
* gcc.target/i386/pr31628.c: Likewise.
* gcc.target/i386/pr32000-2.c: Likewise.
* gcc.target/i386/pr32661-1.c: Likewise.
* gcc.target/i386/pr32708-2.c: Likewise.
* gcc.target/i386/pr32708-3.c: Likewise.
* gcc.target/i386/pr34256.c: Likewise.
* gcc.target/i386/pr34312.c: Likewise.
* gcc.target/i386/pr34522.c: Likewise.
* gcc.target/i386/pr35160.c: Likewise.
* gcc.target/i386/pr35281.c: Likewise.
* gcc.target/i386/pr36246.c: Likewise.
* gcc.target/i386/pr36786.c: Likewise.
* gcc.target/i386/pr37275.c: Likewise.
* gcc.target/i386/pr37843-3.c: Likewise.
* gcc.target/i386/pr37843-4.c: Likewise.
* gcc.target/i386/pr39082-1.c: Likewise.
* gcc.target/i386/pr39431.c: Likewise.
* gcc.target/i386/pr39496.c: Likewise.
* gcc.target/i386/pr39543-2.c: Likewise.
* gcc.target/i386/pr39911.c: Likewise.
* gcc.target/i386/pr40718.c: Likewise.
* gcc.target/i386/pr40906-1.c: Likewise.
* gcc.target/i386/pr40906-2.c: Likewise.
* gcc.target/i386/pr40906-3.c: Likewise.
* gcc.target/i386/pr40934.c: Likewise.
* gcc.target/i386/pr41900.c: Likewise.
* gcc.target/i386/pr42589.c: Likewise.
* gcc.target/i386/pr43662.c: Likewise.
* gcc.target/i386/pr43671.c: Likewise.
* gcc.target/i386/pr43766.c: Likewise.
* gcc.target/i386/pr43869.c: Likewise.
* gcc.target/i386/pr44942.c: Likewise.
* gcc.target/i386/pr44948-2a.c: Likewise.
* gcc.target/i386/pr45234.c: Likewise.
* gcc.target/i386/pr45336-2.c: Likewise.
* gcc.target/i386/pr45336-4.c: Likewise.
* gcc.target/i386/pr45852.c: Likewise.
* gcc.target/i386/pr46470.c: Likewise.
* gcc.target/i386/pr48037-1.c: Likewise.
* gcc.target/i386/pr48389.c: Likewise.
* gcc.target/i386/pr49095.c: Likewise.
* gcc.target/i386/pr9771-1.c: Likewise.
* gcc.target/i386/rdfsbase-1.c: Likewise.
* gcc.target/i386/rdfsbase-2.c: Likewise.
* gcc.target/i386/rdgsbase-1.c: Likewise.
* gcc.target/i386/rdgsbase-2.c: Likewise.
* gcc.target/i386/rdrand-3.c: Likewise.
* gcc.target/i386/regparm-stdcall.c: Likewise.
* gcc.target/i386/regparm.c: Likewise.
* gcc.target/i386/reload-1.c: Likewise.
* gcc.target/i386/rotate-2.c: Likewise.
* gcc.target/i386/sibcall-5.c: Likewise.
* gcc.target/i386/signbit-1.c: Likewise.
* gcc.target/i386/signbit-2.c: Likewise.
* gcc.target/i386/signbit-3.c: Likewise.
* gcc.target/i386/sse-5.c: Likewise.
* gcc.target/i386/sse-8.c: Likewise.
* gcc.target/i386/sse-cvtsi2ss-2.c: Likewise.
* gcc.target/i386/sse-cvtss2si-2.c: Likewise.
* gcc.target/i386/sse-cvttss2si-2.c: Likewise.
* gcc.target/i386/sse2-cvtsd2si-2.c: Likewise.
* gcc.target/i386/sse2-cvtsi2sd-2.c: Likewise.
* gcc.target/i386/sse2-cvttsd2si-2.c: Likewise.
* gcc.target/i386/sse2-init-v2di-2.c: Likewise.
* gcc.target/i386/sse2-movq-2.c: Likewise.
* gcc.target/i386/sse2-movq-3.c: Likewise.
* gcc.target/i386/sse4_1-insertps-3.c: Likewise.
* gcc.target/i386/sse4_1-pextrq.c: Likewise.
* gcc.target/i386/sse4_1-pinsrq.c: Likewise.
* gcc.target/i386/sse4_2-crc32q.c: Likewise.
* gcc.target/i386/sse4_2-popcntq.c: Likewise.
* gcc.target/i386/ssefn-1.c: Likewise.
* gcc.target/i386/ssefn-2.c: Likewise.
* gcc.target/i386/sseregparm-1.c: Likewise.
* gcc.target/i386/sseregparm-2.c: Likewise.
* gcc.target/i386/sseregparm-3.c: Likewise.
* gcc.target/i386/sseregparm-4.c: Likewise.
* gcc.target/i386/sseregparm-5.c: Likewise.
* gcc.target/i386/sseregparm-6.c: Likewise.
* gcc.target/i386/sseregparm-7.c: Likewise.
* gcc.target/i386/sseregparm-8.c: Likewise.
* gcc.target/i386/stack-realign.c: Likewise.
* gcc.target/i386/stack-usage-realign.c: Likewise.
* gcc.target/i386/stackalign/asm-1.c: Likewise.
* gcc.target/i386/stackalign/longlong-1.c: Likewise.
* gcc.target/i386/stackalign/longlong-2.c: Likewise.
* gcc.target/i386/stackalign/return-1.c: Likewise.
* gcc.target/i386/stackalign/return-2.c: Likewise.
* gcc.target/i386/stackalign/return-3.c: Likewise.
* gcc.target/i386/tailcall-1.c: Likewise.
* gcc.target/i386/tbm-2.c: Likewise.
* gcc.target/i386/udivmod-7.c: Likewise.
* gcc.target/i386/udivmod-8.c: Likewise.
* gcc.target/i386/unroll-1.c: Likewise.
* gcc.target/i386/vararg-1.c: Likewise.
* gcc.target/i386/vararg-2.c: Likewise.
* gcc.target/i386/vect8-ret.c: Likewise.
* gcc.target/i386/vectorize5.c: Likewise.
* gcc.target/i386/wmul-1.c: Likewise.
* gcc.target/i386/wmul-2.c: Likewise.
* gcc.target/i386/wrfsbase-1.c: Likewise.
* gcc.target/i386/wrfsbase-2.c: Likewise.
* gcc.target/i386/wrgsbase-1.c: Likewise.
* gcc.target/i386/wrgsbase-2.c: Likewise.
* gcc.target/i386/xop-pcmov.c: Likewise.
* gcc.target/i386/xop-pcmov2.c: Likewise.
* gcc.target/i386/xop-rotate1-vector.c: Likewise.
* gcc.target/i386/xop-rotate2-vector.c: Likewise.
* gcc.target/i386/xop-rotate3-vector.c: Likewise.
* gcc.target/i386/xop-shift1-vector.c: Likewise.
* gcc.target/i386/xop-shift2-vector.c: Likewise.
* gcc.target/i386/xop-shift3-vector.c: Likewise.
* gcc.target/i386/zee.c: Likewise.
* gcc.target/x86_64/abi/callabi/callabi.exp: Likewise.
* gfortran.dg/compiler-directive_2.f: Likewise.
* gfortran.dg/g77/
20010216-1.f: Likewise.
* gfortran.dg/gomp/pr39152.f90: Likewise.
* gfortran.dg/pr33794.f90: Likewise.
From-SVN: r176090
Uros Bizjak [Sat, 9 Jul 2011 17:35:44 +0000 (19:35 +0200)]
re PR fortran/48926 (gfortran.dg/coarray/image_index_1.f90 -fcoarray=single -O2 (test for excess errors))
PR fortran/48926
* expr.c (gfc_get_corank): Change return value to int.
* gfortran.h (gfc_get_corank): Update function prototype.
From-SVN: r176088
Jason Merrill [Sat, 9 Jul 2011 17:01:11 +0000 (13:01 -0400)]
* tree.c (build_vec_init_elt): Strip TARGET_EXPR.
From-SVN: r176084
Jakub Jelinek [Sat, 9 Jul 2011 15:48:42 +0000 (17:48 +0200)]
re PR debug/49676 (inefficiency: DW_AT_GNU_call_site_value calculates everything << 32)
PR debug/49676
* dwarf2out.c (size_of_int_loc_descriptor): New function.
(address_of_int_loc_descriptor): Use it.
(scompare_loc_descriptor): Optimize EQ/NE comparison with
constant.
From-SVN: r176083
Richard Henderson [Sat, 9 Jul 2011 15:41:31 +0000 (08:41 -0700)]
pdp11.md (define_c_enum "unspecv"): New.
* config/pdp11/pdp11.md (define_c_enum "unspecv"): New.
(prologue, epilogue): New.
(return, *rts): New.
(blockage, setd, seti): New.
* config/pdp11/pdp11.c (TARGET_ASM_FUNCTION_PROLOGUE): Remove.
(TARGET_ASM_FUNCTION_EPILOGUE): Remove.
(pdp11_saved_regno): New.
(pdp11_expand_prologue): Rename from pdp11_output_function_prologue;
generate rtl instead of text.
(pdp11_expand_epilogue): Similarly from pdp11_output_function_epilogue.
(pdp11_sp_frame_offset): Export. Use pdp11_saved_regno.
* config/pdp11/pdp11-protos.h: Update.
From-SVN: r176082
Richard Henderson [Sat, 9 Jul 2011 15:38:54 +0000 (08:38 -0700)]
rs6000.c (rs6000_output_function_prologue): Don't try to insert an rtl prologue here.
* config/rs6000/rs6000.c (rs6000_output_function_prologue): Don't
try to insert an rtl prologue here.
(rs6000_output_function_epilogue): Similarly.
* config/rs6000/rs6000.md (prologue): Emit a barrier to
satisfy !TARGET_SCHED_PROLOG.
(epilogue, sibcall_epilogue): Likewise.
From-SVN: r176081
Tobias Burnus [Sat, 9 Jul 2011 14:29:50 +0000 (16:29 +0200)]
mpi.c (runtime_error): New function.
2011-07-09 Tobias Burnus <burnus@net-b.de>
Daniel Carrera <dcarrera@gmail.com>
* caf/mpi.c (runtime_error): New function.
(_gfortran_caf_register): Use it.
(_gfortran_caf_sync_all): Use it, add STAT_STOPPED_IMAGE
as possible status value.
(_gfortran_caf_sync_images): Ditto.
Co-Authored-By: Daniel Carrera <dcarrera@gmail.com>
From-SVN: r176080
Jonathan Wakely [Sat, 9 Jul 2011 13:45:56 +0000 (13:45 +0000)]
Makefile.am: Add new header.
2011-07-09 Jonathan Wakely <jwakely.gcc@gmail.com>
* include/Makefile.am: Add new header.
* include/Makefile.in: Regenerate.
* include/std/scoped_allocator: New.
* doc/xml/manual/status_cxx200x.xml: Update.
* testsuite/20_util/scoped_allocator/1.cc: New.
* testsuite/20_util/scoped_allocator/propagation.cc: New.
* testsuite/20_util/scoped_allocator/requirements/typedefs.cc: New.
* testsuite/20_util/scoped_allocator/requirements/
explicit_instantiation.cc: New.
From-SVN: r176079
Jonathan Wakely [Sat, 9 Jul 2011 13:06:29 +0000 (13:06 +0000)]
stl_vector.h: Use new allocator model in C++0x mode.
2011-07-09 Jonathan Wakely <jwakely.gcc@gmail.com>
* include/bits/stl_vector.h: Use new allocator model in C++0x mode.
* include/bits/vector.tcc: Likewise.
* testsuite/util/testsuite_allocator.h (propagating_allocator): Define.
* testsuite/23_containers/vector/allocator/copy_assign.cc: New.
* testsuite/23_containers/vector/allocator/noexcept.cc: New.
* testsuite/23_containers/vector/allocator/copy.cc: New.
* testsuite/23_containers/vector/allocator/swap.cc: New.
* testsuite/23_containers/vector/allocator/move_assign.cc: New.
* testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
Adjust dg-error line numbers.
* testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
Likewise.
* testsuite/23_containers/vector/requirements/dr438/constructor_1_neg.cc:
Likewise.
* testsuite/23_containers/vector/requirements/dr438/constructor_2_neg.cc:
Likewise.
From-SVN: r176078
Jonathan Wakely [Sat, 9 Jul 2011 12:48:32 +0000 (12:48 +0000)]
alloc_traits.h (__allocator_always_compares_equal): New trait, provide partial specializations for known allocators.
2011-07-09 Jonathan Wakely <jwakely.gcc@gmail.com>
* include/ext/alloc_traits.h (__allocator_always_compares_equal): New
trait, provide partial specializations for known allocators.
(__alloc_traits::construct, __alloc_traits::destroy): Overload for
non-standard pointer types.
(__alloc_traits::_S_always_equal): New trait for use with noexcept.
(__alloc_traits::_S_nothrow_move): Likewise.
(__alloc_traits::_S_nothrow_swap): Likewise.
From-SVN: r176077
Jonathan Wakely [Sat, 9 Jul 2011 10:28:56 +0000 (10:28 +0000)]
cast.h: Fix typo in include guard.
2011-07-09 Jonathan Wakely <jwakely.gcc@gmail.com>
* include/ext/cast.h: Fix typo in include guard.
* include/ext/pointer.h (_Unqualified_type): Remove redundant
partial specializations for volatile types. Fix typos in comments.
(pointer_traits<_Pointer_adaptor<Tp>>::pointer_to): Define.
From-SVN: r176075
Eric Botcazou [Sat, 9 Jul 2011 10:13:56 +0000 (10:13 +0000)]
sparc.h (STACK_SAVEAREA_MODE): Move around.
* config/sparc/sparc.h (STACK_SAVEAREA_MODE): Move around.
(FP_REG_P): Delete.
(IN_OR_GLOBAL_P): Likewise.
From-SVN: r176074
Jonathan Wakely [Sat, 9 Jul 2011 10:13:01 +0000 (10:13 +0000)]
re PR libstdc++/49668 ([C++0x] std::thread does not forward its args as rvalues)
2011-07-09 Jonathan Wakely <jwakely.gcc@gmail.com>
PR libstdc++/49668
* include/std/functional (__bind_simple): Define.
* include/std/future (_Task_setter): Parameterize by type of result
pointer instead of state object.
(_S_task_setter): Type deduction helper.
(_Task_state): Use _S_task_setter and __bind_simple.
(_Deferred_state, _Async_state): Store call wrapper directly not as
std::function. Use _S_task_setter and __bind_simple.
(_S_make_deferred_state, _S_make_async_state): Type deduction helpers.
(async): Use new functions and __bind_simple.
* include/std/mutex (call_once): Use __bind_simple.
* include/std/thread (thread): Likewise. Remove unused headers.
* src/thread.cc: Add header.
* testsuite/30_threads/async/49668.cc: New.
* testsuite/30_threads/call_once/49668.cc: New.
* testsuite/30_threads/thread/cons/49668.cc: New.
* testsuite/30_threads/thread/cons/moveable.cc: Remove unused bool.
From-SVN: r176073
Jason Merrill [Sat, 9 Jul 2011 03:33:54 +0000 (23:33 -0400)]
re PR c++/45437 (Loses reference during update)
PR c++/45437
gcc/
* gimplify.c (goa_stabilize_expr): Handle RHS preevaluation in
compound assignment.
gcc/c-family/
* c-omp.c (check_omp_for_incr_expr): Handle preevaluation.
gcc/cp/
* typeck.c (cp_build_modify_expr): Preevaluate RHS.
From-SVN: r176072
Jason Merrill [Sat, 9 Jul 2011 03:33:44 +0000 (23:33 -0400)]
cgraph.c (cgraph_add_to_same_comdat_group): New.
gcc/
* cgraph.c (cgraph_add_to_same_comdat_group): New.
* cgraph.h: Declare it.
* ipa.c (function_and_variable_visibility): Make sure thunks
have the right visibility.
gcc/cp/
* method.c (use_thunk): Use cgraph_add_to_same_comdat_group.
* optimize.c (maybe_clone_body): Likewise.
* semantics.c (maybe_add_lambda_conv_op): Likewise.
From-SVN: r176071
GCC Administrator [Sat, 9 Jul 2011 00:17:50 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r176070
Richard Henderson [Fri, 8 Jul 2011 23:48:59 +0000 (16:48 -0700)]
dwarf2cfi: Flush queued saves at the end of the prologue.
There's little point at holding onto these saves indefinitely.
PR bootstrap/49680
* dwarf2cfi.c (create_cfi_notes): Flush queued saves at the
end of the prologue.
From-SVN: r176066
Richard Henderson [Fri, 8 Jul 2011 23:48:53 +0000 (16:48 -0700)]
dwarf2cfi: Insert notes correctly wrt tablejumps.
PR bootstrap/49680
* dwarf2cfi.c (dwarf2out_frame_debug): Insert cfi notes after
any tablejump vector.
From-SVN: r176065
Jakub Jelinek [Fri, 8 Jul 2011 20:09:58 +0000 (22:09 +0200)]
re PR target/49621 (ICE in trunc_int_for_mode, at explow.c:57)
PR target/49621
* config/rs6000/rs6000.c (rs6000_emit_vector_cond_expr): Use
CONST0_RTX (dest_mode) instead of const0_rtx as second operand
of NE.
* config/rs6000/vector.md (vector_select_<mode>,
vector_select_<mode>_uns): Change second operand of NE to
CONST0_RTX (<MODE>mode) instead of const0_rtx.
* config/rs6000/altivec.md (*altivec_vsel<mode>,
*altivec_vsel<mode>_uns): Expect second operand of NE to be
zero_constant of the corresponding vector mode.
* config/rs6000/vsx.md (*vsx_xxsel<mode>, *vsx_xxsel<mode>_uns):
Likewise.
* gcc.target/powerpc/altivec-34.c: New test.
From-SVN: r176063
Joseph Myers [Fri, 8 Jul 2011 19:29:04 +0000 (20:29 +0100)]
be.po, [...]: Update.
* be.po, ca.po, da.po, de.po, el.po, es.po, fi.po, fr.po, id.po,
ja.po, nl.po, ru.po, sv.po, tr.po, uk,po, vi.po, zh_CN.po,
zh_TW.po: Update.
From-SVN: r176061
Joseph Myers [Fri, 8 Jul 2011 19:26:35 +0000 (20:26 +0100)]
be.po, [...]: Update.
* be.po, da.po, de.po, el.po, es.po, fi.po, fr.po, id.po, ja.po,
nl.po, ru.po, sr.po, sv.po, tr.po, vi.po, zh_CN.po, zh_TW.po:
Update.
From-SVN: r176059
Sebastian Pop [Fri, 8 Jul 2011 19:15:18 +0000 (19:15 +0000)]
Only update ChangeLog.graphite.
From-SVN: r176058
Sebastian Pop [Fri, 8 Jul 2011 19:15:11 +0000 (19:15 +0000)]
Remove continue from loop, add one more assert.
2011-07-08 Sebastian Pop <sebastian.pop@amd.com>
* graphite-dependences.c (build_alias_set_powerset): Remove
continue from loop, add one more assert.
From-SVN: r176057
Sebastian Pop [Fri, 8 Jul 2011 19:15:02 +0000 (19:15 +0000)]
Only update ChangeLog.graphite.
From-SVN: r176056
Jason Merrill [Fri, 8 Jul 2011 17:39:17 +0000 (13:39 -0400)]
re PR c++/45603 (crash in "build_addr_func")
PR c++/45603
* decl.c (expand_static_init): Don't get confused by user
declaration of __cxa_guard_acquire.
From-SVN: r176054
Georg-Johann Lay [Fri, 8 Jul 2011 17:38:39 +0000 (17:38 +0000)]
re PR target/46779 ([avr] wrong code generation for values held in R28/R29)
PR target/46779
* config/avr/avr.c (avr_hard_regno_mode_ok): Rewrite.
In particular, allow 8-bit values in r28 and r29.
(avr_hard_regno_scratch_ok): Disallow any register that might be
part of the frame pointer.
(avr_hard_regno_rename_ok): Same.
(avr_legitimate_address_p): Don't allow SUBREGs.
From-SVN: r176053
Jason Merrill [Fri, 8 Jul 2011 17:37:29 +0000 (13:37 -0400)]
typeck.c (cp_apply_type_quals_to_decl): Don't check COMPLETE_TYPE_P either.
* typeck.c (cp_apply_type_quals_to_decl): Don't check
COMPLETE_TYPE_P either.
From-SVN: r176052
Julian Brown [Fri, 8 Jul 2011 17:30:43 +0000 (17:30 +0000)]
neon.md (vec_shr_<mode>, [...]): Disable in big-endian mode.
gcc/
* config/arm/neon.md (vec_shr_<mode>, vec_shl_<mode>): Disable in
big-endian mode.
(reduc_splus_<mode>, reduc_uplus_<mode>, reduc_smin_<mode>)
(reduc_smax_<mode>, reduc_umin_<mode>, reduc_umax_<mode>)
(neon_vec_unpack<US>_lo_<mode>, neon_vec_unpack<US>_hi_<mode>)
(vec_unpack<US>_hi_<mode>, vec_unpack<US>_lo_<mode>)
(neon_vec_<US>mult_lo_<mode>, vec_widen_<US>mult_lo_<mode>)
(neon_vec_<US>mult_hi_<mode>, vec_widen_<US>mult_hi_<mode>)
(vec_pack_trunc_<mode>, neon_vec_pack_trunc_<mode>): Disable for Q
registers in big-endian mode.
gcc/testsuite/
* lib/target-supports.exp
(check_effective_target_arm_little_endian): New.
(check_effective_target_vect_pack_trunc): Use above.
(check_effective_target_vect_unpack): Likewise.
(check_effective_target_vect_element_align): Test
check_effective_target_arm_vect_no_misalign for ARM.
From-SVN: r176050
Jason Merrill [Fri, 8 Jul 2011 16:46:28 +0000 (12:46 -0400)]
constexpr-rom.C tweak
From-SVN: r176049
Bernd Schmidt [Fri, 8 Jul 2011 16:21:58 +0000 (16:21 +0000)]
defaults.h (REG_WORDS_BIG_ENDIAN): Provide a default.
* defaults.h (REG_WORDS_BIG_ENDIAN): Provide a default.
* doc/tm.texi.in (WORDS_BIG_ENDIAN): Mention REG_WORDS_BIG_ENDIAN.
(REG_WORDS_BIG_ENDIAN): Document.
* doc/tm.texi: Regenerate.
* reload.c (operands_match_p): Take it into account.
(reload_adjust_reg_for_mode): Likewise.
* rtlanal.c (subreg_get_info): Likewise.
From-SVN: r176048
Bernd Schmidt [Fri, 8 Jul 2011 16:08:13 +0000 (16:08 +0000)]
genattrtab.c (evaluate_eq_attr): Allow an attribute to be defined in terms of another.
* genattrtab.c (evaluate_eq_attr): Allow an attribute to be defined
in terms of another.
(write_attr_value): Write a cast if necessary.
From-SVN: r176047
Jason Merrill [Fri, 8 Jul 2011 14:24:14 +0000 (10:24 -0400)]
re PR c++/49673 ([C++0x] const variables initialised with constexpr constructor placed in .data not .rodata)
PR c++/49673
gcc/c-family/
* c-common.c (c_apply_type_quals_to_decl): Don't check
TYPE_NEEDS_CONSTRUCTING.
gcc/cp/
* typeck.c (cp_apply_type_quals_to_decl): Don't check
TYPE_NEEDS_CONSTRUCTING.
From-SVN: r176045
Richard Guenther [Fri, 8 Jul 2011 14:08:17 +0000 (14:08 +0000)]
fold-const.c (fold_binary_loc): Remove index +p PTR -> PTR +p index folding.
2011-07-08 Richard Guenther <rguenther@suse.de>
* fold-const.c (fold_binary_loc): Remove index +p PTR -> PTR +p index
folding.
From-SVN: r176044
Kai Tietz [Fri, 8 Jul 2011 13:22:52 +0000 (15:22 +0200)]
fold-const.c (fold_truth_andor): Factored out truth_andor label from fold_binary as function.
2011-07-08 Kai Tietz <ktietz@redhat.com>
* fold-const.c (fold_truth_andor): Factored out truth_andor
label from fold_binary as function.
(fold_binary_loc): Replace truth_andor lable
by function fold_truth_andor.
From-SVN: r176043
Kirill Yukhin [Fri, 8 Jul 2011 13:12:03 +0000 (13:12 +0000)]
re PR middle-end/49519 (Revision 175272 miscompiled 447.dealII in SPEC CPU 2006)
Fix PR middle-end/49519.
gcc/
2011-07-08 Kirill Yukhin <kirill.yukhin@intel.com>
PR middle-end/49519
* calls.c (mem_overlaps_already_clobbered_arg_p): Additional
check if address is stored in register. If so - give up.
(check_sibcall_argument_overlap_1): Do not perform check of
overlapping when it is call to address.
gcc/tessuite/
2011-07-08 Kirill Yukhin <kirill.yukhin@intel.com>
PR middle-end/49519
* g++.dg/torture/pr49519.C: New test.
From-SVN: r176042
Georg-Johann Lay [Fri, 8 Jul 2011 13:09:07 +0000 (13:09 +0000)]
avr.c (output_reload_insisf): Use 'REG_Z+1' instead of magic '31'.
* config/avr/avr.c (output_reload_insisf): Use 'REG_Z+1' instead
of magic '31'.
From-SVN: r176041
Bernd Schmidt [Fri, 8 Jul 2011 13:03:38 +0000 (13:03 +0000)]
optabs.c (expand_binop): Tighten conditions for doubleword expansions.
* optabs.c (expand_binop): Tighten conditions for doubleword
expansions.
(widen_bswap): Assert that mode bitsize and precision are the
same.
* stor-layout.c (get_best_mode): Skip modes that have lower
precision than bitsize.
* recog.c (simplify_while_replacing): Assert that bitsize and
precision are the same.
From-SVN: r176040
Bernd Schmidt [Fri, 8 Jul 2011 13:01:07 +0000 (13:01 +0000)]
rtlanal.c (nonzero_bits1): Don't compare GET_MODE_SIZE against a bitsize.
* rtlanal.c (nonzero_bits1): Don't compare GET_MODE_SIZE against
a bitsize.
From-SVN: r176039
Bernd Schmidt [Fri, 8 Jul 2011 12:57:50 +0000 (12:57 +0000)]
optabs.c (expand_binop): Use GET_MODE_PRECISION instead of GET_MODE_BITSIZE where appropriate.
* optabs.c (expand_binop): Use GET_MODE_PRECISION instead of
GET_MODE_BITSIZE where appropriate.
(widen_leading, expand_parity, expand_ctz, expand_ffs,
expand_unop, expand_abs_nojump, expand_one_cmpl_abs_nojump,
expand_float, expand_fix): Likewise.
* expr.c (convert_move, convert_modes, expand_expr_real_2,
expand_expr_real_1, reduce_to_bit_field_precision): Likewise.
* cfgexpand.c (convert_debug_memory_address, expand_debug_expr):
Likewise.
* convert.c (convert_to_integer): Likewise.
* expmed.c (expand_shift_1): Likewise.
From-SVN: r176038
Rainer Orth [Fri, 8 Jul 2011 11:43:54 +0000 (11:43 +0000)]
Makefile.in (LIBGCOV): Remove.
gcc:
* Makefile.in (LIBGCOV): Remove.
(libgcc.mvars): Remove LIBGCOV.
* libgov.c: Move to ../libgcc.
libgcc:
* Makfile.in (LIBGCOV): New variable.
($(libgcov-objects)): Use $(srcdir) to refer to libgcov.c.
* libgcov.c: New file.
From-SVN: r176037
Rainer Orth [Fri, 8 Jul 2011 11:18:38 +0000 (11:18 +0000)]
fixed-bit.c, [...]: Move to ../libgcc.
gcc:
* config/fixed-bit.c, config/fixed-bit.h: Move to ../libgcc.
libgcc:
* fixed-bit.c, fixed-bit.h: New files.
* fixed-obj.mk ($o$(objext), $(o)_s$(objext)): Use $(srcdir) to
refer to fixed-bit.c.
From-SVN: r176036
Martin Jambor [Fri, 8 Jul 2011 10:25:55 +0000 (12:25 +0200)]
sra-12.c: Skip dump scan on avr targets.
2011-07-08 Martin Jambor <mjambor@suse.cz>
testsuite/
* gcc.dg/tree-ssa/sra-12.c: Skip dump scan on avr targets.
From-SVN: r176035
Rainer Orth [Fri, 8 Jul 2011 10:20:36 +0000 (10:20 +0000)]
re PR testsuite/48727 (FAIL: g++.dg/opt/devirt2.C scan-assembler-times xyzzy 2)
PR testsuite/48727
* g++.dg/opt/devirt2.C: Use specific pattern for sparc*-*-*.
From-SVN: r176034
Martin Jambor [Fri, 8 Jul 2011 10:16:51 +0000 (12:16 +0200)]
tree-sra.c (analyze_all_variable_accesses): Dump that a struture is too big for total scalarization.
2011-07-08 Martin Jambor <mjambor@suse.cz>
* tree-sra.c (analyze_all_variable_accesses): Dump that a struture
is too big for total scalarization.
From-SVN: r176033
Rainer Orth [Fri, 8 Jul 2011 08:49:57 +0000 (08:49 +0000)]
configure.host (abi_baseline_subdir_switch): Describe.
* configure.host (abi_baseline_subdir_switch): Describe.
Provide default.
(*-*-solaris2.[89], *-*-solaris2.1[0-9]): Override.
* acinclude.m4 (GLIBCXX_CONFIGURE_TESTSUITE): Substitute
baseline_subdir_switch.
* testsuite/Makefile.am (site.exp): Emit it.
(baseline_subdir): Use it.
* testsuite/libstdc++-abi/abi.exp: Use it.
* configure: Regenerate.
* Makefile.in: Regenerate.
* doc/Makefile.in: Regenerate.
* include/Makefile.in: Regenerate.
* libsupc++/Makefile.in: Regenerate.
* po/Makefile.in: Regenerate.
* python/Makefile.in: Regenerate.
* src/Makefile.in: Regenerate.
* testsuite/Makefile.in: Regenerate.
From-SVN: r176032
Richard Guenther [Fri, 8 Jul 2011 08:42:31 +0000 (08:42 +0000)]
re PR tree-optimization/49662 (XFAIL: gcc.dg/graphite/interchange-XX.c, PRE confuses loop interchange)
2011-07-08 Richard Guenther <rguenther@suse.de>
PR tree-optimization/49662
* gcc.dg/graphite/interchange-14.c: XFAIL.
* gcc.dg/graphite/interchange-15.c: Likewise.
* gcc.dg/graphite/interchange-mvt.c: Likewise.
From-SVN: r176031
GCC Administrator [Fri, 8 Jul 2011 00:17:49 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r176025
Richard Henderson [Fri, 8 Jul 2011 00:14:19 +0000 (17:14 -0700)]
alpha-elf: Disable stabs debugging, and the mips sdb extensions.
In particular, the mips sdb extensions accidentally implied the
irix dwarf2 extensions and restrictions. Disable stabs because
it's almost certainly untested for years.
* config/alpha/elf.h (MIPS_DEBUGGING_INFO): Undef.
(DBX_DEBUGGING_INFO): Undef.
From-SVN: r176021
Richard Henderson [Fri, 8 Jul 2011 00:13:02 +0000 (17:13 -0700)]
Dump NOTE_INSN_CFI notes.
* dwarf2out.c (output_cfi_directive): Export. Add FILE parameter.
Handle some opcodes specially for debugging.
* print-rtl.c: Include dwarf2out.h
(print_rtx): Handle NOTE_INSN_CFI.
* Makefile.in (print-rtl.o): Update.
From-SVN: r176020
Richard Henderson [Fri, 8 Jul 2011 00:05:57 +0000 (17:05 -0700)]
dwarf2: Extract cfi creation to a new pass.
* tree-pass.h (pass_dwarf2_frame): Declare.
* passes.c (init_optimization_passes): Add it.
* dwarf2cfi.c (dwarf2out_frame_debug): Make static.
(create_cfi_notes): Rename from dwarf2out_frame_debug_after_prologue;
make static, do not call add_cfis_to_fde.
(dwarf2out_frame_debug_init, dwarf2cfi_function_init,
dwarf2out_frame_init): Merge into...
(execute_dwarf2_frame): ... here. New function.
(dwarf2out_do_frame, dwarf2out_do_cfi_asm): Make boolean. Change
saved_do_cfi_asm to a tri-state variable.
(gate_dwarf2_frame, pass_dwarf2_frame): New.
* dwarf2out.c (dwarf2out_begin_prologue): Only allocate the fde
if it has yet to be done. Don't call dwarf2cfi_function_init.
* dwarf2out.h, debug.h: Update decls.
* final.c (final_start_function): Don't call
dwarf2out_frame_debug_init or dwarf2out_frame_debug_after_prologue.
* lto-streamer-in.c (lto_init_eh): Don't call dwarf2out_frame_init.
* toplev.c (lang_dependent_init): Likewise.
From-SVN: r176019
Richard Henderson [Thu, 7 Jul 2011 23:57:26 +0000 (16:57 -0700)]
dwarf2out: Convert fde_table to a VEC.
Prepare for allocating the FDE for the current function earlier
than dwarf2out_begin_prologue.
* dwarf2out.c (fde_table, fde_table_allocated, fde_table_in_use,
FDE_TABLE_INCREMENT): Replace with...
(fde_vec): ... this, a new vector.
(current_fde): Remove. Replace all users with cfun->fde.
(output_call_frame_info): Use FOR_EACH_VEC_ELT over fde_vec.
(size_of_aranges, dwarf2out_finish): Likewise.
(dwarf2out_alloc_current_fde): Break out from ...
(dwarf2out_begin_prologue): ... here.
(dwarf2out_frame_init): Remove.
* dwarf2cfi.c: Update all users of current_fde.
(dwarf2out_frame_init): Rename from dwarf2cfi_frame_init.
* dwarf2out.h: Update decls.
(dw_fde_node): Add fde_index member.
* function.h (struct function): Add fde member.
From-SVN: r176018
Bernd Schmidt [Thu, 7 Jul 2011 23:51:16 +0000 (23:51 +0000)]
dwarf2out: Emit NOTE_INSN_CFI_* both with and without cfi-asm.
This patch is essentially Bernd's 006-cfilabel patch, updated
for all the other changes to dwarf2out.
The patch reduces the difference between the cfi-asm and non-cfi-asm
code paths. We now emit the CFI notes in all cases. Later, after we're
done producing the CFI insns we need, another pass over the rtl adds
the necessary labels and set_loc/advance_loc CFIs. One consequence of
this is that def_cfa_1 can no longer use lookup_cfa, so it just compares
to an old_cfa variable instead.
The major change since Bernd's patch is that all the target-specific
changes are no longer necessary.
* dwarf2cfi.c (add_cfi): Remove.
(dwarf2out_cfi_label): Remove force argument. Only generate the
label name.
(add_fde_cfi): Simplify the different code paths.
(add_cie_cfi): New.
(old_cfa, old_cfa_remember): New.
(def_cfa_1, reg_save): Remove label, add for_cie parameter.
(last_reg_save_label): Remove.
(dwarf2out_args_size, dwarf2out_stack_adjust, queue_reg_save,
dwarf2out_frame_debug_def_cfa, dwarf2out_frame_debug_adjust_cfa,
dwarf2out_frame_debug_cfa_offset, dwarf2out_frame_debug_cfa_register,
dwarf2out_frame_debug_cfa_expression,
dwarf2out_frame_debug_cfa_restore,
dwarf2out_frame_debug_cfa_window_save,
dwarf2out_frame_debug_expr): Remove label parameter.
(cfi_label_required_p, add_cfis_to_fde): New.
(dwarf2out_frame_debug_after_prologue): New.
(dwarf2cfi_frame_init): Initialize old_cfa.
(dwarf2out_frame_debug_restore_state): Likewise.
* dwarf2out.c (dwarf2out_emit_cfi): Only do output for cfi_asm.
(dwarf2out_switch_text_section): Don't clear dw_fde_current_label here.
* final.c (final_start_function): Call
dwarf2out_frame_debug_after_prologue.
Co-Authored-By: Richard Henderson <rth@redhat.com>
From-SVN: r176017
Bernd Schmidt [Thu, 7 Jul 2011 23:42:41 +0000 (23:42 +0000)]
dwarf2out: Move insn scanning out of final.c.
This patch is essentially Bernd's 005-scanfirst patch, updated for
the introduction of the dwarf2cfi.c file.
We introduce NOTE_INSN_CFI and NOTE_INSN_CFI_LABEL to hold the dwarf2
info during the bulk of final. The actual construction of these notes
still happens during final, right at the very beginning of the pass,
via the dwarf2out_frame_debug_init hook.
* dwarf2cfi.c (cfi_insn): New.
(dwarf2out_cfi_label): Don't emit cfi label here.
(add_fde_cfi): Create a NOTE_INSN_CFI.
(dwarf2out_frame_debug): Setup cfi_insn.
(dwarf2out_frame_debug_init): Loop over insns creating CFI notes.
(dwarf2out_cfi_begin_epilogue): Make static.
(dwarf2out_frame_debug_restore_state): Make static.
* dwarf2out.c (output_cfi_directive): Make static.
(dwarf2out_emit_cfi): New.
* dwarf2out.h: Update.
* final.c (final): Remove CFI notes.
(final_scan_insn): Don't call dwarf2out_cfi_begin_epilogue,
dwarf2out_frame_debug_restore_state, dwarf2out_frame_debug.
Handle NOTE_INSN_CFI and NOTE_INSN_CFI_LABEL.
* insn-notes.def (NOTE_INSN_CFI): New.
(NOTE_INSN_CFI_LABEL): New.
* rtl.h (union rtunion_def): Add rt_cfi member.
(XCFI, XCCFI, NOTE_CFI, NOTE_LABEL_NUMBER): New.
Co-Authored-By: Richard Henderson <rth@redhat.com>
From-SVN: r176016
Richard Henderson [Thu, 7 Jul 2011 23:35:22 +0000 (16:35 -0700)]
dwarf2out: Split CFI construction routines into a new file.
Excepting changing some functions from static to extern, this
patch contains code motion only. The split is not very clean
at this point, but will be refined as CFI construction is turned
into its own proper pass.
* dwarf2cfi.c: New file.
* Makefile.in (OBJS): Add it.
(GTFILES): Add dwarf2cfi.c and dwarf2out.h.
* gengtype.c (open_base_files): Include dwarf2out.h.
* coretypes.h (enum var_init_status): Move from ...
* rtl.h: ... here.
* dwarf2out.c (saved_do_cfi_asm, dwarf2out_do_frame,
dwarf2out_do_cfi_asm, cie_cfi_vec, dwarf2out_cfi_label_num,
expand_builtin_dwarf_sp_column, init_return_column_size,
expand_builtin_init_dwarf_reg_sizes, new_cfi, add_cfi,
dwarf2out_cfi_label, emit_cfa_remember, any_cfis_emitted, add_fde_cfi,
lookup_cfa_1, lookup_cfa, cfa, cfa_store, cfa_remember, args_size,
old_args_size, cfa_equal_p, def_cfa_1, reg_save, initial_return_save,
stack_adjust_offset, barrier_args_size, compute_barrier_args_size_1,
compute_barrier_args_size, dwarf2out_args_size,
dwarf2out_stack_adjust, dwarf2out_notice_stack_adjust,
queued_reg_saves, reg_saved_in_data, regs_saved_in_regs,
compare_reg_or_pc, record_reg_saved_in_reg, last_reg_save_label,
queue_reg_save, dwarf2out_flush_queued_reg_saves,
clobbers_queued_reg_save, reg_saved_in, cfa_temp,
dwarf2out_frame_debug_def_cfa, dwarf2out_frame_debug_adjust_cfa,
dwarf2out_frame_debug_cfa_offset, dwarf2out_frame_debug_cfa_register,
dwarf2out_frame_debug_cfa_expression,
dwarf2out_frame_debug_cfa_restore,
dwarf2out_frame_debug_cfa_window_save, dwarf2out_frame_debug_expr,
dwarf2out_frame_debug, dwarf2out_frame_debug_init,
dwarf2out_cfi_begin_epilogue, dwarf2out_frame_debug_restore_state,
get_cfa_from_loc_descr): Move to dwarf2cfi.c.
(dw_cfi_ref, dw_fde_ref, dw_cfi_oprnd_ref, enum dw_cfi_oprnd_type,
dw_cfi_oprnd, dw_cfi_node, cfi_vec, dw_cfa_location, dw_fde_node,
dw_val_ref, dw_die_ref, const_dw_die_ref, dw_loc_descr_ref,
dw_loc_list_ref, enum dw_val_class, dw_vec_const, dw_val_node,
dw_loc_descr_node): Move to dwarf2out.h.
(current_fde, output_cfi_directive, build_cfa_loc, get_address_mode,
mem_loc_descriptor): Export.
(build_cfa_aligned_loc): Export. Take CFA as a parameter.
(dwarf2out_frame_init): Extract CIE generation code to
dwarf2cfi_frame_init.
From-SVN: r176015
Jason Merrill [Thu, 7 Jul 2011 21:53:58 +0000 (17:53 -0400)]
re PR c++/49663 ([C++0x] ICE in lookup_base)
PR c++/49663
* pt.c (push_deduction_access_scope): Preserve
processing_template_decl across push_to_top_level.
And revert:
* class.c (pushclass): Accept NULL argument.
(popclass): Deal with popping null class.
* pt.c (push_access_scope, pop_access_scope): Use them rather than
push_to_top_level/pop_from_top_level.
* name-lookup.c (lookup_name_real_1): Check current_class_type.
From-SVN: r176013
Mikael Morin [Thu, 7 Jul 2011 21:03:25 +0000 (23:03 +0200)]
re PR fortran/49648 (ICE(segfault) with MATMUL and function-result actual argument)
2011-07-07 Mikael Morin <mikael.morin@sfr.fr>
PR fortran/49648
* gfortran.dg/result_in_spec_4.f90: New test.
From-SVN: r176012
Mikael Morin [Thu, 7 Jul 2011 20:58:16 +0000 (22:58 +0200)]
re PR fortran/49648 (ICE(segfault) with MATMUL and function-result actual argument)
2011-07-07 Mikael Morin <mikael.morin@sfr.fr>
PR fortran/49648
* resolve.c (resolve_symbol): Force resolution of function result's
array specification.
From-SVN: r176011
Eric Botcazou [Thu, 7 Jul 2011 20:36:59 +0000 (20:36 +0000)]
re PR target/49660 (64-bit gcc doesn't enable -mv8plus with -m32 on Solaris/SPARC)
PR target/49660
* config/sparc/sol2.h [TARGET_64BIT_DEFAULT] (TARGET_DEFAULT): Add
MASK_V8PLUS, remove commented out flag and reorder.
From-SVN: r176008
Jakub Jelinek [Thu, 7 Jul 2011 19:41:55 +0000 (21:41 +0200)]
re PR c/49644 (post-increment of promoted operand is incorrect.)
PR c/49644
* typeck.c (cp_build_binary_op): For MULT_EXPR and TRUNC_DIV_EXPR with
one non-complex and one complex argument, call save_expr on both
operands.
* g++.dg/torture/pr49644.C: New test.
From-SVN: r176006
Jakub Jelinek [Thu, 7 Jul 2011 19:11:27 +0000 (21:11 +0200)]
re PR c/49644 (post-increment of promoted operand is incorrect.)
PR c/49644
* c-typeck.c (build_binary_op): For MULT_EXPR and TRUNC_DIV_EXPR with
one non-complex and one complex argument, call c_save_expr on both
operands.
* gcc.c-torture/execute/pr49644.c: New test.
From-SVN: r176004
H.J. Lu [Thu, 7 Jul 2011 18:11:18 +0000 (18:11 +0000)]
Add ia32 and x32 effective targets.
2011-07-07 H.J. Lu <hongjiu.lu@intel.com>
* lib/target-supports.exp (check_effective_target_ia32): New.
(check_effective_target_x32): Likewise.
(check_effective_target_vect_cmdline_needed): Also check x32.
From-SVN: r176000
Matthias Klose [Thu, 7 Jul 2011 18:10:16 +0000 (18:10 +0000)]
libtool-version: Bump soversion.
2011-07-07 Matthias Klose <doko@ubuntu.com>
* libtool-version: Bump soversion.
From-SVN: r175999
Martin Jambor [Thu, 7 Jul 2011 18:08:00 +0000 (20:08 +0200)]
re PR middle-end/49495 (-O3 causes error message "edge points to wrong declaration:")
2011-07-07 Martin Jambor <mjambor@suse.cz>
PR middle-end/49495
* cgraphunit.c (verify_edge_corresponds_to_fndecl): New function.
(verify_cgraph_node): Some functinality moved to
verify_edge_corresponds_to_fndecl, call it.
From-SVN: r175998
Janis Johnson [Thu, 7 Jul 2011 17:50:13 +0000 (17:50 +0000)]
pr40657-2.c: Remove -march option and unneeded dg-prune-output.
* gcc.target/arm/pr40657-2.c: Remove -march option and unneeded
dg-prune-output.
* gcc.target/arm/pr42235.c: Likewise.
* gcc.target/arm/pr42495.c: Likewise.
* gcc.target/arm/pr42574.c: Likewise.
* gcc.target/arm/thumb-branch1.c: Likewise.
From-SVN: r175997
Janis Johnson [Thu, 7 Jul 2011 17:49:18 +0000 (17:49 +0000)]
pr39839.c: Don't specify -mthumb or -march, remove unneeded prune of possible warning.
* gcc.target/arm/pr39839.c: Don't specify -mthumb or -march, remove
unneeded prune of possible warning.
* gcc.target/arm/pr40956.c: Likewise.
* gcc.target/arm/pr42505.c: Likewise.
From-SVN: r175996
Janis Johnson [Thu, 7 Jul 2011 17:48:03 +0000 (17:48 +0000)]
pr41679.c: Move from gcc.target/arm.
* gcc.c-torture/compile/pr41679.c: Move from gcc.target/arm.
* gcc.c-torture/compile/pr46883.c: Likewise.
* gcc.c-torture/compile/pr46934.c: Likewise.
From-SVN: r175995
Janis Johnson [Thu, 7 Jul 2011 17:45:36 +0000 (17:45 +0000)]
pr41679.c: Remove test directives in preparation for move to ../../gcc.c-torture/compile.
* gcc.target/arm/pr41679.c: Remove test directives in preparation
for move to ../../gcc.c-torture/compile.
* gcc.target/arm/pr46883.c: Likewise.
* gcc.target/arm/pr46934.c: Likewise.
From-SVN: r175994
Janis Johnson [Thu, 7 Jul 2011 17:44:14 +0000 (17:44 +0000)]
target-supports.exp (check_effective_target_arm_dsp): New.
* lib/target-supports.exp (check_effective_target_arm_dsp): New.
* gcc.target/arm/mla-2.c: Use it instead of specific -march.
* gcc.target/arm/wmul-1.c: Likewise.
* gcc.target/arm/wmul-2.c: Likewise.
* gcc.target/arm/wmul-3.c: Likewise.
* gcc.target/arm/wmul-4.c: Likewise.
* gcc.target/arm/smlaltb-1.c: Require arm_dsp, don't specify -march,
add tab after scan target.
* gcc.target/arm/smlaltt-1.c: Likewise.
* gcc.target/arm/smlatb-1.c: Likewise.
* gcc.target/arm/smlatt-1.c: Likewise.
From-SVN: r175993
Joseph Myers [Thu, 7 Jul 2011 16:33:18 +0000 (17:33 +0100)]
config.gcc (*local*): Remove.
gcc:
* config.gcc (*local*): Remove.
* doc/install-old.texi: Don't mention local configurations.
libgcc:
* config.host (*local*): Remove.
From-SVN: r175988
Jakub Jelinek [Thu, 7 Jul 2011 16:05:55 +0000 (18:05 +0200)]
re PR debug/49522 (Divide by zero in validate_subreg in emit-rtl.c:695)
PR debug/49522
* df-problems.c (dead_debug_reset): Remove dead_debug_uses
referencing debug insns that have been reset.
(dead_debug_insert_before): Don't assert reg is non-NULL,
instead return immediately if it is NULL.
* gcc.dg/debug/pr49522.c: New test.
M gcc/ChangeLog
A gcc/testsuite/gcc.dg/debug/pr49522.c
M gcc/testsuite/ChangeLog
M gcc/df-problems.c
From-SVN: r175987
Joseph Myers [Thu, 7 Jul 2011 15:47:14 +0000 (16:47 +0100)]
t-crtpic, [...]: Remove.
* config/i386/t-crtpic, config/i386/t-svr3dbx, config/pa/t-pa:
Remove.
From-SVN: r175986
Bernd Schmidt [Thu, 7 Jul 2011 15:42:41 +0000 (15:42 +0000)]
hw-doloop.c: New file.
* hw-doloop.c: New file.
* hw-doloop.h: New file.
* Makefile.in (OBJS): Add hw-doloop.o.
(hw-doloop.o): New rule.
($(obj_out_file)): Add hw-doloop.h dependency.
* config/bfin/bfin.c: Include "hw-doloop.h".
(loop_info, DEF_VEC_P for loop_info, loop_info_d): Remove.
(bfin_dump_loops, bfin_bb_in_loop, bfin_scan_loop): Remove.
(hwloop_optimize): Renamed from bfin_optimize_loop. Argument
type changed to hwloop_info. Return bool, true if the loop was
successfully optimized. Remove code that was moved to
hw-doloop.c, and adjust other parts.
(hwloop_fail): New static function, containing parts that used
to be in bfin_optimize_loop.
(bfin_discover_loop, bfin_discover_loops, free_loops,
bfin_reorder_loops): Remove.
(hwloop_pattern_reg): New static function.
(bfin_doloop_hooks): New variable.
(bfin_reorg_loops): Remove most code, call reorg_loops.
* config/bfin/bfin.md (doloop_end splitter): Also enable if
loop counter is a memory_operand.
From-SVN: r175985
H.J. Lu [Thu, 7 Jul 2011 15:38:34 +0000 (15:38 +0000)]
Initial x32 support.
2011-07-07 H.J. Lu <hongjiu.lu@intel.com>
* config.gcc: Support --with-multilib-list for x86 Linux
targets.
* configure.ac: Mention x86-64 for --with-multilib-list.
* configure: Regenerated.
* config/i386/gnu-user64.h (SPEC_64): Support x32.
(SPEC_32): Likewise.
(ASM_SPEC): Likewise.
(LINK_SPEC): Likewise.
(TARGET_THREAD_SSP_OFFSET): Likewise.
(TARGET_THREAD_SPLIT_STACK_OFFSET): Likewise.
(SPEC_X32): New.
* config/i386/i386.h (TARGET_X32): New.
(TARGET_LP64): New.
(LONG_TYPE_SIZE): Likewise.
(POINTER_SIZE): Likewise.
(POINTERS_EXTEND_UNSIGNED): Likewise.
(OPT_ARCH64): Support x32.
(OPT_ARCH32): Likewise.
* config/i386/i386.opt (mx32): New.
* config/i386/kfreebsd-gnu64.h (GNU_USER_LINK_EMULATIONX32): New.
(GLIBC_DYNAMIC_LINKERX32): Likewise.
* config/i386/linux64.h (GNU_USER_LINK_EMULATIONX32): Likewise.
(GLIBC_DYNAMIC_LINKERX32): Likewise.
* config/linux.h (UCLIBC_DYNAMIC_LINKERX32): New.
(BIONIC_DYNAMIC_LINKERX32): Likewise.
(GNU_USER_DYNAMIC_LINKERX32): Likewise.
* config/i386/t-linux64: Support TM_MULTILIB_CONFIG.
* doc/install.texi: Document --with-multilib-list for
Linux/x86-64.
* doc/invoke.texi: Document -mx32.
From-SVN: r175984
Georg-Johann Lay [Thu, 7 Jul 2011 15:13:01 +0000 (15:13 +0000)]
pragma-align.c: Run only if target !default_packed.
* gcc.dg/pragma-align.c: Run only if target !default_packed.
* gcc.dg/pr46212.c: Run only if target int32plus.
* gcc.dg/torture/pr48146.c: Ditto.
* gcc.dg/tree-ssa/vrp51.c: Ditto.
* c-c++-common/pr44832.c: Ditto.
* gcc.dg/pr49544.c: Run only if target ptr32plus.
* gcc.dg/pr31490.c: Ditto.
* gcc.dg/torture/builtin-math-7.c: Run only if target
large_double.
* gcc.dg/torture/pr45764.c: Skip for AVR.
* gcc.dg/pr47893.c: Ditto.
From-SVN: r175983
Janis Johnson [Thu, 7 Jul 2011 15:07:57 +0000 (15:07 +0000)]
target-supports.exp (check_effective_target_arm_thumb1): New.
* lib/target-supports.exp (check_effective_target_arm_thumb1): New.
(check_effective_target_arm_thumb2): Clarify comment, add valid code.
* gcc.target/arm/mla-1.c: Skip for arm_thumb1, don't specify -march,
add tab to scan target.
From-SVN: r175982
Richard Sandiford [Thu, 7 Jul 2011 15:07:02 +0000 (15:07 +0000)]
invoke.texi (mwords-little-endian): Deprecate.
gcc/
* doc/invoke.texi (mwords-little-endian): Deprecate.
* config/arm/arm.opt (mwords-little-endian): Likewise.
* config/arm/arm.c (arm_option_override): Warn about the deprecation
of -mwords-little-endian.
From-SVN: r175981
Richard Sandiford [Thu, 7 Jul 2011 15:05:42 +0000 (15:05 +0000)]
reload1.c (choose_reload_regs): Use mode sizes to check whether an old reload register completely defines the...
gcc/
* reload1.c (choose_reload_regs): Use mode sizes to check whether
an old reload register completely defines the required value.
gcc/testsuite/
* gcc.target/arm/neon-modes-3.c: New test.
From-SVN: r175980
Uros Bizjak [Thu, 7 Jul 2011 14:32:24 +0000 (16:32 +0200)]
pr37485.c (dg-options): Add -fno-loop-strip-mine -fno-loop-interchange -ffast-math.
* gcc.dg/graphite/pr37485.c (dg-options): Add -fno-loop-strip-mine
-fno-loop-interchange -ffast-math.
From-SVN: r175977
Richard Guenther [Thu, 7 Jul 2011 14:21:21 +0000 (14:21 +0000)]
fold-const.c (fold_unary_loc): Do not strip sign-changes for NEGATE_EXPR.
2011-07-07 Richard Guenther <rguenther@suse.de>
* fold-const.c (fold_unary_loc): Do not strip sign-changes
for NEGATE_EXPR.
* gcc.dg/ftrapv-3.c: New testcase.
From-SVN: r175976
Richard Guenther [Thu, 7 Jul 2011 14:20:16 +0000 (14:20 +0000)]
tree-vrp.c (simplify_conversion_using_ranges): New function.
2011-07-07 Richard Guenther <rguenther@suse.de>
* tree-vrp.c (simplify_conversion_using_ranges): New function.
(simplify_stmt_using_ranges): Call it.
* gcc.dg/tree-ssa/vrp58.c: New testcase.
* gcc.dg/tree-ssa/scev-cast.c: Adjust.
From-SVN: r175975
Kai Tietz [Thu, 7 Jul 2011 14:16:44 +0000 (16:16 +0200)]
tree-ssa-forwprop.c (truth_valued_ssa_name): New function.
2011-07-07 Kai Tietz <ktietz@redhat.com>
* tree-ssa-forwprop.c (truth_valued_ssa_name): New function.
(lookup_logical_inverted_value): Likewise.
(simplify_bitwise_binary_1): Likewise.
(simplify_bitwise_binary): Use simplify_bitwise_binary_1.
2011-07-07 Kai Tietz <ktietz@redhat.com>
* gcc.dg/binop-notxor1.c: New test.
* gcc.dg/binop-notand4a.c: New test.
* gcc.dg/binop-notxor2.c: New test.
* gcc.dg/binop-notand3a.c: New test.
* gcc.dg/binop-notand2a.c: New test.
* gcc.dg/binop-notand6a.c: New test.
* gcc.dg/binop-notor1.c: New test.
* gcc.dg/binop-notand1a.c: New test.
* gcc.dg/binop-notand5a.c: New test.
* gcc.dg/binop-notor2.c: New test.
From-SVN: r175974
Joseph Myers [Thu, 7 Jul 2011 13:24:21 +0000 (14:24 +0100)]
gcc.c (%[Spec]): Don't document.
* gcc.c (%[Spec]): Don't document.
(struct spec_list): Update comment.
(do_spec_1): Don't handle %[Spec].
* doc/invoke.texi (%[@var{name}]): Remove documentation of spec.
From-SVN: r175970
Joseph Myers [Thu, 7 Jul 2011 13:22:44 +0000 (14:22 +0100)]
common-target-def.h (TARGET_HAVE_NAMED_SECTIONS): Don't default based on TARGET_ASM_NAMED_SECTION.
* common/common-target-def.h (TARGET_HAVE_NAMED_SECTIONS): Don't
default based on TARGET_ASM_NAMED_SECTION.
* common/common-target.def (have_named_sections): Default to true.
* common/config/default-common.c: Don't include tm.h.
* common/config/picochip/picochip-common.c
(TARGET_HAVE_NAMED_SECTIONS): Don't define.
* common/config/m32c/m32c-common.c: Remove.
* config.gcc (m32c*-*-*): Set target_has_targetm_common=no.
* config/alpha/osf5.h (TARGET_HAVE_NAMED_SECTIONS): Define to
false.
* config/i386/openbsd.h (TARGET_HAVE_NAMED_SECTIONS): Define to
false.
* config/m68k/openbsd.h (TARGET_HAVE_NAMED_SECTIONS): Define to
false.
* config/pa/som.h (TARGET_HAVE_NAMED_SECTIONS): Define to false.
* config/pdp11/pdp11.h (TARGET_HAVE_NAMED_SECTIONS): Define to
false.
* config/vax/openbsd.h (TARGET_HAVE_NAMED_SECTIONS): Define to
false.
From-SVN: r175969
Jakub Jelinek [Thu, 7 Jul 2011 12:49:17 +0000 (14:49 +0200)]
re PR middle-end/49640 (Internal compiler in C99 code (using variable-length arrays) and OpenMP)
PR middle-end/49640
* gimplify.c (gimplify_compound_lval): For last 2 ARRAY_*REF
operands and last COMPONENT_REF operand call gimplify_expr on it
if non-NULL.
* gcc.dg/gomp/pr49640.c: New test.
From-SVN: r175967
Tobias Burnus [Thu, 7 Jul 2011 12:46:18 +0000 (14:46 +0200)]
trans.c (gfc_allocate_with_status): Call _gfortran_caf_register with NULL arguments for (new) stat=/errmsg= arguments.
2011-07-07 Tobias Burnus <burnus@net-b.de>
* trans.c (gfc_allocate_with_status): Call _gfortran_caf_register
with NULL arguments for (new) stat=/errmsg= arguments.
2011-07-07 Tobias Burnus <burnus@net-b.de>
* libcaf.h (__attribute__, unlikely, likely): New macros.
(caf_register_t): Update comment.
(_gfortran_caf_register): Add stat, errmsg, errmsg_len arguments.
* single.c (_gfortran_caf_register): Ditto; add error diagnostics.
* mpi.c (_gfortran_caf_register): Ditto.
(caf_is_finalized): New global variable.
(_gfortran_caf_finalize): Use it.
From-SVN: r175966
Matthias Klose [Thu, 7 Jul 2011 12:23:20 +0000 (12:23 +0000)]
x86-64: Remove empty directory.
2011-07-07 Matthias Klose <doko@ubuntu.com>
* sysdep/x86-64: Remove empty directory.
From-SVN: r175965
Richard Guenther [Thu, 7 Jul 2011 10:36:13 +0000 (10:36 +0000)]
pr37485.c: Add -floop-block.
2011-07-07 Richard Guenther <rguenther@suse.de>
* gcc.dg/graphite/pr37485.c: Add -floop-block.
From-SVN: r175963
Rainer Orth [Thu, 7 Jul 2011 10:14:02 +0000 (10:14 +0000)]
re PR libmudflap/49550 (Many libmudflap tests fail on Solaris 11/x86)
gcc:
PR libmudflap/49550
* gcc.c (MFWRAP_SPEC): Also wrap mmap64.
libmudflap:
PR libmudflap/49550
* mf-runtime.c (__wrap_main) [__sun__ && __svr4__]: Don't register
stdin, stdout, stderr.
Register __ctype, __ctype_mask.
* configure.ac: Check for mmap64.
Check for rawmemchr, stpcpy, mempcpy.
* configure: Regenerate.
* config.h.in: Regenerate.
* mf-hooks1.c [HAVE_MMAP64] (__mf_0fn_mmap64): New function.
(mmap64): New wrapper function.
* mf-impl.h (__mf_dynamic_index) [HAVE_MMAP64]: Add dyn_mmap64.
* mf-runtime.c (__mf_dynamic) [HAVE_MMAP64]: Handle mmap64.
* mf-hooks2.c [HAVE_GETMNTENT && HAVE_SYS_MNTTAB_H]: Implement
getmntent wrapper.
* mf-hooks3.c (_REENTRANT): Define.
* testsuite/libmudflap.c/heap-scalestress.c (SCALE): Reduce to 10000.
* testsuite/libmudflap.c/pass-stratcliff.c: Include ../config.h.
(MIN): Define.
Use HAVE_RAWMEMCHR, HAVE_STPCPY, HAVE_MEMPCPY as guards.
* testsuite/libmudflap.c/pass47-frag.c: Expect __ctype warning on
*-*-solaris2.*.
From-SVN: r175961
Eric Botcazou [Thu, 7 Jul 2011 09:50:59 +0000 (09:50 +0000)]
* gcc-interface/misc.c (gnat_init): Tweak previous change.
From-SVN: r175960
Rainer Orth [Thu, 7 Jul 2011 09:24:16 +0000 (09:24 +0000)]
re PR bootstrap/39150 (Configure scripts have no 64-Bit Solaris defined (only i386-solaris*).)
gcc:
PR target/39150
* configure.ac (gcc_cv_as_hidden): Also accept
x86_64-*-solaris2.1[0-9]*.
(gcc_cv_as_cfi_directive): Likewise.
(gcc_cv_as_comdat_group_group): Likewise.
(set_have_as_tls): Likewise.
* configure: Regenerate.
* config.gcc (i[34567]86-*-solaris2*): Also handle
x86_64-*-solaris2.1[0-9]*.
* config.host (i[34567]86-*-solaris2*): Likewise.
* config/sparc/sol2.h (ASM_CPU_DEFAULT_SPEC): Remove.
* config/sol2-bi.h (ASM_CPU_DEFAULT_SPEC): Redefine.
[USE_GLD] (ARCH_DEFAULT_EMULATION): Define.
(TARGET_LD_EMULATION): Use it.
* config/i386/sol2.h (ASM_CPU_DEFAULT_SPEC): Define.
(SUBTARGET_CPU_EXTRA_SPECS): Add asm_cpu_default.
* config/i386/sol2-bi.h (ASM_CPU32_DEFAULT_SPEC): Define.
(ASM_CPU64_DEFAULT_SPEC): Define.
(ASM_CPU_SPEC): Use %(asm_cpu_default).
(ASM_SPEC): Redefine.
(DEFAULT_ARCH32_P): Define using TARGET_64BIT_DEFAULT.
* config/host-solaris.c [__x86_64__] (TRY_EMPTY_VM_SPACE): Reduce.
* doc/install.texi (Specific, amd64-*-solaris2.1[0-9]*):
Document.
(Specific, i?86-*-solaris2.10): Mention x86_64-*-solaris2.1[0-9]*
configuration.
(Specific, x86_64-*-solaris2.1[0-9]*): Document.
gcc/ada:
PR target/39150
* gcc-interface/Makefile.in: Handle x86_64-solaris2.
libgcc:
PR target/39150
* config.host (*-*-solaris2*): Handle x86_64-*-solaris2.1[0-9]*
like i?86-*-solaris2.1[0-9]*.
(i[34567]86-*-solaris2*): Also handle x86_64-*-solaris2.1[0-9]*.
* configure.ac (i?86-*-solaris2*): Likewise.
* configure: Regenerate.
gcc/testsuite:
PR target/39150
* gcc.misc-tests/linkage.exp: Handle x86_64-*-solaris2.1[0-9]*.
toplevel:
PR target/39150
* configure.ac (i[
3456789]86-*-solaris2*): Also accept
x86_64-*-solaris2.1[0-9]*.
* configure: Regenerate.
boehm-gc:
PR target/39150
* configure.ac (i?86-*-solaris2.[89]): Also accept
x86_64-*-solaris2.1?.
* configure: Regenerate.
gnattools:
PR target/39150
* configure.ac (*86-*-solaris2*): Also accept
x86_64-*-solaris2.1[0-9]*.
* configure: Regenerate.
libcpp:
PR target/39150
* configure.ac (host_wide_int): Handle x86_64-*-solaris2.1[0-9]
like i[34567]86-*-solaris2.1[0-9]*.
* configure: Regenerate.
libgo:
PR target/39150
* config/libtool.m4: Handle x86_64-*-solaris2.1[0-9]* like
i?86-*-solaris*.
* configure: Regenerate.
libjava:
PR target/39150
* configure.host (x86_64-*): Add -Usun to libgcj_flags.
(x86_64-*-solaris2.1[0-9]*): New case.
(i?86-*-solaris2*): Also accept x86_64-*-solaris2.1[0-9]*.
From-SVN: r175958
Rainer Orth [Thu, 7 Jul 2011 08:52:48 +0000 (08:52 +0000)]
sol2.h (ASM_SPEC): Split into ...
* config/sol2.h (ASM_SPEC): Split into ...
(ASM_SPEC_BASE, ASM_PIC_SPEC): ... this.
* config/i386/sol2.h (ASM_SPEC): Define using ASM_SPEC_BASE.
* config/i386/sol2-bi.h (ASM_CPU_SPEC): Redefine.
(ASM_SPEC): Use ASM_SPEC_BASE.
* config/sparc/sol2.h (ASM_SPEC): Redefine.
From-SVN: r175957
Georg-Johann Lay [Thu, 7 Jul 2011 07:13:13 +0000 (07:13 +0000)]
avr.md (*reload_insi): Change predicate #1 to const_int_operand.
* config/avr/avr.md (*reload_insi): Change predicate #1 to
const_int_operand. Ditto for peep2 producing this insn.
Add argument to output_reload_insisf call.
(*movsi,*movsf): Add argument to output_movsisf call.
(*reload_insf): New insn and new peep2 to produce it.
* config/avr/avr-protos.h (output_movsisf): Change prototype.
(output_reload_insisf): Change prototype.
* config/avr/avr.c (avr_asm_len): New function.
(output_reload_insisf): Rewrite.
(output_movsisf): Change prototype. output_reload_insisf for
all CONST_INT and CONST_DOUBLE. ALlow moving 0.0f to memory.
(adjust_insn_length): Add argument to output_movsisf and
output_reload_insisf call.
From-SVN: r175956
Jason Merrill [Thu, 7 Jul 2011 02:58:33 +0000 (22:58 -0400)]
re PR c++/49353 (C++ frontend should not declare function EXTERN when it forces them to stay)
PR c++/49353
* semantics.c (expand_or_defer_fn_1): Clear DECL_EXTERNAL
on kept inlines.
From-SVN: r175954
GCC Administrator [Thu, 7 Jul 2011 00:18:32 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r175953
Bernd Schmidt [Wed, 6 Jul 2011 23:56:28 +0000 (23:56 +0000)]
revert: simplify-rtx.c (simplify_const_binary_operation): Use the shift_truncation_mask hook instead of performing modulo by width.
Revert:
* simplify-rtx.c (simplify_const_binary_operation): Use the
shift_truncation_mask hook instead of performing modulo by
width. Compare against mode precision, not bitsize.
* combine.c (combine_simplify_rtx, simplify_shift_const_1):
Use shift_truncation_mask instead of constructing the value
manually.
From-SVN: r175949
Bernd Schmidt [Wed, 6 Jul 2011 23:16:39 +0000 (23:16 +0000)]
explow.c (trunc_int_for_mode): Use GET_MODE_PRECISION instead of GET_MODE_BITSIZE where appropriate.
* explow.c (trunc_int_for_mode): Use GET_MODE_PRECISION
instead of GET_MODE_BITSIZE where appropriate.
* rtlanal.c (subreg_lsb_1, subreg_get_info, nonzero_bits1,
num_sign_bit_copies1, canonicalize_condition, low_bitmask_len,
init_num_sign_bit_copies_in_rep): Likewise.
* cse.c (fold_rtx, cse_insn): Likewise.
* loop-doloop.c (doloop_modify, doloop_optimize): Likewise.
* simplify-rtx.c (simplify_unary_operation_1,
simplify_const_unary_operation, simplify_binary_operation_1,
simplify_const_binary_operation, simplify_ternary_operation,
simplify_const_relational_operation, simplify_subreg): Likewise.
* combine.c (try_combine, find_split_point, combine_simplify_rtx,
simplify_if_then_else, simplify_set, expand_compound_operation,
expand_field_assignment, make_extraction, if_then_else_cond,
make_compound_operation, force_to_mode, make_field_assignment,
reg_nonzero_bits_for_combine, reg_num_sign_bit_copies_for_combine,
extended_count, try_widen_shift_mode, simplify_shift_const_1,
simplify_comparison, record_promoted_value, simplify_compare_const,
record_dead_and_set_regs_1): Likewise.
From-SVN: r175946
Bernd Schmidt [Wed, 6 Jul 2011 23:12:45 +0000 (23:12 +0000)]
machmode.h (HWI_COMPUTABLE_MODE_P): New macro.
* machmode.h (HWI_COMPUTABLE_MODE_P): New macro.
* combine.c (set_nonzero_bits_and_sign_copies): Use it.
(find_split-point, combine_simplify_rtx, simplify_if_then_else,
simplify_set, simplify_logical, expand_compound_operation,
make_extraction, force_to_mode, if_then_else_cond, extended_count,
try_widen_shift_mode, simplify_shift_const_1, simplify_comparison,
record_value_for_reg): Likewise.
* expmed.c (expand_widening_mult, expand_mult_highpart): Likewise.
* simplify-rtx. c (simplify_unary_operation_1,
simplify_binary_operation_1, simplify_const_relational_operation):
Likewise.
From-SVN: r175945