On Wed, May 31, 2017 at 12:54:24PM -0400, Nathan Sidwell wrote: > This patch reworks how decl_decomposition is marked. With the new > lang_decl_decomp struct, the selector grew another used but -- which > affected me on the modules branch. however, we can use that use selector > value in place of the decompostion_p bitfield. > > This patch makes that change, but it also replaces the use of magic > constants [0-4] with an enumeration. > > Rather than have retrofit_lang_decl know about decomposition conversion, I > broke out a fit_decomposition_lang_decl function for just that purpose. > > The other change I made is breaking out new maybe_add_lang_decl_raw and > maybe_add_lang_type_raw functions. On the modules branch I need to recreate > the lang_decl/lang_type nodes, but based on an untrustworth binary file. So > we don't want to assert if they're called incorrectly. I was going to leave > that on the modules branch, until Jakub altered retrofit_lang_decl, and I > had a more complicated merge. > > Jakub, I discovered that fit_decomposition_lang_decl can get called > repeatedly on the same var but with different base vars. Is that expected?
That is weird, that sounds like a bug somewhere? Which testcase is it on? > 2017-05-31 Nathan Sidwell <nat...@acm.org> > > * cp-tree.h (lang_decl_slector): New enum. selector? Jakub