When compiling with clang, I noticed that the order of the warning output was different for each compilation.
For example, The output was as follows
foo.c:473:20: warning: implicit conversion loses integer precision: ‘long’ to ‘short’ [-Wimplicit-int-conversion]
b2 = s2 ;
~ ^~~~~~~~~
foo.c:360:14: warning: variable ‘s1’ set but not used [-Wunused-but-set-variable]
long s1 = 0 ;
^
foo.:353:21: warning: variable ‘l2’ set but not used [-Wunused-but-set-variable]
long l2 = 0 ;
^
foo.c:352:21: warning: variable ‘l1’ set but not used [-Wunused-but-set-variable]
long l1 = 0 ;
^
or,
foo.c:473:20: warning: implicit conversion loses integer precision: ‘long’ to ‘short’ [-Wimplicit-int-conversion]
b2 = s2 ;
~ ^~~~~~~~~
foo.c:352:21: warning: variable ‘l1’ set but not used [-Wunused-but-set-variable]
long l1 = 0 ;
^
foo.c:360:14: warning: variable ‘s1’ set but not used [-Wunused-but-set-variable]
long s1 = 0 ;
^
foo.c:353:21: warning: variable ‘l2’ set but not used [-Wunused-but-set-variable]
long l2 = 0 ;
I always want to ensure that the order is the same.