On Fri, Dec 2, 2022 at 8:43 AM Richard Biener <richard.guent...@gmail.com> wrote: > > On Fri, Dec 2, 2022 at 1:23 AM Zopolis0 <creatorsmith...@gmail.com> wrote: > > > > > But that looks like the correct thing to do. > > > > It's not. The patch I reverted changes it so that no matter what, > > void_list_node = build_tree_list (NULL_TREE, void_type_node);. > > > > Before, each front-end set it in their own way, but they all set it > > via void_list_node = build_tree_list (NULL_TREE, void_type_node); or a > > synonym anyway. So while the patch made sense in a java-free context, > > given that java sets it a different way, I can't see a world in which > > this commit stays active and Java works, unless we find a way to set > > it in tree.cc for every language except Java. > > The middle-end expects it to be this way, it's not correct for a frontend > to define it in other ways. That means you need to try to understand > _why_ the frontend isn't happy with the middle-ends definition. > > How does Java build end_params_node?
Looking at the 4.7 tree it does decl.c: end_params_node = tree_cons (NULL_TREE, void_type_node, NULL_TREE); that's exactly the same. > Richard.