Age | Commit message (Collapse) | Author |
|
Since our config.h is included in each source file in the zlib
directory, we must make sure that config.h is also included
every time zlib functions are called to ensure that definitions
of types are consistent.
zlib_drv.c did not include config.h, which caused problems on
a MacOS X Leopard system. What happened was that HAVE_UNISTD_H
was not defined when zlib.h was included. When unistd.h is not
known to exist, the type z_off_t will be set to a long (32 bits
on this platform). But when the zlib source files were compiled,
HAVE_UNISTD_H was defined, unistd.h would be included, and
z_off_t would be set to off_t (64 bits; defined in unistd.h).
As a result of the mismatch, calls to the adler32_combine() and
crc32_combine() would pass only 32 bits in the len2 argument when
64 bits were expected.
|
|
* bjorn/erts/fix-lingering-tracer:
Teach the call_time trace to notice when the trace dies (non-SMP system)
|
|
* bjorn/asn1/cleanup/OTP-11727:
Clean up reporting of errors in IMPORTS
asn1ct_check: Clean up error checking for INSTANCE OF
asn1ct_check: Rewrite error checking for INTEGER and BIT STRING
asn1ct_check: Remove unreachable clauses handling {identifier,_,_}
asn1ct_check: Let asn1_error/3 throw its result
|
|
* bjorn/cuddle-with-tests:
cover_SUITE:reconnect/1: Let the other side initiate the disconnect
Attempt to provide more information if a test case fails
prim_file_SUITE: Remove the short 5 seconds timetrap timeout
shell_SUITE: Give bs_match_bin_SUITE/1 more time
|
|
The call_time trace is a special kind of tracing that requires
a tracer process just like ordinary call trace, but it never
actually sends anything to the tracer. It merely use the existence
of a trace process (and call trace flags) as an indication that
call_time tracing is active for the process.
If the tracer dies in a non-SMP run-time system, processes with
call_time tracing would not notice that the tracer had
died. Furthermore, if the set_on_spawn flag was active, the dead
tracer could be propagaged to newly spawned processes.
Before accumulating trace information in a non-SMP system, always
validate the tracer process. (In an SMP system, a reference to a
dead tracer will be cleared away each time a process is scheduled.)
While we could put all of the new code beam_bp.c, we have chosen to
make a function call from beam_bp.c to a function in erl_trace.c for
clarity's sake and to ease further maintenance. In the future, we
might want to handle tracing in more similar ways in the SMP and
non-SMP system.
|
|
* siri/master-cuddle-with-tests:
Remove "coding: utf-8" from test files
Change encoding for XML files to utf-8
|
|
* nox/maps-v3_core-lit_vars:
Properly collect variables in map expressions in v3_core
|
|
* origin/peppe/common_test/telnet_logging_final:
Add test cases and fix some problems with logging and with the telnet client
Get ct_telnet_client to print all data from server to log
Change telnet logging behaviour
OTP-11690
|
|
* hb/clarify_encoding:
Clarify the reference manual regarding source file encoding
|
|
* scrapinghub/update_session_error_logging_fix:
inets: Fix incorrect argument order
OTP-11794
|
|
* cobusc/correct_comment:
Fix comment that differs from code
OTP-11793
|
|
* nightfly19/pr/293:
Update compile instructions when compiling from git
OTP-11792
|
|
* technomancy/emacs-autoload:
Activate Emacs erlang-mode for .app files inside ebin directory.
Add more file types to Emacs auto-mode-alist.
Add Emacs autoloads for .erl and .app.src.
OTP-11788
|
|
|
|
* bjorn/compiler/utf8-warning/OTP-11791:
Don't fail compilation for modules that contain invalid UTF-8
epp: Make it possible to specify a default encoding
|
|
* erlang/pr/289:
remove reference to dbg_wx_edit* modules that don't exist
|
|
* josevalim/set_cwd-typespec:
Correct file:set_cwd/1 typespec
OTP-11787
|
|
* vinoski/emacs-keyword-boundaries:
match erlang keywords more carefully
OTP-11786
|
|
* kostis/hipe-rc2-patch:
Cleanup and make sure warnings are treated as errors
Add specs for exported functions (to shut off a warning) and types in some record fields
Introduce and use a hipe_icode:icode() type
Substitude uses of lists:reverse(L1) ++ L2 with lists:reverse(L1, L2)
|
|
The default encoding for Erlang modules is now UTF-8, and the
compilation would fail if a module contained byte sequences that
are not valid UTF-8 sequences.
In a large project with say many hundreds of Erlang modules
with names of developers such as "Björn" or "Håkan" encoded in
latin-1, that could mean that many hundreds of files would need
to be modified just to get started testing OTP 17.
As a temporary measure to ease the transition, automatically
fall back to the latin-1 encoding with a warning for any module
that contains invalid byte sequences and for which no encoding
has been specified.
The intention is to remove this workaround in OTP 18 or 19.
|
|
In the next commit, we will need a way to tell epp which the
default encoding should be for files that have no encoding comment.
We could add new open() and parse_file() functions with one
extra argument for the encoding, but there are already too many
variants.
To avoid having to add an additional argument to epp:open() and
epp:parse_file() each time new options are needed, introduce
epp:open/1 and epp:parse_file/2 that takes a property list with
options. Also support the new 'default_encoding' option for specifying
the default encoding for source files.
Thanks to Richard Carlsson for the idea and the implementation
of the new functionality in epp.erl.
|
|
Reported-by: José Valim
|
|
|
|
* egil/maps-literals:
compiler: Transform M#{} to is_map(M)
dialyzer: Do not native compile modules with Maps code
hipe: Properly identify map() type form terms
stdlib: Test Map key linting
stdlib: Accept records as Map keys
stdlib: Accept Maps as Map keys
stdlib: Move map type to proper definition
stdlib: Properly lint map key expressions
compiler: Change #c_map{var} to #c_map{arg}
compiler: Constant fold Maps that are safe
compiler: Validate Map src
compiler: Support literal maps in cerl_clauses:match/2
compiler: Guard BIF is_map/1 is pure
erts: Handle literals in is_map/1
compiler: Change Maps Core Format
compiler: Create literal Maps in creation if possible
|
|
* nox/maps-eval-empty-update:
Fix evaluation of empty map patterns in erl_lint
Fix evaluation of empty map updates in the debugger
Fix evaluation of empty map updates in erl_eval
|
|
* ia/ssl/ECC-error-handling/OTP-11780:
ssl: Server now ignores client ECC curves that it does not support instead of crashing.
Add test for unknown elliptic curve supported by client
|
|
* lukas/erts/make_deps_fixes/OTP-11784:
erts: Fix resolve of generated files for depend
erts: Move compiler flags generation
|
|
Core should not understand M#{}
Instead transform M#{} to
case _cor0 of
<_cor1>
when call 'erlang':'is_map'
(_cor0) ->
_cor1
( <_cor2> when 'true' ->
primop 'match_fail'
('badarg')
-| ['compiler_generated'] )
end
|
|
hipe:c/1 ignores '-compile(no_native).'
|
|
|
|
This will change in future release.
|
|
|
|
|
|
|
|
Only values are valid key expressions.
|
|
Not only variables are allowed as arguments, the name should reflect that.
Change cerl Map argument interface
* cerl:map_arg/1 is more suitable then cerl:map_val/1 in this case.
|
|
For updates of Map literals which may cause an error will be
determined in runtime, i.e. instructions are emitted for those
updates.
The changes in cerl now requires compiler-5.0 to compile because of
is_map/1 guard.
|
|
Reject all expressions that are known to fail.
Emit 'badarg' for those expressions.
Ex.
[]#{ a => 1}
Is not a valid map update expression.
|
|
|
|
|
|
|
|
Ex.
Instead of:
M~{~<K,V>}~
The format is now:
~{~<K,V>|M}~
This also removes a shift/reduce warning.
The changes in core_pp now requires compiler-5.0 to compile
because of is_map/1 guard, i.e. a need for a compiler with Maps know-how.
|
|
|
|
UTF-8 is now the default encoding and should no longer be
specified. These have probably been merged from maint earlier and the
coding statement was missed.
lib/dialyzer/test/opaque_SUITE_data/src/modules/opaque_erl_scan.erl
lib/diameter/test/diameter_codec_test.erl
lib/ssh/test/ssh_unicode_SUITE.erl
|
|
These are some files that were erronously missed earlier:
erts/doc/src/time_correction.xml
lib/crypto/doc/src/crypto_app.xml
lib/snmp/doc/src/snmpa_mib_data.xml
lib/snmp/doc/src/snmpa_mib_storage.xml
|
|
Reported-by: José Valim
|
|
|
|
|
|
|
|
* sverk/maps-erl_interface:
erts: Add distribution capability flag for maps DFLAG_MAP_TAG
erts: Change external format for maps
erts: Document external format for maps (MAP_EXT)
erl_interface: Add test for ei_skip_term of container terms
erl_interface: Add map support in ei_skip_term
erl_interface: Fix mem leak in ei_decode_encode_test
erl_interface: test decode/encode of maps
erl_interface: Add ei encode/decode for maps
erl_interface: test decode_encode of tuples and lists
erl_interface: refactor ei_decode_encode_test.c
|