Re: Why this results in Error: Syntax error in input(3).
| Newsgroups | gmane.comp.programming.swig |
|---|---|
| Message-ID | <[email protected]> |
Otan. > On 31. Dec 2021, at 8.40, [email protected] wrote: > > > Hi, > > in this file: > > https://github.com/nyholku/swig-experiments/blob/master/Patched_Standard_Handle.hxx > > if I uncomment lines 216-218 and delete line 219, ie if I change: > > #if 1 > > to (as it was in the original un patched file): > > #if (defined(__clang__)) || (defined(__INTEL_COMPILER) && __INTEL_COMPILER >= 1300) || \ > (defined(_MSC_VER) && _MSC_VER >= 1800) || \ > (defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6))) > > > I get > > ../Patched_Standard_Handle.hxx:229: Error: Syntax error in input(3). > > why SWIG chokes on that? > > This is even more weird to me because in lines 240-242 exactly same #if works (AFAIU). > > The whole problematic #if/#else#endif section from lines 216 to 235 is here for reference: > > //#if (defined(__clang__)) || (defined(__INTEL_COMPILER) && __INTEL_COMPILER >= 1300) || \ > // (defined(_MSC_VER) && _MSC_VER >= 1800) || \ > // (defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6))) > #if 1 > > //! Conversion to bool for use in conditional expressions > explicit operator bool () const > { > return entity != nullptr; > } > > #else /* fallback version for compilers not supporting explicit conversion operators (VC10, VC11, GCC below 4.5) */ > > //! Conversion to bool-compatible type for use in conditional expressions > operator Standard_Transient* handle::* () const > { > return entity ? &handle::entity : 0; > } > > #endif > > wbr Kusti > > > > _______________________________________________ > Swig-user mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/swig-user