• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: Spurious warnings
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Spurious warnings


  • Subject: Re: Spurious warnings
  • From: Matt Gough <email@hidden>
  • Date: Tue, 22 Jul 2008 10:41:08 +0200


On 22 Jul 2008, at 10:24am, Jean-Daniel Dupas wrote:



On Jul 22, 2008, at 6:57 AM, Jens Alfke wrote:

Maybe you should post an example of code that produces the warning.

This is a nice one:

HIRect	shapeBounds;

drawRect = CGRectMake( 0.0f, 0.0f, shapeBounds.size.width, shapeBounds.size.height );

warning: passing argument 1 of 'CGRectMake' as 'float' rather than 'double' due to prototype
warning: passing argument 2 of 'CGRectMake' as 'float' rather than 'double' due to prototype
warning: passing argument 3 of 'CGRectMake' as 'float' rather than 'double' due to prototype
warning: passing argument 4 of 'CGRectMake' as 'float' rather than 'double' due to prototype


CGGeometry.h:
CG_INLINE CGRect CGRectMake(CGFloat x, CGFloat y, CGFloat width, CGFloat height);


CGBase.h:
typedef float CGFloat;

HIRect is also made of float fields.

Jan E.


As already said, that's expected.
This warning says that the argument is converted because of the prototype declaration.
If the arg type was not defined in the prototype (like in a variadic functions) , it will be a double an not a float.


But as the original subject of this thread says, this is surely a spurious warning, as he is passing floats into a function that takes floats and only uses the parameters as floats in the implementation.

I could understand it if he was doing this with his parameters:

drawRect = CGRectMake(	0.0,	// Double -> float
			1,	// integer -> float
 			shapeBounds.size.width * 2.0f,	// Double temporary -> float
			shapeBounds.size.height + 0.5	// Ditto
			);

I haven't checked, but maybe the ABI wants floating point params to always be doubles and this warning is really telling you this?

Matt

_______________________________________________
Do not post admin requests to the list. They will be ignored.
Xcode-users mailing list      (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden


  • Follow-Ups:
    • Re: Spurious warnings
      • From: Jean-Daniel Dupas <email@hidden>
    • Re: Spurious warnings
      • From: "Jan E. Schotsman" <email@hidden>
References: 
 >Re: Spurious warnings (From: "Jan E. Schotsman" <email@hidden>)
 >Re: Spurious warnings (From: Jean-Daniel Dupas <email@hidden>)

  • Prev by Date: Re: Spurious warnings
  • Next by Date: Re: Spurious warnings
  • Previous by thread: Re: Spurious warnings
  • Next by thread: Re: Spurious warnings
  • Index(es):
    • Date
    • Thread