Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
clean-and-itasks
clean-ide
Commits
c5ee04d0
Commit
c5ee04d0
authored
Feb 14, 2018
by
John van Groningen
Browse files
add generic fusion project option
parent
2c254d15
Changes
16
Hide whitespace changes
Inline
Side-by-side
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
]]
)
profiling
Pane
=
Pane
"
Profiling
"
compiler
Pane
=
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
rojectT
ime
P
rofiling
|
not
neverTimeProfile
&&
p
co_t
ime
_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
<>
co
.
fusion
|
abcOptions
.
abcFusion
<>
case
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