The meat of this patch is in BuildCXXMemberCalLExpr where we make it use
authorNick Lewycky <nicholas@mxc.ca>
Tue, 12 Feb 2013 08:08:54 +0000 (08:08 +0000)
committerNick Lewycky <nicholas@mxc.ca>
Tue, 12 Feb 2013 08:08:54 +0000 (08:08 +0000)
commita096b14d1d973f2bc40b2108cfbeedeacdcc42d1
tree4671255e908c463b558ad2cad3f7f4b74062ccf5
parent7b5f4f3facd9df205123b6f1ca2428c3caa95eee
The meat of this patch is in BuildCXXMemberCalLExpr where we make it use
MarkMemberReferenced instead of marking functions referenced directly. An audit
of callers to MarkFunctionReferenced and DiagnoseUseOfDecl also caused a few
other changes:
 * don't mark functions odr-used when considering them for an initialization
   sequence. Do mark them referenced though.
 * the function nominated by the cleanup attribute should be diagnosed.
 * operator new/delete should be diagnosed when building a 'new' expression.

llvm-svn: 174951
clang/lib/Sema/SemaDeclAttr.cpp
clang/lib/Sema/SemaExpr.cpp
clang/lib/Sema/SemaExprCXX.cpp
clang/lib/Sema/SemaInit.cpp
clang/lib/Sema/SemaOverload.cpp
clang/test/Sema/attr-cleanup.c
clang/test/SemaCXX/attr-deprecated.cpp
clang/test/SemaCXX/undefined-internal.cpp