Cleanup GCC compiler attributes

Added define 'unused_' for '__attribute__((unused))'. The oldest version
of GCC with online docs (GCC 2.95.3, released in March 16, 2001 [1])
already has support for this attribute, so it doesn't make sense to
check the version.

Renamed 'noreturn' to 'noreturn_' for consistency.

[1] https://gcc.gnu.org/onlinedocs/

Signed-off-by: Antonio Niño Díaz <antonio_nd@outlook.com>
This commit is contained in:
Antonio Niño Díaz
2018-04-02 22:25:09 +01:00
parent cbaaec98ca
commit 1b4187e51f
8 changed files with 21 additions and 16 deletions

View File

@@ -46,7 +46,7 @@ void opt_Parse(char *s);
* It is also used when the assembler goes into an invalid state (for example, * It is also used when the assembler goes into an invalid state (for example,
* when it fails to allocate memory). * when it fails to allocate memory).
*/ */
noreturn void fatalerror(const char *fmt, ...); noreturn_ void fatalerror(const char *fmt, ...);
/* /*
* Used for errors that make it impossible to assemble correctly, but don't * Used for errors that make it impossible to assemble correctly, but don't

View File

@@ -34,10 +34,10 @@ void vwarn(const char *fmt, va_list ap);
void warnx(const char *fmt, ...); void warnx(const char *fmt, ...);
void vwarnx(const char *fmt, va_list ap); void vwarnx(const char *fmt, va_list ap);
noreturn void err(int status, const char *fmt, ...); noreturn_ void err(int status, const char *fmt, ...);
noreturn void verr(int status, const char *fmt, va_list ap); noreturn_ void verr(int status, const char *fmt, va_list ap);
noreturn void errx(int status, const char *fmt, ...); noreturn_ void errx(int status, const char *fmt, ...);
noreturn void verrx(int status, const char *fmt, va_list ap); noreturn_ void verrx(int status, const char *fmt, va_list ap);
#endif /* ERR_IN_LIBC */ #endif /* ERR_IN_LIBC */

View File

@@ -11,10 +11,12 @@
#ifdef __GNUC__ #ifdef __GNUC__
/* GCC or compatible */ /* GCC or compatible */
#define noreturn __attribute__ ((noreturn)) #define noreturn_ __attribute__ ((noreturn))
#define unused_ __attribute__ ((unused))
#else #else
/* Unsupported, but no need to throw a fit */ /* Unsupported, but no need to throw a fit */
#define noreturn #define noreturn_
#define unused_
#endif #endif
#endif /* HELPERS_H */ #endif /* HELPERS_H */

View File

@@ -13,7 +13,7 @@
#include "helpers.h" #include "helpers.h"
noreturn void script_fatalerror(const char *fmt, ...); noreturn_ void script_fatalerror(const char *fmt, ...);
void script_Parse(const char *path); void script_Parse(const char *path);

View File

@@ -20,6 +20,8 @@
#include "asm/symbol.h" #include "asm/symbol.h"
#include "asm/symbol.h" #include "asm/symbol.h"
#include "helpers.h"
#include "asmy.h" #include "asmy.h"
bool oDontExpandStrings; bool oDontExpandStrings;
@@ -219,7 +221,7 @@ uint32_t PutMacroArg(char *src, uint32_t size)
return 0; return 0;
} }
uint32_t PutUniqueArg(__attribute ((unused)) char *src, uint32_t size) uint32_t PutUniqueArg(unused_ char *src, uint32_t size)
{ {
char *s; char *s;

View File

@@ -25,6 +25,7 @@
#include "extern/err.h" #include "extern/err.h"
#include "helpers.h"
#include "version.h" #include "version.h"
struct sSymbol *tHashedSymbols[HASHSIZE]; struct sSymbol *tHashedSymbols[HASHSIZE];
@@ -62,7 +63,7 @@ void helper_RemoveLeadingZeros(char *string)
memmove(string, new_beginning, strlen(new_beginning) + 1); memmove(string, new_beginning, strlen(new_beginning) + 1);
} }
int32_t Callback_NARG(__attribute__ ((unused)) struct sSymbol *sym) int32_t Callback_NARG(unused_ struct sSymbol *sym)
{ {
uint32_t i = 0; uint32_t i = 0;
@@ -72,7 +73,7 @@ int32_t Callback_NARG(__attribute__ ((unused)) struct sSymbol *sym)
return i; return i;
} }
int32_t Callback__LINE__(struct sSymbol __attribute__((unused)) *sym) int32_t Callback__LINE__(unused_ struct sSymbol *sym)
{ {
return nLineNo; return nLineNo;
} }

8
src/extern/err.c vendored
View File

@@ -33,7 +33,7 @@ void rgbds_vwarnx(const char *fmt, va_list ap)
putc('\n', stderr); putc('\n', stderr);
} }
noreturn void rgbds_verr(int status, const char *fmt, va_list ap) noreturn_ void rgbds_verr(int status, const char *fmt, va_list ap)
{ {
fprintf(stderr, "error"); fprintf(stderr, "error");
if (fmt) { if (fmt) {
@@ -44,7 +44,7 @@ noreturn void rgbds_verr(int status, const char *fmt, va_list ap)
exit(status); exit(status);
} }
noreturn void rgbds_verrx(int status, const char *fmt, va_list ap) noreturn_ void rgbds_verrx(int status, const char *fmt, va_list ap)
{ {
fprintf(stderr, "error"); fprintf(stderr, "error");
if (fmt) { if (fmt) {
@@ -73,7 +73,7 @@ void rgbds_warnx(const char *fmt, ...)
va_end(ap); va_end(ap);
} }
noreturn void rgbds_err(int status, const char *fmt, ...) noreturn_ void rgbds_err(int status, const char *fmt, ...)
{ {
va_list ap; va_list ap;
@@ -82,7 +82,7 @@ noreturn void rgbds_err(int status, const char *fmt, ...)
va_end(ap); va_end(ap);
} }
noreturn void rgbds_errx(int status, const char *fmt, ...) noreturn_ void rgbds_errx(int status, const char *fmt, ...)
{ {
va_list ap; va_list ap;

View File

@@ -179,7 +179,7 @@ void script_PrintFileStack(void)
fprintf(stderr, "%s(%d)", linkerscript_path, include_line[i]); fprintf(stderr, "%s(%d)", linkerscript_path, include_line[i]);
} }
noreturn void script_fatalerror(const char *fmt, ...) noreturn_ void script_fatalerror(const char *fmt, ...)
{ {
va_list args; va_list args;
va_start(args, fmt); va_start(args, fmt);