CLANG and C++ function overloading

Greetings all,

I understand that C++ support by CLANG is in progress while that for C is quite mature. Please advise whether or not CLANG supports C++ function overloading at this time and if there are any limitations with it. If affirmative, please also supply release number as I presume I could use it by simply building a particular version of CLANG. If not yet fully implemented an estimate of when it might be available would be greatly appreciated. Can’t wait to check it out.

Thanks,
Mike

Michael J Viste wrote:

Greetings all,

I understand that C++ support by CLANG is in progress while that for C is quite mature. Please advise whether or not CLANG supports C++ function overloading at this time and if there are any limitations with it. If affirmative, please also supply release number as I presume I could use it by simply building a particular version of CLANG. If not yet fully implemented an estimate of when it might be available would be greatly appreciated. Can't wait to check it out.

Some support for function overloading has recently entered the codebase (read: about two weeks ago). This support is far from complete - in particular, user-defined conversions aren't supported at all.
Also, there's only support for semantical analysis, not for code generation.

Sebastian

Hi Mike,

I understand that C++ support by CLANG is in progress while that for C is
quite mature.

Right, we're just starting C++ support in Clang, so it will be a while
before it is usable.

Please advise whether or not CLANG supports C++ function
overloading at this time and if there are any limitations with it. If
affirmative, please also supply release number as I presume I could use it
by simply building a particular version of CLANG. If not yet fully
implemented an estimate of when it might be available would be greatly
appreciated. Can't wait to check it out.

As Sebastian noted, the support for C++ function overloading is not
yet usable. We're missing user-defined conversions and reference
binding (semantic issues) and we don't have name mangling, so you
can't yet write a program that uses function overloading.

Regarding timelines, I can't say much. I expect we'll have most of the
remaining semantics of function overloading implemented within a
month, but name mangling (and other code-generation issues) are a bit
further off.

  - Doug