Clang C++ compatibility documentation

Hi Doug,

Chandler told me that you are considering adding documentation to the
Clang user's manual about invalid C++ code that GCC accepts but Clang
rejects. I'd like to contribute something there. Should I just
create a patch against the UsersManual.html file? Thanks,

Hi Doug,

Chandler told me that you are considering adding documentation to the
Clang user's manual about invalid C++ code that GCC accepts but Clang
rejects.

Yes, I'd like to add this documentation. Help would be greatly appreciated!

I'd like to contribute something there. Should I just
create a patch against the UsersManual.html file? Thanks,

Yes, please!

  - Doug

Interesting. I personally came across this case:
http://codepad.org/YQk1rcDx

Yep! That's one of the classic two-stage lookup differences; gcc is doing an unqualified lookup at a<int>'s point of instantiation instead of its point of definition. Dependent ADL doesn't find b<> because the arguments have no associated classes. We'll be sure to list it, thanks.

John.

Sorry it has taken so long. Please see the attached patch for my
first attempt. Let me know if this is the right direction. Thanks!

clang-cxx-compatibility.patch (8.22 KB)

This is great! Feel free to commit it, and we'll keep improving it as we run into more compatibility issues.

Another issue we should write up is dependent template keywords, e.g., "foo()->bar<T>()" needs a "template" after the -> if foo() is a type-dependent expression. I can do that once you've committed your documentation. Thanks!

  - Doug

This is great! Feel free to commit it, and we'll keep improving it as we run into more compatibility issues.

Thanks for reviewing it, Doug.

I got:

$ svn commit
svn: Commit failed (details follow):
svn: Server sent unexpected return value (400 Bad Request) in response
to MKACTIVITY request for
'/svn/llvm-project/!svn/act/66428d86-c90d-433c-89ba-e3f1184d60b1'
svn: Your commit message was left in a temporary file:

Perhaps I don't have the commit right?

You don't unless you've been explicitly granted it, someone else can commit the patch for you if you send in the diff. Thanks!

-Chris

Perhaps I don't have the commit right?

You don't unless you've been explicitly granted it, someone else can commit the patch for you if you send in the diff. Thanks!

r98708

-Chris

Cheers,

Thanks, Rafael!

Sorry, there's a typo that's messing up the format. Could someone
commit the attached patch to fix it? Thanks,

cxx_comp.patch (556 Bytes)

Sorry, there’s a typo that’s messing up the format. Could someone
commit the attached patch to fix it? Thanks,

Committed in r98713.