27 lines
511 B
C++
27 lines
511 B
C++
|
void call();
|
||
|
|
||
|
struct S {
|
||
|
static void foo() { call(); call(); }
|
||
|
static void bar() { call(); call(); }
|
||
|
static void baz() {}
|
||
|
};
|
||
|
|
||
|
#ifdef FILE1
|
||
|
# define FUNC_NAME func1
|
||
|
# define FUNC_BODY \
|
||
|
S::foo(); S::bar(); S::baz();
|
||
|
#else
|
||
|
# define FUNC_NAME func2
|
||
|
# define FUNC_BODY \
|
||
|
S::bar();
|
||
|
#endif
|
||
|
|
||
|
void FUNC_NAME() {
|
||
|
FUNC_BODY
|
||
|
}
|
||
|
|
||
|
// Build instructions:
|
||
|
// $ clang -g -fPIC -c -DFILE1 arange-overlap.cc -o obj1.o
|
||
|
// $ clang -g -fPIC -c arange-overlap.cc -o obj2.o
|
||
|
// $ clang -shared obj1.o obj2.o -o <output>
|