Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
|
|
|
|
* maint:
Update primary bootstrap
Fix broken building of bootstrap compiler
Conflicts:
bootstrap/lib/kernel/ebin/code.beam
|
|
|
|
* maint:
Update primary bootstrap
sys_pre_expand: Eliminate bottleneck for modules with many functions
Conflicts:
bootstrap/bin/start.boot
bootstrap/bin/start_clean.boot
bootstrap/lib/kernel/ebin/file.beam
bootstrap/lib/kernel/ebin/hipe_unified_loader.beam
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* dev:
tar_SUITE: Work around limited pathname length on Windows
Merge the fourth bootstrap stage into the third bootstrap stage
Remove unused lib/orber/include/Makefile
Remove lib/orber/include/* from the primary bootstrap
otp_build update_primary: Don't commit generated source files
primary bootstrap: Remove source files
Conflicts:
Makefile.in
bootstrap/bin/start.script
bootstrap/bin/start_clean.script
bootstrap/lib/compiler/ebin/compiler.app
bootstrap/lib/compiler/egen/beam_opcodes.erl
bootstrap/lib/compiler/egen/core_parse.erl
bootstrap/lib/kernel/ebin/kernel.app
bootstrap/lib/kernel/ebin/kernel.appup
bootstrap/lib/orber/include/Makefile
bootstrap/lib/orber/include/corba.hrl
bootstrap/lib/orber/include/orber_pi.hrl
bootstrap/lib/stdlib/ebin/stdlib.app
bootstrap/lib/stdlib/ebin/stdlib.appup
bootstrap/lib/stdlib/egen/erl_parse.erl
|
|
The primary bootstrap contains generated source files that are not
needed for building Erlang/OTP. Since these files contains dates,
version numbers, or absolute path names, new versions of most of those
files will be created in the git repository every time the primary
bootstrap is updated, thus growing the git repository grow more than
necessary.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* pan/otp_8683_compiler_warnings:
Remove (harmless) warning regarding auto-imported BIF max/2
Update primary bootstrap
Correct warnings and errors for auto-imported bif clashes
Conflicts:
bootstrap/lib/stdlib/ebin/erl_lint.beam
|
|
|
|
Change erl_lint not to recognize this type as builtin and
add a new erl_lint.beam version in bootstrap.
Add an -opaque type declaration for this type in ets.erl
and also declare this as an exported type. Use this type
in file debugger/src/dbg_iload.erl in a spec.
While at it, also clean up this later file a bit.
|
|
erl_lint has been updated so that it takes the new -export_type()
attribute into account.
This means:
- do not complain about types which are defined but nowhere used in the
module but exported to other modules
- check that all types which are exported are indeed defined in the module
- warn when there are multiple occurrences of exported types.
In doing this change, I've also taken the liberty to introduce many types and
specs for functions of this module and to do small cleanups here and there.
|
|
* origin/pan/otp_8579_autoimport_override:
Update preloaded modules
Update primary bootstrap
Remove outcommented code from erl_lint
Make port_command/3 auto-imported
Remove (harmless) warnings about min/max in core applications
Autoimport min/2 and max/2
Improve coverage of erl_int in testcases
Change warning to error for nowarn_bif_clash compiler directive
Add -compile({no_auto_import,[F/A]}) doc to compiler.xml
Add some testcases to compiler to verify that overriding really happens
Return nowarn_bif_clash functionality but with warning
Teach erl_lint to better override BIFs with local functions and imports
Teach compiler to override autoimport with import
First prototype for local functions overriding autoimported
OTP-8579 Local functions should override auto-imported
Local and imported functions now override the autoimported
BIFs when the names clash. The pre R14 behaviour was that
autoimported BIFs would override local functions. To avoid
that old programs change behaviour, the following will
generate an error:
Doing a call without explicit module name to a local function
having a name clashing with the name of an autoimported BIF
that was present (and autoimported) before OTP R14A
Explicitly importing a function having a name clashing with
the name of an autoimported BIF that was present (and
autoimported) before OTP R14A Using any form of the old
compiler directive nowarn_bif_clash
If the BIF was added or autoimported in OTP R14A or later,
overriding it with an import or a local function will only
result in a warning,
To resolve clashes, you can either use the explicit module
name erlang to call the BIF, or you can remove the autoimport
of that specific BIF by using the new compiler directive
-compile({no_auto_import,[F/A]})., which makes all calls to
the local or imported function without explicit module name
pass without warnings or errors.
The change makes it possible to add autoimported BIFs without
breaking or silently changing old code in the future. However
some current code ingeniously utilizing the old behaviour or
the nowarn_bif_clash compiler directive, might need changing
to be accepted by the compiler.
|
|
|
|
|