<div dir="ltr">Yea, it's fine either way.  I was just looking at it from the perspective of minimizing differences from the master copy in LLVM.  Definitely having headers be self-contained is worthy, but it comes at the (very small) expense of adding an extra difference from the master copy.  That said, I don't feel strongly, so if you want me to add it, that's fine.</div><br><div class="gmail_quote"><div dir="ltr">On Fri, Jul 20, 2018 at 9:39 AM Erik Pilkington via Phabricator <<a href="mailto:reviews@reviews.llvm.org">reviews@reviews.llvm.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">erik.pilkington added a comment.<br>
<br>
In <a href="https://reviews.llvm.org/D49575#1169729" rel="noreferrer" target="_blank">https://reviews.llvm.org/D49575#1169729</a>, @llvm-commits wrote:<br>
<br>
> Or just doing nothing. It’s a private header and is only included in 1 TU.<br>
>  In that fine, cxxabi-config is already included first<br>
<br>
<br>
I guess we're starting to split hairs here, but I think its better to make headers self-contained rather then implicitly relying on #include ordering, even for a one-off header like this.<br>
<br>
<br>
<br>
================<br>
Comment at: libcxxabi/src/demangle/Compiler.h:23<br>
+#ifndef NDEBUG<br>
+#if __has_attribute(noinline) && __has_attribute(used)<br>
+#define DUMP_METHOD __attribute__((noinline, used))<br>
----------------<br>
thakis wrote:<br>
> erik.pilkington wrote:<br>
> > This depends on `__cxxabi_config.h` to make sure that `__has_attribute` is defined on compilers that don't support it. Please add the include.<br>
> Is there any harm to just #ifndef #def here instead of pulling in that whole header?<br>
No, that would be fine too.<br>
<br>
<br>
<a href="https://reviews.llvm.org/D49575" rel="noreferrer" target="_blank">https://reviews.llvm.org/D49575</a><br>
<br>
<br>
<br>
</blockquote></div>