/* Declarations for objc-act.c.
- Copyright (C) 1990, 2000, 2001, 2002, 2003, 2004, 2005
+ Copyright (C) 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2007, 2008, 2009
Free Software Foundation, Inc.
This file is part of GCC.
GCC is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
+the Free Software Foundation; either version 3, or (at your option)
any later version.
GCC is distributed in the hope that it will be useful,
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
-along with GCC; see the file COPYING. If not, write to
-the Free Software Foundation, 51 Franklin Street, Fifth Floor,
-Boston, MA 02110-1301, USA. */
+along with GCC; see the file COPYING3. If not see
+<http://www.gnu.org/licenses/>. */
+
#ifndef GCC_OBJC_ACT_H
#define GCC_OBJC_ACT_H
/* For enum gimplify_status */
-#include "tree-gimple.h"
+#include "gimple.h"
/*** Language hooks ***/
bool objc_init (void);
const char *objc_printable_name (tree, int);
-tree objc_get_callee_fndecl (tree);
void objc_finish_file (void);
tree objc_fold_obj_type_ref (tree, tree);
-enum gimplify_status objc_gimplify_expr (tree *, tree *, tree *);
+int objc_gimplify_expr (tree *, gimple_seq *, gimple_seq *);
+tree objc_eh_runtime_type (tree);
+tree objc_eh_personality (void);
/* NB: The remaining public functions are prototyped in c-common.h, for the
benefit of stub-objc.c and objc-act.c. */
#define OBJC_TYPE_NAME(TYPE) TYPE_NAME(TYPE)
#define OBJC_SET_TYPE_NAME(TYPE, NAME) (TYPE_NAME (TYPE) = NAME)
-/* Define the Objective-C or Objective-C++ language-specific tree codes. */
-
-#define DEFTREECODE(SYM, NAME, TYPE, LENGTH) SYM,
-enum objc_tree_code {
-#if defined (GCC_CP_TREE_H)
- LAST_BASE_TREE_CODE = LAST_CPLUS_TREE_CODE,
-#else
-#if defined (GCC_C_TREE_H)
- LAST_BASE_TREE_CODE = LAST_C_TREE_CODE,
-#else
- #error You must include <c-tree.h> or <cp/cp-tree.h> before <objc/objc-act.h>
-#endif
-#endif
-#include "objc-tree.def"
- LAST_OBJC_TREE_CODE
-};
-#undef DEFTREECODE
-
/* Hash tables to manage the global pool of method prototypes. */
typedef struct hashed_entry *hash;
typedef struct hashed_attribute *attr;
-struct hashed_attribute GTY(())
-{
+struct GTY(()) hashed_attribute {
attr next;
tree value;
};
-struct hashed_entry GTY(())
-{
+struct GTY(()) hashed_entry {
attr list;
hash next;
tree key;
/* Objective-C/Objective-C++ @implementation list. */
-struct imp_entry GTY(())
-{
+struct GTY(()) imp_entry {
struct imp_entry *next;
tree imp_context;
tree imp_template;