+2007-01-20 Andrew Pinski <pinskia@gmail.com>
+
+ PR objc/30479
+ * objc-act.c (hash_interface): Use IDENTIFIER_HASH_VALUE instead
+ of htab_hash_pointer.
+ (lookup_interface): Likewise.
+ (add_class): Likewise.
+
2007-01-02 Douglas Gregor <doug.gregor@gmail.com>
* objc-act.c (objc_build_volatilized_type): Keep track of
hash_interface (const void *p)
{
const struct interface_tuple *d = p;
- return htab_hash_pointer (d->id);
+ return IDENTIFIER_HASH_VALUE (d->id);
}
static int
{
slot = (struct interface_tuple **)
htab_find_slot_with_hash (interface_htab, ident,
- htab_hash_pointer (ident),
+ IDENTIFIER_HASH_VALUE (ident),
NO_INSERT);
if (slot && *slot)
i = (*slot)->class_name;
interface_htab = htab_create_ggc (31, hash_interface, eq_interface, NULL);
slot = (struct interface_tuple **)
htab_find_slot_with_hash (interface_htab, name,
- htab_hash_pointer (name),
+ IDENTIFIER_HASH_VALUE (name),
INSERT);
if (!*slot)
{
+2007-01-20 Andrew Pinski <pinskia@gmail.com>
+
+ PR objc/30479
+ * objc.dg/pch: New directory.
+ * objc.dg/pch/pch.exp: New file.
+ * objc.dg/pch/interface-1.m: New test.
+ * objc.dg/pch/interface-1.hs: New include file.
+ * lib/objc.exp (objc_target_compile): Add
+ "-x objective-c-header" in front of the sources if this is
+ a precompiled header being compiled.
+
2007-01-20 Roger Sayle <roger@eyesopen.com>
* gfortran.dg/array_memcpy_3.f90: New test case.
lappend options "additional_flags=${objc_link_flags}"
append ld_library_path ":${libobjc_dir}"
}
+ if { $type == "precompiled_header" } {
+ # If we generating a precompiled header, we have say this is an
+ # objective-C header
+ set source [concat "-x objective-c-header" $source]
+ }
lappend options "compiler=$OBJC_UNDER_TEST"
set_ld_library_path_env_vars
--- /dev/null
+@interface TestClass
++ (int) test;
+@end
+
--- /dev/null
+#include "interface-1.h"
+
+@implementation TestClass
++ (int) test
+{
+ return 0;
+}
+@end
+
+int main (void)
+{
+ return [TestClass test];
+}
+
--- /dev/null
+# Copyright (C) 1997, 2002, 2003 Free Software Foundation, Inc.
+
+# This program 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 of the License, or
+# (at your option) any later version.
+#
+# This program 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 this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+
+# GCC testsuite for precompiled header interaction,
+# that uses the `dg.exp' driver.
+
+# Load support procs.
+load_lib objc-dg.exp
+load_lib dg-pch.exp
+
+# Initialize `dg'.
+dg-init
+
+set old_dg_do_what_default "${dg-do-what-default}"
+
+# Main loop.
+foreach test [lsort [glob -nocomplain $srcdir/$subdir/*.m]] {
+ global torture_without_loops
+
+ # We don't try to use the loop-optimizing options, since they are highly
+ # unlikely to make any difference to PCH. However, we do want to
+ # add -O0 -g, since users who want PCH usually want debugging and quick
+ # compiles.
+ dg-pch $subdir $test [concat [list {-O0 -g}] $torture_without_loops] ".h"
+}
+
+set dg-do-what-default "$old_dg_do_what_default"
+
+# All done.
+dg-finish