Better fix to problem with 57094; reinstate 57094 fix and add a conditional #undef of NS_NO_VTABLE to nsISupportsUtils.h before defining it there.

r=jband
This commit is contained in:
mccabe%netscape.com 2000-11-30 08:08:24 +00:00
parent 0dac69a5cc
commit a65e320dd3
3 changed files with 17 additions and 8 deletions

View File

@ -72,10 +72,15 @@ typedef PRUint32 nsrefcnt;
#endif
/**
* NS_NO_VTABLE is emitted by xpidl in interface declarations whenever xpidl
* can determine that the interface can't contain a constructor. This results
* in some space savings and possible runtime savings - see bug 49416.
* NS_NO_VTABLE is emitted by xpidl in interface declarations whenever
* xpidl can determine that the interface can't contain a constructor.
* This results in some space savings and possible runtime savings -
* see bug 49416. We undefine it first, as xpidl-generated headers
* define it for IDL uses that don't include this file.
*/
#ifdef NS_NO_VTABLE
#undef NS_NO_VTABLE
#endif
#if defined(_MSC_VER) && _MSC_VER >= 1100
#define NS_NO_VTABLE __declspec(novtable)
#else

View File

@ -72,10 +72,15 @@ typedef PRUint32 nsrefcnt;
#endif
/**
* NS_NO_VTABLE is emitted by xpidl in interface declarations whenever xpidl
* can determine that the interface can't contain a constructor. This results
* in some space savings and possible runtime savings - see bug 49416.
* NS_NO_VTABLE is emitted by xpidl in interface declarations whenever
* xpidl can determine that the interface can't contain a constructor.
* This results in some space savings and possible runtime savings -
* see bug 49416. We undefine it first, as xpidl-generated headers
* define it for IDL uses that don't include this file.
*/
#ifdef NS_NO_VTABLE
#undef NS_NO_VTABLE
#endif
#if defined(_MSC_VER) && _MSC_VER >= 1100
#define NS_NO_VTABLE __declspec(novtable)
#else

View File

@ -85,7 +85,6 @@ header_prolog(TreeState *state)
if (i > 0)
fputc('\n', state->file);
}
#if 0
/*
* Support IDL files that don't include a root IDL file that defines
* NS_NO_VTABLE.
@ -95,7 +94,7 @@ header_prolog(TreeState *state)
"#ifndef NS_NO_VTABLE\n"
"#define NS_NO_VTABLE\n"
"#endif\n");
#endif
return TRUE;
}