Andreas Krebbel <[EMAIL PROTECTED]> writes: > mainline bootstrap on s390 currently fails with: > > build/genmddeps ../../gcc/config/s390/s390.md > tmp-mddeps > ../../gcc/config/s390/s390.md:2041: undefined attribute 'DBL<D0>' used for > mode > ../../gcc/config/s390/s390.md:2041: following context is `' > > DBL is a macro attribute defined as: > > (define_mode_attr DBL [(DI "TI") (SI "DI")]) > > The pattern in question is: > > (define_insn "*clrmem_long" > [(clobber (match_operand:<DBL> 0 "register_operand" "=d")) > (set (mem:BLK (subreg:P (match_operand:<DBL> 2 "register_operand" "0") 0)) > (const_int 0)) > (use (match_dup 2)) > (use (match_operand:<DBL> 1 "register_operand" "d")) > (clobber (reg:CC CC_REGNUM))] > "" > "mvcle\t%0,%1,0\;jo\t.-4" > [(set_attr "length" "8") > (set_attr "type" "vs")]) > > I think the problem lies in genmddeps. genmddeps seems to randomly complain > about > uses of the DBL attribute. Always with an again randomly appended character > at the > end of the macro name in the error message. > > At first glance it appears like a string null termination problem so I've > added:
Sorry about that. Braino on my part. I'm committing this patch as the obvious fix. Please let me know if you still have trouble. Ian 2005-05-18 Ian Lance Taylor <ian@airs.com> * read-rtl.c (mode_attr_index): Use obstack_grow0, not obstack_grow. Index: read-rtl.c =================================================================== RCS file: /cvs/gcc/gcc/gcc/read-rtl.c,v retrieving revision 1.38 diff -p -u -r1.38 read-rtl.c --- read-rtl.c 17 May 2005 12:50:32 -0000 1.38 +++ read-rtl.c 18 May 2005 13:42:28 -0000 @@ -320,7 +320,7 @@ mode_attr_index (struct map_value **mode /* Copy the attribute string into permanent storage, without the angle brackets around it. */ - obstack_grow (&string_obstack, string + 1, strlen (string) - 2); + obstack_grow0 (&string_obstack, string + 1, strlen (string) - 2); p = (char *) obstack_finish (&string_obstack); mv = XNEW (struct map_value);