delcypher added inline comments.

================
Comment at: compiler-rt/lib/ubsan/ubsan_value.cpp:29
+const char *__ubsan::getObjCClassName(ValueHandle Pointer) {
+#if defined(__APPLE__)
+  // We need to query the ObjC runtime for some information, but do not want
----------------
vsk wrote:
> delcypher wrote:
> > vsk wrote:
> > > delcypher wrote:
> > > > The compiler-rt codebase tends to use `SANITIZER_MAC` macro (defined to 
> > > > be 1 if Apple otherwise it's 0) rather than `__APPLE__`.
> > > I see. That seems problematic, as it makes it tricky to add 
> > > macOS-specific (or iOS-specific) functionality down the road. I don't 
> > > think SANITIZER_MAC should be defined unless TARGET_OS_MACOS is true.
> > Sorry I should clarify. `SANITIZER_MAC` is poorly named but it is defined 
> > to be `1` for Apple platforms and `0`. I'm just pointing out the convention 
> > that exists today. You're absolutely right that we might want to do 
> > different things for different Apple platforms but I don't think we want to 
> > start doing a mass re-name until arm64e and arm64_32 support are completed 
> > landed in llvm's master.
> I think 'SANITIZER_MAC' is confusing, and my preference would be to not use 
> it. `__APPLE__` seems clearer to me, and (IIUC) the plan is to replace usage 
> of 'SANITIZER_MAC' with it down the line anyway?
There aren't any plans to do it right now but cleaning this up seems like a 
reasonable thing to do. If you take a look at 
`compiler-rt/lib/sanitizer_common/sanitizer_platform.h` you'll see that we 
actually have `SANITIZER_<platform>` for the other platforms that seems to be 
set as you'd expect. It's just `SANITIZER_MAC` that's badly named.

I've filed a radar for this issue (rdar://problem/58124919). So if you prefer 
to use `__APPLE__` could you leave a comment with something like

```
// TODO(dliew): Don't use unclear `SANITIZER_MAC` here. Instead wait for its 
replacement rdar://problem/58124919.
```

Note the `TODO(<name>):` style is enforced by the sanitizer specific linter so 
you have to put a name there.


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

https://reviews.llvm.org/D71491



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

Reply via email to