[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Chicken-hackers] -emit-inline-file and implying -inline/-local
From: |
Felix |
Subject: |
[Chicken-hackers] -emit-inline-file and implying -inline/-local |
Date: |
Sun, 17 Mar 2013 23:34:44 +0100 (CET) |
Hello!
The "-emit-inline-file"/"-oi" option currently implies the "-inline"
and "-local" options. This was intended as a convenience measure (it
doesn't make much sense, otherwise), but may not be entirely obvious
to the user. I think it would be better to remove those implied
options and rely on explicit options or on the optimization level (-O3
and higher).
A patch is attached. Or does this require a change-request?
cheers,
felix
>From 78101db884d8c1552bf36ab2da507aca900e6767 Mon Sep 17 00:00:00 2001
From: felix <address@hidden>
Date: Tue, 12 Mar 2013 08:29:32 +0100
Subject: [PATCH] the `-emit-inline-file' option doesn't imply "-inline -local"
anymore, since it only specifies where inlining-information should be stored.
---
NEWS | 1 +
batch-driver.scm | 2 --
csc.scm | 2 +-
manual/Using the compiler | 2 +-
support.scm | 2 +-
5 files changed, 4 insertions(+), 5 deletions(-)
diff --git a/NEWS b/NEWS
index c2d16fb..ed5483c 100644
--- a/NEWS
+++ b/NEWS
@@ -7,6 +7,7 @@
- Tools
- csc: added "-oi"/"-ot" options as alternatives to "-emit-inline-file"
and "-emit-type-file", respectively; "-n" has been deprecated.
+ - The "-emit-inline-file" option does not imply "-local -inline" anymore
- chicken-install now also accepts full URI syntax for proxy environment
variables (thanks to Michele La Monaca)
diff --git a/batch-driver.scm b/batch-driver.scm
index f994ae6..f87deca 100644
--- a/batch-driver.scm
+++ b/batch-driver.scm
@@ -235,8 +235,6 @@
(set! external-protos-first #t))
(when (memq 'inline options) (set! inline-locally #t))
(and-let* ((ifile (memq 'emit-inline-file options)))
- (set! inline-locally #t) ; otherwise this option makes no sense
- (set! local-definitions #t)
(set! inline-output-file (option-arg ifile)))
(and-let* ((tfile (memq 'emit-type-file options)))
(set! type-output-file (option-arg tfile)))
diff --git a/csc.scm b/csc.scm
index a54c14c..fc76ed4 100644
--- a/csc.scm
+++ b/csc.scm
@@ -389,7 +389,7 @@ Usage: #{csc} FILENAME | OPTION ...
-inline-global enable cross-module inlining
-specialize perform type-based specialization of
primitive calls
-oi -emit-inline-file FILENAME generate file with globally inlinable
- procedures (implies -inline -local)
+ procedures
-consult-inline-file FILENAME explicitly load inline file
-ot -emit-type-file FILENAME write type-declaration information into file
-no-argc-checks disable argument count checks
diff --git a/manual/Using the compiler b/manual/Using the compiler
index 1bfc36c..eecb4bb 100644
--- a/manual/Using the compiler
+++ b/manual/Using the compiler
@@ -56,7 +56,7 @@ the source text should be read from standard input.
; -emit-import-library MODULE : Specifies that an import library named
{{MODULE.import.scm}} for the named module should be generated (equivalent to
using the {{emit-import-library}} declaration).
-; -emit-inline-file FILENAME : Write procedures that can be globally inlined
in internal form to {{FILENAME}}, if global inlining is enabled. Implies
{{-inline -local}}. If the inline-file would be empty (because no procedure
would be inlinable) no file is generated and any existing inline-file with that
name is deleted.
+; -emit-inline-file FILENAME : Write procedures that can be globally inlined
in internal form to {{FILENAME}}, if global inlining is enabled. If the
inline-file would be empty (because no procedure would be inlinable) no file is
generated and any existing inline-file with that name is deleted.
; -emit-type-file FILENAME : Write type-information for declarations of
user-defined and globally visible variables to a file of the given name. The
generated file is suitable for use with the {{-types}} option.
diff --git a/support.scm b/support.scm
index 8842198..f151587 100644
--- a/support.scm
+++ b/support.scm
@@ -1692,7 +1692,7 @@ Usage: chicken FILENAME OPTION ...
-inline-global enable cross-module inlining
-specialize perform type-based specialization of
primitive calls
-emit-inline-file FILENAME generate file with globally inlinable
- procedures (implies -inline -local)
+ procedures
-consult-inline-file FILENAME explicitly load inline file
-no-argc-checks disable argument count checks
-no-bound-checks disable bound variable checks
--
1.7.2.1
- [Chicken-hackers] -emit-inline-file and implying -inline/-local,
Felix <=