diff options
author | Lukas Larsson <[email protected]> | 2018-12-03 14:41:59 +0100 |
---|---|---|
committer | Lukas Larsson <[email protected]> | 2018-12-03 14:41:59 +0100 |
commit | 0d24aecf46f9f387d64f06744f8a55b841669d1e (patch) | |
tree | 28b30a8091d925e88bdb6d5b3577e35754c76466 | |
parent | 1dc8502e0c129358ba671708f0ad52ff36bb4027 (diff) | |
parent | 4e5e0c6103982775e8e890f7d7c209cba279d0d6 (diff) | |
download | otp-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.in | 11 | ||||
-rw-r--r-- | erts/emulator/beam/erl_alloc_util.c | 4 | ||||
-rw-r--r-- | erts/emulator/nifs/common/prim_file_nif.c | 4 |
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)) { |