> 
> That then, begins to look like a possible libobc2 bug.
> 
> The log file provides both the command used to build the test and the text of 
> the test program (a load of defines, the tiny config/config.objc.m program, 
> and the include of objc-common.g).
> Using that you can reproduce the test executable that crashed.
> You can then run it under gdb to find ot where and how the crash is occurring 
> (look at the stack etc).
> 

I've copied this into the attached conftest.c and tried to build it
with 

clang -integrated-as -o conftest -g -O2
-I/usr/GNUstep/Local/Library/Headers
-I/usr/GNUstep/Local/Library/Headers
-I/usr/GNUstep/System/Library/Headers  -shared-libgcc
-L/usr/GNUstep/Local/Library/Libraries
-L/usr/GNUstep/Local/Library/Libraries
-L/usr/GNUstep/System/Library/Libraries conftest.c -lrt -ldl  -lpthread


But the compilation fails with : 
In file included from conftest.c:108:
In file included from ././config/config.objc.m:2:
In file included from ././config/objc-common.g:13:
/usr/local/include/objc/Object.h:7:1: error: expected identifier or '('
@interface Object
^
/usr/local/include/objc/Object.h:11:1: error: expected identifier or '('
@end
^
In file included from conftest.c:108:
In file included from ././config/config.objc.m:2:
././config/objc-common.g:45:20: error: expected identifier or '('
GS_OBJC_ROOT_CLASS @interface NSObject
                   ^
././config/objc-common.g:49:1: error: expected identifier or '('
@end
^
././config/objc-common.g:61:1: error: expected identifier or '('
@end
^
In file included from conftest.c:108:
././config/config.objc.m:6:1: error: expected identifier or '('
@end
^
././config/config.objc.m:13:1: error: expected external declaration
+(int) testResult
^
././config/config.objc.m:13:3: error: expected identifier or '('
+(int) testResult
  ^
././config/config.objc.m:13:3: error: expected ')'
././config/config.objc.m:13:2: note: to match this '('
+(int) testResult
 ^
././config/config.objc.m:17:1: error: expected identifier or '('
@end
^
10 errors generated.

What do I miss ?
Bertrand
 /* confdefs.h */
 #define PACKAGE_NAME ""
 #define PACKAGE_TARNAME ""
 #define PACKAGE_VERSION ""
 #define PACKAGE_STRING ""
 #define PACKAGE_BUGREPORT ""
 #define PACKAGE_URL ""
 #define OPTION_NO_ENVIRONMENT 0
 #define GNUSTEP_TARGET_MAKEFILES "/usr/GNUstep/System/Library/Makefiles"
 #define GNUSTEP_TARGET_USER_DEFAULTS_DIR "GNUstep/Defaults"
 #define GNUSTEP_TARGET_USER_CONFIG_FILE ".GNUstep.conf"
 #define GNUSTEP_TARGET_CONFIG_FILE "/etc/GNUstep/GNUstep.conf"
 #define GNUSTEP_TARGET_SYSTEM_APPS "/usr/GNUstep/System/Applications"
 #define GNUSTEP_TARGET_SYSTEM_ADMIN_APPS "/usr/GNUstep/System/Applications/Admin"
 #define GNUSTEP_TARGET_SYSTEM_WEB_APPS "/usr/GNUstep/System/Library/WebApplications"
 #define GNUSTEP_TARGET_SYSTEM_TOOLS "/usr/GNUstep/System/Tools"
 #define GNUSTEP_TARGET_SYSTEM_ADMIN_TOOLS "/usr/GNUstep/System/Tools/Admin"
 #define GNUSTEP_TARGET_SYSTEM_LIBRARY "/usr/GNUstep/System/Library"
 #define GNUSTEP_TARGET_SYSTEM_LIBRARIES "/usr/GNUstep/System/Library/Libraries"
 #define GNUSTEP_TARGET_SYSTEM_HEADERS "/usr/GNUstep/System/Library/Headers"
 #define GNUSTEP_TARGET_SYSTEM_DOC "/usr/GNUstep/System/Library/Documentation"
 #define GNUSTEP_TARGET_SYSTEM_DOC_MAN "/usr/GNUstep/System/Library/Documentation/man"
 #define GNUSTEP_TARGET_SYSTEM_DOC_INFO "/usr/GNUstep/System/Library/Documentation/info"
 #define GNUSTEP_TARGET_NETWORK_APPS "/usr/GNUstep/Local/Applications"
 #define GNUSTEP_TARGET_NETWORK_ADMIN_APPS "/usr/GNUstep/Local/Applications/Admin"
 #define GNUSTEP_TARGET_NETWORK_WEB_APPS "/usr/GNUstep/Local/Library/WebApplications"
 #define GNUSTEP_TARGET_NETWORK_TOOLS "/usr/GNUstep/Local/Tools"
 #define GNUSTEP_TARGET_NETWORK_ADMIN_TOOLS "/usr/GNUstep/Local/Tools/Admin"
 #define GNUSTEP_TARGET_NETWORK_LIBRARY "/usr/GNUstep/Local/Library"
 #define GNUSTEP_TARGET_NETWORK_LIBRARIES "/usr/GNUstep/Local/Library/Libraries"
 #define GNUSTEP_TARGET_NETWORK_HEADERS "/usr/GNUstep/Local/Library/Headers"
 #define GNUSTEP_TARGET_NETWORK_DOC "/usr/GNUstep/Local/Library/Documentation"
 #define GNUSTEP_TARGET_NETWORK_DOC_MAN "/usr/GNUstep/Local/Library/Documentation/man"
 #define GNUSTEP_TARGET_NETWORK_DOC_INFO "/usr/GNUstep/Local/Library/Documentation/info"
 #define GNUSTEP_TARGET_LOCAL_APPS "/usr/GNUstep/Local/Applications"
 #define GNUSTEP_TARGET_LOCAL_ADMIN_APPS "/usr/GNUstep/Local/Applications/Admin"
 #define GNUSTEP_TARGET_LOCAL_WEB_APPS "/usr/GNUstep/Local/Library/WebApplications"
 #define GNUSTEP_TARGET_LOCAL_TOOLS "/usr/GNUstep/Local/Tools"
 #define GNUSTEP_TARGET_LOCAL_ADMIN_TOOLS "/usr/GNUstep/Local/Tools/Admin"
 #define GNUSTEP_TARGET_LOCAL_LIBRARY "/usr/GNUstep/Local/Library"
 #define GNUSTEP_TARGET_LOCAL_LIBRARIES "/usr/GNUstep/Local/Library/Libraries"
 #define GNUSTEP_TARGET_LOCAL_HEADERS "/usr/GNUstep/Local/Library/Headers"
 #define GNUSTEP_TARGET_LOCAL_DOC "/usr/GNUstep/Local/Library/Documentation"
 #define GNUSTEP_TARGET_LOCAL_DOC_MAN "/usr/GNUstep/Local/Library/Documentation/man"
 #define GNUSTEP_TARGET_LOCAL_DOC_INFO "/usr/GNUstep/Local/Library/Documentation/info"
 #define GNUSTEP_TARGET_USER_DIR_APPS "GNUstep/Applications"
 #define GNUSTEP_TARGET_USER_DIR_ADMIN_APPS "GNUstep/Applications/Admin"
 #define GNUSTEP_TARGET_USER_DIR_WEB_APPS "GNUstep/Library/WebApplications"
 #define GNUSTEP_TARGET_USER_DIR_TOOLS "GNUstep/Tools"
 #define GNUSTEP_TARGET_USER_DIR_ADMIN_TOOLS "GNUstep/Tools/Admin"
 #define GNUSTEP_TARGET_USER_DIR_LIBRARY "GNUstep/Library"
 #define GNUSTEP_TARGET_USER_DIR_LIBRARIES "GNUstep/Library/Libraries"
 #define GNUSTEP_TARGET_USER_DIR_HEADERS "GNUstep/Library/Headers"
 #define GNUSTEP_TARGET_USER_DIR_DOC "GNUstep/Library/Documentation"
 #define GNUSTEP_TARGET_USER_DIR_DOC_MAN "GNUstep/Library/Documentation/man"
 #define GNUSTEP_TARGET_USER_DIR_DOC_INFO "GNUstep/Library/Documentation/info"
 #define GNUSTEP_TARGET_SYSTEM_USERS_DIR ""
 #define GNUSTEP_TARGET_NETWORK_USERS_DIR ""
 #define GNUSTEP_TARGET_LOCAL_USERS_DIR ""
 #define STDC_HEADERS 1
 #define HAVE_SYS_TYPES_H 1
 #define HAVE_SYS_STAT_H 1
 #define HAVE_STDLIB_H 1
 #define HAVE_STRING_H 1
 #define HAVE_MEMORY_H 1
 #define HAVE_STRINGS_H 1
 #define HAVE_INTTYPES_H 1
 #define HAVE_STDINT_H 1
 #define HAVE_UNISTD_H 1
 #define __EXTENSIONS__ 1
 #define _ALL_SOURCE 1
 #define _GNU_SOURCE 1
 #define _POSIX_PTHREAD_SEMANTICS 1
 #define _TANDEM_SOURCE 1
 #define HAVE_FSEEKO 1
 #define _FILE_OFFSET_BITS 64
 #define USE_ATOMIC_BUILTINS 1
 #define HAVE_OBJC_RUNTIME_H 1
 #define HAVE_OBJC_OBJC_H 1
 #define HAVE_VISIBILITY_ATTRIBUTE 1
 #define BROKEN_SO_REUSEADDR 1
 #define WORDS_BIGENDIAN 1
 #define SIZEOF_VOIDP 4
 #define SIZEOF_SHORT 2
 #define SIZEOF_INT 4
 #define SIZEOF_LONG 4
 #define SIZEOF_LONG_LONG 8
 #define SIZEOF_FLOAT 4
 #define SIZEOF_DOUBLE 8
 #define CON_AUTOLOAD 1
 #define HAVE_LIBDL 1
 #define HAVE_DLADDR 1
 #define HAVE_GETHOSTBYNAME 1
 #define HAVE_GETADDRINFO 1
 #define HAVE_PTHREAD_H 1
 #define SIZEOF_PTHREAD_MUTEX_T 24
 #define HAVE_PTHREAD_MUTEX_OWNER 1
 #define SIZEOF_PTHREAD_COND_T 48
 #define ALIGNOF_PTHREAD_MUTEX_T 4
 #define ALIGNOF_PTHREAD_COND_T 8
 #define HAVE_LIBRT 1
 #define HAVE_NANOSLEEP 1
 #define HAVE_USLEEP 1
 #define HAVE_OBJC_ROOT_CLASS_ATTRIBUTE 1
 #define PTHREAD_SETNAME(a) pthread_setname_np(pthread_self(),a)
 #define HAVE_GETTID 1
 /* end confdefs.h.  */
 #include "./config/config.objc.m"
#include "objc-common.g"

GS_OBJC_ROOT_CLASS @interface Test 
+(int) testResult;
@end

@implementation Test
+ (void) initialize
{
  return;
}
+(int) testResult
{
  return -1;
}
@end

int main (void)
{
  return ([Test testResult] + 1);
}
_______________________________________________
Discuss-gnustep mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/discuss-gnustep

Reply via email to