[cfe-dev] Address of register variable

Sanghyeon Seo sanxiyn at gmail.com
Wed Nov 14 06:44:54 PST 2007


C99 6.5.3.2p1 forbids taking address of register variable. However,

struct entry { int value; };
void add_one(int *p) { (*p)++; }

void test() {
  register struct entry *p;
  add_one(&p->value);
}

This code isn't doing that. p is register variable, but p->value
isn't. But current clang gives:

test.c:6:11: error: address of register variable requested

Such code is present in GNU Make 3.81.

-- 
Seo Sanghyeon



More information about the cfe-dev mailing list