Permalink
Commits on Nov 19, 2016
  1. Add an option erlang-icr-indent

    The option makes it possible to customize the indention of
    if/case/recieve patterns.
    
    Before the change, the indentation of 'if' patterns is 3 steps and
    'case' patterns is 4 steps.  It cannot be changed alone.  Some people
    prefer other styles, for example, zero indentation.
    
    case a of
    true ->
       do_something();
    false ->
       do_something_else()
    end.
    
    This patch just adds an option `erlang-icr-indent'. Its default value is
    `nil' which means keeping the legacy behavior.  When non-nil, the
    pattens of if/case/receive are indented according to
    `erlang-icr-indent'.  "(setq erlang-icr-indent 0)" will keep
    if/case/receive at the same column of the sub-clauses.
    
    Change-Id: I10c32e42dbf69cbe187f55223b9aa7824853e493
    Victor Ren committed Nov 13, 2016
Commits on Nov 11, 2016
  1. Merge branch 'sverker/hipe-no-pie-amd64/ERL-294/PR-1239/OTP-14031' in…

    …to maint
    
    * sverker/hipe-no-pie-amd64:
      erts: Disable -fPIE for HiPE on x86_64
      erts: Fix correct link flags for hipe_mkliterals
    sverker committed Nov 11, 2016
  2. erts: Fix correct link flags for hipe_mkliterals

    and no need for $(INCLUDED).
    sverker committed Nov 9, 2016
  3. Merge branch 'peppe/common_test/fix_default_gl/ERL-279/OTP-13973' int…

    …o maint
    
    * peppe/common_test/fix_default_gl/ERL-279/OTP-13973:
      Fix problem with printouts to incorrect parent group leader
    
    OTP-13973
    pekadan committed Nov 11, 2016
Commits on Nov 10, 2016
  1. Merge branch 'margnus1/hipe_llvm39_bugs/PR-1237/OTP-14027/OTP-14028' …

    …into maint
    
    * margnus1/hipe_llvm39_bugs/PR-1237:
      hipe_rtl_to_llvm: Constants for bits per byte/word
      hipe_llvm: Work around LLVM 3.9 sdesc bug
      hipe_llvm: Fix incorrect atom alignment assumption
    sverker committed Nov 10, 2016
  2. Merge branch 'ingela/ssl/ECC-certs-test' into maint

    * ingela/ssl/ECC-certs-test:
      ssl: Use SHA2 for signing ECC certs if possible
    IngelaAndin committed Nov 10, 2016
  3. ssl: Use SHA2 for signing ECC certs if possible

    ECC certs should preferably use SHA2, this is what we want to be
    testing. Also assembling of all available test suites must consider TLS version.
    IngelaAndin committed Nov 8, 2016
Commits on Nov 9, 2016
  1. Merge branch 'ingela/ssl/tune-timeouts-packet_SUITE' into maint

    * ingela/ssl/tune-timeouts-packet_SUITE:
      ssl: Change to more modest timeouts
    IngelaAndin committed Nov 9, 2016
  2. Merge branch 'ingela/ssl/ECC-faulty-workaround' into maint

    * ingela/ssl/ECC-faulty-workaround:
      ssl: Remove faulty workaround
    IngelaAndin committed Nov 9, 2016
  3. ssl: Remove faulty workaround

    We where never really satisfied with this workaround it was
    a bit far fetched, so we are pleased to be able to remove it.
    IngelaAndin committed Nov 8, 2016
  4. Merge branch 'gomoripeti/kernel/controlling_proc_badarg_doc/PR-1208/O…

    …TP-14022' into maint
    
    * gomoripeti/kernel/controlling_proc_badarg_doc/PR-1208/OTP-14022:
      controlling_process can return {error, badarg}
    RaimoNiskanen committed Nov 9, 2016
Commits on Nov 8, 2016
  1. hipe_rtl_to_llvm: Constants for bits per byte/word

    The constant ?WORD_WIDTH is renamed ?BITS_IN_WORD, and a new constant
    ?BITS_IN_BYTE is introduced.
    
    Additionally, a bug in a currently unused case clause of
    llvm_type_from_size/1 is fixed (the size of a word was hardcoded to 64
    bits).
    margnus1 committed Nov 8, 2016
  2. Merge branch 'raimo/gen_statem-improvements/OTP-13929' into maint

    * raimo/gen_statem-improvements/OTP-13929:
      Log terminate to sys debug
      Optimize event timeout
      Rework timeout handling
      Clarify the chapter 'Postponing Events' (ERL-284)
      Fix doc and type for state enter calls
    RaimoNiskanen committed Nov 8, 2016
  3. Updated OTP version

    Erlang/OTP committed Nov 8, 2016
  4. Update release notes

    Erlang/OTP committed Nov 8, 2016
  5. Update version numbers

    Erlang/OTP committed Nov 8, 2016
  6. Merge branch 'egil/erts/fix-configure-to-check-in-libsct-for-sctp-fun…

    …cs/ERL-262/OTP-13956' into maint-19
    
    * egil/erts/fix-configure-to-check-in-libsct-for-sctp-funcs/ERL-262/OTP-13956:
      Configure enable libsctp dependency
      Revert "Check libsctp for sctp funcs in configure.in"
    Erlang/OTP committed Nov 8, 2016
  7. Merge branch 'bjorn/erts/erl_prim_loader/OTP-14009' into maint-19

    * bjorn/erts/erl_prim_loader/OTP-14009:
      Update preloaded modules
      Fix performance bug in erl_prim_loader:get_modules/{2,3}
    Erlang/OTP committed Nov 8, 2016
  8. Merge branch 'egil/19/erts/fix-crashdump-sigusr1/OTP-13997' into main…

    …t-19
    
    * egil/19/erts/fix-crashdump-sigusr1/OTP-13997:
      erts: Fix SIGUSR1 crashdump generation
    Erlang/OTP committed Nov 8, 2016
  9. Revert "Check libsctp for sctp funcs in configure.in"

    This reverts commit 52fae83:
    
        Check libsctp for sctp funcs in configure.in
    
        Call AC_CHECK_LIB before calling AC_CHECK_FUNCS to check for functions in libsctp.
        Otherwise AC_CHECK_FUNCS will not link with libsctp to see if function exists.
    
    Reverting to the old behaviour of not checking for libsctp before checking for
    sctp functions.  Then it works on Linux by loading libsctp and looking up the
    symbols i runtime, and it works on FreeBSD since there is no separate libsctp
    to link against - the functions are part of the default system libraries.
    RaimoNiskanen committed with psyeugenic Oct 13, 2016
  10. Merge branch 'jxck/fix-doc-typo/PR-1238' into maint

    * jxck/fix-doc-typo/PR-1238:
      fix typo on doc of maps
    psyeugenic committed Nov 8, 2016
  11. Merge branch 'leoliu/tools/emacs-erldoc/PR-1197/OTP-14018' into maint

    * leoliu/tools/emacs-erldoc/PR-1197/OTP-14018:
      New commands to ease looking up OTP documentation
    dgud committed Nov 8, 2016
  12. fix typo on doc of maps

    typo
    Jxck committed on GitHub Nov 8, 2016
Commits on Nov 7, 2016
  1. hipe_llvm: Work around LLVM 3.9 sdesc bug

    As of LLVM 3.9, the x86-call-frame-opt pass in LLVM's X86 backend causes
    the stack descriptors to contain incorrect (or even negative) frame
    sizes or root slot offsets.
    
    This might cause LLVM-compiled modules to be rejected during loading
    with a badarg exception in hipe_bifs:enter_sdecs/1 (which additionally
    prints a "hipe_bifs_enter_sdesc_1: bad sdesc!" message to stderr), or it
    might cause corruption or segmentation faults when walking stacks (f.ex.
    during GC) containing frames compiled with ErLLVM.
    
    As a workaround, we pass the -no-x86-call-frame-opt flag to llc when
    the version is at least 3.9
    margnus1 committed Nov 7, 2016
  2. hipe_llvm: Fix incorrect atom alignment assumption

    ErLLVM was declaring atoms in the following manner:
    
        @atom_ok = external constant i64
        ; Used inside a function like this
        %var = ptrtoint i64* @atom_ok to i64
    
    However, doing so makes LLVM think the `atom_ok` is 8-byte aligned,
    since it refers to a i64 value. This resulted in LLVM occasionally
    incorrectly optimising away type tests on atoms, causing incorrect
    behaviour or even segfaults. One such case is in
    bs_match_compiler:coverage_apply/2, in which an is_boxed test on a
    literal atom was optimised away, causing the code to try and load the
    "header" of an atom. This problem reproduces with LLVM versions 3.7
    through 3.9.
    
    By declaring atoms as i8 (byte) constants instead, LLVM no longer makes
    these alignment assumptions, and the bug is fixed.
    margnus1 committed Nov 7, 2016
  3. Merge branch 'kostis/hipe-bs_match_string/PR-1234/OTP-14005' into maint

    * kostis/hipe-bs_match_string/PR-1234/OTP-14005:
      Add a test case that should now work
      Fix the native code translation of bs_match_string
    sverker committed Nov 7, 2016
  4. Merge branch 'ferd/ssl-allow-ecc-config/PR-1210/OTP-13959' into maint

    * ferd/ssl-allow-ecc-config/PR-1210/OTP-13959:
      Add ECC curve selection order config in TLS server
    IngelaAndin committed Nov 7, 2016
  5. Merge branch 'egil/clarify-dir-structure/OTP-14013' into maint

    * egil/clarify-dir-structure/OTP-14013:
      doc: Clarify application directory structure
    psyeugenic committed Nov 7, 2016
  6. Merge branch 'egil/erts/cuddle-tests' into maint

    * egil/erts/cuddle-tests:
      stdlib: Increase timeouts in ets_SUITE
      stdlib: Increase timeouts in rand_SUITE
      stdlib: Increase timeouts in base64_SUITE
      erts: Use cmd on windows for port_SUITE
    psyeugenic committed Nov 7, 2016
Commits on Nov 5, 2016
  1. Update preloaded modules

    bjorng committed Nov 5, 2016
  2. Fix performance bug in erl_prim_loader:get_modules/{2,3}

    The erl_prim_loader:get_modules/{2,3} functions were introduced in
    cd28358. Unfortunately, while the functions worked correctly, there
    was a bug in that many garbage maessages would be sent to the
    erl_prim_loader process.  The number of extra messages depended on
    both the length of the code path and of the number of modules that
    were fetched.  The messages were ignored and ultimately discarded,
    causing no harm except for a performance degradation and increase of
    the heap size for the erl_prim_loader process.
    
    The following functions were hit by the performance bug:
    
      code:atomic_load/1
      code:ensure_modules_loaded/1
      code:prepare_loading/1
    bjorng committed Nov 5, 2016
Commits on Nov 4, 2016
  1. stdlib: Increase timeouts in ets_SUITE

    * valgrind needs lots of time
    psyeugenic committed Nov 3, 2016