Disabling Wattributes warnings (because always_inline is considered incorrect without inline specifier even in LTO mode); removing used attribute from always_inline functions; removing inline specifier from ecma_lcache_lookup and ecma_stack_top_value.

This commit is contained in:
Ruben Ayrapetyan 2015-02-03 18:05:14 +03:00
parent 3cb0b0a379
commit 9cdc50c3ec
4 changed files with 5 additions and 4 deletions

View File

@ -206,7 +206,8 @@ TARGET_CPU = $(strip $(if $(filter linux,$(TARGET_SYSTEM)), x64, \
# Warnings
CFLAGS_WARNINGS ?= -Wall -Wextra -Wpedantic -Wlogical-op -Winline \
-Wformat-nonliteral -Winit-self -Wstack-protector \
-Wconversion -Wsign-conversion -Wformat-security
-Wconversion -Wsign-conversion -Wformat-security \
-Wno-attributes
CFLAGS_WERROR ?= -Werror
CFLAGS_WFATAL_ERRORS ?= -Wfatal-errors

View File

@ -37,7 +37,7 @@ typedef unsigned long mword_t;
#define __noinline __attribute__((noinline))
#define __used __attribute__((used))
#ifndef __attribute_always_inline__
# define __attribute_always_inline__ __attribute__((always_inline)) __used
# define __attribute_always_inline__ __attribute__((always_inline))
#endif /* !__attribute_always_inline__ */
#ifndef __attribute_const__
# define __attribute_const__ __attribute__((const))

View File

@ -218,7 +218,7 @@ ecma_lcache_insert (ecma_object_t *object_p, /**< object */
* @return true - if (object, property name) pair is registered in LCache,
* false - probably, not registered.
*/
inline bool __attribute_always_inline__
bool __attribute_always_inline__
ecma_lcache_lookup (ecma_object_t *object_p, /**< object */
const ecma_string_t *prop_name_p, /**< property's name */
ecma_property_t **prop_p_p) /**< out: if return value is true,

View File

@ -207,7 +207,7 @@ ecma_stack_push_value (ecma_stack_frame_t *frame_p, /**< ecma-stack frame */
/**
* Get top value from ecma-stack
*/
inline void __attribute_always_inline__
void __attribute_always_inline__
ecma_stack_top_value (ecma_value_t &ret, /**< out: ecma-value */
ecma_stack_frame_t *frame_p) /**< ecma-stack frame */
{