[PATCH] D55225: [AST] Assert that no type class is polymorphic
Phabricator via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Tue Dec 4 08:39:55 PST 2018
This revision was automatically updated to reflect the committed changes.
Closed by commit rL348281: [AST] Assert that no type class is polymorphic (authored by brunoricci, committed by ).
Herald added a subscriber: llvm-commits.
Changed prior to commit:
https://reviews.llvm.org/D55225?vs=176414&id=176649#toc
Repository:
rL LLVM
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D55225/new/
https://reviews.llvm.org/D55225
Files:
cfe/trunk/lib/AST/Type.cpp
Index: cfe/trunk/lib/AST/Type.cpp
===================================================================
--- cfe/trunk/lib/AST/Type.cpp
+++ cfe/trunk/lib/AST/Type.cpp
@@ -291,6 +291,14 @@
return Context.getQualifiedType(desugar, split.Quals);
}
+// Check that no type class is polymorphic. LLVM style RTTI should be used
+// instead. If absolutely needed an exception can still be added here by
+// defining the appropriate macro (but please don't do this).
+#define TYPE(CLASS, BASE) \
+ static_assert(!std::is_polymorphic<CLASS##Type>::value, \
+ #CLASS "Type should not be polymorphic!");
+#include "clang/AST/TypeNodes.def"
+
QualType Type::getLocallyUnqualifiedSingleStepDesugaredType() const {
switch (getTypeClass()) {
#define ABSTRACT_TYPE(Class, Parent)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D55225.176649.patch
Type: text/x-patch
Size: 787 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20181204/ec0828c8/attachment.bin>
More information about the cfe-commits
mailing list