Index: src/SynTree/BasicType.cc
===================================================================
--- src/SynTree/BasicType.cc	(revision 3ed994eca620a695aa523cf50b22b75c6761327d)
+++ src/SynTree/BasicType.cc	(revision d4afaac4fa569d9ea1dad08578acac4d23cc0045)
@@ -55,4 +55,6 @@
 	  case DoubleImaginary:
 	  case LongDoubleImaginary:
+	  case Float80:
+	  case Float128:
 		return false;
 	  case NUMBER_OF_BASIC_TYPES:
Index: src/SynTree/Type.cc
===================================================================
--- src/SynTree/Type.cc	(revision 3ed994eca620a695aa523cf50b22b75c6761327d)
+++ src/SynTree/Type.cc	(revision d4afaac4fa569d9ea1dad08578acac4d23cc0045)
@@ -24,5 +24,5 @@
 using namespace std;
 
-const char *BasicType::typeNames[BasicType::NUMBER_OF_BASIC_TYPES] = {
+const char *BasicType::typeNames[] = {
 	"_Bool",
 	"char",
@@ -48,5 +48,11 @@
 	"__int128",
 	"unsigned __int128",
+	"__float80",
+	"__float128"
 };
+static_assert(
+	sizeof(BasicType::typeNames)/sizeof(BasicType::typeNames[0]) == BasicType::NUMBER_OF_BASIC_TYPES,
+	"Each basic type name should have a corresponding kind enum value"
+);
 
 Type::Type( const Qualifiers &tq, const std::list< Attribute * > & attributes ) : tq( tq ), attributes( attributes ) {}
Index: src/SynTree/Type.h
===================================================================
--- src/SynTree/Type.h	(revision 3ed994eca620a695aa523cf50b22b75c6761327d)
+++ src/SynTree/Type.h	(revision d4afaac4fa569d9ea1dad08578acac4d23cc0045)
@@ -231,4 +231,6 @@
 		SignedInt128,
 		UnsignedInt128,
+		Float80,
+		Float128,
 		NUMBER_OF_BASIC_TYPES
 	} kind;
