Invalid number of occurrencies in arrays
Stuehlmeyer, Wolfgang
Wolfgang.Stuehlmeyer@softwareag.com
Fri Jun 8 01:25:00 GMT 2001
Hello,
i have segmentation violations with snapshot 2001-06-04.
The reason is a array with a invalid number of occurrencies.
Best regards
Wolfgang
Example:
#include <stdio.h>
enum VT_ARGS { VT_DATE=1, VT_HRESULT, VT_LPSTR, VT_LPWSTR, VT_ERROR,
VT_BOOL, VT_BSTR, VT_VARIANT, VT_CY, VT_DECIMAL};
typedef unsigned short VARTYPE;
typedef struct tagINTRINSIC
{
char * szType;
VARTYPE vt;
} INTRINSIC;
INTRINSIC rgIntrinsic [] =
{
"DATE", VT_DATE,
"HRESULT", VT_HRESULT,
"LPSTR", VT_LPSTR,
"LPWSTR", VT_LPWSTR,
"SCODE", VT_ERROR,
"VARIANT_BOOL", VT_BOOL,
"wireBSTR", VT_BSTR,
"BSTR", VT_BSTR,
"VARIANT", VT_VARIANT,
"wireVARIANT", VT_VARIANT,
"CURRENCY", VT_CY,
"CY", VT_CY,
"DATE", VT_DATE,
"DECIMAL", VT_DECIMAL
};
int main(int argc, char ** argv)
{
printf("sizeof(rgIntrinsic) = %d - MUST BE 112!!!\n",
sizeof(rgIntrinsic));
printf("Number of occurencies: %d - ",
sizeof(rgIntrinsic)/sizeof(INTRINSIC));
printf("MUST BE 14!!!\n");
}
More information about the Gcc-bugs
mailing list