Age | Commit message (Collapse) | Author |
|
* nox/maps-erl_docgen/OTP-11776:
Handle map types in docgen_edoc_xml_cb
Handle nonempty list types in docgen_edoc_xml_cb
|
|
* hb/erts/escript_note:
erts: Clarify escript's encoding of the I/O-server
|
|
|
|
Updating to reflect the instructions found on the mailing list.
http://erlang.org/pipermail/erlang-questions/2012-April/066184.html
|
|
* peppe/common_test/group_events:
Update test suites and fix various remaining problems
Update event protocol and CT Hooks API
Introduce group name for skipped cases in events, hooks and overview log
OTP-11732
|
|
|
|
|
|
|
|
* peppe/common_test/test_server_enoent_crash:
Add more info to file open failure
|
|
* peppe/common_test/auto_compile_flag:
Add flag to abort test run if suites fail to compile
OTP-11769
|
|
* peppe/test_server/ts_run_args:
Add ts:run/5 function to run specific test case(s) in a group
|
|
|
|
|
|
|
|
OTP-11690
|
|
b08ffc15e1d9ad105dd6385bbac41c97c09b48bc corrected a bug,
but violated the types by passing a c_apply() when a
c_let() was expected. That happened to work, but Dialyzer
was not amused.
|
|
|
|
* nox/compiler/v3_core-mismatched-apply:
Do not emit blatantly illformed apply expressions in core_inline
|
|
A note has been added that clarifies that the encoding of
the I/O-server has to be set explicitly, irrespective of
any encoding comment.
|
|
|
|
file:set_cwd/1 accepts binaries as arguments, however the binaries
must be properly encoded as per file:native_name_encoding/0.
Also update the note under no_translation error to refer that passing
a ISO-latin-1 encoded binary under any unicode file name encoding.
|
|
|
|
|
|
|
|
|
|
|
|
Boolean case expressions with redundant clauses could make the compiler
crash:
case X == 0 of
false -> no;
false -> no;
true -> yes
end.
Reported-by: Ulf Norell
|
|
> The default (identity) encoding; the use of no transformation whatsoever.
> The Internet Assigned Numbers Authority (IANA) acts as a registry for
> transfer-coding value tokens. Initially, the registry contains the
> following tokens: "chunked" (section 3.6.1), "identity" (section 3.6.2),
> "gzip" (section 3.5), "compress" (section 3.5), and "deflate" (section 3.5).
Reported-by: Andrew Houghton
|
|
|
|
Wrong order of arguments in httpc_handler:update_session/4 error
handling code should not result in bad_argument error making
stack trace unusable.
|
|
The following code could crash the compiler:
f(X = true) when X or true or X -> ok.
Reported-by: Ulf Norell
|
|
Add flags to enable and use the LLVM backend:
* to_llvm: use the LLVM pipeline for compilation (default optimization level
is O3),
* llvm_save_temps: save the intermediate files in current directory in order
to be able to debug or optimize the LLVM assembly,
* {to_llvm, O}: set the optimization level of LLVM opt and llc tools.
Add some debug support to the loader; no semantic change intented.
|
|
|
|
Extend the 'rtl_var' definition to host liveness information needed for
a simple liveness analysis performed by the LLVM backend.
Also, uncomment some function definitions (mostly simple accessors) that
are already there and are useful for the translation of RTL code to LLVM
assembly.
Finally, extend the RTL 'call' instruction with the 'normalcontinuation'
field which is required for translating calls that are in the scope of
an exception handler. This extra field is required in order to point to
a new basic block which will hold the 'unwind label' of LLVM's invoke
instruction. While the 'unwind label' is semantically equivalent with
the 'failcontinuation', in LLVM this block must have a 'landingpad'
instruction. The problem arises by the fact that an RTL 'continuation'
block can also be accessible by other paths in the RTL CFG, and so
cannot be marked as a landing pad. To overcome this issue we create a
new block (the 'normalcontinuation') which is used as the 'unwind label'
of LLVM's invoke instruction and which will eventually transfer control
to the 'continuation' block.
|
|
This is used by the LLVM backend in order to generate unique names for
temporary SSA values and functions.
|
|
A call in llvm_fix_pinned_regs/0 is inserted in the beginning of LLVM unwind
blocks (i.e. code executed when an LLVM 'invoke' call triggers an exception)
in order to get the BP and SP registers right. This is needed because LLVM
exception handling doesn't provide the return value (that also contains the
values for these registers, as defined in the HiPE Calling Convention for
LLVM) on the 'landingpad's.
|
|
All backends (e.g. arm, ppc, sparc, x86) share the same code for the following
functions:
* find_const/2,
* mk_data_relocs/2, and
* slim_sorted_exportmap/3
This commit moves those definitions (along with some helper functions) in
misc/hipe_pack_constants.erl and adds the appropriate specs. This is a
structural change; no change in semantics intented.
|
|
|
|
* nox/maps-beam_jump-put_map:
Properly collect labels in put_map instructions in beam_jump
|
|
* hb/stdlib/linter_errors/OTP-11771:
Emit errors when redefining arity(), bitstring(), iodata(), or boolean()
|
|
erl_lint has since R13B emitted warnings whenever any of the types
arity(), bitstring(), iodata(), or boolean() were re-defined. Now
errors are emitted instead.
|
|
* hb/stdlib/linter_bugfix/OTP-11772:
stdlib: Emit linter warnings for redefined built-in types
|
|
Since Erlang/OTP R16B the linter has not emitted warnings when
built-in types were re-defined. This bug has been fixed.
Thanks to Roberto Aloi for reporting the bug.
|
|
|
|
|
|
|
|
to prepare for lists, tuples and ... maps!
|
|
|
|
* egil/maps/doc-module-api:
erl_docgen: Generate map() instead of #{} for maps type
stdlib: Document Maps module
stdlib: Fix maps:from_list/1 spec.
|
|
|