https://bugs.gentoo.org/828550

Thanks-to: <s.zharkoff@gmail.com>
--- a/eiffel.c
+++ b/eiffel.c
@@ -807,7 +807,7 @@
 
 static boolean parseType (tokenInfo *const token);
 
-static void parseGeneric (tokenInfo *const token, boolean declaration __unused__)
+static void parseGeneric (tokenInfo *const token, boolean declaration __arduino_unused__)
 {
 	unsigned int depth = 0;
 #ifdef TYPE_REFERENCE_TOOL
--- a/general.h
+++ b/general.h
@@ -57,7 +57,7 @@
  *  to prevent warnings about unused variables.
  */
 #if (__GNUC__ > 2  ||  (__GNUC__ == 2  &&  __GNUC_MINOR__ >= 7)) && !defined (__GNUG__)
-# define __unused__  __attribute__((unused))
+# define __arduino_unused__   __attribute__ ((__unused__))
 # define __printf__(s,f)  __attribute__((format (printf, s, f)))
 #else
 # define __unused__
--- a/lregex.c
+++ b/lregex.c
@@ -538,11 +538,11 @@
 #endif  /* HAVE_REGEX */
 
 extern void addTagRegex (
-		const langType language __unused__,
-		const char* const regex __unused__,
-		const char* const name __unused__,
-		const char* const kinds __unused__,
-		const char* const flags __unused__)
+		const langType language __arduino_unused__,
+		const char* const regex __arduino_unused__,
+		const char* const name __arduino_unused__,
+		const char* const kinds __arduino_unused__,
+		const char* const flags __arduino_unused__)
 {
 #ifdef HAVE_REGEX
 	Assert (regex != NULL);
@@ -564,10 +564,10 @@
 }
 
 extern void addCallbackRegex (
-		const langType language __unused__,
-		const char* const regex __unused__,
-		const char* const flags __unused__,
-		const regexCallback callback __unused__)
+		const langType language __arduino_unused__,
+		const char* const regex __arduino_unused__,
+		const char* const flags __arduino_unused__,
+		const regexCallback callback __arduino_unused__)
 {
 #ifdef HAVE_REGEX
 	Assert (regex != NULL);
@@ -581,7 +581,7 @@
 }
 
 extern void addLanguageRegex (
-		const langType language __unused__, const char* const regex __unused__)
+		const langType language __arduino_unused__, const char* const regex __arduino_unused__)
 {
 #ifdef HAVE_REGEX
 	if (! regexBroken)
@@ -602,7 +602,7 @@
 */
 
 extern boolean processRegexOption (const char *const option,
-								   const char *const parameter __unused__)
+								   const char *const parameter __arduino_unused__)
 {
 	boolean handled = FALSE;
 	const char* const dash = strchr (option, '-');
@@ -624,7 +624,7 @@
 	return handled;
 }
 
-extern void disableRegexKinds (const langType language __unused__)
+extern void disableRegexKinds (const langType language __arduino_unused__)
 {
 #ifdef HAVE_REGEX
 	if (language <= SetUpper  &&  Sets [language].count > 0)
@@ -639,8 +639,8 @@
 }
 
 extern boolean enableRegexKind (
-		const langType language __unused__,
-		const int kind __unused__, const boolean mode __unused__)
+		const langType language __arduino_unused__,
+		const int kind __arduino_unused__, const boolean mode __arduino_unused__)
 {
 	boolean result = FALSE;
 #ifdef HAVE_REGEX
@@ -660,7 +660,7 @@
 	return result;
 }
 
-extern void printRegexKinds (const langType language __unused__, boolean indent __unused__)
+extern void printRegexKinds (const langType language __arduino_unused__, boolean indent __arduino_unused__)
 {
 #ifdef HAVE_REGEX
 	if (language <= SetUpper  &&  Sets [language].count > 0)
--- a/lua.c
+++ b/lua.c
@@ -37,7 +37,7 @@
 */
 
 /* for debugging purposes */
-static void __unused__ print_string (char *p, char *q)
+static void __arduino_unused__ print_string (char *p, char *q)
 {
 	for ( ; p != q; p++)
 		fprintf (errout, "%c", *p);
--- a/main.c
+++ b/main.c
@@ -522,7 +522,7 @@
  *		Start up code
  */
 
-extern int main (int __unused__ argc, char **argv)
+extern int main (int __arduino_unused__ argc, char **argv)
 {
 	cookedArgs *args;
 #ifdef VMS
--- a/options.c
+++ b/options.c
@@ -731,7 +731,7 @@
 }
 
 static void processExcludeOption (
-		const char *const option __unused__, const char *const parameter)
+		const char *const option __arduino_unused__, const char *const parameter)
 {
 	const char *const fileName = parameter + 1;
 	if (parameter [0] == '\0')
@@ -869,7 +869,7 @@
 }
 
 static void processFilterTerminatorOption (
-		const char *const option __unused__, const char *const parameter)
+		const char *const option __arduino_unused__, const char *const parameter)
 {
 	freeString (&Option.filterTerminator);
 	Option.filterTerminator = stringCopy (parameter);
@@ -932,8 +932,8 @@
 }
 
 static void processHelpOption (
-		const char *const option __unused__,
-		const char *const parameter __unused__)
+		const char *const option __arduino_unused__,
+		const char *const parameter __arduino_unused__)
 {
 	printProgramIdentification ();
 	putchar ('\n');
@@ -1141,8 +1141,8 @@
 }
 
 static void processLicenseOption (
-		const char *const option __unused__,
-		const char *const parameter __unused__)
+		const char *const option __arduino_unused__,
+		const char *const parameter __arduino_unused__)
 {
 	printProgramIdentification ();
 	puts ("");
@@ -1168,8 +1168,8 @@
 }
 
 static void processListMapsOption (
-		const char *const __unused__ option,
-		const char *const __unused__ parameter)
+		const char *const __arduino_unused__ option,
+		const char *const __arduino_unused__ parameter)
 {
 	if (parameter [0] == '\0' || strcasecmp (parameter, "all") == 0)
 	    printLanguageMaps (LANG_AUTO);
@@ -1185,8 +1185,8 @@
 }
 
 static void processListLanguagesOption (
-		const char *const option __unused__,
-		const char *const parameter __unused__)
+		const char *const option __arduino_unused__,
+		const char *const parameter __arduino_unused__)
 {
 	printLanguageList ();
 	exit (0);
@@ -1360,8 +1360,8 @@
 }
 
 static void processVersionOption (
-		const char *const option __unused__,
-		const char *const parameter __unused__)
+		const char *const option __arduino_unused__,
+		const char *const parameter __arduino_unused__)
 {
 	printProgramIdentification ();
 	exit (0);
--- a/parse.c
+++ b/parse.c
@@ -376,7 +376,7 @@
 */
 
 extern void processLanguageDefineOption (
-		const char *const option, const char *const parameter __unused__)
+		const char *const option, const char *const parameter __arduino_unused__)
 {
 #ifdef HAVE_REGEX
 	if (parameter [0] == '\0')
--- a/python.c
+++ b/python.c
@@ -135,7 +135,7 @@
  * extract all relevant information and create a tag.
  */
 static void makeFunctionTag (vString *const function,
-	vString *const parent, int is_class_parent, const char *arglist __unused__)
+	vString *const parent, int is_class_parent, const char *arglist __arduino_unused__)
 {
 	tagEntryInfo tag;
 	initTagEntry (&tag, vStringValue (function));
--- a/routines.c
+++ b/routines.c
@@ -526,7 +526,7 @@ static boolean isPathSeparator (const int c)

 #if ! defined (HAVE_STAT_ST_INO)

-static void canonicalizePath (char *const path __unused__)
+static void canonicalizePath (char *const path __arduino_unused__)
 {
 #if defined (MSDOS_STYLE_PATH)
        char *p;
