Robert Dewar [Mon, 30 Jan 2012 10:27:36 +0000 (11:27 +0100)]
exp_aggr.adb, [...]: Minor reformatting.
2012-01-30 Robert Dewar <dewar@adacore.com>
* exp_aggr.adb, sem_aggr.adb: Minor reformatting.
From-SVN: r183700
Robert Dewar [Mon, 30 Jan 2012 10:26:25 +0000 (10:26 +0000)]
einfo.ads, [...]: Minor reformatting.
2012-01-30 Robert Dewar <dewar@adacore.com>
* einfo.ads, sem_prag.adb, sem_attr.adb, aspects.ads,
sem_cat.adb, sem_aggr.adb, exp_aggr.adb: Minor reformatting.
From-SVN: r183699
Arnaud Charlet [Mon, 30 Jan 2012 10:24:17 +0000 (11:24 +0100)]
[multiple changes]
2012-01-30 Robert Dewar <dewar@adacore.com>
* a-cdlili.adb, a-cidlli.adb, a-cbdlli.adb: Minor reformatting.
2012-01-30 Olivier Hainque <hainque@adacore.com>
* sigtramp-ppcvxw.c (CFI_COMMON_REGS): Add rule for r1 back +
comments.
2012-01-30 Thomas Quinot <quinot@adacore.com>
* gnat_rm.texi, sem_dist.adb, sem_dist.ads, einfo.ads, sem_prag.adb,
sem_ch12.adb, sem_attr.adb, aspects.adb, aspects.ads, par-prag.adb,
sem_cat.adb, snames.ads-tmpl (Sem_Dist.Is_Valid_Remote_Object_Type):
New subprogram (extracted from
Sem_Cat.Validate_Remote_Access_Object_Type_Declaration).
(Einfo.Is_Remote_Types): Now applies to generic types. Update
documentation accordingly.
(Sem_Ch12.Analyze_Associations): A RACW type is acceptable as
actual for a formal type to which a pragma Remote_Access_Type
applies.
(Aspects, Par.Prag, Sem_Prag): Support for new pramga/aspect
Remote_Access_Type.
(Sem_Attr.Analyze_Attribute, case Stub_Type): Attribute can
be applied to a generic type if pragma Remote_Access_Type
applies, in which case the type of the attribute is
System.Partition_Interface.RACW_Stub_Type.
From-SVN: r183698
Georg-Johann Lay [Mon, 30 Jan 2012 10:16:29 +0000 (10:16 +0000)]
avr.c (out_movqi_mr_r): Fix length computation.
* config/avr/avr.c (out_movqi_mr_r): Fix length computation.
From-SVN: r183697
Georg-Johann Lay [Mon, 30 Jan 2012 10:08:25 +0000 (10:08 +0000)]
avr.c (out_movqi_mr_r): Fix length computation.
* config/avr/avr.c (out_movqi_mr_r): Fix length computation.
From-SVN: r183696
Andreas Krebbel [Mon, 30 Jan 2012 08:24:46 +0000 (08:24 +0000)]
fe-convert-2.c: Force use of soft dfp on s390 and s390x.
2012-01-30 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* gcc.dg/dfp/fe-convert-2.c: Force use of soft dfp on s390 and
s390x.
From-SVN: r183694
Sandra Loosemore [Mon, 30 Jan 2012 00:41:03 +0000 (19:41 -0500)]
invoke.texi: Make usage of "compile time" and "run time"/"runtime" consistent throughout the...
2012-01-29 Sandra Loosemore <sandra@codesourcery.com>
gcc/
* doc/invoke.texi: Make usage of "compile time" and
"run time"/"runtime" consistent throughout the file.
From-SVN: r183693
GCC Administrator [Mon, 30 Jan 2012 00:18:29 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r183692
John David Anglin [Sun, 29 Jan 2012 23:56:38 +0000 (23:56 +0000)]
re PR testsuite/51875 (FAIL: gfortran.dg/guality/pr41558.f90 -O0 line 7 s == 'foo')
PR testsuite/51875
* gfortran.dg/guality/pr41558.f90: Skip on 32-bit hppa*-*-hpux*.
From-SVN: r183688
John David Anglin [Sun, 29 Jan 2012 23:53:44 +0000 (23:53 +0000)]
template10.C: Fix typo.
* g++.dg/ext/visibility/template10.C: Fix typo.
From-SVN: r183687
John David Anglin [Sun, 29 Jan 2012 23:51:00 +0000 (23:51 +0000)]
pr51472.c: Add -fno-common option on hppa-*-hpux*.
* gcc.dg/tm/pr51472.c: Add -fno-common option on hppa-*-hpux*.
From-SVN: r183686
Paolo Carlini [Sun, 29 Jan 2012 21:42:56 +0000 (21:42 +0000)]
re PR c++/51327 ([c++0x] [4.7 Regression] ICE with invalid constexpr parameter)
/cp
2012-01-29 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/51327
* class.c (explain_non_literal_class): Correctly handle implicitly
deleted constructors.
/testsuite
2012-01-29 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/51327
* g++.dg/cpp0x/constexpr-ice6.C: New.
From-SVN: r183685
Paolo Carlini [Sun, 29 Jan 2012 21:41:54 +0000 (21:41 +0000)]
re PR c++/51327 ([c++0x] [4.7 Regression] ICE with invalid constexpr parameter)
/cp
2012-01-29 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/51327
* class.c (explain_non_literal_class): Correctly handle implicitly
deleted constructors.
/testsuite
2012-01-29 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/51327
* g++.dg/cpp0x/constexpr-ice6.C: New.
From-SVN: r183684
Uros Bizjak [Sun, 29 Jan 2012 20:55:09 +0000 (21:55 +0100)]
alpha.c (alpha_option_overrride): Default to full IEEE compliance mode for Go language.
* config/alpha/alpha.c (alpha_option_overrride): Default to
full IEEE compliance mode for Go language.
From-SVN: r183683
Tobias Burnus [Sun, 29 Jan 2012 20:51:19 +0000 (21:51 +0100)]
re PR fortran/41600 ([OOP] SELECT TYPE with associate-name => exp: Arrays not supported)
2012-01-29 Tobias Burnus <burnus@net-b.de>
PR fortran/41600
* expr.c (gfc_default_initializer): Convert the values if
the type does not match.
2012-01-29 Tobias Burnus <burnus@net-b.de>
PR fortran/41600
* gfortran.dg/default_initialization_6.f90: New.
Co-Authored-By: Steven G. Kargl <kargl@gcc.gnu.org>
From-SVN: r183682
Janne Blomqvist [Sun, 29 Jan 2012 20:29:50 +0000 (22:29 +0200)]
Reduce size of pointer_info tree, minor cleanups.
2012-01-29 Janne Blomqvist <jb@gcc.gnu.org>
* module.c (pointer_info): Make true_name and module pointers
rather than arrays, order pointers before other fields.
(free_pi_tree): free true_name and module as well.
(mio_read_string): Rename to read_string.
(mio_write_string): Remove.
(load_commons): Use read_string.
(read_module): Use read_string rather than mio_internal_string.
(write_blank_common): Call write_atom directly.
(write_symbol): Likewise.
From-SVN: r183681
Tobias Burnus [Sun, 29 Jan 2012 20:02:19 +0000 (21:02 +0100)]
re PR fortran/51972 ([OOP] Wrong code as _copy does not honor CLASS components)
2012-01-29 Tobias Burnus <burnus@net-b.de>
PR fortran/51972
* trans-array.c (structure_alloc_comps): Fix assignment of
polymorphic components (polymorphic deep copying).
2012-01-29 Tobias Burnus <burnus@net-b.de>
PR fortran/51972
* gfortran.dg/class_allocate_12.f90: Enable disabled test.
* gfortran.dg/class_48.f90: New.
From-SVN: r183680
Janne Blomqvist [Sun, 29 Jan 2012 19:01:09 +0000 (21:01 +0200)]
PR 51808 Constify binding_label.
2012-01-29 Janne Blomqvist <jb@gcc.gnu.org>
PR fortran/51808
* decl.c (set_binding_label): Make binding_label argument const.
(curr_binding_label): Constify.
* gfortran.h (gfc_symbol): Constify binding_label.
(gfc_common_head): Likewise.
(get_iso_c_sym): Likewise.
* match.c (gfc_match_name_C): Constify buffer argument.
* match.h (gfc_match_name_C): Likewise.
* resolve.c (set_name_and_label): Constify binding_label argument.
(gfc_iso_c_sub_interface): Constify binding_label variable.
* symbol.c (get_iso_c_sym): Constify binding_label argument.
From-SVN: r183679
Janne Blomqvist [Sun, 29 Jan 2012 17:41:49 +0000 (19:41 +0200)]
PR 51808 Fix ChangeLog entry
From-SVN: r183678
Janne Blomqvist [Sun, 29 Jan 2012 17:19:32 +0000 (19:19 +0200)]
PR 51808 Support arbitrarily long bind(C) binding labels.
2012-01-29 Janne Blomqvist <jb@gcc.gnu.org>
PR fortran/51808
* decl.c (set_binding_label): Move prototype from match.h to here.
(curr_binding_label): Make a pointer rather than static array.
(build_sym): Check sym->binding_label pointer rather than array,
update set_binding_label call, handle curr_binding_label changes.
(set_binding_label): Handle new curr_binding_label, dest_label
double ptr, and sym->binding_label.
(verify_bind_c_sym): Handle sym->binding_label being a pointer.
(set_verify_bind_c_sym): Check sym->binding_label pointer rather
than array, update set_binding_label call.
(gfc_match_bind_c_stmt): Handle curr_binding_label change.
(match_procedure_decl): Update set_binding_label call.
(gfc_match_bind_c): Change binding_label to pointer, update
gfc_match_name_C call.
* gfortran.h (GFC_MAX_BINDING_LABEL_LEN): Remove macro.
(gfc_symbol): Make binding_label a pointer.
(gfc_common_head): Likewise.
* match.c (gfc_match_name_C): Heap allocate bind(C) name.
* match.h (gfc_match_name_C): Change prototype argument.
(set_binding_label): Move prototype to decl.c.
* module.c (struct pointer_info): Make binding_label a pointer.
(free_pi_tree): Free unused binding_label.
(mio_read_string): New function.
(mio_write_string): New function.
(load_commons): Redo reading of binding_label.
(read_module): Likewise.
(write_common_0): Change to write empty string instead of name if
no binding_label.
(write_blank_common): Write empty string for binding label.
(write_symbol): Change to write empty string instead of name if no
binding_label.
* resolve.c (gfc_iso_c_func_interface): Don't set binding_label.
(set_name_and_label): Make binding_label double pointer, use
asprintf.
(gfc_iso_c_sub_interface): Make binding_label a pointer.
(resolve_bind_c_comms): Handle cases if
gfc_common_head->binding_label is NULL.
(gfc_verify_binding_labels): sym->binding_label is a pointer.
* symbol.c (gfc_free_symbol): Free binding_label.
(gfc_new_symbol): Rely on XCNEW zero init for binding_label.
(gen_special_c_interop_ptr): Don't set binding label.
(generate_isocbinding_symbol): Insert binding_label into symbol
table.
(get_iso_c_sym): Use pointer assignment instead of strcpy.
* trans-common.c (gfc_sym_mangled_common_id): Handle
com->binding_label being a pointer.
* trans-decl.c (gfc_sym_mangled_identifier): Handle
sym->binding_label being a pointer.
(gfc_sym_mangled_function_id): Likewise.
testsuite ChangeLog
2012-01-29 Janne Blomqvist <jb@gcc.gnu.org>
PR fortran/51808
* gfortran.dg/module_md5_1.f90: Update MD5 sum.
From-SVN: r183677
Kai Tietz [Sun, 29 Jan 2012 13:29:53 +0000 (14:29 +0100)]
ffi.c (ffi_call_win32): Add new argument to prototype for specify calling-convention.
* src/libffi/src/x86/ffi.c (ffi_call_win32): Add new
argument to prototype for specify calling-convention.
(ffi_call): Add support for stdcall/thiscall convention.
(ffi_prep_args): Likewise.
(ffi_raw_call): Likewise.
* src/x86/ffitarget.h (ffi_abi): Add FFI_THISCALL and
FFI_FASTCALL.
* src/x86/win32.S (_ffi_call_win32): Add support for
fastcall/thiscall calling-convention calls.
* testsuite/libffi.call/fastthis1_win32.c: New test.
* testsuite/libffi.call/fastthis2_win32.c: New test.
* testsuite/libffi.call/fastthis3_win32.c: New test.
* testsuite/libffi.call/strlen2_win32.c: New test.
* testsuite/libffi.call/many2_win32.c: New test.
* testsuite/libffi.call/struct1_win32.c: New test.
* testsuite/libffi.call/struct2_win32.c: New test.
From-SVN: r183676
Tobias Burnus [Sun, 29 Jan 2012 11:56:18 +0000 (12:56 +0100)]
re PR fortran/52038 (fortran bootstrap failure: no previous prototype for 'symbol_as')
2012-01-29 Tobias Burnus <burnus@net-b.de>
PR fortran/52038
* resolve.c (symbol_as): Remove unused, accidentally
added function.
From-SVN: r183675
GCC Administrator [Sun, 29 Jan 2012 00:18:29 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r183674
Tijl Coosemans [Sat, 28 Jan 2012 23:13:47 +0000 (23:13 +0000)]
* config/freebsd-spec.h [TARGET_LIBC_PROVIDES_SSP]
(LINK_SSP_SPEC): Define.
From-SVN: r183670
John David Anglin [Sat, 28 Jan 2012 18:48:11 +0000 (18:48 +0000)]
re PR target/51871 (FAIL: gcc.c-torture/execute/
20010122-1.c execution)
PR target/51871
* config/pa/pa.c (pa_return_addr_rtx): Add support for PA2.0 export
stubs.
From-SVN: r183669
Tobias Burnus [Sat, 28 Jan 2012 16:57:28 +0000 (17:57 +0100)]
re PR fortran/51972 ([OOP] Wrong code as _copy does not honor CLASS components)
2012-01-28 Tobias Burnus <burnus@net-b.de>
PR fortran/51972
* trans-stmt.c (gfc_trans_allocate): Properly check whether
we have a BT_CLASS which needs to be memset.
2012-01-28 Tobias Burnus <burnus@net-b.de>
PR fortran/51972
* gfortran.dg/class_allocate_12.f90: New.
From-SVN: r183668
Eric Botcazou [Sat, 28 Jan 2012 15:45:36 +0000 (15:45 +0000)]
* gcc.dg/torture/pr50444.c: Fix dg directives.
From-SVN: r183667
Sandra Loosemore [Sat, 28 Jan 2012 03:58:05 +0000 (22:58 -0500)]
invoke.texi: Correct hyphenation of "floating point"...
2012-01-28 Sandra Loosemore <sandra@codesourcery.com>
gcc/
* doc/invoke.texi: Correct hyphenation of "floating point",
"double precision", and related terminology throughout the file.
From-SVN: r183663
Jakub Jelinek [Sat, 28 Jan 2012 00:29:11 +0000 (01:29 +0100)]
re PR target/52006 (ARM ICE with incorrectly peepholed tls_load_dot_plus_eight)
PR target/52006
* config/arm/arm.md (pic_add_dot_plus_eight peephole2): Use
arm_general_register_operand predicate for operand 2 instead of
register_operand.
* gcc.target/arm/pr52006.c: New test.
From-SVN: r183661
GCC Administrator [Sat, 28 Jan 2012 00:19:01 +0000 (00:19 +0000)]
Daily bump.
From-SVN: r183660
Paolo Carlini [Fri, 27 Jan 2012 23:30:28 +0000 (23:30 +0000)]
re PR libstdc++/51795 (linear_congruential_engine doesn't work correctly)
2012-01-27 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/51795
* include/bits/random.h (linear_congruential_generator): Add
static_assert preventing instantiation for values of 'a' and 'm'
currently handled incorrectly but _Mod::__calc.
* include/bits/random.tcc (seed_seq::generate): Avoid unsafe
uses of _Mod::__calc.
From-SVN: r183655
Ian Lance Taylor [Fri, 27 Jan 2012 22:37:14 +0000 (22:37 +0000)]
syscall: Define IPV6 constants for Irix.
From Rainer Orth.
From-SVN: r183652
Ian Lance Taylor [Fri, 27 Jan 2012 22:34:53 +0000 (22:34 +0000)]
libgo: Fix merge errors shown on Solaris.
From Rainer Orth.
From-SVN: r183651
Ian Lance Taylor [Fri, 27 Jan 2012 22:25:02 +0000 (22:25 +0000)]
compiler: Use new __builtin_init_heap_trampoline.
PR go/47656
* builtins.def (BUILT_IN_INIT_HEAP_TRAMPOLINE): Define.
* builtins.c (expand_builtin_init_trampoline): Add onstack
parameter. Change caller.
(expand_builtin): Handle BUILT_IN_INIT_HEAP_TRAMPOLINE.
* tree.c (build_common_builtin_nodes): Declare
__builtin_init_heap_trampoline.
From-SVN: r183650
Aldy Hernandez [Fri, 27 Jan 2012 21:53:40 +0000 (21:53 +0000)]
re PR testsuite/52011 (FAIL: gcc.dg/lto/trans-mem-* c_lto_trans-mem-*.o assemble, -flto -fgnu-tm in 32 bit mode)
PR testsuite/52011
* gcc.dg/lto/trans-mem.h: New file.
* gcc.dg/lto/trans-mem-2_0.c: Include it.
* gcc.dg/lto/trans-mem-1_1.c: Same.
* gcc.dg/lto/trans-mem-4_1.c: Same.
* gcc.dg/lto/trans-mem-3_1.c: Same.
From-SVN: r183648
Jakub Jelinek [Fri, 27 Jan 2012 20:26:03 +0000 (21:26 +0100)]
re PR libstdc++/51798 (libstdc++ atomicity performance regression due to __sync_fetch_and_add)
PR libstdc++/51798
* config/cpu/generic/atomicity_builtins/atomicity.h
(__exchange_and_add, __atomic_add): Use __atomic_fetch_add
with __ATOMIC_ACQ_REL semantics instead of __sync_fetch_and_add.
* include/ext/atomicity.h (__exchange_and_add, __atomic_add):
Likewise.
From-SVN: r183644
Tobias Burnus [Fri, 27 Jan 2012 20:11:51 +0000 (21:11 +0100)]
re PR fortran/52022 (Wrong-code with procedures passed as actual argument)
2012-01-27 Tobias Burnus <burnus@net-b.de>
PR fortran/52022
* trans-expr.c (gfc_conv_procedure_call): Fix passing
of functions, which return allocatables.
2012-01-27 Tobias Burnus <burnus@net-b.de>
PR fortran/52022
* gfortran.dg/dummy_procedure_7.f90: New.
From-SVN: r183643
Andreas Schwab [Fri, 27 Jan 2012 19:46:46 +0000 (19:46 +0000)]
constexpr-rom.C: Don't add -G0 on *-*-darwin* *-*-aix* alpha*-*-osf* alpha*-*-*vms*.
* g++.dg/cpp0x/constexpr-rom.C: Don't add -G0 on *-*-darwin*
*-*-aix* alpha*-*-osf* alpha*-*-*vms*.
From-SVN: r183642
Rafael Ávila de Espíndola [Fri, 27 Jan 2012 19:38:56 +0000 (19:38 +0000)]
typeinfo: Correctly match #pragma GCC visibility pop with #pragma GCC visibility push.
2011-01-27 Rafael Avila de Espindola <rafael.espindola@gmail.com>
* libsupc++/typeinfo: Correctly match #pragma GCC visibility
pop with #pragma GCC visibility push.
From-SVN: r183641
Georg-Johann Lay [Fri, 27 Jan 2012 18:17:41 +0000 (18:17 +0000)]
avr-protos.h (lpm_reg_rtx, [...]): Make global.
* config/avr/avr-protos.h (lpm_reg_rtx, lpm_addr_reg_rtx,
tmp_reg_rtx, zero_reg_rtx, all_regs_rtx, rampz_rtx): Make global.
* config/avr/avr.c: Ditto.
(avr_regnames): Remove because unused.
* config/avr/avr.md (*cpse.ne): New peephole.
(*cpse.eq): New peephole from former cpse peepholes.
From-SVN: r183638
Jakub Jelinek [Fri, 27 Jan 2012 17:55:55 +0000 (18:55 +0100)]
re PR c++/51852 ([c++11] tree check: expected tree_list, have HßèMÕþÿøtxøtsø)
PR c++/51852
* pt.c (tsubst_pack_expansion): Delete and restore
local_specialization whenever need_local_specialization, not just
when saved_local_specializations is non-NULL.
* g++.dg/other/gc5.C: New test.
From-SVN: r183637
Michael Eager [Fri, 27 Jan 2012 16:36:12 +0000 (16:36 +0000)]
microblaze.c (microblaze_emit_compare): Correct test after pcmp instruction.
* config/microblaze.c (microblaze_emit_compare): Correct
test after pcmp instruction.
From-SVN: r183635
Joseph Myers [Fri, 27 Jan 2012 16:18:53 +0000 (16:18 +0000)]
gcc.pot: Regenerate.
gcc/po:
* gcc.pot: Regenerate.
libcpp/po:
* cpplib.pot: Regenerate.
From-SVN: r183634
Richard Guenther [Fri, 27 Jan 2012 15:50:32 +0000 (15:50 +0000)]
re PR regression/52020 (ICE in immed_double_const, at emit-rtl.c:544)
2012-01-27 Richard Guenther <rguenther@suse.de>
PR tree-optimization/52020
* tree-sra.c (sra_modify_assign): Do not transform clobbers.
From-SVN: r183633
Richard Guenther [Fri, 27 Jan 2012 15:49:34 +0000 (15:49 +0000)]
ipa-pure-const.c (check_stmt): Clobbers do not make a function non-const/pure.
2012-01-27 Richard Guenther <rguenther@suse.de>
* ipa-pure-const.c (check_stmt): Clobbers do not make a
function non-const/pure.
From-SVN: r183632
Richard Guenther [Fri, 27 Jan 2012 14:56:54 +0000 (14:56 +0000)]
re PR tree-optimization/50444 (-ftree-sra ignores alignment)
2012-01-27 Richard Guenther <rguenther@suse.de>
PR tree-optimization/50444
* tree-sra.c (build_ref_for_offset): Properly adjust the
MEM_REF type for unaligned accesses.
* gcc.dg/torture/pr50444.c: New testcase.
From-SVN: r183630
Richard Guenther [Fri, 27 Jan 2012 14:54:37 +0000 (14:54 +0000)]
re PR tree-optimization/50444 (-ftree-sra ignores alignment)
2012-01-27 Richard Guenther <rguenther@suse.de>
PR tree-optimization/50444
* expr.c (mem_ref_refers_to_non_mem_p): New function.
(expand_assignment): Use it. Properly handle misaligned
bases when expanding stores to component references.
(expand_expr_real_1): Use mem_ref_refers_to_non_mem_p and
refactor that case.
From-SVN: r183629
Andrey Belevantsev [Fri, 27 Jan 2012 14:08:03 +0000 (18:08 +0400)]
invoke.texi: Update copyright years.
* doc/invoke.texi: Update copyright years.
* tree-parloops.c: Likewise.
* sel-sched-ir.h: Likewise.
* tree-data-ref.h: Likewise.
* tree-predcom.c: Likewise.
* Makefile.in: Likewise.
* params.def: Likewise.
From-SVN: r183627
Tobias Burnus [Fri, 27 Jan 2012 13:59:04 +0000 (14:59 +0100)]
re PR fortran/52016 ([OOP] Polymorphism and elemental: missing diagnostic)
2012-01-27 Tobias Burnus <burnus@net-b.de>
PR fortran/52016
* resolve.c (resolve_formal_arglist): Fix elemental
constraint checks for polymorphic dummies also for
pointers.
From-SVN: r183625
Andrey Belevantsev [Fri, 27 Jan 2012 13:47:41 +0000 (17:47 +0400)]
re PR middle-end/51389 (GCC uses up to 75GB of virtual memory)
PR middle-end/51389
* Makefile.in (tree-data-ref.o): Depend on $(PARAMS_H).
* tree-data-ref.h (find_data_references_in_loop): Remove declaration.
* tree-data-ref.c (find_data_references_in_loop): Make static.
(compute_all_dependences): Change return type to bool. Bail out
for too many datarefs in a loop. Move the hunk resetting the data
dependences vector from ...
(compute_data_dependences_for_loop): ... here. Account for
compute_all_dependences returning false.
(compute_data_dependences_for_bb): Likewise.
* params.def (PARAM_LOOP_MAX_DATAREFS_FOR_DATADEPS): New param.
* doc/invoke.texi (loop-max-datarefs-for-datadeps): Document it.
From-SVN: r183624
Tobias Burnus [Fri, 27 Jan 2012 13:08:52 +0000 (14:08 +0100)]
re PR fortran/51970 ([OOP] gimplification failed for polymorphic MOVE_ALLOC)
2012-01-27 Tobias Burnus <burnus@net-b.de>
PR fortran/51970
PR fortran/51977
* primary.c (gfc_match_varspec. gfc_match_rvalue): Set
handle array spec for BT_CLASS.
* expr.c (gfc_get_variable_expr, gfc_lval_expr_from_sym)
* frontend-passes.c (create_var): Ditto.
* resolve.c (resolve_actual_arglist, resolve_assoc_var): Ditto.
* trans-decl.c (gfc_trans_deferred_vars): Use class_pointer
instead of attr.pointer.
(gfc_generate_function_code): Use CLASS_DATA (sym) for BT_CLASS.
* trans-intrinsic.c (conv_intrinsic_move_alloc): Move assert.
* trans-stmt.c (trans_associate_var): Ask for the descriptor.
2012-01-27 Tobias Burnus <burnus@net-b.de>
PR fortran/51970
PR fortran/51977
* gfortran.dg/move_alloc_13.f90: New.
From-SVN: r183622
Tobias Burnus [Fri, 27 Jan 2012 13:06:13 +0000 (14:06 +0100)]
re PR fortran/51953 ([F2008] Allow multiple allocate-objects in ALLOCATE with SOURCE=)
2012-01-27 Tobias Burnus <burnus@net-b.de>
PR fortran/51953
* match.c (gfc_match_allocate): Allow more than allocate
object with SOURCE=.
2012-01-27 Tobias Burnus <burnus@net-b.de>
PR fortran/51953
* gfortran.dg/allocate_alloc_opt_13.f90: New.
* gfortran.dg/allocate_alloc_opt_4.f90: Add -std=f2003
and change dg-error string.
From-SVN: r183621
Tobias Burnus [Fri, 27 Jan 2012 13:02:54 +0000 (14:02 +0100)]
re PR fortran/52016 ([OOP] Polymorphism and elemental: missing diagnostic)
2012-01-27 Tobias Burnus <burnus@net-b.de>
PR fortran/52016
* resolve.c (resolve_formal_arglist): Fix elemental
constraint checks for polymorphic dummies.
2012-01-27 Tobias Burnus <burnus@net-b.de>
PR fortran/52016
* gfortran.dg/elemental_args_check_5.f90: New.
From-SVN: r183620
Richard Guenther [Fri, 27 Jan 2012 10:54:51 +0000 (10:54 +0000)]
re PR middle-end/51959 (ICE in set_mem_alias_set, at emit-rtl.c:1884)
2012-01-27 Richard Guenther <rguenther@suse.de>
PR middle-end/51959
* expr.c (store_field): Use the alias-set of the scratch memory
for storing to it.
* g++.dg/torture/pr51959.C: New testcase.
From-SVN: r183616
Tom de Vries [Fri, 27 Jan 2012 10:38:34 +0000 (10:38 +0000)]
re PR tree-optimization/51990 (ICE in copy_reference_ops_from_ref)
2012-01-27 Tom de Vries <tom@codesourcery.com>
PR tree-optimization/51990
* gcc.dg/pr51990.c: New test.
* gcc.dg/pr51990-2.c: Same.
From-SVN: r183615
Tom de Vries [Fri, 27 Jan 2012 10:38:27 +0000 (10:38 +0000)]
re PR tree-optimization/51990 (ICE in copy_reference_ops_from_ref)
2012-01-27 Tom de Vries <tom@codesourcery.com>
PR tree-optimization/51990
* tree-ssa-sccvn.c (copy_reference_ops_from_ref): Handle WITH_SIZE_EXPR.
* tree-ssa-pre.c (create_component_ref_by_pieces_1): Same.
From-SVN: r183614
Paul Thomas [Fri, 27 Jan 2012 10:05:56 +0000 (10:05 +0000)]
re PR fortran/48705 ([OOP] ALLOCATE with non-trivial SOURCE)
2012-01-27 Paul Thomas <pault@gcc.gnu.org>
Tobias Burnus <burnus@gcc.gnu.org>
PR fortran/48705
PR fortran/51870
PR fortran/51943
PR fortran/51946
* trans-array.c (gfc_array_init_size): Add two extra arguments
to convey the dynamic element size of a calls object and to
return the number of elements that have been allocated.
(gfc_array_allocate): Add the same arguments and use them to
call gfc_array_init_size. Before the allocation dereference
the data pointer, if necessary. Set the allocated array to zero
if the class element size or expr3 are non-null.
* trans-expr.c (gfc_conv_class_to_class): Give this function
global scope.
(get_class_array_ref): New function.
(gfc_copy_class_to_class): New function.
* trans-array.h : Update prototype for gfc_array_allocate.
* trans-stmt.c (gfc_trans_allocate): For non-variable class
STATUS expressions extract the class object and the dynamic
element size. Use the latter to call gfc_array_allocate and
the former for setting the vptr and, via
gfc_copy_class_to_clasfc_cs, to copy to the allocated data.
* trans.h : Prototypes for gfc_get_class_array_ref,
gfc_copy_class_to_class and gfc_conv_class_to_class.
2012-01-27 Paul Thomas <pault@gcc.gnu.org>
Tobias Burnus <burnus@gcc.gnu.org>
PR fortran/48705
* gfortran.dg/class_allocate_11.f03: New.
PR fortran/51870
PR fortran/51943
PR fortran/51946
* gfortran.dg/class_allocate_7.f03: New.
* gfortran.dg/class_allocate_8.f03: New.
* gfortran.dg/class_allocate_9.f03: New.
* gfortran.dg/class_allocate_10.f03: New.
Co-Authored-By: Tobias Burnus <burnus@gcc.gnu.org>
From-SVN: r183613
Eric Botcazou [Fri, 27 Jan 2012 09:50:17 +0000 (09:50 +0000)]
decl.c (gnat_to_gnu_entity): Do not set an alignment on fields of the RETURN type built for the CICO mechanism.
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Procedure>: Do not set
an alignment on fields of the RETURN type built for the CICO mechanism.
From-SVN: r183611
Eric Botcazou [Fri, 27 Jan 2012 09:44:27 +0000 (09:44 +0000)]
trans.c (gnat_to_gnu): Avoid making a SAVE_EXPR for a call to a function that returns an unconstrained...
* gcc-interface/trans.c (gnat_to_gnu): Avoid making a SAVE_EXPR for
a call to a function that returns an unconstrained type with default
discriminant. Similarly, avoid doing the conversion to the nominal
From-SVN: r183610
Eric Botcazou [Fri, 27 Jan 2012 09:35:03 +0000 (09:35 +0000)]
ada-tree.h (DECL_ALIASED_P): New flag.
* gcc-interface/ada-tree.h (DECL_ALIASED_P): New flag.
* gcc-interface/decl.c (is_variable_size): Rename to...
(type_has_variable_size): ...this.
(adjust_packed): Adjust to above renaming.
(gnat_to_gnu_field): Set DECL_ALIASED_P on the field.
(field_is_artificial): New predicate.
(field_is_aliased): Likewise.
(field_has_self_size): Likewise.
(field_has_variable_size): Likewise.
(components_to_record): Record information for the final layout during
the first pass on fields.
If there is an aliased field placed after a field whose length depends
on discriminants, put all the fields of the latter sort, last.
From-SVN: r183609
Jakub Jelinek [Fri, 27 Jan 2012 09:26:48 +0000 (10:26 +0100)]
re PR debug/52001 (Huge compile-time regression with var-tracking)
PR debug/52001
* var-tracking.c (reverse_op): Don't add any reverse operation
if V already has any constant locations.
From-SVN: r183608
Eric Botcazou [Fri, 27 Jan 2012 09:22:36 +0000 (09:22 +0000)]
gigi.h (get_minimal_subprog_decl): Declare.
* gcc-interface/gigi.h (get_minimal_subprog_decl): Declare.
* gcc-interface/decl.c (get_minimal_subprog_decl): New function.
* gcc-interface/trans.c (Attribute_to_gnu): Use it for the prefix of an
Access-like attribute in a dispatch table if the subprogram is public.
From-SVN: r183607
Eric Botcazou [Fri, 27 Jan 2012 09:12:14 +0000 (09:12 +0000)]
gigi.h (create_label_decl): Adjust.
* gcc-interface/gigi.h (create_label_decl): Adjust.
* gcc-interface/utils.c (create_label_decl): Add GNAT_NODE parameter
and invoke gnat_pushdecl on it. Remove obsolete settings.
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Label>: Adjust call to
create_label_decl.
* gcc-interface/trans.c (gnat_to_gnu) <N_Null): Likewise. Ignore the
label for debugging purposes.
From-SVN: r183606
Eric Botcazou [Fri, 27 Jan 2012 08:53:38 +0000 (08:53 +0000)]
decl.c (gnat_to_gnu_entity): For an aliased object with an unconstrained nominal subtype and if...
* gcc-interface/decl.c (gnat_to_gnu_entity) <object>: For an aliased
object with an unconstrained nominal subtype and if optimization isn't
enabled, create a special VAR_DECL for debugging purposes.
From-SVN: r183605
Eric Botcazou [Fri, 27 Jan 2012 08:36:31 +0000 (08:36 +0000)]
stack_usage1.adb: New test.
* gnat.dg/stack_usage1.adb: New test.
* gnat.dg/stack_usage1_pkg.ad[sb]: New helper.
* gcc.dg/pr44194-1.c: Remove superfluous include directive.
* gcc.dg/pr44194-2.c: Likewise.
From-SVN: r183604
Sandra Loosemore [Fri, 27 Jan 2012 05:13:03 +0000 (00:13 -0500)]
invoke.texi: Correct usage of "command line" (noun) vs "command-line" (adjective) throughout.
2012-01-27 Sandra Loosemore <sandra@codesourcery.com>
gcc/
* doc/invoke.texi: Correct usage of "command line" (noun)
vs "command-line" (adjective) throughout.
From-SVN: r183603
Sandra Loosemore [Fri, 27 Jan 2012 03:33:17 +0000 (22:33 -0500)]
invoke.texi (Language Independent Options): Move -Wcoverage-mismatch blurb from here....
2012-01-27 Sandra Loosemore <sandra@codesourcery.com>
gcc/
* doc/invoke.texi (Language Independent Options): Move
-Wcoverage-mismatch blurb from here....
(Warning Options): ...to here.
From-SVN: r183602
Peter Bergner [Fri, 27 Jan 2012 02:45:51 +0000 (20:45 -0600)]
rs6000.c (rs6000_option_override_internal): Set rs6000_always_hint to false for 476.
* config/rs6000/rs6000.c (rs6000_option_override_internal):
Set rs6000_always_hint to false for 476.
From-SVN: r183601
Benjamin Kosnik [Fri, 27 Jan 2012 01:21:29 +0000 (01:21 +0000)]
configure.ac (GLIBCXX_ENABLE_DEBUG_FLAGS): Use -gdwarf-4 -g3 -O0.
2012-01-27 Benjamin Kosnik <bkoz@redhat.com>
Matthias Klose <doko@ubuntu.com>
* configure.ac (GLIBCXX_ENABLE_DEBUG_FLAGS): Use -gdwarf-4 -g3 -O0.
* configure.in: Regenerated.
* src/Makefile.am (all-once, install-data-once): New rules.
(all-local, install-data-local): Use them.
(build-debug, install-debug): Tweak.
* src/Makefile.in: Regenerate.
Co-Authored-By: Matthias Klose <doko@ubuntu.com>
From-SVN: r183599
GCC Administrator [Fri, 27 Jan 2012 00:19:08 +0000 (00:19 +0000)]
Daily bump.
From-SVN: r183598
Paolo Carlini [Fri, 27 Jan 2012 00:12:41 +0000 (00:12 +0000)]
re PR c++/51370 (ICE with invalid template parameter)
/cp
2012-01-26 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/51370
* error.c (dump_decl, [TEMPLATE_ID_EXPR]): Handle error_mark_node
as TREE_OPERAND (t, 1).
/testsuite
2012-01-26 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/51370
* g++.dg/template/crash112.C: New.
From-SVN: r183593
Matthias Klose [Thu, 26 Jan 2012 23:34:58 +0000 (23:34 +0000)]
gcc.c (add_sysrooted_prefix): Remove trailing dir separator from system root.
2012-01-27 Matthias Klose <doko@ubuntu.com>
* gcc.c (add_sysrooted_prefix): Remove trailing dir separator from
system root.
* incpath.c (add_standard_paths): Likewise.
From-SVN: r183591
Cary Coutant [Thu, 26 Jan 2012 22:58:11 +0000 (22:58 +0000)]
dwarf2.h (enum dwarf_form): Add Fission extensions.
* dwarf2.h (enum dwarf_form): Add Fission extensions.
(enum dwarf_attribute): Likewise.
From-SVN: r183588
Richard Henderson [Thu, 26 Jan 2012 22:07:44 +0000 (14:07 -0800)]
m68k: Convert to atomic_test_and_set.
* config/m68k/m68k.c (TARGET_ATOMIC_TEST_AND_SET_TRUEVAL): New.
* config/m68k/sync.md (atomic_test_and_set): Rename from
sync_test_and_setqi and adjust the operands.
(atomic_test_and_set_1): Rename from sync_test_and_setqi_1
and unconditionally enable.
From-SVN: r183585
Richard Henderson [Thu, 26 Jan 2012 22:04:54 +0000 (14:04 -0800)]
sparc: Fix atomic_test_and_set definition.
* config/sparc/sparc.c (TARGET_ATOMIC_TEST_AND_SET_TRUEVAL): New.
* config/sparc/sync.md (atomic_test_and_set): Only handle QImode.
(ldstub): Rename from ldstubqi.
(ldstub<I24MODE>): Remove.
From-SVN: r183584
Richard Henderson [Thu, 26 Jan 2012 22:01:17 +0000 (14:01 -0800)]
Update gcc.dg/atomic-flag.c test for non-boolean TAS targets.
* gcc.dg/atomic-flag.c: Adjust for __GCC_ATOMIC_TEST_AND_SET_TRUEVAL.
From-SVN: r183583
Richard Henderson [Thu, 26 Jan 2012 21:50:52 +0000 (13:50 -0800)]
libstdc++: Use __GCC_ATOMIC_TEST_AND_SET in atomic_flag.
* include/bits/atomic_base.h (__atomic_flag_base): Define _M_i
based on the value of __GCC_ATOMIC_TEST_AND_SET_TRUEVAL.
(ATOMIC_FLAG_INIT): Initialize with 0, not false.
(atomic_flag::atomic_flag): Use __GCC_ATOMIC_TEST_AND_SET_TRUEVAL.
From-SVN: r183582
Richard Henderson [Thu, 26 Jan 2012 21:48:27 +0000 (13:48 -0800)]
Define __GCC_ATOMIC_TEST_AND_SET_TRUEVAL
* target.def (TARGET_ATOMIC_TEST_AND_SET_TRUEVAL): New.
* c-cppbuiltin.c (cpp_atomic_builtins): Define
__GCC_ATOMIC_TEST_AND_SET_TRUEVAL.
* doc/tm.texi.in (TARGET_ATOMIC_TEST_AND_SET_TRUEVAL): Add doc hook.
* doc/tm.texi: Rebuild.
From-SVN: r183581
Richard Henderson [Thu, 26 Jan 2012 21:17:27 +0000 (13:17 -0800)]
Use maybe_expand_insn in maybe_emit_atomic_test_and_set.
* optabs.c (gen_atomic_test_and_set): Remove default.
(maybe_emit_atomic_test_and_set): Use maybe_expand_insn.
From-SVN: r183580
Ian Lance Taylor [Thu, 26 Jan 2012 21:06:06 +0000 (21:06 +0000)]
compiler: Don't make type fns for private fields in other packages.
From-SVN: r183579
Ian Lance Taylor [Thu, 26 Jan 2012 20:24:01 +0000 (20:24 +0000)]
libgo: Build stubs for some syscall functions not on older systems.
From-SVN: r183577
Andreas Krebbel [Thu, 26 Jan 2012 16:49:21 +0000 (16:49 +0000)]
reassoc_4.f: Use dg-additional-options.
2012-01-26 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* gfortran.dg/reassoc_4.f: Use dg-additional-options.
From-SVN: r183570
Jakub Jelinek [Thu, 26 Jan 2012 15:52:55 +0000 (16:52 +0100)]
re PR rtl-optimization/51978 (ext-elim-1.c ICE on powerpc64)
PR rtl-optimization/51978
* ree.c (make_defs_and_copies_lists): Change set_pat type
to const_rtx.
(combine_reaching_defs): Likewise.
(struct re_info): Remove.
(add_removable_extension): Remove x and data arguments,
add insn, insn_list and def_map. Use the arguments directly
instead of using struct re_info.
(find_removable_extensions): Don't call add_removable_extension
through note_stores, instead just call it with single_set
result if non-NULL.
(find_and_remove_re): Pass curr_cand->expr instead of
PATTERN (curr_cand->insn) as set_pat argument to
combine_reaching_defs.
From-SVN: r183567
Michael Matz [Thu, 26 Jan 2012 15:50:33 +0000 (15:50 +0000)]
re PR tree-optimization/46590 (long compile time with -O2 and many loops)
PR tree-optimization/46590
* cfgexpand.c: Revert last change (r183305).
* gimplify.c (gimplify_bind_expr): Add clobbers for all non-gimple
regs.
* tree-eh.c (cleanup_empty_eh): Try to optimize clobbers before
checking for emptiness.
From-SVN: r183566
Jakub Jelinek [Thu, 26 Jan 2012 14:26:25 +0000 (15:26 +0100)]
make-relative-prefix.c (make_relative_prefix_1): Avoid warning about using preprocessor directives inside of macro arguments.
* make-relative-prefix.c (make_relative_prefix_1): Avoid warning
about using preprocessor directives inside of macro arguments.
From-SVN: r183561
Jakub Jelinek [Thu, 26 Jan 2012 14:09:29 +0000 (15:09 +0100)]
re PR middle-end/51895 (ICE in simplify_subreg)
PR middle-end/51895
* expr.c (expand_expr_real_1): Handle BLKmode MEM_REF of
non-addressable non-BLKmode base correctly.
* g++.dg/opt/pr51895.C: New test.
From-SVN: r183560
Michael Matz [Thu, 26 Jan 2012 13:24:58 +0000 (13:24 +0000)]
re PR tree-optimization/48794 (ICE: SIGSEGV in remap_eh_region_nr (tree-inline.c:1194) with -Os -fopenmp -fexceptions -fno-tree-ccp -fno-tree-copy-prop)
PR tree-optimization/48794
* tree-eh.c (remove_unreachable_handlers_no_lp): Don't remove
regions referenced from RESX/EH_DISPATCH.
testsuite/
* gfortran.dg/gomp/pr48794-2.f90: New testcase.
From-SVN: r183559
Andreas Krebbel [Thu, 26 Jan 2012 11:51:03 +0000 (11:51 +0000)]
ssa-dom-thread-4.c: Set -mbranch-cost=2 for s390 and s390x.
2012-01-26 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* gcc.dg/ssa-dom-thread-4.c: Set -mbranch-cost=2 for s390 and
s390x.
From-SVN: r183557
Jakub Jelinek [Thu, 26 Jan 2012 10:55:12 +0000 (11:55 +0100)]
re PR bootstrap/51985 (Bootstrap failure due to revision 183457)
PR bootstrap/51985
* src/c++98/Makefile.am (libc__98_la_SOURCES,
libc__98convenience_la_SOURCES): Remove $(inst_sources).
* src/c++98/Makefile.in: Regenerated.
From-SVN: r183556
Andreas Krebbel [Thu, 26 Jan 2012 10:04:43 +0000 (10:04 +0000)]
s390.h: Make BRANCH_COST an option.
2012-01-26 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* config/s390/s390.h: Make BRANCH_COST an option.
* config/s390/s390.opt: New option -mbranch-cost.
2012-01-26 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* gcc.dg/pr46309.c: Set branch-cost to 2 for s390 and s390x.
* gcc.dg/pr44194-1.c: Disable since s390 returns structs always in
memory.
* gfortran.dg/reassoc_4.f: Force max-completely-peeled-insns to
the default value for s390 and s390x.
From-SVN: r183555
Ian Lance Taylor [Thu, 26 Jan 2012 05:43:42 +0000 (05:43 +0000)]
libgo/mksysinfo: Always define IPV6_TCLASS.
From-SVN: r183552
Ian Lance Taylor [Thu, 26 Jan 2012 01:08:20 +0000 (01:08 +0000)]
libgo/mksysinfo: Correct typo.
From-SVN: r183549
GCC Administrator [Thu, 26 Jan 2012 00:18:57 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r183547
Ian Lance Taylor [Wed, 25 Jan 2012 23:13:36 +0000 (23:13 +0000)]
Remove a couple of object files committed by accident.
From-SVN: r183542
Tobias Burnus [Wed, 25 Jan 2012 22:21:14 +0000 (23:21 +0100)]
re PR fortran/51995 ([OOP] Polymorphic class fails at runtime)
2012-01-25 Tobias Burnus <burnus@net-b.de>
PR fortran/51995
* class.c (gfc_build_class_symbol): Fix invalid freeing
issue with fclass->f2k_derived.
From-SVN: r183541
Ian Lance Taylor [Wed, 25 Jan 2012 21:54:22 +0000 (21:54 +0000)]
libgo: Update to weekly.2012-01-20.
From-SVN: r183540
Ian Lance Taylor [Wed, 25 Jan 2012 20:56:26 +0000 (20:56 +0000)]
libgo: Update to weekly.2012-01-15.
From-SVN: r183539
Richard Henderson [Wed, 25 Jan 2012 20:35:34 +0000 (12:35 -0800)]
Revert * trans-mem.c (requires_barrier): Do not instrument thread local
variables and emit save/restore for them.
From-SVN: r183538
Aldy Hernandez [Wed, 25 Jan 2012 20:32:57 +0000 (20:32 +0000)]
re PR lto/51698 ([trans-mem] TM runtime and application with LTO)
PR lto/51698
* builtin-types.def: (BT_CONST_DOUBLE_PTR): New.
(BT_FN_VOID_PTR_CONST_PTR_SIZE): New.
(BT_FN_VOID_PTR_INT_SIZE): New.
(BT_FN_UINT_UINT_VAR): Remove.
(BT_FN_UINT32_UINT32_VAR): New.
(BT_FN_DOUBLE_VPTR): Remove.
(BT_FN_DOUBLE_CONST_DOUBLE_PTR): New.
* gtm-builtins.def (_ITM_abortTransaction): Set return type to
void.
(_ITM_changeTransactionMode): Same.
(_ITM_memmoveRtWt): Change return type to void.
(_ITM_memcpyRtWt): Same.
(_ITM_memsetW): Same.
(_ITM_RaRD): Change types to double.
(_ITM_RD): Same.
(_ITM_RaWD): Same.
(_ITM_RfWD): Same.
* builtins.def (DEF_TM_BUILTIN): Set BOTH_P to true.
testsuite/
PR lto/51698
* gcc.dg/lto/trans-mem-4_0.c: New.
* gcc.dg/lto/trans-mem-4_1.c: New.
* gcc.dg/lto/trans-mem-2_0.c: Provide correct argument types for
TM builtins.
* gcc.dg/lto/trans-mem-1_0.c: Require stdint_types.
* gcc.dg/lto/trans-mem-1_1.c: Provide correct argument types for
TM builtins.
* gcc.dg/lto/trans-mem-3_0.c: Require stdint_types.
* gcc.dg/lto/trans-mem-3_1.c: Provide correct argument types for
TM builtins.
From-SVN: r183537
Jakub Jelinek [Wed, 25 Jan 2012 20:22:53 +0000 (21:22 +0100)]
re PR middle-end/51986 (uninitialized variable warning regression prevents bootstrap)
PR middle-end/51986
* sched-deps.c (sched_get_condition_with_rev_uncached): Don't test
for pat == 0.
From-SVN: r183536