[libvirt] [PATCH] build: avoid gcc 4.7 warning about inlines

Eric Blake eblake at redhat.com
Tue Feb 7 03:12:40 UTC 2012


gcc 4.7 complains:

util/virhashcode.c:49:17: error: always_inline function might not be inlinable [-Werror=attributes]
util/virhashcode.c:35:17: error: always_inline function might not be inlinable [-Werror=attributes]

Normal 'inline' is a hint that the compiler may ignore; the fact
that the function is static is good enough.  We don't care if the
compiler decided not to inline after all.

* src/util/virhashcode.c (getblock, fmix): Relax attribute.
---

Pushing under the build-breaker rule; this lets the build get
further on rawhide (it later fails with:
  GEN   remote/remote_protocol.h
/usr/bin/rpcgen: C preprocessor failed with exit code 1
cannot shutdown /usr/bin/rpcgen:  at ./rpc/genprotocol.pl line 122.
that I still have to investigate).

 src/util/virhashcode.c |    6 ++----
 1 files changed, 2 insertions(+), 4 deletions(-)

diff --git a/src/util/virhashcode.c b/src/util/virhashcode.c
index 6d91793..d16d544 100644
--- a/src/util/virhashcode.c
+++ b/src/util/virhashcode.c
@@ -31,8 +31,7 @@
 #include "bitrotate.h"

 /* slower than original but handles platforms that do only aligned reads */
-__attribute__((always_inline))
-static uint32_t getblock(const uint8_t *p, int i)
+static inline uint32_t getblock(const uint8_t *p, int i)
 {
     uint32_t r;
     size_t size = sizeof(r);
@@ -45,8 +44,7 @@ static uint32_t getblock(const uint8_t *p, int i)
 /*
  * Finalization mix - force all bits of a hash block to avalanche
  */
-__attribute__((always_inline))
-static uint32_t fmix(uint32_t h)
+static inline uint32_t fmix(uint32_t h)
 {
     h ^= h >> 16;
     h *= 0x85ebca6b;
-- 
1.7.7.6




More information about the libvir-list mailing list