why does building with "C=1" cause errors?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



  just for the fun of it, i tried doing a build with "C=1" and got a
pile of errors:

...
  CHECK   init/main.c
include/linux/spinlock_api_smp.h:22:47: error: undefined identifier 'lock'
include/linux/spinlock_api_smp.h:22:47: error: bad constant expression
include/linux/spinlock_api_smp.h:24:8: error: undefined identifier 'lock'
include/linux/spinlock_api_smp.h:24:8: error: bad constant expression
...

  which corresponds to this:

void __lockfunc _spin_lock(spinlock_t *lock)            __acquires(lock);
void __lockfunc _spin_lock_nested(spinlock_t *lock, int subclass)
                     __acquires(lock);

it's those "__acquires(lock)" attributes that are causing the problem,
which are defined thusly when doing this kind of check:

# define __acquires(x)  __attribute__((context(x,0,1)))
# define __releases(x)  __attribute__((context(x,1,0)))

  ok, so ... can someone explain what's happening here as i don't know
squat about this particular gcc attribute.  thanks.

rday

-- 
========================================================================
Robert P. J. Day
Linux Consulting, Training and Annoying Kernel Pedantry
Waterloo, Ontario, CANADA

http://fsdev.net/wiki/index.php?title=Main_Page
========================================================================

--
To unsubscribe from this list: send an email with
"unsubscribe kernelnewbies" to ecartis@xxxxxxxxxxxx
Please read the FAQ at http://kernelnewbies.org/FAQ


[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux