Unverified Commit 3cd2217e authored by Peder Bergebakken Sundt's avatar Peder Bergebakken Sundt Committed by GitHub
Browse files

picoc: Fix build with gcc15 (#513804)

parents d2c9e607 81b8f80a
Loading
Loading
Loading
Loading
+45 −0
Original line number Diff line number Diff line
--- a/interpreter.h
+++ b/interpreter.h
@@ -173,6 +173,7 @@ struct ValueType
 };
 
 /* function definition */
+typedef struct Value Value;         /* Needed to allow reference before definition */
 struct FuncDef
 {
     struct ValueType *ReturnType;   /* the return value type */
@@ -180,7 +181,12 @@ struct FuncDef
     int VarArgs;                    /* has a variable number of arguments after the explicitly specified ones */
     struct ValueType **ParamType;   /* array of parameter types */
     char **ParamName;               /* array of parameter names */
-    void (*Intrinsic)();            /* intrinsic call address or NULL */
+    void (*Intrinsic)(              /* intrinsic call address or NULL */
+        struct ParseState *Parser,
+        Value *ReturnValue,
+        Value **ParamArray,
+        int ArgCount
+    );
     struct ParseState Body;         /* lexical tokens of the function body if not intrinsic */
 };
 
@@ -610,8 +616,8 @@ void IncludeFile(Picoc *pc, char *Filename);
  * void PicocIncludeAllSystemHeaders(); */
  
 /* debug.c */
-void DebugInit();
-void DebugCleanup();
+void DebugInit(Picoc *pc);
+void DebugCleanup(Picoc *pc);
 void DebugCheckStatement(struct ParseState *Parser);
 
 
--- a/platform/library_unix.c
+++ b/platform/library_unix.c
@@ -1,6 +1,6 @@
 #include "../interpreter.h"
 
-void UnixSetupFunc()
+void UnixSetupFunc(Picoc *pc)
 {    
 }
 
+2 −0
Original line number Diff line number Diff line
@@ -18,6 +18,8 @@ stdenv.mkDerivation {

  buildInputs = [ readline ];

  patches = [ ./gcc15-fixes.patch ];

  makeFlags = [ "CC=${stdenv.cc.targetPrefix}cc" ];

  env.NIX_CFLAGS_COMPILE = toString (