diff mbox series

[4/4] progress.c: silence cgcc suggestion about internal linkage

Message ID dddf2d402702a616e04e7e446e31e0c6697d8c49.1587648870.git.congdanhqx@gmail.com (mailing list archive)
State New, archived
Headers show
Series fix make sparse warning | expand

Commit Message

Đoàn Trần Công Danh April 23, 2020, 1:47 p.m. UTC
Signed-off-by: Đoàn Trần Công Danh <congdanhqx@gmail.com>
---
 progress.c | 2 ++
 1 file changed, 2 insertions(+)

Comments

Ramsay Jones April 24, 2020, 12:58 a.m. UTC | #1
On 23/04/2020 14:47, Đoàn Trần Công Danh wrote:
> Signed-off-by: Đoàn Trần Công Danh <congdanhqx@gmail.com>
> ---
>  progress.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/progress.c b/progress.c
> index 19805ac646..fb53a2ec0c 100644
> --- a/progress.c
> +++ b/progress.c
> @@ -50,7 +50,9 @@ static volatile sig_atomic_t progress_update;
>   * These are only intended for testing the progress output, i.e. exclusively
>   * for 'test-tool progress'.
>   */
> +extern int progress_testing; /* to silence sparse: internal linkage */
>  int progress_testing;
> +extern uint64_t progress_test_ns; /* to silence sparse: internal linkage */
>  uint64_t progress_test_ns = 0;
>  void progress_test_force_update(void); /* To silence -Wmissing-prototypes */
>  void progress_test_force_update(void)

My preference would be to add these extern declarations to the
progress.h header file, with a note that they are only used by
the 't/helper/test-progress.c' test helper. (Also, remove the
extern declarations from test-progress.c, of course).

But this works as well. :D

ATB,
Ramsay Jones
Jeff King April 24, 2020, 5:54 a.m. UTC | #2
On Fri, Apr 24, 2020 at 01:58:51AM +0100, Ramsay Jones wrote:

> > +extern int progress_testing; /* to silence sparse: internal linkage */
> >  int progress_testing;
> > +extern uint64_t progress_test_ns; /* to silence sparse: internal linkage */
> >  uint64_t progress_test_ns = 0;
> >  void progress_test_force_update(void); /* To silence -Wmissing-prototypes */
> >  void progress_test_force_update(void)
> 
> My preference would be to add these extern declarations to the
> progress.h header file, with a note that they are only used by
> the 't/helper/test-progress.c' test helper. (Also, remove the
> extern declarations from test-progress.c, of course).

I came here to say the same thing.

As a bonus, it would catch any changes to the types in the future
(rather than just segfaulting when test-progress.c attempts to use an
out-of-date type).

-Peff
diff mbox series

Patch

diff --git a/progress.c b/progress.c
index 19805ac646..fb53a2ec0c 100644
--- a/progress.c
+++ b/progress.c
@@ -50,7 +50,9 @@  static volatile sig_atomic_t progress_update;
  * These are only intended for testing the progress output, i.e. exclusively
  * for 'test-tool progress'.
  */
+extern int progress_testing; /* to silence sparse: internal linkage */
 int progress_testing;
+extern uint64_t progress_test_ns; /* to silence sparse: internal linkage */
 uint64_t progress_test_ns = 0;
 void progress_test_force_update(void); /* To silence -Wmissing-prototypes */
 void progress_test_force_update(void)