https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106654
--- Comment #7 from Aldy Hernandez <aldyh at gcc dot gnu.org> --- You could provide an API to access the different relations that hold in either the outline function, or the .IFN_ASSUME construct. Then ranger could use that API to access and record the different assertions. I'd hate for ranger to have to deconstruct some functions for clues. Silly question, why can't you expand the [[assume]] construct into: if (x > 5) __builtin_unreachable (); ...like we always have. Then no changes are needed to ranger :). Or does this have to do with the whole side-effect thing?