OSDN Git Service

CFStrings for Darwin.
authoriains <iains@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 22 Oct 2010 10:28:57 +0000 (10:28 +0000)
committeriains <iains@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 22 Oct 2010 10:28:57 +0000 (10:28 +0000)
commitd4238e8bcce578381de9480d78a651830a8f9754
tree930cb5a100d0242c1b4f82c25d186b96318cd1a6
parente8b5ac674b44d769c4aaea6560e0ab345f5efc88
CFStrings for Darwin.

gcc:

Based on the CFString implementation in FSF apple/trunk branch.

* target.def (objc_construct_string): New Hook.
* doc/tm.texi (objc_construct_string): Document.
* doc/tm.texi.in (TARGET_OBJC_CONSTRUCT_STRING): New.
* config/t-darwin: Amend build rules for darwin.o.
* config/darwin.opt: Add cfstrings flags.
* config/darwin-c.c: Define __CONSTANT_CFSTRINGS__.
(darwin_objc_construct_string): New.
* config/i386/darwin.h (SUBTARGET_INIT_BUILTINS): Define.
* config/i386/i386.c (ix86_init_builtins): Add SUBTARGET_INIT_BUILTINS.
* config/darwin-protos.h (darwin_init_cfstring_builtins): New prototype.
(darwin_fold_builtin): Likewise.
(darwin_build_constant_cfstring): Likewise.
(darwin_objc_construct_string): Likewise.
(darwin_cfstring_p): Likewise.
(darwin_enter_string_into_cfstring_table): Likewise.
* config/rs6000/darwin.h (SUBTARGET_INIT_BUILTINS) Update for CFString.
* config/darwin.c (darwin_running_cxx): New var.
(machopic_select_section): Return cfstring_constant_object_section.
(darwin_override_options): Set darwin_running_cxx.
(add_builtin_field_decl): New.
(darwin_init_cfstring_builtins): New.
(darwin_build_constant_cfstring): New.
(darwin_fold_builtin): New.
(cfstring_hash): New.
(cfstring_eq): New.
(darwin_enter_string_into_cfstring_table): New.
* config/darwin-sections.def (cfstring_constant_object_section): New.
* config/darwin.h (TARGET_FOLD_BUILTIN): Define.
(TARGET_OBJC_CONSTRUCT_STRING): Define.

gcc/objc:

Based on the CFString implementation in FSF apple/trunk branch.

* objc/objc-act.c (objc_build_string_object): Handle CFStrings.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165820 138bc75d-0d04-0410-961f-82ee72b054a4
16 files changed:
gcc/ChangeLog
gcc/config/darwin-c.c
gcc/config/darwin-protos.h
gcc/config/darwin-sections.def
gcc/config/darwin.c
gcc/config/darwin.h
gcc/config/darwin.opt
gcc/config/i386/darwin.h
gcc/config/i386/i386.c
gcc/config/rs6000/darwin.h
gcc/config/t-darwin
gcc/doc/tm.texi
gcc/doc/tm.texi.in
gcc/objc/ChangeLog
gcc/objc/objc-act.c
gcc/target.def