On Tue, Jun 17, 2014 at 8:40 AM, Thomas Schwinge <tho...@codesourcery.com> wrote: > Hi! > > On Thu, 12 Jun 2014 06:33:25 +0200, Jan Hubicka <hubi...@ucw.cz> wrote: >> this lenghtly patch makes the legwork to put section names out of tree >> representation. >> Originally they were STRING_CST. I ended up implementing on-side reference >> counted >> string voclabulary that is done in bit baroque way to be GGC and PCH safe >> (uff). > > As reported in <https://gcc.gnu.org/PR61508>, this causes a build failure > with --enable-checking=fold: > > /home/dimhen/src/gcc_current/gcc/fold-const.c: In function 'void > fold_checksum_tree(const_tree, md5_ctx*, hash_table<pointer_hash<tree_node>)': > /home/dimhen/src/gcc_current/gcc/fold-const.c:14863:55: error: cannot > convert 'const char*' to 'const_tree {aka const tree_node*}' for argument '1' > to 'void fold_checksum_tree(const_tree, md5_ctx*, > hash_table<pointer_hash<tree_node> >)' > fold_checksum_tree (DECL_SECTION_NAME (expr), ctx, ht); > > From light testing the following seems to get around this -- is it the > appropriate fix?
Yes. This is ok. Thanks, Richard. > diff --git gcc/fold-const.c gcc/fold-const.c > index 24daaa3..978b854 100644 > --- gcc/fold-const.c > +++ gcc/fold-const.c > @@ -14859,8 +14859,6 @@ fold_checksum_tree (const_tree expr, struct md5_ctx > *ctx, > fold_checksum_tree (DECL_ABSTRACT_ORIGIN (expr), ctx, ht); > fold_checksum_tree (DECL_ATTRIBUTES (expr), ctx, ht); > } > - if (CODE_CONTAINS_STRUCT (TREE_CODE (expr), TS_DECL_WITH_VIS)) > - fold_checksum_tree (DECL_SECTION_NAME (expr), ctx, ht); > > if (CODE_CONTAINS_STRUCT (TREE_CODE (expr), TS_DECL_NON_COMMON)) > { > > > Grüße, > Thomas