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

[committed] Compile dwz-for-tests with -U__GNUC__



Hi,

There are ifdefs in dwz.c testing for __GNUC__, which is a predefined gcc (and
clang) macro.  When compiling with make CC=gcc CFLAGS=-U__GNUC__, to trigger
the !__GNUC__ path, we run into some warnings.

Compile dwz-for-test with -U__GNUC__ to trigger the !__GNUC__ path in a regular
gcc/clang build-and test cycle, and fix the resulting warnings.

Committed to trunk.

Thanks,
- Tom

Compile dwz-for-tests with -U__GNUC__

2019-03-29  Tom de Vries  <tdevries@suse.de>

	* Makefile (dwz-for-test): Marking warning flags identical to dwz
	target.  Compile with -U__GNUC__.
	* dwz.c [!__GNUC__] (likely, unlikely): Fix missing parentheses warning.
	(adjust_loclist): Fix unused parameter warning using void cast instead
	of __attribute__((unused)).

---
 Makefile | 4 ++--
 dwz.c    | 8 +++++---
 2 files changed, 7 insertions(+), 5 deletions(-)

diff --git a/Makefile b/Makefile
index 0f47a98..0ce4482 100644
--- a/Makefile
+++ b/Makefile
@@ -30,8 +30,8 @@ py-section-script:
 	$(CC) $(TEST_SRC)/py-section-script.s -o $@ -g || touch $@
 
 dwz-for-test:
-	$(CC) $(patsubst %.o,%.c,$(OBJECTS)) -O2 -g -w -lelf -o $@ -W \
-	  -D_FILE_OFFSET_BITS=64 -DDWZ_VERSION='"for-test"'
+	$(CC) $(patsubst %.o,%.c,$(OBJECTS)) -O2 -g -lelf -o $@ -Wall -W \
+	  -D_FILE_OFFSET_BITS=64 -DDWZ_VERSION='"for-test"' -U__GNUC__
 
 # On some systems we need to set and export DEJAGNU to suppress
 # WARNING: Couldn't find the global config file.
diff --git a/dwz.c b/dwz.c
index 6b6a33e..8ad613d 100644
--- a/dwz.c
+++ b/dwz.c
@@ -107,8 +107,8 @@
 # define likely(x) __builtin_expect (!!(x), 1)
 # define unlikely(x) __builtin_expect (!!(x), 0)
 #else
-# define likely(x) x
-# define unlikely(x) x
+# define likely(x) (x)
+# define unlikely(x) (x)
 #endif
 
 #define obstack_chunk_alloc     malloc
@@ -9328,13 +9328,15 @@ write_info (void)
 /* Adjust .debug_loc range determined by *SLOT, called through
    htab_traverse.  */
 static int
-adjust_loclist (void **slot, void *data __attribute__((unused)))
+adjust_loclist (void **slot, void *data)
 {
   struct debug_loc_adjust *adj = (struct debug_loc_adjust *) *slot;
   unsigned char *ptr, *endsec;
   GElf_Addr low, high;
   size_t len;
 
+  (void)data;
+
   ptr = debug_sections[DEBUG_LOC].new_data + adj->start_offset;
   endsec = ptr + debug_sections[DEBUG_LOC].size;
   while (ptr < endsec)