aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLukas Larsson <[email protected]>2018-12-03 14:41:59 +0100
committerLukas Larsson <[email protected]>2018-12-03 14:41:59 +0100
commit0d24aecf46f9f387d64f06744f8a55b841669d1e (patch)
tree28b30a8091d925e88bdb6d5b3577e35754c76466
parent1dc8502e0c129358ba671708f0ad52ff36bb4027 (diff)
parent4e5e0c6103982775e8e890f7d7c209cba279d0d6 (diff)
downloadotp-0d24aecf46f9f387d64f06744f8a55b841669d1e.tar.gz
otp-0d24aecf46f9f387d64f06744f8a55b841669d1e.tar.bz2
otp-0d24aecf46f9f387d64f06744f8a55b841669d1e.zip
Merge branch 'lukas/erts/CFLAGS-O-check/OTP-15465' into maint
* lukas/erts/CFLAGS-O-check/OTP-15465: erts: Fix some 32-bit gcc warnings erts: Add check that a -O flag is present in CFLAGS
-rw-r--r--erts/configure.in11
-rw-r--r--erts/emulator/beam/erl_alloc_util.c4
-rw-r--r--erts/emulator/nifs/common/prim_file_nif.c4
3 files changed, 17 insertions, 2 deletions
diff --git a/erts/configure.in b/erts/configure.in
index 4a27b532de..1074aab2c2 100644
--- a/erts/configure.in
+++ b/erts/configure.in
@@ -589,6 +589,17 @@ else
WFLAGS=""
WERRORFLAGS=""
fi
+
+AC_MSG_CHECKING([CFLAGS for -O switch])
+case "$CFLAGS" in
+ *-O*) AC_MSG_RESULT([yes]) ;;
+ *)
+ AC_MSG_ERROR([
+ CFLAGS must contain a -O flag. If you need to edit the CFLAGS you probably
+ also want to add the default CFLAGS. The default CFLAGS are "-O2 -g".
+ If you want to build erts without any optimization, pass -O0 to CFLAGS.]) ;;
+esac
+
dnl DEBUG_FLAGS is obsolete (I hope)
AC_SUBST(DEBUG_FLAGS)
AC_SUBST(DEBUG_CFLAGS)
diff --git a/erts/emulator/beam/erl_alloc_util.c b/erts/emulator/beam/erl_alloc_util.c
index a5740a08cf..0be4562785 100644
--- a/erts/emulator/beam/erl_alloc_util.c
+++ b/erts/emulator/beam/erl_alloc_util.c
@@ -834,6 +834,8 @@ static ERTS_INLINE void clr_bit(UWord* map, Uint ix)
&= ~((UWord)1 << (ix % ERTS_VSPACE_WORD_BITS));
}
+#ifdef DEBUG
+
static ERTS_INLINE int is_bit_set(UWord* map, Uint ix)
{
ASSERT(ix / ERTS_VSPACE_WORD_BITS < VSPACE_MAP_SZ);
@@ -841,6 +843,8 @@ static ERTS_INLINE int is_bit_set(UWord* map, Uint ix)
& ((UWord)1 << (ix % ERTS_VSPACE_WORD_BITS));
}
+#endif
+
UWord erts_literal_vspace_map[VSPACE_MAP_SZ];
static void set_literal_range(void* start, Uint size)
diff --git a/erts/emulator/nifs/common/prim_file_nif.c b/erts/emulator/nifs/common/prim_file_nif.c
index ba36a33458..b34bf11205 100644
--- a/erts/emulator/nifs/common/prim_file_nif.c
+++ b/erts/emulator/nifs/common/prim_file_nif.c
@@ -933,7 +933,7 @@ static ERL_NIF_TERM set_permissions_nif(ErlNifEnv *env, int argc, const ERL_NIF_
posix_errno_t posix_errno;
efile_path_t path;
- Uint32 permissions;
+ Uint permissions;
if(argc != 2 || !enif_get_uint(env, argv[1], &permissions)) {
return enif_make_badarg(env);
@@ -952,7 +952,7 @@ static ERL_NIF_TERM set_owner_nif(ErlNifEnv *env, int argc, const ERL_NIF_TERM a
posix_errno_t posix_errno;
efile_path_t path;
- Sint32 uid, gid;
+ Sint uid, gid;
if(argc != 3 || !enif_get_int(env, argv[1], &uid)
|| !enif_get_int(env, argv[2], &gid)) {