Move some gcc extensions to new gcc_extensions.h header
- Move ATTRIBUTE_PRINTF/ATTRIBUTE_SCANF from _ansi.h They are not related at all to this file, and this broke compilation with Code Sourcery GCC which ships its own _ansi.h - Move LIKELY/UNLIKELY from system.h There is likely a lot more GCC extensions used everywhere in the source, conditionally on __GNUC__ or unconditionally git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27548 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
parent
1828a753a8
commit
a72aa856bd
11 changed files with 58 additions and 28 deletions
|
@ -31,7 +31,6 @@
|
|||
#define MEM 2
|
||||
#endif
|
||||
|
||||
#include <_ansi.h>
|
||||
#include <stdbool.h>
|
||||
#include <stdlib.h>
|
||||
#include "strlcpy.h"
|
||||
|
@ -51,6 +50,8 @@
|
|||
#endif
|
||||
#include "settings.h"
|
||||
|
||||
#include "gcc_extensions.h"
|
||||
|
||||
#ifdef CODEC
|
||||
#if defined(DEBUG) || defined(SIMULATOR)
|
||||
#undef DEBUGF
|
||||
|
|
|
@ -21,8 +21,9 @@
|
|||
|
||||
#ifndef _GUI_SPLASH_H_
|
||||
#define _GUI_SPLASH_H_
|
||||
#include <_ansi.h>
|
||||
|
||||
#include "screen_access.h"
|
||||
#include "gcc_extensions.h"
|
||||
|
||||
/*
|
||||
* Puts a splash message centered on all the screens for a given period
|
||||
|
|
|
@ -39,6 +39,7 @@
|
|||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include "string-extra.h"
|
||||
#include "gcc_extensions.h"
|
||||
|
||||
char* strncpy(char *, const char *, size_t);
|
||||
void* plugin_get_buffer(size_t *buffer_size);
|
||||
|
|
|
@ -21,7 +21,7 @@
|
|||
#ifndef DEBUG_H
|
||||
#define DEBUG_H
|
||||
|
||||
#include "../include/_ansi.h"
|
||||
#include "gcc_extensions.h"
|
||||
|
||||
extern void debug_init(void);
|
||||
extern void debugf(const char* fmt,...) ATTRIBUTE_PRINTF(1, 2);
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
#define LOGF_H
|
||||
#include <config.h>
|
||||
#include <stdbool.h>
|
||||
#include "../include/_ansi.h"
|
||||
#include "gcc_extensions.h"
|
||||
#include "debug.h"
|
||||
|
||||
#ifdef ROCKBOX_HAS_LOGF
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
#ifndef __PANIC_H__
|
||||
#define __PANIC_H__
|
||||
|
||||
#include "_ansi.h"
|
||||
#include "gcc_extensions.h"
|
||||
|
||||
void panicf( const char *fmt, ... ) ATTRIBUTE_PRINTF(1, 2);
|
||||
|
||||
|
|
|
@ -25,6 +25,7 @@
|
|||
#include "cpu.h"
|
||||
#include "stdbool.h"
|
||||
#include "kernel.h"
|
||||
#include "gcc_extensions.h" /* for LIKELY/UNLIKELY */
|
||||
|
||||
extern void system_reboot (void);
|
||||
/* Called from any UIE handler and panicf - wait for a key and return
|
||||
|
@ -198,15 +199,6 @@ int get_cpu_boost_counter(void);
|
|||
#define TYPE_FROM_MEMBER(type, memberptr, membername) \
|
||||
((type *)((intptr_t)(memberptr) - OFFSETOF(type, membername)))
|
||||
|
||||
/* Use to give gcc hints on which branch is most likely taken */
|
||||
#if defined(__GNUC__) && __GNUC__ >= 3
|
||||
#define LIKELY(x) __builtin_expect(!!(x), 1)
|
||||
#define UNLIKELY(x) __builtin_expect(!!(x), 0)
|
||||
#else
|
||||
#define LIKELY(x) (x)
|
||||
#define UNLIKELY(x) (x)
|
||||
#endif
|
||||
|
||||
/* returns index of first set bit or 32 if no bits are set */
|
||||
int find_first_set_bit(uint32_t val);
|
||||
|
||||
|
|
|
@ -64,15 +64,4 @@
|
|||
#endif
|
||||
#endif
|
||||
|
||||
/* Support gcc's __attribute__ facility. */
|
||||
|
||||
#ifdef __GNUC__
|
||||
#define _ATTRIBUTE(attrs) __attribute__ (attrs)
|
||||
#else
|
||||
#define _ATTRIBUTE(attrs)
|
||||
#endif
|
||||
|
||||
#define ATTRIBUTE_PRINTF(fmt, arg1) _ATTRIBUTE( ( format( printf, fmt, arg1 ) ) )
|
||||
#define ATTRIBUTE_SCANF(fmt, arg1) _ATTRIBUTE( ( format( scanf, fmt, arg1 ) ) )
|
||||
|
||||
#endif /* _ANSIDECL_H_ */
|
||||
|
|
|
@ -27,7 +27,7 @@
|
|||
|
||||
#include <sys/types.h>
|
||||
#include "config.h"
|
||||
#include "_ansi.h"
|
||||
#include "gcc_extensions.h"
|
||||
|
||||
#define MAX_OPEN_FILES 11
|
||||
|
||||
|
|
46
firmware/include/gcc_extensions.h
Normal file
46
firmware/include/gcc_extensions.h
Normal file
|
@ -0,0 +1,46 @@
|
|||
/***************************************************************************
|
||||
* __________ __ ___.
|
||||
* Open \______ \ ____ ____ | | _\_ |__ _______ ___
|
||||
* Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
|
||||
* Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
|
||||
* Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
|
||||
* \/ \/ \/ \/ \/
|
||||
*
|
||||
* Copyright © 2010 Rafaël Carré
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
* as published by the Free Software Foundation; either version 2
|
||||
* of the License, or (at your option) any later version.
|
||||
*
|
||||
* This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
||||
* KIND, either express or implied.
|
||||
*
|
||||
****************************************************************************/
|
||||
|
||||
#ifndef _GCC_EXTENSIONS_H_
|
||||
#define _GCC_EXTENSIONS_H_
|
||||
|
||||
/* Support for some GCC extensions */
|
||||
|
||||
/* Compile time check of format for printf/scanf like functions */
|
||||
#ifdef __GNUC__
|
||||
#define ATTRIBUTE_PRINTF(fmt, arg1) __attribute__( ( format( printf, fmt, arg1 ) ) )
|
||||
#define ATTRIBUTE_SCANF(fmt, arg1) __attribute__( ( format( scanf, fmt, arg1 ) ) )
|
||||
#else
|
||||
#define ATTRIBUTE_PRINTF(fmt, arg1)
|
||||
#define ATTRIBUTE_SCANF(fmt, arg1)
|
||||
#endif
|
||||
|
||||
|
||||
/* Use to give gcc hints on which branch is most likely taken */
|
||||
#if defined(__GNUC__) && __GNUC__ >= 3
|
||||
#define LIKELY(x) __builtin_expect(!!(x), 1)
|
||||
#define UNLIKELY(x) __builtin_expect(!!(x), 0)
|
||||
#else
|
||||
#define LIKELY(x) (x)
|
||||
#define UNLIKELY(x) (x)
|
||||
#endif
|
||||
|
||||
|
||||
#endif /* _GCC_EXTENSIONS_H_ */
|
|
@ -1,14 +1,14 @@
|
|||
#ifndef _STDIO_H_
|
||||
#define _STDIO_H_
|
||||
|
||||
#include <_ansi.h>
|
||||
|
||||
#define __need_size_t
|
||||
#include <stddef.h>
|
||||
|
||||
#define __need___va_list
|
||||
#include <stdarg.h>
|
||||
|
||||
#include "gcc_extensions.h"
|
||||
|
||||
#ifndef NULL
|
||||
#define NULL 0
|
||||
#endif
|
||||
|
|
Loading…
Reference in a new issue