Hi Nathan, > On Apr 5, 2017, at 8:18 AM, Nathan Sidwell <nat...@acm.org> wrote: > > Here's a completed patch. Bill, if you could regression test it, that'd be > great! (feel free to augment the testcase)
Thanks for the patch! Looks like there are some compile problems. I can fix "resut", but not sure what the intent is for "canonical": In file included from /home/wschmidt/gcc/gcc-mainline-test/gcc/config/rs6000/rs6 000.c:26:0: /home/wschmidt/gcc/gcc-mainline-test/gcc/config/rs6000/rs6000.c: In function 'tr ee_node* rs6000_vt(const char*, tree, unsigned int)': /home/wschmidt/gcc/gcc-mainline-test/gcc/config/rs6000/rs6000.c:17267:31: error: 'canonical' was not declared in this scope tree orig_name = TYPE_NAME (canonical); ^ /home/wschmidt/gcc/gcc-mainline-test/gcc/tree.h:296:21: note: in definition of m acro 'TREE_CLASS_CHECK' (tree_class_check ((T), (CLASS), __FILE__, __LINE__, __FUNCTION__)) ^ /home/wschmidt/gcc/gcc-mainline-test/gcc/tree.h:1840:26: note: in expansion of m acro 'TYPE_CHECK' #define TYPE_NAME(NODE) (TYPE_CHECK (NODE)->type_common.name) ^~~~~~~~~~ /home/wschmidt/gcc/gcc-mainline-test/gcc/config/rs6000/rs6000.c:17267:20: note: in expansion of macro 'TYPE_NAME' tree orig_name = TYPE_NAME (canonical); ^~~~~~~~~ /home/wschmidt/gcc/gcc-mainline-test/gcc/config/rs6000/rs6000.c:17280:10: error: 'resut' was not declared in this scope return resut; ^~~~~ Bill > > Richard, rather than copy set_underlying_type's type cloning I added a check > in it for error_mark_node as the existing name. If you'd prefer that remain > unchanged, I can duplicate the type cloning into rs6000_vt itself. > > nathan > > -- > Nathan Sidwell > <ppc-79905.diff>