/* Process the ObjC-specific declarations and variables for
the Objective-C++ compiler.
- Copyright (C) 2005, 2007, 2009, 2010 Free Software Foundation, Inc.
+ Copyright (C) 2005-2017 Free Software Foundation, Inc.
Contributed by Ziemowit Laski <zlaski@apple.com>
This file is part of GCC.
objcp_end_compound_stmt (stmt, flags)
#undef OBJC_TYPE_NAME
-#define OBJC_TYPE_NAME(type) \
- (TYPE_NAME (type) && TREE_CODE (TYPE_NAME (type)) == TYPE_DECL \
- ? DECL_NAME (TYPE_NAME (type)) \
- : TYPE_NAME (type))
+#define OBJC_TYPE_NAME(type) (TYPE_IDENTIFIER (type))
#undef OBJC_SET_TYPE_NAME
-#define OBJC_SET_TYPE_NAME(type, name) \
- if(TYPE_NAME (type) && TREE_CODE (TYPE_NAME (type)) == TYPE_DECL) \
- DECL_NAME (TYPE_NAME (type)) = name; \
- else \
- TYPE_NAME (type) = name;
+#define OBJC_SET_TYPE_NAME(type, name) (TYPE_IDENTIFIER (type) = (name))
#undef TYPE_OBJC_INFO
#define TYPE_OBJC_INFO(TYPE) LANG_TYPE_CLASS_CHECK (TYPE)->objc_info
#undef ALLOC_OBJC_TYPE_LANG_SPECIFIC
#define ALLOC_OBJC_TYPE_LANG_SPECIFIC(NODE) \
do { \
- TYPE_LANG_SPECIFIC (NODE) = ggc_alloc_cleared_lang_type \
- (sizeof (struct lang_type_class)); \
+ TYPE_LANG_SPECIFIC (NODE) = (struct lang_type *) \
+ ggc_internal_cleared_alloc (sizeof (struct lang_type_class)); \
TYPE_LANG_SPECIFIC (NODE)->u.c.h.is_lang_type_class = 1; \
} while (0)