erlang/otp — pull request #46 by weisslj (2013-07-18 07:43:08+00:00)
Title: Fix compile error on ARM and GCC < 4.1.0

Since b29ecbd (OTP-10418, R15B03) Erlang does not compile anymore with
old versions of GCC that do not have atomic ops builtins on platforms
where there is no native ethread implementation (e.g. ARM):

In file included from ../include/internal/gcc/ethread.h:29,
from ../include/internal/ethread.h:354,
from beam/erl_threads.h:264,
from beam/erl_smp.h:27,
from beam/sys.h:413,
from hipe/hipe_mkliterals.c:29:
../include/internal/gcc/ethr_membar.h:49:4: error: #error "No __sync_val_compare_and_swap"

This patch adds a header guard in "gcc/ethread.h", as is present in
"libatomic_ops/ethread.h".