<div dir="ltr"><div class="gmail_quote"><div dir="ltr">On Thu, Nov 9, 2017 at 12:43 AM David Blaikie <<a href="mailto:dblaikie@gmail.com">dblaikie@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hey Manuel,<br><br>In an effort to apply Modular Code Generation to Clang internally, I came across the fact that this header contains a bunch of internal linkage variables. (now, maybe modular code generation should be compatible with internal linkage namespace-scoped variables... I'm looking into that)<br><br>These variables technically create ODR violations any time they're ODR-used in another inline function used in more than one translation unit.<br><br>Is there a good way we could fix this header so it doesn't create ODR violations (hopefully by not containing internal linkage entities)? I mean one simple solution is to declare all these things in a header and define them out of line. Since they have no actual state, that's probably pretty low-cost except for a lot of duplication. I'm happy to use a .def/.inc file to help remove a bunch of that duplication, if useful.<br></div></blockquote><div><br></div><div>I remember having that argument a long time ago with somebody (perhaps Sam (cc'ed)?)</div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
</blockquote></div></div>