@@ -61,6 +61,7 @@ along with GCC; see the file COPYING3. If not see
#include "builtins.h"
#include "print-tree.h"
#include "ipa-utils.h"
+#include "selftest.h"
/* Tree code classes. */
@@ -14179,4 +14180,50 @@ combined_fn_name (combined_fn fn)
return internal_fn_name (as_internal_fn (fn));
}
+#if CHECKING_P
+
+namespace {
+
+/* Verify that integer constants are sane. */
+
+TEST (tree_test, integer_constants)
+{
+ ASSERT_TRUE (integer_type_node != NULL);
+ EXPECT_TRUE (build_int_cst (integer_type_node, 0) != NULL);
+
+ tree type = integer_type_node;
+
+ tree zero = build_zero_cst (type);
+ EXPECT_EQ (INTEGER_CST, TREE_CODE (zero));
+ EXPECT_EQ (type, TREE_TYPE (zero));
+
+ tree one = build_int_cst (type, 1);
+ EXPECT_EQ (INTEGER_CST, TREE_CODE (one));
+ EXPECT_EQ (type, TREE_TYPE (zero));
+}
+
+/* Verify identifiers. */
+
+TEST (tree_test, identifiers)
+{
+ tree identifier = get_identifier ("foo");
+ EXPECT_EQ (3, IDENTIFIER_LENGTH (identifier));
+ EXPECT_STREQ ("foo", IDENTIFIER_POINTER (identifier));
+}
+
+/* Verify LABEL_DECL. */
+
+TEST (tree_test, labels)
+{
+ tree identifier = get_identifier ("err");
+ tree label_decl = build_decl (UNKNOWN_LOCATION, LABEL_DECL,
+ identifier, void_type_node);
+ EXPECT_EQ (-1, LABEL_DECL_UID (label_decl));
+ EXPECT_FALSE (FORCED_LABEL (label_decl));
+}
+
+} // anon namespace
+
+#endif /* CHECKING_P */
+
#include "gt-tree.h"