Fix compile time warning building aout targeted architectures.

Occasionally I build an out-of-tree a.out target (m68k-amigaos). After
a system upgrade which included a newer compiler (clang 4) the build
produces warnings like this:

  warning: macro expansion producing 'defined' has undefined behavior
  [-Wexpansion-to-defined]

This is caused by the macro gas/config/aout_gnu.h:USE_EXTENDED_RELOC.
Since it is in a header file, the warning triggers for several files.
I am unsure what solution is preferable, thus I am suggesting two
patches:

  a) keep the offending macro but define it explicitly to 0 and 1
  b) replace the macro usage with its value where it is used.

Either patch removes the warning for clang. I did not check with a
recent GCC.

	* gas/config/aout_gnu.h (USE_EXTENDED_RELOC): Explicitly
	define to 0 and 1. Remove a dangling reference to "AMD 29000"
	in a comment.
This commit is contained in:
Gunther Nikl 2018-01-12 13:12:17 +00:00 committed by Nick Clifton
parent 5ae5d3fd10
commit b5b6200652
2 changed files with 10 additions and 3 deletions

View File

@ -1,3 +1,9 @@
2018-01-12 Gunther Nikl <gnikl@users.sourceforge.net>
* gas/config/aout_gnu.h (USE_EXTENDED_RELOC): Explicitly
define to 0 and 1. Remove a dangling reference to "AMD 29000"
in a comment.
2018-01-11 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
* testsuite/i386/avx512_4fmaps_vl-warn.l: Likewise.

View File

@ -32,8 +32,6 @@
*/
#define USE_EXTENDED_RELOC defined(TC_SPARC)
#if defined(TC_SPARC)
enum reloc_type
{
@ -62,6 +60,9 @@ enum reloc_type
NO_RELOC
};
#define USE_EXTENDED_RELOC 1
#else
#define USE_EXTENDED_RELOC 0
#endif /* TC_SPARC */
#define __GNU_EXEC_MACROS__
@ -303,7 +304,7 @@ struct nlist
/* The following enum and struct were borrowed from SunOS's
/usr/include/sun4/a.out.h and extended to handle
other machines. It is currently used on SPARC and AMD 29000.
other machines. It is currently used on SPARC.
reloc_ext_bytes is how it looks on disk. reloc_info_extended is
how we might process it on a native host. */