Message ID | 87lhswhwdf.fsf@kepler.schwinge.homeip.net |
---|---|
State | New |
Headers | show |
On Tue, Jun 17, 2014 at 8:40 AM, Thomas Schwinge <thomas@codesourcery.com> wrote: > Hi! > > On Thu, 12 Jun 2014 06:33:25 +0200, Jan Hubicka <hubicka@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
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)) {