| #
afddaa47 |
| 25-Apr-2013 |
Bill Wendling <isanbard@gmail.com> |
Revert r180263. It's causing failures.
llvm-svn: 180583
|
| #
7e2e4faf |
| 25-Apr-2013 |
Rafael Espindola <rafael.espindola@gmail.com> |
Fix a case in linkage computation that should check for single line extern "C".
llvm-svn: 180263
|
| #
b7444cd1 |
| 14-Feb-2013 |
Nick Lewycky <nicholas@mxc.ca> |
When marking derived classes' virtual methods ODR-used in order to trigger instantiation in order to permit devirtualization later in codegen, skip over pure functions since those can't be devirtuali
When marking derived classes' virtual methods ODR-used in order to trigger instantiation in order to permit devirtualization later in codegen, skip over pure functions since those can't be devirtualization targets.
llvm-svn: 175116
show more ...
|
| #
a096b14d |
| 12-Feb-2013 |
Nick Lewycky <nicholas@mxc.ca> |
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 Diagn
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
show more ...
|
| #
134af91b |
| 07-Feb-2013 |
Nick Lewycky <nicholas@mxc.ca> |
Apply the pure-virtual odr rule to other constructs which can call overloaded operators.
llvm-svn: 174584
|
| #
45b50528 |
| 02-Feb-2013 |
Nick Lewycky <nicholas@mxc.ca> |
This patch makes "&Cls::purevfn" not an odr use. This isn't what the standard says, but that's a defect (to be filed). "Cls::purevfn()" is still an odr use.
Also fixes a bug that caused us to not ma
This patch makes "&Cls::purevfn" not an odr use. This isn't what the standard says, but that's a defect (to be filed). "Cls::purevfn()" is still an odr use.
Also fixes a bug that caused us to not mark the function referenced just because we didn't want to mark it odr used.
llvm-svn: 174242
show more ...
|
| #
35d2359b |
| 31-Jan-2013 |
Nick Lewycky <nicholas@mxc.ca> |
Fix ODR-use of a MemberExpr to check before marking a pure function used. Remove a workaround for this bug from the -Wundefined-internals warning.
llvm-svn: 174020
|
| #
9463dce9 |
| 29-Dec-2012 |
Rafael Espindola <rafael.espindola@gmail.com> |
Don't warn for undefined but used decls that are external because of a typedef.
This fixes pr14736. It is fairly ugly, but I don't think we can do much better as we have to wait at least until the e
Don't warn for undefined but used decls that are external because of a typedef.
This fixes pr14736. It is fairly ugly, but I don't think we can do much better as we have to wait at least until the end of the typedef to know if the function will have external linkage or not.
llvm-svn: 171240
show more ...
|
|
Revision tags: llvmorg-3.2.0, llvmorg-3.2.0-rc3, llvmorg-3.2.0-rc2, llvmorg-3.2.0-rc1, llvmorg-3.1.0, llvmorg-3.1.0-rc3, llvmorg-3.1.0-rc2, llvmorg-3.1.0-rc1 |
|
| #
77dcc726 |
| 08-Feb-2012 |
Eli Friedman <eli.friedman@gmail.com> |
Make sure template argument deduction is consistently performed in an unevaluated context.
llvm-svn: 150049
|
| #
130bbd03 |
| 04-Feb-2012 |
Eli Friedman <eli.friedman@gmail.com> |
Suppress the used-but-not-defined warning for static data members while I look into a rather nasty bug in the new odr-use marking code.
llvm-svn: 149731
|
| #
3bda6b1f |
| 02-Feb-2012 |
Eli Friedman <eli.friedman@gmail.com> |
Add some code to accurately perform odr-used marking for variables per the C++11 rules.
llvm-svn: 149641
|
|
Revision tags: llvmorg-3.0.0, llvmorg-3.0.0-rc4, llvmorg-3.0.0-rc3, llvmorg-3.0.0-rc2, llvmorg-3.0.0-rc1, llvmorg-2.9.0, llvmorg-2.9.0-rc3, llvmorg-2.9.0-rc2, llvmorg-2.9.0-rc1 |
|
| #
a28097da |
| 25-Feb-2011 |
Chandler Carruth <chandlerc@gmail.com> |
Rough fix for PR9323 that prevents Clang from marking copy constructor declarations as referenced when in fact we're not going to even form a call in the AST. This is significant because we attempt t
Rough fix for PR9323 that prevents Clang from marking copy constructor declarations as referenced when in fact we're not going to even form a call in the AST. This is significant because we attempt to allow as an extension classes with intentionally private and undefined copy constructors to have temporaries bound to references, and so shouldn't warn about the lack of definition for that copy constructor when the class is internal.
Doug, John wasn't really satisfied with the presence of overloading at all. This is a stop-gap and there may be a better solution. If you can give me some hints for how you'd prefer to see this solved, I'll happily switch things over.
llvm-svn: 126480
show more ...
|
| #
15dd404c |
| 21-Feb-2011 |
John McCall <rjmccall@apple.com> |
Don't warn about static const integral data members with in-line constant initializers just because they don't have a proper out-of-line definition. Such code is technically ill-formed but is too com
Don't warn about static const integral data members with in-line constant initializers just because they don't have a proper out-of-line definition. Such code is technically ill-formed but is too common and too unlikely to be a problem to be seriously worth worrying about.
llvm-svn: 126137
show more ...
|
| #
83779675 |
| 19-Feb-2011 |
John McCall <rjmccall@apple.com> |
Warn about code that uses variables and functions with internal linkage without defining them. This should be an error, but I'm paranoid about "uses" that end up not actually requiring a definition.
Warn about code that uses variables and functions with internal linkage without defining them. This should be an error, but I'm paranoid about "uses" that end up not actually requiring a definition. I'll revisit later.
Also, teach IR generation to not set internal linkage on variable declarations, just for safety's sake. Doing so produces an invalid module if the variable is not ultimately defined.
Also, fix several places in the test suite where we were using internal functions without definitions.
llvm-svn: 126016
show more ...
|