Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
C
clean-ide
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
6
Issues
6
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Incidents
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
clean-and-itasks
clean-ide
Commits
c5ee04d0
Commit
c5ee04d0
authored
Feb 14, 2018
by
John van Groningen
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
add generic fusion project option
parent
2c254d15
Changes
16
Hide whitespace changes
Inline
Side-by-side
Showing
16 changed files
with
89 additions
and
40 deletions
+89
-40
Ide/PmDialogues.icl
Ide/PmDialogues.icl
+20
-4
MacOSX/PmCleanSystem.dcl
MacOSX/PmCleanSystem.dcl
+1
-0
MacOSX/PmCleanSystem.icl
MacOSX/PmCleanSystem.icl
+18
-21
Pm/PmAbcMagic.dcl
Pm/PmAbcMagic.dcl
+1
-0
Pm/PmAbcMagic.icl
Pm/PmAbcMagic.icl
+5
-1
Pm/PmCompilerOptions.dcl
Pm/PmCompilerOptions.dcl
+3
-1
Pm/PmCompilerOptions.icl
Pm/PmCompilerOptions.icl
+4
-2
Pm/PmDriver.icl
Pm/PmDriver.icl
+5
-1
Pm/PmFiles.icl
Pm/PmFiles.icl
+13
-0
Pm/PmProject.icl
Pm/PmProject.icl
+1
-0
Pm/PmTypes.dcl
Pm/PmTypes.dcl
+1
-0
Pm/PmTypes.icl
Pm/PmTypes.icl
+3
-1
Unix/PmCleanSystem.dcl
Unix/PmCleanSystem.dcl
+1
-0
Unix/PmCleanSystem.icl
Unix/PmCleanSystem.icl
+4
-6
Win/PmCleanSystem.dcl
Win/PmCleanSystem.dcl
+1
-0
Win/PmCleanSystem.icl
Win/PmCleanSystem.icl
+8
-3
No files found.
Ide/PmDialogues.icl
View file @
c5ee04d0
...
...
@@ -115,7 +115,7 @@ where
// generic...
panesOptions
=
TabControl
(
applicationPane
:+:
profiling
Pane
:+:
compiler
Pane
:+:
diagnosticsPane
:+:
pathsPane
ap
pp
paths
False
200
lbpadId
c1id
r1id
root_path
:+:
linkerPane
...
...
@@ -125,7 +125,7 @@ where
)
[
ControlPos
(
Left
,
zero
)]
panesDefaults
=
TabControl
(
applicationPane
:+:
profiling
Pane
:+:
compiler
Pane
:+:
diagnosticsPane
:+:
linkerPane
)
[
ControlPos
(
Left
,
zero
)]
...
...
@@ -270,7 +270,7 @@ where
:+:
TextControl
(
"Executable produced as: "
+++
symexepath
)
[
ControlId
xpId
,
ControlPos
(
Left
,
zero
):
if
actualProject
[]
[
ControlHide
]]
:+:
ButtonControl
"Set executable..."
[
ControlFunction
setexe
,
ControlPos
(
Left
,
zero
):
if
actualProject
[]
[
ControlHide
]]
)
profilingPane
=
Pane
"Profiling
"
compilerPane
=
Pane
"Compiler
"
(
TextControl
"Profiling Options"
[]
:+:
RadioControl
[
(
"Time Profile and Stack Trace"
,
Nothing
,
noPS
(\
l
->{
l
&
ao
=
{
l
.
ao
&
profiling
=
True
,
stack_traces
=
False
}}))
...
...
@@ -294,6 +294,9 @@ where
[(
"Dynamics"
,
Nothing
,
toMark
ao
.
dynamics
,
noPS
(\
l
->{
l
&
ao
.
dynamics
=
not
l
.
ao
.
dynamics
}))]
(
Columns
1
)
[
ControlPos
(
Left
,
zero
)]
:+:
TextControl
"Code Generation Options"
[
ControlPos
(
Left
,
OffsetVector
{
vx
=
0
,
vy
=
10
})]
:+:
CheckControl
[(
"Generic Fusion"
,
Nothing
,
toMark
ao
.
generic_fusion
,
noPS
(\
l
->{
l
&
ao
.
generic_fusion
=
not
l
.
ao
.
generic_fusion
}))]
(
Columns
1
)
[
ControlPos
(
Left
,
zero
)]
:+:
CheckControl
[(
"Generate descriptors and export labels"
,
Nothing
,
toMark
ao
.
desc_exl
,
noPS
(\
l
->{
l
&
ao
.
desc_exl
=
not
l
.
ao
.
desc_exl
}))]
(
Columns
1
)
[
ControlPos
(
Left
,
zero
)]
...
...
@@ -827,11 +830,24 @@ where
,
(
"Reuse Unique Nodes"
,
Nothing
,
toMark
ini
.
reuseUniqueNodes
,
noPS
(\
l
->{
l
&
reuseUniqueNodes
=
not
l
.
reuseUniqueNodes
}))
,
(
"Never Time Profile"
,
Nothing
,
toMark
ini
.
neverTimeProfile
,
noPS
(\
l
->{
l
&
neverTimeProfile
=
not
l
.
neverTimeProfile
}))
// , ("Never Memory Profile",Nothing,toMark ini.neverMemoryProfile,noPS (\l->{l & neverMemoryProfile = not l.neverMemoryProfile}))
,
(
"Fusion (Experimental)"
,
Nothing
,
toMark
ini
.
fusion
,
noPS
(\
l
->{
l
&
fusion
=
not
l
.
fusion
}))
]
(
Columns
1
)
[
ControlPos
(
Left
,
zero
)
]
:+:
TextControl
"Fusion"
[
ControlPos
(
Left
,
zero
)]
:+:
RadioControl
[
(
"Default"
,
Nothing
,
noPS
(\
l
->{
l
&
fusion
=
FusionDefault
}))
,
(
"Off"
,
Nothing
,
noPS
(\
l
->{
l
&
fusion
=
FusionOff
}))
,
(
"On"
,
Nothing
,
noPS
(\
l
->{
l
&
fusion
=
FusionOn
}))
]
(
Rows
1
)
(
case
ini
.
fusion
of
FusionDefault
->
1
FusionOff
->
2
FusionOn
->
3
)
[
ControlPos
(
Left
,
zero
)
]
)
[
ControlPos
(
Left
,
zero
)]
right
=
LayoutControl
...
...
MacOSX/PmCleanSystem.dcl
View file @
c5ee04d0
...
...
@@ -28,6 +28,7 @@ import PmCallBack
pco_time_profiling
::
!
Bool
,
pco_desc_exl
::
!
Bool
,
pco_dynamics
::
!
Bool
,
pco_generic_fusion
::
!
Bool
,
pco_link_dynamic
::
!
Bool
}
...
...
MacOSX/PmCleanSystem.icl
View file @
c5ee04d0
...
...
@@ -84,7 +84,7 @@ Compile
out_file_name
=
out_file_path
temp_dir
0
errors_file_name
=
errors_file_path
temp_dir
0
#
cocl_arguments
=
compiler_arguments
out_file_name
errors_file_name
compileOrCheckSyntax
path
paths
write_module_times
project_compiler_options
.
pco_memory_profiling
project_compiler_options
.
pco_time_profiling
project_compiler_options
.
pco_link_dynamic
co
#
cocl_arguments
=
compiler_arguments
out_file_name
errors_file_name
compileOrCheckSyntax
path
paths
write_module_times
project_compiler_options
co
cocl_arguments
=
add_options_string_to_args
0
options2
cocl_arguments
cocl_arguments
=
add_options_string_to_args
0
options1
cocl_arguments
...
...
@@ -119,7 +119,8 @@ CompilePersistent ::
!(
List
Pathname
)
!
ProjectCompilerOptions
!
CompilerOptions
!
Pathname
!*
CompilingInfo
!*
env
->
(!*
CompilingInfo
,!(!*
env
,
!
Pathname
,
!
CompilerMsg
))
|
FileEnv
env
CompilePersistent
cocl
write_module_times
errwin
typewin
compileOrCheckSyntax
mdn
paths
project_compiler_options
co
=:{
CompilerOptions
|
listTypes
}
CompilePersistent
cocl
write_module_times
errwin
typewin
compileOrCheckSyntax
mdn
paths
project_compiler_options
co
=:{
CompilerOptions
|
listTypes
}
startupdir
compiling_info
env
#
(
cocl
,
cocl_dir
,
options1
,
options2
)
=
get_path_name_and_options2
cocl
startupdir
...
...
@@ -129,7 +130,7 @@ CompilePersistent cocl write_module_times errwin typewin compileOrCheckSyntax md
out_file_name
=
out_file_path
temp_dir
0
errors_file_name
=
errors_file_path
temp_dir
0
#
args
=
makeCompilerOptionsArguments
compileOrCheckSyntax
write_module_times
project_compiler_options
.
pco_memory_profiling
project_compiler_options
.
pco_time_profiling
project_compiler_options
.
pco_link_dynamic
co
#
args
=
makeCompilerOptionsArguments
compileOrCheckSyntax
write_module_times
project_compiler_options
co
#
args_string
=
concat_args
args
+++
" "
+++
mdn
.
mdn_name
+++
" -P "
+++
"
\"
"
+++
concatenate_paths
paths
+++
"
\"
"
+++
...
...
@@ -188,7 +189,7 @@ CompileStartCommand cocl write_module_times errwin compileOrCheckSyntax path
out_file_name
=
out_file_path
temp_dir
slot
errors_file_name
=
errors_file_path
temp_dir
slot
#
args
=
makeCompilerOptionsArguments
compileOrCheckSyntax
write_module_times
project_compiler_options
.
pco_memory_profiling
project_compiler_options
.
pco_time_profiling
project_compiler_options
.
pco_link_dynamic
co
#
args
=
makeCompilerOptionsArguments
compileOrCheckSyntax
write_module_times
project_compiler_options
co
#
args_string
=
concat_args
args
+++
" "
+++
path
+++
" -P "
+++
concatenate_paths
paths
+++
...
...
@@ -734,20 +735,21 @@ add_options_string_to_args i s args
=
skip_to_space_or_tab
(
i
+1
)
s
=
i
compiler_arguments
::
!
String
!
String
!
CompileOrCheckSyntax
!
Pathname
!(
List
Pathname
)
!
Bool
!
Bool
!
Bool
!
Bool
!
CompilerOptions
->
[
String
]
compiler_arguments
::
!
String
!
String
!
CompileOrCheckSyntax
!
Pathname
!(
List
Pathname
)
!
Bool
!
ProjectCompilerOptions
!
CompilerOptions
->
[
String
]
compiler_arguments
out_file_name
errors_file_name
compileOrCheckSyntax
path
paths
write_module_times
project
HeapProfiling
projectTimeProfiling
projectEagerOrDynamic
co
#
args
=
makeCompilerOptionsArguments
compileOrCheckSyntax
write_module_times
project
HeapProfiling
projectTimeProfiling
projectEagerOrDynamic
co
write_module_times
project
_compiler_options
co
#
args
=
makeCompilerOptionsArguments
compileOrCheckSyntax
write_module_times
project
_compiler_options
co
=
args
++
[
path
,
"-P"
,
concatenate_paths
paths
,
"-RE"
,
errors_file_name
,
"-RO"
,
out_file_name
];
concat_args
[]
=
""
concat_args
[
arg
]
=
arg
concat_args
[
arg
:
args
]
=
arg
+++
" "
+++
concat_args
args
makeCompilerOptionsArguments
::
!
CompileOrCheckSyntax
!
Bool
!
Bool
!
Bool
!
Bool
!
CompilerOptions
->
[
String
]
makeCompilerOptionsArguments
compileOrCheckSyntax
write_module_times
projectMemoryProfiling
projectTimeProfiling
projectEagerOrDynamic
{
neverMemoryProfile
,
neverTimeProfile
,
sa
,
gw
,
gc
,
listTypes
,
attr
,
reuseUniqueNodes
,
fusion
}
=
write_module_times_arg
++
checksyntax
++
timeProfileSwitch
++
memoryProfileSwitch
++
dynamicLinkSwitch
makeCompilerOptionsArguments
::
!
CompileOrCheckSyntax
!
Bool
!
ProjectCompilerOptions
!
CompilerOptions
->
[
String
]
makeCompilerOptionsArguments
compileOrCheckSyntax
write_module_times
{
pco_memory_profiling
,
pco_time_profiling
,
pco_desc_exl
,
pco_dynamics
,
pco_generic_fusion
,
pco_link_dynamic
}
{
neverMemoryProfile
,
neverTimeProfile
,
sa
,
gw
,
gc
,
listTypes
,
attr
,
reuseUniqueNodes
,
fusion
}
=
write_module_times_arg
++
checksyntax
++
timeProfileSwitch
++
memoryProfileSwitch
++
descExlSwitch
++
dynamicsSwitch
++
strictness
++
warnings
++
comments
++
listtypes
++
show_attr
++
reuse
++
fusion_arg
where
write_module_times_arg
...
...
@@ -755,18 +757,15 @@ where
=
[
"-wmt"
]
=
[]
memoryProfileSwitch
|
(
not
neverMemoryProfile
&&
projectMemoryProfiling
)
||
projectEagerOrDynamic
|
(
not
neverMemoryProfile
&&
pco_memory_profiling
)
||
pco_desc_exl
||
pco_link_dynamic
=
[
"-desc"
]
=
[]
timeProfileSwitch
|
not
neverTimeProfile
&&
p
rojectTimeP
rofiling
|
not
neverTimeProfile
&&
p
co_time_p
rofiling
=
[
"-pt"
]
=
[]
dynamicLinkSwitch
|
projectEagerOrDynamic
=
[
"-exl"
,
"-dynamics"
]
=
[]
descExlSwitch
=
if
(
pco_desc_exl
||
pco_link_dynamic
)
[
"-exl"
]
[]
dynamicsSwitch
=
if
(
pco_dynamics
||
pco_link_dynamic
)
[
"-dynamics"
]
[]
strictness
|
sa
=
[]
...
...
@@ -800,9 +799,7 @@ where
=
[
"-ou"
]
=
[]
fusion_arg
|
fusion
=
[
"-fusion"
]
=
[]
=
case
fusion
of
FusionOn
->
[
"-fusion"
];
FusionDefault
|
pco_generic_fusion
->
[
"-generic_fusion]"
;
_
->
[]
make_code_generator_arguments
genAsmOrCode
{
ci
,
cs
}
=
checkindex
++
checkstack
++
genasm
...
...
Pm/PmAbcMagic.dcl
View file @
c5ee04d0
...
...
@@ -17,6 +17,7 @@ from PmDirCache import :: DirCache
,
abcGenerateComments
::
!
Bool
,
abcReuseUniqueNodes
::
!
Bool
,
abcFusion
::
!
Bool
,
abcGenericFusion
::
!
Bool
,
abc64Bits
::
!
Bool
,
abcDynamics
::
!
Bool
}
...
...
Pm/PmAbcMagic.icl
View file @
c5ee04d0
...
...
@@ -28,6 +28,7 @@ from StdLibMisc import :: Date{..}, :: Time{..}
,
abcGenerateComments
::
!
Bool
,
abcReuseUniqueNodes
::
!
Bool
,
abcFusion
::
!
Bool
,
abcGenericFusion
::
!
Bool
,
abc64Bits
::
!
Bool
,
abcDynamics
::
!
Bool
}
...
...
@@ -42,6 +43,7 @@ DefaultABCOptions =
,
abcGenerateComments
=
False
,
abcReuseUniqueNodes
=
False
,
abcFusion
=
False
,
abcGenericFusion
=
False
,
abc64Bits
=
False
,
abcDynamics
=
False
}
...
...
@@ -69,9 +71,10 @@ SystemMask :== 8;
FusionOffset
:==
9
;
Abc64BitsOffset
:==
10
;
DynamicsBitsOffset
:==
11
;
GenericFusionOffset
:==
12
;
MinimumNrOfOptions
:==
9
;
NrOfOptions
:==
1
2
;
NrOfOptions
:==
1
3
;
ParseABCInfoAndDependencies
::
!
Pathname
!
DATE
!
ABCCache
!
Files
->
(!((!
Bool
,
!
Bool
,
!
Int
,
!
ABCOptions
),(!
List
Modulename
,
!
Maybe
ModuleDate
,
!
List
ModuleDate
,
!
List
LinkObjFileName
,
!
List
LinkLibraryName
),!
ABCCache
),!
Files
)
ParseABCInfoAndDependencies
path
date
abccache
files
...
...
@@ -160,6 +163,7 @@ StringToCompilerOptions start end opt
abcGenerateComments
=
opt
.[
start
+
DebugMask
]
==
'1'
,
abcReuseUniqueNodes
=
not
(
opt
.[
start
+
DontReuseUniqueNodesMask
]
==
'1'
),
abcFusion
=
start
+
FusionOffset
<
end
&&
opt
.[
start
+
FusionOffset
]==
'1'
,
abcGenericFusion
=
start
+
GenericFusionOffset
<
end
&&
opt
.[
start
+
GenericFusionOffset
]==
'1'
,
abc64Bits
=
start
+
Abc64BitsOffset
<
end
&&
opt
.[
start
+
Abc64BitsOffset
]==
'1'
,
abcDynamics
=
start
+
DynamicsBitsOffset
<
end
&&
opt
.[
start
+
DynamicsBitsOffset
]==
'1'
};
...
...
Pm/PmCompilerOptions.dcl
View file @
c5ee04d0
...
...
@@ -19,7 +19,9 @@ instance fromString ListTypes
,
bv
::
!
Bool
// be verbose
,
gc
::
!
Bool
// generate commented abc-code
,
reuseUniqueNodes
::
!
Bool
,
fusion
::
!
Bool
,
fusion
::
!
FusionOptions
}
::
FusionOptions
=
FusionDefault
|
FusionOff
|
FusionOn
;
DefaultCompilerOptions
::
CompilerOptions
Pm/PmCompilerOptions.icl
View file @
c5ee04d0
...
...
@@ -72,9 +72,11 @@ where
,
bv
::
!
Bool
// be verbose
,
gc
::
!
Bool
// generate comments
,
reuseUniqueNodes
::
!
Bool
// reuse unique nodes
,
fusion
::
!
Bool
,
fusion
::
!
FusionOptions
}
::
FusionOptions
=
FusionDefault
|
FusionOff
|
FusionOn
;
DefaultCompilerOptions
::
CompilerOptions
DefaultCompilerOptions
=
{
neverMemoryProfile
=
False
...
...
@@ -86,6 +88,6 @@ DefaultCompilerOptions =
,
bv
=
True
,
gc
=
False
,
reuseUniqueNodes
=
True
,
fusion
=
F
alse
,
fusion
=
F
usionDefault
}
Pm/PmDriver.icl
View file @
c5ee04d0
...
...
@@ -1120,6 +1120,7 @@ UpdateDependencies force mdn rest compinfo dircache ds ps`
pco_time_profiling
=
ao
.
profiling
,
pco_desc_exl
=
ao
.
desc_exl
,
pco_dynamics
=
ao
.
dynamics
,
pco_generic_fusion
=
ao
.
generic_fusion
,
pco_link_dynamic
=
link_dynamic
}
#
(
okC
,
whyC
)
=
check_module_options
module_name
info
co
project_compiler_options
use_64_bit_processor
version
...
...
@@ -1280,6 +1281,7 @@ CTPMcommon module_name project ps
pco_time_profiling
=
ao
.
profiling
,
pco_desc_exl
=
ao
.
desc_exl
,
pco_dynamics
=
ao
.
dynamics
,
pco_generic_fusion
=
ao
.
generic_fusion
,
pco_link_dynamic
=
link_dynamic
}
=
(
True
,
ccstring
,
write_module_times
,
updateErrorWindow
,
typewin
module_name
,
srcpaths
,
project_compiler_options
,
co
,
startupdir
,
ps
)
where
...
...
@@ -1434,8 +1436,10 @@ check_module_options modname info=:{version,abcOptions} co project_compiler_opti
=
incorrect_option
modname
"Generate Comments"
|
abcOptions
.
abcReuseUniqueNodes
<>
expectedReuseUniqueNodes
=
incorrect_option
modname
"Reuse Unique Nodes"
|
abcOptions
.
abcFusion
<>
c
o
.
fusion
|
abcOptions
.
abcFusion
<>
c
ase
co
.
fusion
of
FusionOn
->
True
;
_
->
False
=
incorrect_option
modname
"Fusion"
|
abcOptions
.
abcGenericFusion
<>
case
co
.
fusion
of
FusionDefault
->
project_compiler_options
.
pco_generic_fusion
;
_
->
False
=
incorrect_option
modname
"Generic Fusion"
|
abcOptions
.
abcDynamics
<>
project_compiler_options
.
pco_dynamics
=
incorrect_option
modname
"Dynamics"
=
(
True
,
""
)
...
...
Pm/PmFiles.icl
View file @
c5ee04d0
...
...
@@ -266,6 +266,18 @@ where
, showsync = True
*/
}
instance
toString
FusionOptions
where
toString
FusionDefault
=
"False"
toString
FusionOn
=
"True"
toString
FusionOff
=
"Off"
instance
fromString
FusionOptions
where
fromString
"True"
=
FusionOn
fromString
"Off"
=
FusionOff
fromString
_
=
FusionDefault
CompilerOptionsTable
::
OptionsTable
CompilerOptions
CompilerOptionsTable
=
{
...
...
@@ -303,6 +315,7 @@ ApplicationProfileOptionsTable =
SimpleOption
"Time"
(\
a
->
a
.
profiling
)
(\
v
a
->{
a
&
profiling
=
v
}),
SimpleOption
"Stack"
(\
a
->
a
.
stack_traces
)
(\
v
a
->{
a
&
stack_traces
=
v
}),
SimpleOption
"Dynamics"
(\
a
->
a
.
dynamics
)
(\
v
a
->{
a
&
dynamics
=
v
}),
SimpleOption
"GenericFusion"
(\
a
->
a
.
generic_fusion
)
(\
v
a
->{
a
&
generic_fusion
=
v
}),
SimpleOption
"DescExL"
(\
a
->
a
.
desc_exl
)
(\
v
a
->{
a
&
desc_exl
=
v
})
}
...
...
Pm/PmProject.icl
View file @
c5ee04d0
...
...
@@ -304,6 +304,7 @@ eqAppOpts ao1 ao2
ao1
.
memoryProfilingMinimumHeapSize
==
ao2
.
memoryProfilingMinimumHeapSize
&&
ao1
.
profiling
==
ao2
.
profiling
&&
ao1
.
stack_traces
==
ao2
.
stack_traces
&&
ao1
.
generic_fusion
==
ao2
.
generic_fusion
&&
ao1
.
dynamics
==
ao2
.
dynamics
&&
ao1
.
desc_exl
==
ao2
.
desc_exl
&&
ao1
.
standard_rte
==
ao2
.
standard_rte
...
...
Pm/PmTypes.dcl
View file @
c5ee04d0
...
...
@@ -129,6 +129,7 @@ DefCodeGenOptions :: CodeGenOptions
,
profiling
::
!
Bool
// time profiling
,
stack_traces
::
!
Bool
// stack traces
,
dynamics
::
!
Bool
,
generic_fusion
::
!
Bool
,
desc_exl
::
!
Bool
,
standard_rte
::
!
Bool
// DvA: use standard RTE (only in IDE)
}
...
...
Pm/PmTypes.icl
View file @
c5ee04d0
...
...
@@ -319,7 +319,8 @@ DefCodeGenOptions =
,
profiling
::
!
Bool
,
stack_traces
::
!
Bool
,
dynamics
::
!
Bool
,
desc_exl
::
!
Bool
,
generic_fusion
::
!
Bool
,
desc_exl
::
!
Bool
,
standard_rte
::
!
Bool
// DvA: use standard RTE (only in IDE)
}
...
...
@@ -345,6 +346,7 @@ DefApplicationOptions =
,
profiling
=
False
,
stack_traces
=
False
,
dynamics
=
False
,
generic_fusion
=
False
,
desc_exl
=
False
,
standard_rte
=
True
}
...
...
Unix/PmCleanSystem.dcl
View file @
c5ee04d0
...
...
@@ -29,6 +29,7 @@ import PmCallBack
pco_time_profiling
::
!
Bool
,
pco_desc_exl
::
!
Bool
,
pco_dynamics
::
!
Bool
,
pco_generic_fusion
::
!
Bool
,
pco_link_dynamic
::
!
Bool
}
...
...
Unix/PmCleanSystem.icl
View file @
c5ee04d0
...
...
@@ -312,7 +312,6 @@ start_code_generator cgen wf path slot timeprofile cgo tp startupdir ps
#
(
cgen
,
cgendir
,
options
)
=
get_path_name_and_options
cgen
startupdir
#
path_without_suffix
=
RemoveSuffix
path
#
cg_arguments
=
make_code_generator_arguments
CodeGeneration
cgo
#
obj_path
=
ModuleDirAndNameToObjSystemPathname
tp
path
#
temp_dir
=
temp_dir_path
startupdir
errors_file_name
=
errors_file_path
temp_dir
slot
...
...
@@ -781,8 +780,9 @@ concat_args [arg] = arg
concat_args
[
arg
:
args
]
=
arg
+++
" "
+++
concat_args
args
makeCompilerOptionsArguments
::
!
CompileOrCheckSyntax
!
Bool
!
ProjectCompilerOptions
!
CompilerOptions
->
[
String
]
makeCompilerOptionsArguments
compileOrCheckSyntax
write_module_times
{
pco_memory_profiling
,
pco_time_profiling
,
pco_desc_exl
,
pco_dynamics
,
pco_link_dynamic
}
{
neverMemoryProfile
,
neverTimeProfile
,
sa
,
gw
,
gc
,
listTypes
,
attr
,
reuseUniqueNodes
,
fusion
}
makeCompilerOptionsArguments
compileOrCheckSyntax
write_module_times
{
pco_memory_profiling
,
pco_time_profiling
,
pco_desc_exl
,
pco_dynamics
,
pco_generic_fusion
,
pco_link_dynamic
}
{
neverMemoryProfile
,
neverTimeProfile
,
sa
,
gw
,
gc
,
listTypes
,
attr
,
reuseUniqueNodes
,
fusion
}
=
write_module_times_arg
++
checksyntax
++
timeProfileSwitch
++
memoryProfileSwitch
++
descExlSwitch
++
dynamicsSwitch
++
strictness
++
warnings
++
comments
++
listtypes
++
show_attr
++
reuse
++
fusion_arg
where
...
...
@@ -833,9 +833,7 @@ where
=
[
"-ou"
]
=
[]
fusion_arg
|
fusion
=
[
"-fusion"
]
=
[]
=
case
fusion
of
FusionOn
->
[
"-fusion"
];
FusionDefault
|
pco_generic_fusion
->
[
"-generic_fusion]"
;
_
->
[]
make_code_generator_arguments
genAsmOrCode
{
ci
,
cs
}
=
checkindex
++
checkstack
++
genasm
...
...
Win/PmCleanSystem.dcl
View file @
c5ee04d0
...
...
@@ -44,6 +44,7 @@ instance == CompilerMsg
pco_time_profiling
::
!
Bool
,
pco_desc_exl
::
!
Bool
,
pco_dynamics
::
!
Bool
,
pco_generic_fusion
::
!
Bool
,
pco_link_dynamic
::
!
Bool
}
...
...
Win/PmCleanSystem.icl
View file @
c5ee04d0
...
...
@@ -166,6 +166,7 @@ where
pco_time_profiling
::
!
Bool
,
pco_desc_exl
::
!
Bool
,
pco_dynamics
::
!
Bool
,
pco_generic_fusion
::
!
Bool
,
pco_link_dynamic
::
!
Bool
}
...
...
@@ -459,8 +460,9 @@ ReadErrorAndWarningMessages file
=
(
if
is_import_error
(
Patherror
path
)
path_error
,
True
,
Strip
string
:!
errlist
,
file3
)
MakeCompilerOptionsString
::
!
CompileOrCheckSyntax
!
ProjectCompilerOptions
!
CompilerOptions
->
String
MakeCompilerOptionsString
compileOrCheckSyntax
{
pco_memory_profiling
,
pco_time_profiling
,
pco_desc_exl
,
pco_dynamics
,
pco_link_dynamic
}
{
neverMemoryProfile
,
neverTimeProfile
,
sa
,
gw
,
gc
,
listTypes
,
attr
,
reuseUniqueNodes
,
fusion
}
MakeCompilerOptionsString
compileOrCheckSyntax
{
pco_memory_profiling
,
pco_time_profiling
,
pco_desc_exl
,
pco_generic_fusion
,
pco_dynamics
,
pco_link_dynamic
}
{
neverMemoryProfile
,
neverTimeProfile
,
sa
,
gw
,
gc
,
listTypes
,
attr
,
reuseUniqueNodes
,
fusion
}
=
(
add_dynamics_option
(
add_fusion_option
(
add_exl_option
(
checksyntax
+++
timeProfileSwitch
+++
memoryProfileSwitch
+++
strictness
+++
warnings
+++
comments
+++
listtypes
+++
show_attr
+++
reuse
)
)))
+++
" "
...
...
@@ -506,7 +508,10 @@ where
=
" -ou"
=
""
add_exl_option
s
=
if
(
pco_desc_exl
||
pco_link_dynamic
)
(
s
+++
" -exl"
)
s
add_fusion_option
s
=
if
fusion
(
s
+++
" -fusion"
)
s
add_fusion_option
s
=
case
fusion
of
FusionOn
->
s
+++
" -fusion"
;
FusionDefault
|
pco_generic_fusion
->
s
+++
" -generic_fusion"
;
_
->
s
add_dynamics_option
s
=
if
(
pco_dynamics
||
pco_link_dynamic
)
(
s
+++
" -dynamics"
)
s
/* Generates code for the given file:
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment