diff -Nrc3pad gcc-3.0/gcc/objc/objc-act.c gcc-3.0.1/gcc/objc/objc-act.c *** gcc-3.0/gcc/objc/objc-act.c Thu Jun 14 18:08:40 2001 --- gcc-3.0.1/gcc/objc/objc-act.c Fri Jun 29 12:20:43 2001 *************** handle_class_ref (chain) *** 8362,8374 **** pushdecl (decl); rest_of_decl_compilation (decl, 0, 0, 0); - #ifdef __hpux__ /* Put the decl in the variable section. It may need relocation. */ variable_section (decl, 1); - #else - /* Make following constant read-only (why not)? */ - readonly_data_section (); - #endif exp = build1 (ADDR_EXPR, string_type_node, decl); --- 8362,8369 ---- *************** handle_impent (impent) *** 8421,8429 **** { sprintf (string, "%sobjc_class_name_%s", (flag_next_runtime ? "." : "__"), class_name); - #ifdef __hpux__ readonly_data_section (); - #endif assemble_global (string); assemble_label (string); } --- 8416,8422 ---- *************** handle_impent (impent) *** 8458,8466 **** sprintf (string, "%sobjc_category_name_%s_%s", (flag_next_runtime ? "." : "__"), class_name, class_super_name); - #ifdef __hpux__ readonly_data_section (); - #endif assemble_global (string); assemble_label (string); } --- 8451,8457 ---- diff -Nrc3pad gcc-3.0/gcc/objc/objc-parse.c gcc-3.0.1/gcc/objc/objc-parse.c *** gcc-3.0/gcc/objc/objc-parse.c Sun Jun 17 12:51:07 2001 --- gcc-3.0.1/gcc/objc/objc-parse.c Sun Aug 19 17:53:34 2001 *************** *** 1,6 **** /* A Bison parser, made from objc-parse.y ! by GNU Bison version 1.28 */ #define YYBISON 1 /* Identify Bison output. */ --- 1,7 ---- /* A Bison parser, made from objc-parse.y ! by GNU Bison version 1.27 ! */ #define YYBISON 1 /* Identify Bison output. */ *************** static const short yycheck[] = { 56, *** 1754,1760 **** }; /* -*-C-*- Note some compilers choke on comments on `#line' lines. */ #line 3 "/usr/lib/bison.simple" ! /* This file comes from bison-1.28. */ /* Skeleton output parser for bison, Copyright (C) 1984, 1989, 1990 Free Software Foundation, Inc. --- 1755,1761 ---- }; /* -*-C-*- Note some compilers choke on comments on `#line' lines. */ #line 3 "/usr/lib/bison.simple" ! /* This file comes from bison-1.27. */ /* Skeleton output parser for bison, Copyright (C) 1984, 1989, 1990 Free Software Foundation, Inc. *************** __yy_memcpy (char *to, char *from, unsig *** 1967,1973 **** #endif #endif ! #line 217 "/usr/lib/bison.simple" /* The user can define YYPARSE_PARAM as the name of an argument to be passed into yyparse. The argument should have type void *. --- 1968,1974 ---- #endif #endif ! #line 216 "/usr/lib/bison.simple" /* The user can define YYPARSE_PARAM as the name of an argument to be passed into yyparse. The argument should have type void *. *************** case 588: *** 4798,4804 **** break;} } /* the action file gets copied in in place of this dollarsign */ ! #line 543 "/usr/lib/bison.simple" yyvsp -= yylen; yyssp -= yylen; --- 4799,4805 ---- break;} } /* the action file gets copied in in place of this dollarsign */ ! #line 542 "/usr/lib/bison.simple" yyvsp -= yylen; yyssp -= yylen; diff -Nrc3pad gcc-3.0/libobjc/ChangeLog gcc-3.0.1/libobjc/ChangeLog *** gcc-3.0/libobjc/ChangeLog Sun Jun 17 12:41:14 2001 --- gcc-3.0.1/libobjc/ChangeLog Sun Aug 19 14:08:34 2001 *************** *** 1,3 **** --- 1,18 ---- + 2001-08-19 Release Manager + + * GCC 3.0.1 Released. + + 2001-08-19 Release Manager + + * GCC 3.0.1 Released. + + Mon Jul 16 12:15:00 2001 Nicola Pero + + * objc/objc-api.h (object_is_class): Fixed - buggy code was trying + to cast an id to a Class, which can not be done. Make the check + by using CLS_ISMETA on the class pointer instead. + (object_is_meta_class): Similar fix. + 20010617 Release Manager * GCC 3.0 Released. diff -Nrc3pad gcc-3.0/libobjc/objc/objc-api.h gcc-3.0.1/libobjc/objc/objc-api.h *** gcc-3.0/libobjc/objc/objc-api.h Wed Jan 3 00:49:34 2001 --- gcc-3.0.1/libobjc/objc/objc-api.h Mon Jul 16 04:30:07 2001 *************** object_get_super_class *** 578,598 **** } static inline BOOL ! object_is_class(id object) { ! return CLS_ISCLASS((Class)object); } ! static inline BOOL ! object_is_instance(id object) { ! return (object!=nil)&&CLS_ISCLASS(object->class_pointer); } static inline BOOL ! object_is_meta_class(id object) { ! return CLS_ISMETA((Class)object); } struct sarray* --- 578,600 ---- } static inline BOOL ! object_is_class (id object) { ! return ((object != nil) && CLS_ISMETA (object->class_pointer)); } ! static inline BOOL ! object_is_instance (id object) { ! return ((object != nil) && CLS_ISCLASS (object->class_pointer)); } static inline BOOL ! object_is_meta_class (id object) { ! return ((object != nil) ! && !object_is_instance (object) ! && !object_is_class (object)); } struct sarray*