mirror of
https://github.com/bminor/binutils-gdb.git
synced 2025-12-26 17:18:55 +00:00
Make the gdb.objc tests compile
The gdb.objc tests haven't compiled in years. This patch fixes this, based on a comment in bug 31671. I don't know whether this approach works with the clang implementation of Objective-C. However, it does work with GCC, provided that gnustep-base is installed.
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
#include <stdio.h>
|
||||
#include <objc/Object.h>
|
||||
#include <Foundation/NSObject.h>
|
||||
|
||||
@interface BasicClass: Object
|
||||
@interface BasicClass: NSObject
|
||||
{
|
||||
id object;
|
||||
}
|
||||
@@ -75,7 +75,7 @@ const char *_NSPrintForDebugger(id object)
|
||||
{
|
||||
/* This is not really what _NSPrintForDebugger should do, but it
|
||||
is a simple test if gdb can call this function */
|
||||
if (object && [object respondsTo: @selector(myDescription)])
|
||||
if (object)
|
||||
return [object myDescription];
|
||||
|
||||
return NULL;
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
#include <stdio.h>
|
||||
#include <objc/Object.h>
|
||||
#include <Foundation/NSObject.h>
|
||||
|
||||
@interface NonDebug: Object
|
||||
@interface NonDebug: NSObject
|
||||
{
|
||||
}
|
||||
@end
|
||||
@interface NonDebug2: Object
|
||||
@interface NonDebug2: NSObject
|
||||
{
|
||||
}
|
||||
@end
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#include <stdio.h>
|
||||
#include <objc/Object.h>
|
||||
#include <Foundation/NSObject.h>
|
||||
|
||||
@interface Decode: Object
|
||||
@interface Decode: NSObject
|
||||
{
|
||||
}
|
||||
- multipleDef;
|
||||
@@ -43,7 +43,7 @@ const char *_NSPrintForDebugger(id object)
|
||||
{
|
||||
/* This is not really what _NSPrintForDebugger should do, but it
|
||||
is a simple test if gdb can call this function */
|
||||
if (object && [object respondsTo: @selector(myDescription)])
|
||||
if (object)
|
||||
return [object myDescription];
|
||||
|
||||
return NULL;
|
||||
|
||||
@@ -6950,15 +6950,11 @@ proc gdb_compile_shlib_pthreads {sources dest options} {
|
||||
proc gdb_compile_objc {source dest type options} {
|
||||
set built_binfile 0
|
||||
set why_msg "unrecognized error"
|
||||
foreach lib {-lobjc -lpthreads -lpthread -lthread solaris} {
|
||||
set base_libs {-lgnustep-base -lobjc}
|
||||
foreach lib {-lpthreads -lpthread -lthread "-lpthread -lposix4"} {
|
||||
# This kind of wipes out whatever libs the caller may have
|
||||
# set. Or maybe theirs will override ours. How infelicitous.
|
||||
if { $lib == "solaris" } {
|
||||
set lib "-lpthread -lposix4"
|
||||
}
|
||||
if { $lib != "-lobjc" } {
|
||||
set lib "-lobjc $lib"
|
||||
}
|
||||
# set. Or maybe theirs will override ours. How infelicitous.
|
||||
set lib "$base_libs $lib"
|
||||
set options_with_lib [concat $options [list libs=$lib quiet]]
|
||||
set ccout [gdb_compile $source $dest $type $options_with_lib]
|
||||
switch -regexp -- $ccout {
|
||||
|
||||
Reference in New Issue
Block a user