Commit Graph

110166 Commits

Author SHA1 Message Date
H.J. Lu 9e419e387c Use movl instead of movabs for x32.
2011-07-10  H.J. Lu  <hongjiu.lu@intel.com>

	* config/i386/i386.c (ix86_trampoline_init): Use movl instead
	of movabs for x32.

From-SVN: r176129
2011-07-10 14:42:08 -07:00
Richard Henderson 3db72de312 i386.c (x86_output_mi_thunk): Generate rtl and run final, instead of emitting text directly.
* config/i386/i386.c (x86_output_mi_thunk): Generate rtl and
        run final, instead of emitting text directly.

From-SVN: r176128
2011-07-10 14:12:57 -07:00
H.J. Lu a1f91bca13 Turn on 64bit and check models for x32.
2011-07-10  H.J. Lu  <hongjiu.lu@intel.com>

	* config/i386/i386.c (ix86_option_override_internal): Turn on
	OPTION_MASK_ISA_64BIT for TARGET_X32.  Only allow small and
	small PIC models for TARGET_X32.

From-SVN: r176127
2011-07-10 12:25:28 -07:00
Tobias Burnus 89560a3c2c re PR fortran/49690 (ICE in gfc_typenode_for_spec, at fortran/trans-types.c:1019)
2011-07-10  Tobias Burnus  <burnus@net-b.de>

        PR fortran/49690
        * intrinsic.c (add_functions): Use BT_VOID for 2nd argument of
        * SIGNAL.

2011-07-10  Tobias Burnus  <burnus@net-b.de>

        PR fortran/49690
        * gfortran.dg/intrinsic_signal.f90: New.

From-SVN: r176121
2011-07-10 16:28:48 +02:00
Jason Merrill 53130f7560 re PR c++/49691 (ICE in cp_parser_late_return_type_opt, at cp/parser.c:15562)
PR c++/49691
	* parser.c (cp_parser_late_return_type_opt): Check quals parameter
	rather than current_class_type to determine whether to set 'this'.
	(cp_parser_direct_declarator): Pass -1 to quals if member_p is false.
	(cp_parser_init_declarator): Pass down member_p.

From-SVN: r176120
2011-07-10 10:24:03 -04:00
GCC Administrator 7746ff43a6 Daily bump.
From-SVN: r176115
2011-07-10 00:17:54 +00:00
Hans-Peter Nilsson 9a0b29f0ce re PR target/49684 (build fails on crtstuff.c / crtbegin using default CRT_CALL_STATIC_FUNCTION)
PR target/49684
	* config/cris/t-elfmulti (CRTSTUFF_T_CFLAGS): Don't include
	$(LIBGCC2_CFLAGS).

From-SVN: r176111
2011-07-09 22:36:12 +00:00
Hans-Peter Nilsson a50023f9a8 re PR bootstrap/49680 (IRIX 6.5 bootstrap broken: SEGV in __register_frame_info_bases)
PR bootstrap/49680
	* config/cris/cris.c (cris_asm_output_case_end): Robustify against
	stray notes and debug insns by using prev_nonnote_nondebug_insn
	instead of PREV_INSN.

From-SVN: r176110
2011-07-09 22:35:43 +00:00
Tobias Burnus f6da75edeb error.c (sys_abort): Change argument list from "()" to "(void)".
2011-07-09  Tobias Burnus  <burnus@net-b.de>

        * runtime/error.c (sys_abort): Change argument list
        from "()" to "(void)".

From-SVN: r176109
2011-07-09 23:22:44 +02:00
Richard Henderson 948d330ea9 dwarf2: Move CFI output routines to dwarf2cfi.c.
* defaults.h (DWARF2_ADDR_SIZE, DWARF_OFFSET_SIZE,
        DWARF_TYPE_SIGNATURE_SIZE): Move from ...
        * dwarf2out.c: ... here.
        (output_all_cfis): Remove.
        (dwarf2out_switch_text_section): Use output_cfis directly.
        (size_of_locs): Export.
        (output_loc_sequence, output_loc_sequence_raw): Export.
        (div_data_align, need_data_align_sf_opcode, dwarf_cfi_name, output_cfi,
        output_cfi_directive, dwarf2out_emit_cfi, output_cfis, output_cfa_loc,
        output_cfa_loc_raw): Move to ...
        * dwarfcfi.c: ... here.
        * dwarf2out.h: Update decls.

From-SVN: r176107
2011-07-09 13:56:42 -07:00
Richard Henderson db42e39d81 dwarf2: Reduce some redundant definitions.
Move some definitions to defaults.h; some simply aren't needed
anymore in the respective dwarf2{cfi,out}.c files.

        * defaults.h (DWARF_CIE_DATA_ALIGNMENT, DWARF_FRAME_RETURN_COLUMN,
        DWARF_FRAME_REGNUM, DWARF2_FRAME_REG_OUT): Move from ...
        * dwarf2cfi.c: ... here.
        (PTR_SIZE, DWARF_OFFSET_SIZE, DWARF_INITIAL_LENGTH_SIZE): Remove.
        (DWARF_ROUND, DWARF_CIE_ID): Remove.
        * dwarf2out.c (INCOMING_RETURN_ADDR_RTX): Remove.
        (DWARF2_FRAME_REG_OUT, DWARF_CIE_DATA_ALIGNMENT): Remove.
        (DWARF_FRAME_RETURN_COLUMN, DWARF_FRAME_REGNUM): Remove.

From-SVN: r176102
2011-07-09 13:43:06 -07:00
Richard Henderson a8e5c0e77e dwarf2cfi: Handle return column save from CIE.
When we record a save of the return column in the CIE, remember
that while processing the FDE.  This requires propagating the
handling of PC_RTX as a representative of the return column to
more locations.

MIPS had been handling this case by hand, and is no longer required.

        * dwarf2cfi.c (cie_return_save): New.
        (queue_reg_save): Use compare_reg_or_pc.
        (dwarf2out_flush_queued_reg_saves): Handle pc_rtx as return column.
        (dwarf2out_frame_debug_expr): Likewise.
        (dwarf2out_frame_debug_cfa_register): Record saved reg for pc too.
        (initial_return_save): Likewise.
        (execute_dwarf2_frame): Save and restore initial return save from
        the cie to the fde.
        * config/mips/mips.c (mips_frame_set): Remove special case for
        DWARF_FRAME_RETURN_COLUMN.

From-SVN: r176099
2011-07-09 13:39:00 -07:00
Richard Henderson 4a8ee12241 dwarf2cfi: Simplify re-initialization for each function.
There's no point calling lookup_cfa to re-create the CFA
we initialized just a few lines above.

        * dwarf2cfi.c (lookup_cfa): Remove.
        (execute_dwarf2_frame): Assert queues are empty on entry.
        Setup initial cfa directly, not via lookup_cfa.
        Don't clear args_size state here.

From-SVN: r176098
2011-07-09 13:30:07 -07:00
Richard Henderson 3edb53aaae 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
2011-07-09 13:26:43 -07:00
Richard Henderson ded49a7f6c 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
2011-07-09 13:18:32 -07:00
Richard Henderson 45fba6d114 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
2011-07-09 12:57:27 -07:00
H.J. Lu dbbb299a30 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
2011-07-09 12:25:11 -07:00
Uros Bizjak 4dc694b226 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
2011-07-09 19:35:44 +02:00
Jason Merrill 20888def1b * tree.c (build_vec_init_elt): Strip TARGET_EXPR.
From-SVN: r176084
2011-07-09 13:01:11 -04:00
Jakub Jelinek 5b696ba2dc 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
2011-07-09 17:48:42 +02:00
Richard Henderson 8662b2ba92 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
2011-07-09 08:41:31 -07:00
Richard Henderson 28b21ebbdb 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
2011-07-09 08:38:54 -07:00
Tobias Burnus 41de45c6a0 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
2011-07-09 16:29:50 +02:00
Jonathan Wakely 677aad9c92 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
2011-07-09 14:45:56 +01:00
Jonathan Wakely bd8485dc9f 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
2011-07-09 14:06:29 +01:00
Jonathan Wakely d526242cd8 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
2011-07-09 13:48:32 +01:00
Jonathan Wakely eece716393 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
2011-07-09 11:28:56 +01:00
Eric Botcazou 0a222ba757 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
2011-07-09 10:13:56 +00:00
Jonathan Wakely 4880236e3f 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
2011-07-09 11:13:01 +01:00
Jason Merrill 4063e61bc6 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
2011-07-08 23:33:54 -04:00
Jason Merrill 2fda8e144a 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
2011-07-08 23:33:44 -04:00
GCC Administrator e8f8774a90 Daily bump.
From-SVN: r176070
2011-07-09 00:17:50 +00:00
Richard Henderson 965b2557b0 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
2011-07-08 16:48:59 -07:00
Richard Henderson 830f11fee4 dwarf2cfi: Insert notes correctly wrt tablejumps.
PR bootstrap/49680
        * dwarf2cfi.c (dwarf2out_frame_debug): Insert cfi notes after
        any tablejump vector.

From-SVN: r176065
2011-07-08 16:48:53 -07:00
Jakub Jelinek 70db9095ea 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
2011-07-08 22:09:58 +02:00
Joseph Myers d6919c1f42 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
2011-07-08 20:29:04 +01:00
Joseph Myers 73c82cf079 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
2011-07-08 20:26:35 +01:00
Sebastian Pop 320be309d0 Only update ChangeLog.graphite.
From-SVN: r176058
2011-07-08 19:15:18 +00:00
Sebastian Pop e92c50201f 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
2011-07-08 19:15:11 +00:00
Sebastian Pop 82a551d9ea Only update ChangeLog.graphite.
From-SVN: r176056
2011-07-08 19:15:02 +00:00
Jason Merrill 34bec55606 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
2011-07-08 13:39:17 -04:00
Georg-Johann Lay 3e4f84847d 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
2011-07-08 17:38:39 +00:00
Jason Merrill 859f6cb4c6 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
2011-07-08 13:37:29 -04:00
Julian Brown 0094f21b61 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
2011-07-08 17:30:43 +00:00
Jason Merrill f8501f04ea constexpr-rom.C tweak
From-SVN: r176049
2011-07-08 12:46:28 -04:00
Bernd Schmidt c0a6a1eff6 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
2011-07-08 16:21:58 +00:00
Bernd Schmidt 9ae6010158 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
2011-07-08 16:08:13 +00:00
Jason Merrill 329af3c7e9 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
2011-07-08 10:24:14 -04:00
Richard Guenther b862187a34 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
2011-07-08 14:08:17 +00:00
Kai Tietz e8e8c74b49 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
2011-07-08 15:22:52 +02:00