Substitude uses of lists:reverse(L1) ++ L2 with lists:reverse(L1, L2)
Introduce and use a hipe_icode:icode() type
Add specs for exported functions (to shut off a warning) and types in some record fields
Cleanup and make sure warnings are treated as errors
ensure argv large enough for all possible args
asn1ct_check: Let asn1_error/3 throw its result

Since most calls to asn1_error/3 throw its result, it makes more
sense to let asn1_error/3 itself throw the error tuple. Add the
return_asn1_error/3 to return the error tuple to use when we don't
want to throw it.
asn1ct_check: Remove unreachable clauses handling {identifier,_,_}

A named number list as used for ENUMERATED and INTEGER can never
have an {identifier,...} tuple in its third position like this:

   {'NamedNumber',Id,{identifier,_,_}}

because asn1ct_parser2:parse_NamedNumber/1 will always replace
an identifier tuple with an #Externaluereference{} record.
asn1ct_check: Rewrite error checking for INTEGER and BIT STRING

The error checking code for INTEGER and BIT STRING was broken,
since it built an error tuple that was never returned.

Rewrite the error checking code, sharing most of the code between
INTEGER and BIT STRING. Make sure that we test for both duplicated
names and number, as well as for negative bit numbers for
BIT STRING.

This rewrite will eliminate two dialyzer warnings for unmatched
returns.
asn1ct_check: Clean up error checking for INSTANCE OF

This will also eliminate a dialyzer warning for unmatched returns,
and increase the coverage.
Clean up reporting of errors in IMPORTS
shell_SUITE: Give bs_match_bin_SUITE/1 more time

Compiled with --enable-native-libs, 2 minutes may not be enough
time on a slow computer to finish bs_match_bin_SUITE/1.
prim_file_SUITE: Remove the short 5 seconds timetrap timeout

Several tests cases would typically fail because of a timetrap
timeout on our older test machines running with a Linux kernel
with a lower version than 2.6.30 and the ext3 file system.

In http://lwn.net/Articles/328363/, the author desribes peformance
issues with ext3 that were fixed in 2.6.30.

Since common_test nowadays has a default timetrap timeout, there
is no need to explicitly set a timeout in each test case (except
for prolonging the default timeout).
Attempt to provide more information if a test case fails
match erlang keywords more carefully

Use word boundaries in some regex matching to avoid recognizing words that
begin with keywords as keywords themselves, for example avoid recognizing a
function named catcher as the catch keyword. Add a regression test for this
problem.
Fix comment that differs from code

The comment in the code state that the tree is traversed to the left,
when in fact it is traversed to the right.
cover_SUITE:reconnect/1: Let the other side initiate the disconnect

The reconnect/1 test starts another node and takes down the connection
to it for a while. However, it has been in observed in our daily builds
that sometimes a "spontaneous" re-connection occurs.

I think that it because of the call to rpc:cast/3 which internally
will set the group leader for the remote process to a process on
the test_server node. It seems that sometimes the group_leader/2
call will re-establish the connection. Unfortunately, I have not
been able to force this to happen by inserting delays in the rpc
module, so it it still just an hypothesis.

However, letting the other node do the disconnection does seem to fix
the problem and intuitively that should be safer way to do it because
the group_leader/2 call and the disconnection will be executed
sequentially on the same node instead of concurrently from two
different nodes.
Added a condition to ignore empty Set-Cookie header and tests for it
Add better specs in hipe_pack_constants and cleanup
Move some common code in hipe_pack_constants

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.
Add a BIF that only returns the atom ok

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.