> Suppose overloading completely ignores whether a declaration is extern "C",
> and suppose you have a hashtable which returns the extern "C" decl for a
> given identifier.  After you conclude foo(int) overloads foo(), you look in
> the hashtable and say "oops, there was already a declaration with that
> name".  (I haven't really thought through whether this is a good idea.)

The case I don't understand is


extern "C" {
  static void foo() { }
  void foo(int x) {}
}

Overload in this proposal will decide that the second foo is an
overload, we see that it is extern C, add it to the hash and now,
where do we find the first foo? Note that it is *not* extern C
according to the standard and our current implementation.

> -Eli

Cheers,
Rafael
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to