On Tue, 2010-01-26 at 05:49 -0800, Roland Scheidegger wrote:
> On 26.01.2010 09:18, Marvin wrote:
> > Jose, Brian,
> >
> >> Marc,
> >>
> >> Why is this necessary? It has been working fine so far. Which gcc version
> >> are you using? What commas are you referring to?
> >
> > the PIPE_ALIGN_TYPE macro is so far only used in the cell driver in
> > src/gallium/drivers/cell/spu/spu_main.c (this is probably why no one
> > noticed it).
> >
> > The marco takes a type, a stuct in this case, which can include commas:
> >
> > PIPE_ALIGN_TYPE(16,
> > struct spu_framebuffer
> > {
> > void *color_start; /**< addr of color surface in main
> > memory */
> > void *depth_start; /**< addr of depth surface in main
> > memory */
> > enum pipe_format color_format;
> > enum pipe_format depth_format;
> > uint width, height; /**< size in pixels */
> > ^^^
> >
> > uint width_tiles, height_tiles; /**< width and height in tiles */
> > ^^^
> >
> > uint color_clear_value;
> > uint depth_clear_value;
> >
> > uint zsize; /**< 0, 2 or 4 bytes per Z */
> > float zscale; /**< 65535.0, 2^24-1 or 2^32-1 */
> > });
> >
> > This will cause a problem, as the macro will thread each comma as an
> > argument
> > seperator and thus the number of arguments is larger than 2.
>
> Hmm, maybe could just avoid the problem by not using commas in the
> struct declaration?
I agree with Roland. It seems the lesser evil.
Marc, thanks for the detailed explanation.
Jose
------------------------------------------------------------------------------
The Planet: dedicated and managed hosting, cloud storage, colocation
Stay online with enterprise data centers and the best network in the business
Choose flexible plans and management services without long-term contracts
Personal 24x7 support from experience hosting pros just a phone call away.
http://p.sf.net/sfu/theplanet-com
_______________________________________________
Mesa3d-dev mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mesa3d-dev