In gcc/: 2011-10-14 Nicola Pero <nicola.pero@meta-innovation.com> * gengtype.c (files_rules): Added rules for objc/objc-map.h and objc/objc-map.c. In gcc/objc/: 2011-10-14 Nicola Pero <nicola.pero@meta-innovation.com> * objc-map.h: New file. * objc-map.c: New file. * config-lang.in (gtfiles): Added objc-map.h. * Make-lang.in (OBJC_OBJS): Added objc-map.o. (objc/objc-map.o): New rule. (objc/objc-act.o): Depend on objc/objc-map.h. * objc-next-runtime-abi-02.c: Added a TODO comment. * objc-act.c: Include objc-map.h. (nst_method_hash_list, cls_method_hash_list): Removed. (instance_method_map, class_method_map): New. (cls_name_hash_list, als_name_hash_list): Removed. (class_name_map, alias_name_map): Removed. (ivar_offset_hash_list): Removed. (hash_class_name_enter, hash_class_name_lookup, hash_enter, hash_lookup, hash_add_attr, add_method_to_hash_list): Removed. (interface_hash_init): New. (objc_init): Call interface_hash_init. (objc_write_global_declarations): Iterate over class_method_map and instance_method_map instead of cls_method_hash_list and nst_method_hash_list. (objc_declare_alias): Use alias_name_map instead of cls_name_hash_list. (objc_is_class_name): Use class_name_map and alias_name_map instead of cls_name_hash_list and als_name_hash_list. (interface_tuple, interface_htab, hash_interface, eq_interface): Removed. (interface_map): New. (add_class): Renamed to add_interface. Use interface_map instead of interface_htab. (lookup_interface): Use interface_map instead of interface_htab. (check_duplicates): Changed first argument to be a tree, potentially a TREE_VEC, instead of a hash. Changed implementation to match. (lookup_method_in_hash_lists): Use class_method_map and instance_method_map instead of cls_method_hash_list and nst_method_hash_list. (objc_build_selector_expr): Likewise. (hash_func): Removed. (hash_init): Create instance_method_map, class_method_map, class_name_map, and alias_name_map. Do not create nst_method_hash_list, cls_method_hash_list, cls_name_hash_list, als_name_hash_list, and ivar_offset_hash_list. (insert_method_into_method_map): New. (objc_add_method): Use insert_method_into_method_map instead of add_method_to_hash_list. (start_class): Call add_interface instead of add_class. * objc-act.h (cls_name_hash_list, als_name_hash_list, nst_method_hash_list, cls_method_hash_list): Removed. In gcc/objcp/: 2011-10-14 Nicola Pero <nicola.pero@meta-innovation.com> * Make-lang.in (OBJCXX_OBJS): Added objc-map.o. (objcp/objc-map.o): New rule. (objcp/objcp-act.o): Depend on objc/objc-map.h. * config-lang.in (gtfiles): Added objc-map.h. From-SVN: r179965
51 lines
2.6 KiB
Plaintext
51 lines
2.6 KiB
Plaintext
# Top level configure fragment for GNU Objective-C++.
|
|
# Copyright (C) 2005, 2007, 2010, 2011 Free Software Foundation, Inc.
|
|
# Contributed by Ziemowit Laski <zlaski@apple.com>
|
|
|
|
#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 3, or (at your option)
|
|
#any later version.
|
|
|
|
#GCC is distributed in the hope that it will be useful,
|
|
#but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
#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 COPYING3. If not see
|
|
#<http://www.gnu.org/licenses/>.
|
|
|
|
# Configure looks for the existence of this file to auto-config each language.
|
|
# We define several parameters used by configure:
|
|
#
|
|
# language - name of language as it would appear in $(LANGUAGES)
|
|
# compilers - value to add to $(COMPILERS)
|
|
|
|
language="obj-c++"
|
|
|
|
compilers="cc1objplus\$(exeext)"
|
|
|
|
# Per GCC Steering Committee.
|
|
build_by_default="no"
|
|
|
|
# By building the Objective-C and C++ front-ends, we will get
|
|
# the object files we need, along with the libraries (libstdc++,
|
|
# libobjc).
|
|
lang_requires="objc c++"
|
|
subdir_requires="objc cp"
|
|
|
|
# When you add to this gtfiles list a header which comes from a
|
|
# directory belonging to another language (ie, C++ or ObjC), you need
|
|
# to also edit gengtype.c adding a special rule for the header to
|
|
# avoid having the GC stuff from that header being added to gtype-cp.h
|
|
# or gtype-objc.h.
|
|
|
|
# This list is separated in two parts: the first one is identical to
|
|
# the C++ one, the second one contains our ObjC++ additions.
|
|
gtfiles="\$(srcdir)/cp/rtti.c \$(srcdir)/cp/mangle.c \$(srcdir)/cp/name-lookup.h \$(srcdir)/cp/name-lookup.c \$(srcdir)/cp/cp-tree.h \$(srcdir)/cp/decl.h \$(srcdir)/cp/call.c \$(srcdir)/cp/decl.c \$(srcdir)/cp/decl2.c \$(srcdir)/cp/pt.c \$(srcdir)/cp/repo.c \$(srcdir)/cp/semantics.c \$(srcdir)/cp/tree.c \$(srcdir)/cp/parser.h \$(srcdir)/cp/parser.c \$(srcdir)/cp/method.c \$(srcdir)/cp/typeck2.c \$(srcdir)/c-family/c-common.c \$(srcdir)/c-family/c-common.h \$(srcdir)/c-family/c-objc.h \$(srcdir)/c-family/c-lex.c \$(srcdir)/c-family/c-pragma.h \$(srcdir)/c-family/c-pragma.c \$(srcdir)/cp/class.c \$(srcdir)/cp/cp-objcp-common.c \
|
|
\$(srcdir)/objc/objc-map.h \$(srcdir)/objc/objc-act.h \$(srcdir)/objc/objc-act.c \$(srcdir)/objc/objc-runtime-shared-support.c \$(srcdir)/objc/objc-gnu-runtime-abi-01.c \$(srcdir)/objc/objc-next-runtime-abi-01.c \$(srcdir)/objc/objc-next-runtime-abi-02.c \$(srcdir)/c-family/c-cppbuiltin.c"
|
|
|