Control: tag -1 patch

Greetings,

Most variables from sh.h in most situations are declared as
"extern" already through the "EXTERN" macro, except for the
source file sh.c, in which one can find the override:

        #define EXTERN  /* Intern */

So, one neat option could be to leverage that macro to inline
the attribute setting authorizing common definition of global
variables:

        #define EXTERN  __attribute__((__common__))     /* Intern */

From my test, this solves the build issue on Gcc 10.  You can
find the corresponding patch in attachment of this email.

In hope this helps,
-- 
Étienne Mollier <etienne.moll...@mailoo.org>
Old rsa/3072: 5ab1 4edf 63bb ccff 8b54  2fa9 59da 56fe fff3 882d
New rsa/4096: 8f91 b227 c7d6 f2b1 948c  8236 793c f67e 8f0d 11da
Sent from /dev/pts/3, please excuse my verbosity.
diff '--color=auto' '--palette=rs=0:hd=1:ad=00;32:de=00;31:ln=00;36' -Naur tcsh-6.21.00.old/sh.c tcsh-6.21.00/sh.c
--- tcsh-6.21.00.old/sh.c	2019-05-08 20:39:28.000000000 +0200
+++ tcsh-6.21.00/sh.c	2020-07-25 12:49:16.500350189 +0200
@@ -29,7 +29,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  */
-#define EXTERN	/* Intern */
+#define EXTERN	__attribute__((__common__))	/* Intern */
 #include "sh.h"
 
 #ifndef lint

Attachment: signature.asc
Description: PGP signature

Reply via email to