Skip to content

Commit

Permalink
Xcode 4 comes with a version of clang that treats inline differently:…
Browse files Browse the repository at this point in the history
… it requires exactly one definition of the inline function in the linked unit. static inline is C99-compliant (according to LeoNerd in freenode/##c) and does not have this problem, so use that in objc_darwin.h instead.

Fixes issue 1.
  • Loading branch information
andlabs committed Mar 5, 2014
1 parent 40a9dc5 commit 7866d3e
Showing 1 changed file with 5 additions and 5 deletions.
10 changes: 5 additions & 5 deletions objc_darwin.h
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ extern Class NilClass;
/* for listbox_darwin.go */
extern id *_NSObservedObjectKey;

inline id objc_msgSend_noargs(id obj, SEL sel)
static inline id objc_msgSend_noargs(id obj, SEL sel)
{
return objc_msgSend(obj, sel);
}
Expand All @@ -52,25 +52,25 @@ extern uintptr_t objc_msgSend_uintret_noargs(id objc, SEL sel);
extern intptr_t objc_msgSend_intret_noargs(id obj, SEL sel);

#define m1(name, type1) \
inline id objc_msgSend_ ## name (id obj, SEL sel, type1 a) \
static inline id objc_msgSend_ ## name (id obj, SEL sel, type1 a) \
{ \
return objc_msgSend(obj, sel, a); \
}

#define m2(name, type1, type2) \
inline id objc_msgSend_ ## name (id obj, SEL sel, type1 a, type2 b) \
static inline id objc_msgSend_ ## name (id obj, SEL sel, type1 a, type2 b) \
{ \
return objc_msgSend(obj, sel, a, b); \
}

#define m3(name, type1, type2, type3) \
inline id objc_msgSend_ ## name (id obj, SEL sel, type1 a, type2 b, type3 c) \
static inline id objc_msgSend_ ## name (id obj, SEL sel, type1 a, type2 b, type3 c) \
{ \
return objc_msgSend(obj, sel, a, b, c); \
}

#define m4(name, type1, type2, type3, type4) \
inline id objc_msgSend_ ## name (id obj, SEL sel, type1 a, type2 b, type3 c, type4 d) \
static inline id objc_msgSend_ ## name (id obj, SEL sel, type1 a, type2 b, type3 c, type4 d) \
{ \
return objc_msgSend(obj, sel, a, b, c, d); \
}
Expand Down

0 comments on commit 7866d3e

Please sign in to comment.