Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 71232
b: refs/heads/master
c: e8c4431
h: refs/heads/master
v: v3
  • Loading branch information
Ralf Baechle authored and Linus Torvalds committed Oct 18, 2007
1 parent 2c85cb6 commit 6362112
Show file tree
Hide file tree
Showing 9 changed files with 28 additions and 32 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: c80544dc0b87bb65038355e7aafdc30be16b26ab
refs/heads/master: e8c44319c691dfb4a0b039b095204c040df9b01a
6 changes: 3 additions & 3 deletions trunk/arch/arm/nwfpe/fpopcode.h
Original file line number Diff line number Diff line change
Expand Up @@ -369,20 +369,20 @@ TABLE 5
#define getRoundingMode(opcode) ((opcode & MASK_ROUNDING_MODE) >> 5)

#ifdef CONFIG_FPE_NWFPE_XP
static inline __attribute_pure__ floatx80 getExtendedConstant(const unsigned int nIndex)
static inline floatx80 __pure getExtendedConstant(const unsigned int nIndex)
{
extern const floatx80 floatx80Constant[];
return floatx80Constant[nIndex];
}
#endif

static inline __attribute_pure__ float64 getDoubleConstant(const unsigned int nIndex)
static inline float64 __pure getDoubleConstant(const unsigned int nIndex)
{
extern const float64 float64Constant[];
return float64Constant[nIndex];
}

static inline __attribute_pure__ float32 getSingleConstant(const unsigned int nIndex)
static inline float32 __pure getSingleConstant(const unsigned int nIndex)
{
extern const float32 float32Constant[];
return float32Constant[nIndex];
Expand Down
2 changes: 1 addition & 1 deletion trunk/drivers/media/video/v4l1-compat.c
Original file line number Diff line number Diff line change
Expand Up @@ -144,7 +144,7 @@ const static unsigned int palette2pixelformat[] = {
[VIDEO_PALETTE_YUV422P] = V4L2_PIX_FMT_YUV422P,
};

static unsigned int __attribute_pure__
static unsigned int __pure
palette_to_pixelformat(unsigned int palette)
{
if (palette < ARRAY_SIZE(palette2pixelformat))
Expand Down
4 changes: 2 additions & 2 deletions trunk/include/asm-blackfin/processor.h
Original file line number Diff line number Diff line change
Expand Up @@ -104,13 +104,13 @@ unsigned long get_wchan(struct task_struct *p);
#define cpu_relax() barrier()

/* Get the Silicon Revision of the chip */
static inline __attribute_pure__ uint32_t bfin_revid(void)
static inline uint32_t __pure bfin_revid(void)
{
/* stored in the upper 4 bits */
return bfin_read_CHIPID() >> 28;
}

static inline __attribute_pure__ uint32_t bfin_compiled_revid(void)
static inline uint32_t __pure bfin_compiled_revid(void)
{
#if defined(CONFIG_BF_REV_0_0)
return 0;
Expand Down
2 changes: 1 addition & 1 deletion trunk/include/asm-ppc/time.h
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ static __inline__ void set_dec(unsigned int val)
/* Accessor functions for the timebase (RTC on 601) registers. */
/* If one day CONFIG_POWER is added just define __USE_RTC as 1 */
#ifdef CONFIG_6xx
extern __inline__ int __attribute_pure__ __USE_RTC(void) {
extern __inline__ int __pure __USE_RTC(void) {
return (mfspr(SPRN_PVR)>>16) == 1;
}
#else
Expand Down
12 changes: 11 additions & 1 deletion trunk/include/linux/compiler-gcc.h
Original file line number Diff line number Diff line change
Expand Up @@ -36,10 +36,20 @@
#define __weak __attribute__((weak))
#define __naked __attribute__((naked))
#define __noreturn __attribute__((noreturn))

/*
* From the GCC manual:
*
* Many functions have no effects except the return value and their
* return value depends only on the parameters and/or global
* variables. Such a function can be subject to common subexpression
* elimination and loop optimization just as an arithmetic operator
* would be.
* [...]
*/
#define __pure __attribute__((pure))
#define __aligned(x) __attribute__((aligned(x)))
#define __printf(a,b) __attribute__((format(printf,a,b)))
#define noinline __attribute__((noinline))
#define __attribute_pure__ __attribute__((pure))
#define __attribute_const__ __attribute__((__const__))
#define __maybe_unused __attribute__((unused))
14 changes: 0 additions & 14 deletions trunk/include/linux/compiler.h
Original file line number Diff line number Diff line change
Expand Up @@ -132,20 +132,6 @@ extern void __chk_io_ptr(const volatile void __iomem *);
# define __maybe_unused /* unimplemented */
#endif

/*
* From the GCC manual:
*
* Many functions have no effects except the return value and their
* return value depends only on the parameters and/or global
* variables. Such a function can be subject to common subexpression
* elimination and loop optimization just as an arithmetic operator
* would be.
* [...]
*/
#ifndef __attribute_pure__
# define __attribute_pure__ /* unimplemented */
#endif

#ifndef noinline
#define noinline
#endif
Expand Down
12 changes: 6 additions & 6 deletions trunk/lib/crc32.c
Original file line number Diff line number Diff line change
Expand Up @@ -49,15 +49,15 @@ MODULE_LICENSE("GPL");
* @p: pointer to buffer over which CRC is run
* @len: length of buffer @p
*/
u32 __attribute_pure__ crc32_le(u32 crc, unsigned char const *p, size_t len);
u32 __pure crc32_le(u32 crc, unsigned char const *p, size_t len);

#if CRC_LE_BITS == 1
/*
* In fact, the table-based code will work in this case, but it can be
* simplified by inlining the table in ?: form.
*/

u32 __attribute_pure__ crc32_le(u32 crc, unsigned char const *p, size_t len)
u32 __pure crc32_le(u32 crc, unsigned char const *p, size_t len)
{
int i;
while (len--) {
Expand All @@ -69,7 +69,7 @@ u32 __attribute_pure__ crc32_le(u32 crc, unsigned char const *p, size_t len)
}
#else /* Table-based approach */

u32 __attribute_pure__ crc32_le(u32 crc, unsigned char const *p, size_t len)
u32 __pure crc32_le(u32 crc, unsigned char const *p, size_t len)
{
# if CRC_LE_BITS == 8
const u32 *b =(u32 *)p;
Expand Down Expand Up @@ -145,15 +145,15 @@ u32 __attribute_pure__ crc32_le(u32 crc, unsigned char const *p, size_t len)
* @p: pointer to buffer over which CRC is run
* @len: length of buffer @p
*/
u32 __attribute_pure__ crc32_be(u32 crc, unsigned char const *p, size_t len);
u32 __pure crc32_be(u32 crc, unsigned char const *p, size_t len);

#if CRC_BE_BITS == 1
/*
* In fact, the table-based code will work in this case, but it can be
* simplified by inlining the table in ?: form.
*/

u32 __attribute_pure__ crc32_be(u32 crc, unsigned char const *p, size_t len)
u32 __pure crc32_be(u32 crc, unsigned char const *p, size_t len)
{
int i;
while (len--) {
Expand All @@ -167,7 +167,7 @@ u32 __attribute_pure__ crc32_be(u32 crc, unsigned char const *p, size_t len)
}

#else /* Table-based approach */
u32 __attribute_pure__ crc32_be(u32 crc, unsigned char const *p, size_t len)
u32 __pure crc32_be(u32 crc, unsigned char const *p, size_t len)
{
# if CRC_BE_BITS == 8
const u32 *b =(u32 *)p;
Expand Down
6 changes: 3 additions & 3 deletions trunk/lib/libcrc32c.c
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ EXPORT_SYMBOL(crc32c_le);
* loop below with crc32 and vary the POLY if we don't find value in terms
* of space and maintainability in keeping the two modules separate.
*/
u32 __attribute_pure__
u32 __pure
crc32c_le(u32 crc, unsigned char const *p, size_t len)
{
int i;
Expand Down Expand Up @@ -160,7 +160,7 @@ static const u32 crc32c_table[256] = {
* crc using table.
*/

u32 __attribute_pure__
u32 __pure
crc32c_le(u32 seed, unsigned char const *data, size_t length)
{
u32 crc = __cpu_to_le32(seed);
Expand All @@ -177,7 +177,7 @@ crc32c_le(u32 seed, unsigned char const *data, size_t length)
EXPORT_SYMBOL(crc32c_be);

#if CRC_BE_BITS == 1
u32 __attribute_pure__
u32 __pure
crc32c_be(u32 crc, unsigned char const *p, size_t len)
{
int i;
Expand Down

0 comments on commit 6362112

Please sign in to comment.