view test/DebugInfo/Inputs/arange-overlap.cc @ 77:54457678186b LLVM3.6

LLVM 3.6
author Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
date Mon, 08 Sep 2014 22:06:00 +0900
parents
children
line wrap: on
line source

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>