Unverified Commit 0cf6ddf3 authored by toonn's avatar toonn Committed by GitHub
Browse files

Merge pull request #253947 from reckenrode/plotutils-fix

plotutils: fix build with clang 16
parents ed895961 92d99c52
Loading
Loading
Loading
Loading
+44 −0
Original line number Diff line number Diff line
diff -ur a/pic2plot/gram.cc b/pic2plot/gram.cc
--- a/pic2plot/gram.cc	2000-06-28 00:23:21.000000000 -0400
+++ b/pic2plot/gram.cc	2023-09-07 22:59:47.004460065 -0400
@@ -1229,9 +1229,9 @@
      char *from;
      unsigned int count;
 {
-  register char *f = from;
-  register char *t = to;
-  register int i = count;
+  char *f = from;
+  char *t = to;
+  int i = count;

   while (i-- > 0)
     *t++ = *f++;
@@ -1244,9 +1244,9 @@
 static void
 __yy_memcpy (char *to, char *from, unsigned int count)
 {
-  register char *t = to;
-  register char *f = from;
-  register int i = count;
+  char *t = to;
+  char *f = from;
+  int i = count;

   while (i-- > 0)
     *t++ = *f++;
@@ -1289,10 +1289,10 @@
 yyparse(YYPARSE_PARAM_ARG)
      YYPARSE_PARAM_DECL
 {
-  register int yystate;
-  register int yyn;
-  register short *yyssp;
-  register YYSTYPE *yyvsp;
+  int yystate;
+  int yyn;
+  short *yyssp;
+  YYSTYPE *yyvsp;
   int yyerrstatus;	/*  number of tokens to shift before error messages enabled */
   int yychar1 = 0;		/*  lookahead token as an internal (translated) token number */
 
+4 −1
Original line number Diff line number Diff line
@@ -16,7 +16,10 @@ stdenv.mkDerivation rec {

  nativeBuildInputs = [ autoreconfHook ];
  buildInputs = [ libpng ];
  patches = map fetchurl (import ./debian-patches.nix);
  patches = map fetchurl (import ./debian-patches.nix)
    # `pic2plot/gram.cc` uses the register storage class specifier, which is not supported in C++17.
    # This prevents clang 16 from building plotutils because it defaults to C++17.
    ++ [ ./c++17-register-usage-fix.patch ];

  preBuild = ''
    # Fix parallel building.