FWIW, I don’t see this in Objective-C++ either. Saagar Jha
> On Oct 23, 2018, at 17:54, James Walker <jam...@frameforge3d.com> wrote: > > On 10/23/18 5:36 PM, Saagar Jha wrote: >> Saagar Jha >>> On Oct 23, 2018, at 17:15, James Walker <jam...@frameforge3d.com >>> <mailto:jam...@frameforge3d.com>> wrote: >>> >>> On 10/23/18 3:12 PM, Saagar Jha wrote: >>>> What build command are you using? I’m not seeing any warnings with this >>>> code, compiled with clang -x objective-c -framework AppKit >>>> -Wunguarded-availability -mmacosx-version-min=10.9 - : >>> >>> If you compile with a deployment version of 10.9, I don't know if it even >>> bothers to look at the else clause. Try -mmacosx-version-min=10.8. >> Oops, that was a typo. I meant -mmacosx-version-min=10.8. Either way, >> @available is checked at runtime, so both cases must be compiled anyways. >>>> >>>> #import <AppKit/AppKit.h> >>>> >>>> int main() { >>>> NSPrintInfo *info; >>>> if (@available(macOS 10.9, *)) { >>>> info.orientation = NSPaperOrientationPortrait; >>>> } else { >>>> info.orientation = NSPortraitOrientation; >>>> } >>>> } >>>> >>>> Regardless, if you really need a fix, you should be able to cast through >>>> NSInteger, instead of NSPrintingOperation, as a fallback. >>> >>> I'm not sure what you mean by "cast through NSInteger", but if I say >>> >>> info.orientation = (NSInteger) NSPortraitOrientation; >>> >>> then there's an error, "assigning to NSPaperOrientation from incompatible >>> type NSInteger (aka long)”. >> I’m not seeing that error at all, even with -Wall -Wextra. What flags are >> you using? > > > Hmm, it appears to be because I'm using Objective-C++. When I put that line > in a .m file, there was no error. > > >>> >>>> >>>> Saagar Jha >>>> >>>>> On Oct 23, 2018, at 15:01, James Walker <jam...@frameforge3d.com >>>>> <mailto:jam...@frameforge3d.com>> wrote: >>>>> >>>>> I had some code like this >>>>> >>>>> pInfo.orientation = NSPaperOrientationPortrait; >>>>> >>>>> where pInfo is of type NSPrintInfo*. When compiling with >>>>> -Wunguarded-availability, I got a warning saying that >>>>> NSPaperOrientationPortrait is only available on macOS 10.9 and later. So >>>>> I wanted to change it to: >>>>> >>>>> if (@available( macOS 10.9, * )) >>>>> { >>>>> pInfo.orientation = NSPaperOrientationPortrait; >>>>> } >>>>> else >>>>> { >>>>> pInfo.orientation = NSPortraitOrientation >>>>> } >>>>> >>>>> But then I get an error, "assigning to NSPaperOrientation from >>>>> incompatible type NSPrintingOrientation". If I fix the error by adding a >>>>> typecast to NSPaperOrientation, then I get a warning that >>>>> NSPaperOrientation is only available on 10.9 and later. Is there any way >>>>> out of this roundabout, other than using a later deployment target? >>> > _______________________________________________ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com