react-native/ReactCommon/yoga
Alexey Kozhevnikov d9792b3e59 Exclude cpp equality operators from `extern "C"`
Summary:
`extern "C"` disables name mangling, hence input parameter types does not influence the name. That makes it impossible to have several equality operators with `extern "C"` linkage (for different types).

One such operator is defined in Windows SDK, in `guiddef.h`. It in turn is included in `winnt.h` inside `extern "C" { ... }` block. Trying to compile file which both is dependent both on `winnt.h` and `Yoga.h` results in:
```
Yoga.h(50): error C2733: 'operator ==': second C linkage of overloaded function not allowed
guiddef.h(192): note: see declaration of 'operator =='
```

In general it doesn't make much sense to have cpp specific operator to have `extern "C"` linkage, so the change doesn't introduce any controlling flag (mangling on/off).

Note that it's breaking binary compatibility and yoga library should be rebuilt if those operators are used.

Reviewed By: milend

Differential Revision: D10418395

fbshipit-source-id: 2f1cccff26165e638b9a07eece07d94fccfa5e5a
2018-10-18 08:44:45 -07:00
..
yoga Exclude cpp equality operators from `extern "C"` 2018-10-18 08:44:45 -07:00
Android.mk Bump Android NDK to r17b (#20357) 2018-07-30 14:02:11 -07:00
BUCK Move RN's DEFS.bzl to tools and rename to rn_defs.bzl 2018-08-29 13:21:52 -07:00
yoga.podspec iOS OSS: update podspec's to target iOS 9.0 2018-05-23 06:16:00 -07:00