diff options
Diffstat (limited to 'includes/Stg.h')
-rw-r--r-- | includes/Stg.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/includes/Stg.h b/includes/Stg.h index 57cb00d0a4..547b36aaeb 100644 --- a/includes/Stg.h +++ b/includes/Stg.h @@ -262,7 +262,7 @@ typedef StgFunPtr F_; /* foreign functions: */ #define EFF_(f) void f() /* See Note [External function prototypes] */ -/* Note [External function prototypes] See Trac #8965, #11395 +/* Note [External function prototypes] See #8965, #11395 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In generated C code we need to distinct between two types of external symbols: @@ -289,7 +289,7 @@ believe that all functions declared this way can be called without an argument save area, but if the callee has sufficiently many arguments then it will expect that area to be present, and will thus corrupt the caller's stack. This happens in particular with calls to runInteractiveProcess in -libraries/process/cbits/runProcess.c, and led to Trac #8965. +libraries/process/cbits/runProcess.c, and led to #8965. The simplest fix appears to be to declare these external functions with an unspecified argument list rather than a void argument list. This is no |