what to do with include/wine/obj_base.h?

Ove Kaaven ovehk at ping.uio.no
Tue Dec 10 02:56:06 CST 2002


On Mon, 9 Dec 2002, Francois Gouget wrote:

> Also I would not be surprised if the MS macros were less flexible than                                                                                                
> the ICOM macros and required that you have a compiler that can generate                                                                                               
> C++ classes with just the right binary layout.                                                                                                                        

Yeah, as mentioned in my original mail, I didn't know where to hook in
ICOM_USE_COM_INTERFACE_ATTRIBUTE and ICOM_MSVTABLE_COMPAT if we used them.
The latter could probably be plugged into BEGIN_INTERFACE, but the former
(which seems more useful) has no place. We'd have to add a Wine-specific
macro for that at least...

> Concerning the array issue, isn't 'int[] a' equivalent to 'int a[]'?

I've never seen that syntax with named parameters (I do know int[] to be
valid with unnamed parameters in C++, but unnamed parameters aren't
allowed in C). Does it work everywhere? Certainly doesn't on my gcc
2.95...

$ cat foo.c
int func(int[] b)
{
  return 0;
}

int main()
{
  int[5] a;
  return 0;
}

$ cc -c foo.c
foo.c:1: parse error before `b'
foo.c: In function `main':
foo.c:8: parse error before `['
$ c++ -c foo.c
dill.c: In function `int main()':
dill.c:8: parse error before `['

(hmm, seems to be valid as a function argument in C++, but not C?)

> Or is it just that MSVC does not like the ',,' in macro invocations?

That's a separate issue that I don't know anything about.




More information about the wine-devel mailing list