[gdb/build] Fix gdb build with -fsanitize=thread and gcc 7
authorTom de Vries <tdevries@suse.de>
Tue, 28 Jun 2022 15:07:18 +0000 (17:07 +0200)
committerTom de Vries <tdevries@suse.de>
Tue, 28 Jun 2022 15:07:18 +0000 (17:07 +0200)
When building gdb with system gcc 7.5.0, I run into:
...
gdb/ia64-tdep.c: In function ‘int is_float_or_hfa_type_recurse(type*, type**)’:
gdb/ia64-tdep.c:3362:1: error: control reaches end of non-void function \
  [-Werror=return-type]
...

This is due to PR gcc/81275 - "-fsanitize=thread produce incorrect
-Wreturn-type warning", which has been fixed in gcc-8.

Work around this by moving the default return outside the switch.

Tested on x86_64-linux.

gdb/ia64-tdep.c

index 82456dc9c981124a69607f81e949d47f76fc87ae..b94225b5e1340e2dcf934b3e7b875f01478e79de 100644 (file)
@@ -3356,9 +3356,10 @@ is_float_or_hfa_type_recurse (struct type *t, struct type **etp)
       }
       break;
     default:
-      return 0;
       break;
     }
+
+  return 0;
 }
 
 /* Determine if the given type is one of the floating point types or