summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Sevakis <jethead71@rockbox.org>2014-08-05 21:19:07 -0400
committerMichael Sevakis <jethead71@rockbox.org>2014-08-05 21:32:13 -0400
commit29f5385263367ada481cb91fb5f44b6c1f90c59c (patch)
tree930f6d591bb6c4996cd16050fc232179d3d9b638
parentbb7700928a05c42339be4f587b105659bc8dc2be (diff)
downloadrockbox-29f5385.tar.gz
rockbox-29f5385.tar.bz2
rockbox-29f5385.zip
Fix up some more red
find_first_set_bit() becomes a small inline on ARMv5+ and checkwps now gets made with -std=gnu99 (it eats all the GCCOPTS) like the rest of things. Change-Id: Ie6039b17fec057a3dcb0f453d8fd5efac984df89
-rw-r--r--apps/gui/viewport.h14
-rw-r--r--firmware/export/system.h5
-rw-r--r--tools/checkwps/checkwps.make2
3 files changed, 14 insertions, 7 deletions
diff --git a/apps/gui/viewport.h b/apps/gui/viewport.h
index 3da001e190..ecbd325946 100644
--- a/apps/gui/viewport.h
+++ b/apps/gui/viewport.h
@@ -38,19 +38,21 @@ int viewport_get_nb_lines(const struct viewport *vp);
#define THEME_LISTS (BIT_N(3))
#define THEME_ALL (~(0u))
+/* These are needed in checkwps */
+void viewport_set_defaults(struct viewport *vp,
+ const enum screen_type screen);
+void viewport_set_fullscreen(struct viewport *vp,
+ const enum screen_type screen);
+int get_viewport_default_colour(enum screen_type screen, bool fgcolour);
+
#ifndef __PCTOOL__
+
/*
* Initialize the viewportmanager, which in turns initializes the UI vp and
* statusbar stuff
*/
void viewportmanager_init(void) INIT_ATTR;
-void viewport_set_defaults(struct viewport *vp,
- const enum screen_type screen);
-void viewport_set_fullscreen(struct viewport *vp,
- const enum screen_type screen);
-int get_viewport_default_colour(enum screen_type screen, bool fgcolour);
-
#ifdef HAVE_LCD_BITMAP
void viewportmanager_theme_enable(enum screen_type screen, bool enable,
struct viewport *viewport);
diff --git a/firmware/export/system.h b/firmware/export/system.h
index f6d441ef2a..0a13ec2208 100644
--- a/firmware/export/system.h
+++ b/firmware/export/system.h
@@ -157,7 +157,12 @@ int get_cpu_boost_counter(void);
((type *)((intptr_t)(memberptr) - OFFSETOF(type, membername)))
/* returns index of first set bit or 32 if no bits are set */
+#if defined(CPU_ARM) && ARM_ARCH >= 5 && !defined(__thumb__)
+static inline int find_first_set_bit(uint32_t val)
+ { return LIKELY(val) ? __builtin_ctz(val) : 32; }
+#else
int find_first_set_bit(uint32_t val);
+#endif
static inline __attribute__((always_inline))
uint32_t isolate_first_bit(uint32_t val)
diff --git a/tools/checkwps/checkwps.make b/tools/checkwps/checkwps.make
index 2ae15903a7..3720637595 100644
--- a/tools/checkwps/checkwps.make
+++ b/tools/checkwps/checkwps.make
@@ -7,7 +7,7 @@
# $Id$
#
-GCCOPTS=-g -D__PCTOOL__ -DCHECKWPS $(TARGET)
+GCCOPTS=-std=gnu99 -g -D__PCTOOL__ -DCHECKWPS $(TARGET)
CHECKWPS_SRC = $(call preprocess, $(TOOLSDIR)/checkwps/SOURCES)
CHECKWPS_OBJ = $(call c2obj,$(CHECKWPS_SRC))