]> granicus.if.org Git - clang/commit
Implement a better version of delegating constructor cycle detection.
authorSean Hunt <scshunt@csclub.uwaterloo.ca>
Wed, 4 May 2011 05:57:24 +0000 (05:57 +0000)
committerSean Hunt <scshunt@csclub.uwaterloo.ca>
Wed, 4 May 2011 05:57:24 +0000 (05:57 +0000)
commitfe57eef44cc80e5bb51e4f484835be08b8d84256
treeadd0ff19b66506e4658fd873b918a696d80069bf
parent574bb5a5bbc7ffd726981e67e476ca1f8840276c
Implement a better version of delegating constructor cycle detection.

This is more efficient as it's all done at once at the end of the TU.
This could still get expensive, so a flag is provided to disable it. As
an added bonus, the diagnostics will now print out a cycle.

The PCH test is XFAILed because we currently can't deal with a note
emitted in the header and I, being tired, see no other way to verify the
serialization of delegating constructors. We should probably address
this problem /somehow/ but no good solution comes to mind.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@130836 91177308-0d34-0410-b5e6-96231b3b80d8
include/clang/AST/DeclCXX.h
include/clang/Basic/DiagnosticSemaKinds.td
include/clang/Basic/LangOptions.h
include/clang/Driver/CC1Options.td
include/clang/Sema/Sema.h
lib/Frontend/CompilerInvocation.cpp
lib/Sema/Sema.cpp
lib/Sema/SemaDeclCXX.cpp
test/PCH/cxx0x-delegating-ctors.cpp
test/PCH/cxx0x-delegating-ctors.h
test/SemaCXX/cxx0x-delegating-ctors.cpp