예제 #1
0
파일: p14-ir.cpp 프로젝트: lgerbarg/clang
void test() {
  // CHECK: define linkonce_odr void @_ZN2X8C1Ev
  // CHECK:      call void @_ZN2X8C2Ev({{.*}}) nounwind
  // CHECK-NEXT: ret void
  X8();

  // CHECK: define linkonce_odr void @_ZN2X9C1Ev
  //   FIXME: check that this is the end of the line here:
  // CHECK:      call void @_ZN2X9C2Ev({{.*}})
  // CHECK-NEXT: ret void
  X9();

  // CHECK: define linkonce_odr void @_ZN2X9C2Ev
  // CHECK:      call void @_ZN2X6C2Ev({{.*}}) nounwind
  //   FIXME: and here:
  // CHECK-NEXT: call void @_ZN2X7C2Ev({{.*}})
  // CHECK: ret void

  // CHECK: define linkonce_odr void @_ZN2X8C2Ev
  // CHECK:      call void @_ZN2X6C2Ev({{.*}}) nounwind
  // CHECK-NEXT: ret void
}
예제 #2
0
파일: p14-ir.cpp 프로젝트: 4ntoine/clang
void test() {
  // CHECK: define linkonce_odr void @_ZN2X8C1Ev(%struct.X8* %this) unnamed_addr
  // CHECK:      call void @_ZN2X8C2Ev({{.*}}) [[NUW]]
  // CHECK-NEXT: ret void
  X8();

  // CHECK: define linkonce_odr void @_ZN2X9C1Ev(%struct.X9* %this) unnamed_addr
  //   FIXME: check that this is the end of the line here:
  // CHECK:      call void @_ZN2X9C2Ev({{.*}})
  // CHECK-NEXT: ret void
  X9();

  // CHECK: define linkonce_odr void @_ZN2X9C2Ev(%struct.X9* %this) unnamed_addr
  // CHECK:      call void @_ZN2X6C2Ev({{.*}}) [[NUW]]
  //   FIXME: and here:
  // CHECK-NEXT: bitcast
  // CHECK-NEXT: call void @_ZN2X7C2Ev({{.*}})
  // CHECK: ret void

  // CHECK: define linkonce_odr void @_ZN2X8C2Ev(%struct.X8* %this) unnamed_addr
  // CHECK:      call void @_ZN2X6C2Ev({{.*}}) [[NUW]]
  // CHECK-NEXT: ret void
}
예제 #3
0
파일: fpu.c 프로젝트: avsm/openbsd-xen-sys
/*
 * Translate current exceptions into `first' exception.  The
 * bits go the wrong way for ffs() (0x10 is most important, etc).
 * There are only 5, so do it the obvious way.
 */
#define	X1(x) x
#define	X2(x) x,x
#define	X4(x) x,x,x,x
#define	X8(x) X4(x),X4(x)
#define	X16(x) X8(x),X8(x)

static char cx_to_trapx[] = {
	X1(FSR_NX),
	X2(FSR_DZ),
	X4(FSR_UF),
	X8(FSR_OF),
	X16(FSR_NV)
};
static u_char fpu_codes[] = {
	X1(FPE_FLTINEX_TRAP),
	X2(FPE_FLTDIV_TRAP),
	X4(FPE_FLTUND_TRAP),
	X8(FPE_FLTOVF_TRAP),
	X16(FPE_FLTOPERR_TRAP)
};

static int fpu_types[] = {
	X1(FPE_FLTRES),
	X2(FPE_FLTDIV),
	X4(FPE_FLTUND),
	X8(FPE_FLTOVF),
예제 #4
0
파일: quote.c 프로젝트: Noffica/git
/* 1 means: quote as octal
 * 0 means: quote as octal if (quote_path_fully)
 * -1 means: never quote
 * c: quote as "\\c"
 */
#define X8(x)   x, x, x, x, x, x, x, x
#define X16(x)  X8(x), X8(x)
static signed char const sq_lookup[256] = {
	/*           0    1    2    3    4    5    6    7 */
	/* 0x00 */   1,   1,   1,   1,   1,   1,   1, 'a',
	/* 0x08 */ 'b', 't', 'n', 'v', 'f', 'r',   1,   1,
	/* 0x10 */ X16(1),
	/* 0x20 */  -1,  -1, '"',  -1,  -1,  -1,  -1,  -1,
	/* 0x28 */ X16(-1), X16(-1), X16(-1),
	/* 0x58 */  -1,  -1,  -1,  -1,'\\',  -1,  -1,  -1,
	/* 0x60 */ X16(-1), X8(-1),
	/* 0x78 */  -1,  -1,  -1,  -1,  -1,  -1,  -1,   1,
	/* 0x80 */ /* set to 0 */
};

static inline int sq_must_quote(char c)
{
	return sq_lookup[(unsigned char)c] + quote_path_fully > 0;
}

/* returns the longest prefix not needing a quote up to maxlen if positive.
   This stops at the first \0 because it's marked as a character needing an
   escape */
static size_t next_quote_pos(const char *s, ssize_t maxlen)
{
	size_t len;