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.


Reply via email to