GMNGeoffrey added inline comments.

================
Comment at: clang/include/clang/Basic/Builtins.def:1059
+#undef strcasecmp
+#undef strncasecmp
+
----------------
chandlerc wrote:
> thakis wrote:
> > Why do we need this with bazel but not with other windows builds?
> I don't know how this never was hit by other builders. I don't usually 
> develop on Windows so I have very little experience with different builds 
> there.
> 
> My guess is that it is the particular way that Bazel+clang-cl compile on 
> Windows causes sligthtly more to be transitively included with `#include 
> <windows.h>` and that grows the number of functions hit with this. I thought 
> about trying to "fix" that, but the existing `#undef` lines made me think it 
> wouldn't be completely successful.
> 
> Are you worried about the change? Looking for a different fix?
Yeah I want to note that my review is basically only for the Bazel stuff. This 
looked fine to me based on the existing `undef`s, but mostly trusting Chandler 
to determine that this is OK and isn't in the territory of the Bazel build 
requiring unsavory things in the core project.


================
Comment at: utils/bazel/llvm-project-overlay/llvm/cc_plugin_library.bzl:33
+    for impl_name in [dll_name, dylib_name, so_name]:
+        cc_binary(
+            name = impl_name,
----------------
chandlerc wrote:
> GMNGeoffrey wrote:
> > What about this makes `binary_alias` no longer work?
> The `output_group` in the subsequent `filegroup`. It requires the actions in 
> the sources to have a correctly named `output_group`, which `cc_binary` with 
> `linkshared` does.
> 
> It's possible that I could just rename things enough by adding multiple 
> layers of file groups and maybe some added "copy this file" rules... But I'm 
> worried that wouldn't work well long term. For example, it seems reasonable 
> for the `.lib` file to *name* the `.dll` file that should be loaded. And so 
> if we build it with `cc_binary` that has the wrong name, I'm worried things 
> won't work as expected. I have higher confidence in this arrangement where 
> the `cc_binary` directly produces the desired name.
> 
> Something like that actually happened when I tried a different way of wiring 
> this up that still used the `binary_alias` on Linux -- it ended up actually 
> loading `liblibclang_impl.so` and not `libclang.so`. That was a different 
> setup, so maaaybe I wouldn't hit that exact situation, but its the kind of 
> thing that inclined me towards this model.
That's sufficiently convincing. Hopefully some layer will figure out these are 
all the same and not build the same thing 3 times 🤞


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D112399/new/

https://reviews.llvm.org/D112399

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to