diff options
author | Sebastian Redl <sebastian.redl@getdesigned.at> | 2009-11-14 21:15:49 +0000 |
---|---|---|
committer | Sebastian Redl <sebastian.redl@getdesigned.at> | 2009-11-14 21:15:49 +0000 |
commit | 7c353685bcb7ffed368f524af687af70578672cd (patch) | |
tree | 3dcd378188398a193abb4c3c7dbe20aa1d269da7 /llvm/lib/Support/CommandLine.cpp | |
parent | 0acee6e0d722ba41026bf01bdd7b5f7ebbfc32b0 (diff) | |
download | llvm-7c353685bcb7ffed368f524af687af70578672cd.zip llvm-7c353685bcb7ffed368f524af687af70578672cd.tar.gz llvm-7c353685bcb7ffed368f524af687af70578672cd.tar.bz2 |
- Have TryStaticImplicitCast set the cast kind to NoOp when binding a reference. CheckReferenceInit already inserts implicit casts to the necessary types. This fixes an assertion in CodeGen for some casts and brings a fix for PR5453 close, if I understand that bug correctly.
- Also, perform calculated implicit cast sequences if they're determined to work. This finally diagnoses static_cast to ambiguous or implicit bases and fixes two long-standing fixmes in the test case. For the C-style cast, this requires propagating the access check suppression pretty deep into other functions.
- Pass the expressions for TryStaticCast and TryStaticImplicitCast by reference. This should lead to a better AST being emitted for such casts, and also fixes a memory leak, because CheckReferenceInit and PerformImplicitConversion wrap the node passed to them. These wrappers were previously lost.
llvm-svn: 88809
Diffstat (limited to 'llvm/lib/Support/CommandLine.cpp')
0 files changed, 0 insertions, 0 deletions