From 593a03462ec6e92edae6ca574848e9122c3e42fc Mon Sep 17 00:00:00 2001 From: jsalling Date: Sun, 24 Apr 2016 12:28:46 -0500 Subject: [PATCH] Add an option to omit UNITY_OUTPUT_CHAR declaration from the header This solves the warnings from -Wredundant-decls when overriding the OUTPUT function with a function declared in another header. It's better this is the non-default option, since using it requires either a declaration of the new function OR a preprocessor guard on declaring UNITY_OUTPUT_CHAR (as in unity.c here), in every file using the function. See Pull Request #185 for more. --- .travis.yml | 2 +- src/unity.c | 3 +++ src/unity_internals.h | 2 ++ 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index ca664b3..d75cbd2 100644 --- a/.travis.yml +++ b/.travis.yml @@ -6,4 +6,4 @@ script: - cd test && rake ci - make -s - cd ../extras/fixture/test && rake ci - - make -s default noStdLibMalloc + - make -s default noStdlibMalloc diff --git a/src/unity.c b/src/unity.c index b398b3f..d8df1e0 100644 --- a/src/unity.c +++ b/src/unity.c @@ -7,6 +7,9 @@ #include "unity.h" #include +#ifdef UNITY_OMIT_OUTPUT_CHAR_HEADER_DECLARATION +int UNITY_OUTPUT_CHAR(int); //If omitted from header, declare it here so it's ready for use +#endif #define UNITY_FAIL_AND_BAIL { Unity.CurrentTestFailed = 1; longjmp(Unity.AbortFrame, 1); } #define UNITY_IGNORE_AND_BAIL { Unity.CurrentTestIgnored = 1; longjmp(Unity.AbortFrame, 1); } /// return prematurely if we are already in failure or ignore state diff --git a/src/unity_internals.h b/src/unity_internals.h index 6549656..560d28f 100644 --- a/src/unity_internals.h +++ b/src/unity_internals.h @@ -293,7 +293,9 @@ typedef UNITY_DOUBLE_TYPE _UD; #define UNITY_OUTPUT_CHAR(a) putchar(a) #else //If defined as something else, make sure we declare it here so it's ready for use + #ifndef UNITY_OMIT_OUTPUT_CHAR_HEADER_DECLARATION extern int UNITY_OUTPUT_CHAR(int); + #endif #endif #ifndef UNITY_PRINT_EOL -- GitLab