aboutsummaryrefslogtreecommitdiffstats
path: root/lib/compiler/src
diff options
context:
space:
mode:
authorTuncer Ayaz <[email protected]>2013-12-03 18:43:30 +0100
committerBjörn Gustavsson <[email protected]>2013-12-18 10:26:55 +0100
commit18315c1675d965e5d0210a560e4742c483fcfd7f (patch)
tree4e4df6bac52607dd21840498fff9256ab0e0607c /lib/compiler/src
parent3ee4bd41cdebf355447571fc9cb10b4fe5132ad9 (diff)
downloadotp-18315c1675d965e5d0210a560e4742c483fcfd7f.tar.gz
otp-18315c1675d965e5d0210a560e4742c483fcfd7f.tar.bz2
otp-18315c1675d965e5d0210a560e4742c483fcfd7f.zip
Officially support building assembler files
erlc is wired to treat *.S files as assembler and build them as compile:file(File, [from_asm]), but this is not documented. There's also a documented compile:file/2 option called 'asm' (mapping to 'from_asm'), but the wording discourages its use. All of this has been in place and in use for a long time. Therefore, it should be supported officially. To fix that, make the following changes: * document erlc handling of *.core files * un-document 'asm' and document 'from_asm' instead * deprecate 'asm' While at it, fix a minor typo in the test suite.
Diffstat (limited to 'lib/compiler/src')
-rw-r--r--lib/compiler/src/compile.erl6
1 files changed, 5 insertions, 1 deletions
diff --git a/lib/compiler/src/compile.erl b/lib/compiler/src/compile.erl
index 47d446273b..38a733751a 100644
--- a/lib/compiler/src/compile.erl
+++ b/lib/compiler/src/compile.erl
@@ -417,6 +417,10 @@ pass(from_core) ->
pass(from_asm) ->
{".S",[?pass(beam_consult_asm)|asm_passes()]};
pass(asm) ->
+ %% TODO: remove 'asm' in R18
+ io:format("compile:file/2 option 'asm' has been deprecated and will be "
+ "removed in R18.~n"
+ "Use 'from_asm' instead.~n"),
pass(from_asm);
pass(from_beam) ->
{".beam",[?pass(read_beam_file)|binary_passes()]};
@@ -1613,7 +1617,7 @@ compile_beam(File0, _OutFile, Opts) ->
compile_asm(File0, _OutFile, Opts) ->
File = shorten_filename(File0),
- case file(File, [asm|make_erl_options(Opts)]) of
+ case file(File, [from_asm|make_erl_options(Opts)]) of
{ok,_Mod} -> ok;
Other -> Other
end.