Re: Compiler issue Microsoft Visual C ++ 7.01 - BOOLEAN_ELEMENT (small, "small")

"Stephen F. Booth" <[email protected]> Sat, 29 Jan 2005 13:00:08 -0500
Newsgroups gmane.comp.gcc.cgicc.bugs
Message-ID <[email protected]>
--===============0954270888==
Content-Type: multipart/signed; boundary="nextPart1740273.hxlDmTyIuY";
	protocol="application/pgp-signature"; micalg=pgp-sha1
Content-Transfer-Encoding: 7bit

--nextPart1740273.hxlDmTyIuY
Content-Type: text/plain;
  charset="windows-1252"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

Is there a way to tell with the preprocessor if one is using the MIDL compi=
ler=20
and add a #if /#else / #endif around the small to conditionally rename it t=
o=20
something else?  (It sounds like from the excerpt you included that the MID=
L=20
is its own compiler, not simply a header file or set of interfaces).

Stephen

On Friday 28 January 2005 11:12, Jean ANDRE wrote:
> Hello,
>
> I got a compile error in your macro under Microsoft Visual C++ 7.1 under
> Windows 2000.
>
> The problem is that the small is a reserved keyword for Microsoft
> Interface Definition Language (MIDL) ????
>
> If I comment the code or if I renamed small into whatever it is ok.
>
> So my question is how to resolve properly this issue to still using the
> small element ?
>
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3DERROR REPOR=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
> d:\programs\gnu\cgicc-3.2.3\cgicc\HTMLClasses.h(185) : error C2065:
> 'smallTag' : undeclared identifier
> d:\programs\gnu\cgicc-3.2.3\cgicc\HTMLClasses.h(185) : error C2955:
> 'cgicc::HTMLBooleanElement' : use of class template requires template
> argument list
> d:\programs\gnu\cgicc-3.2.3\cgicc\HTMLBooleanElement.h(184) : see
> declaration of 'cgicc::HTMLBooleanElement'
> d:\programs\gnu\cgicc-3.2.3\cgicc\HTMLClasses.h(185) : error C2628:
> 'cgicc::HTMLBooleanElement' followed by 'char' is illegal (did you
> forget a ';'?)
> d:\programs\gnu\cgicc-3.2.3\cgicc\HTMLClasses.h(185) : warning C4091:
> 'typedef ' : ignored on left of 'cgicc::HTMLBooleanElement' when no
> variable is declared
>
>
>
> // fonts - preferably use stylesheets
>
> BOOLEAN_ELEMENT (tt, "tt"); // monospaced text
> BOOLEAN_ELEMENT (i, "i"); // italic text style
>
> BOOLEAN_ELEMENT (b, "b"); // bold text style
>
> BOOLEAN_ELEMENT (big, "big"); // large font
>
>
> --->> BOOLEAN_ELEMENT (small, "small"); // small font
>
> // frames - not part of the strict DTD
>
> BOOLEAN_ELEMENT (frameset, "frameset"); // frame layout
>
>
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D
>=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D =3D=3D=3D REASON
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D
>=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D Platform SDK: Mi=
crosoft Interface Definition Language
> (MIDL)
> small
>
> The small keyword designates an 8-bit integer number.
>
>
> small identifier-name;
> Parameters
> identifier-name
> Specifies a valid MIDL identifier. Valid MIDL identifiers consist of up
> to 31 alphanumeric and/or underscore characters and must start with an
> alphabetic or underscore character.
> Return Values
> This has no return values.
> Remarks
> The small keyword can be preceded by either the keyword signed or the
> keyword unsigned. The int keyword is optional and can be omitted. To the
> MIDL compiler, a small integer is signed by default and is synonymous
> with signed small int.
>
> The small integer type is one of the base types of the IDL language. The
> small integer type can appear as a type specifier in const declarations,
> typedef declarations, general declarations, and function declarators (as
> a function return=96type specifier and as a parameter-type specifier). For
> the context in which type specifiers appear, see Interface Definition
> (IDL) File.
>
> The sign of the small type can be modified by the MIDL compiler switch
> /char. To avoid confusion, specify the sign of the integer type with the
> keywords signed and unsigned.
>
>
> See Also
> /char, const, Interface Definition (IDL) File, int, long, short, signed,
> unsigned, typedef
>
>
> -------------------------------------------------------------------------=
=2D-
>-----
>
> Last updated: October 2004 | What did you think of this topic? | Order a
> Platform SDK CD
> =A9 2004 Microsoft Corporation. All rights reserved. Terms of use.
>
>
>
> Regards,
>
> Jean A. CANADA
>
>
>
> _______________________________________________
> bug-cgicc mailing list
> [email protected]
> http://lists.gnu.org/mailman/listinfo/bug-cgicc

--nextPart1740273.hxlDmTyIuY
Content-Type: application/pgp-signature

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.5 (GNU/Linux)

iD8DBQBB+88ogolXBOamItMRAklaAJ9uHRsSnKkxlYDqu2oCT1rDuKR6lQCdHdEV
IjjZI0g8Bp/YNxSs5IHzLW4=
=venF
-----END PGP SIGNATURE-----

--nextPart1740273.hxlDmTyIuY--



--===============0954270888==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
bug-cgicc mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/bug-cgicc

--===============0954270888==--