gcc is rather over-aggressive about optimising out static data structures

even when __atribute__ (( unused )) is correctly set...
This commit is contained in:
Michael Brown
2006-04-24 18:31:37 +00:00
parent 4c4e4de18f
commit 832e86246b
21 changed files with 35 additions and 35 deletions

View File

@@ -131,7 +131,7 @@
* ...
* }
*
* static struct frob my_frobnicator __frobnicator = {
* struct frob my_frobnicator __frobnicator = {
* .name = "my_frob",
* .frob = my_frob,
* };
@@ -184,7 +184,7 @@
*
* @code
*
* static struct my_foo __table ( foo, 01 ) = {
* struct my_foo __table ( foo, 01 ) = {
* ...
* };
*

View File

@@ -49,12 +49,12 @@ struct init_fn {
#define INIT_RPC 11
/* Macro for creating an initialisation function table entry */
#define INIT_FN( init_order, init_func, reset_func, exit_func ) \
static struct init_fn PREFIX_OBJECT(init_fn__) \
__table ( init_fn, init_order ) = { \
.init = init_func, \
.reset = reset_func, \
.exit = exit_func, \
#define INIT_FN( init_order, init_func, reset_func, exit_func ) \
struct init_fn PREFIX_OBJECT(init_fn__) \
__table ( init_fn, init_order ) = { \
.init = init_func, \
.reset = reset_func, \
.exit = exit_func, \
};
/* Function prototypes */

View File

@@ -54,7 +54,7 @@ struct isa_driver {
*
*/
#define ISA_DRIVER( _name, _probe_addrs, _probe_addr, _mfg_id, _prod_id ) \
static struct isa_driver _name __table(isa_driver,01 ) = { \
struct isa_driver _name __table(isa_driver,01 ) = { \
.probe_addrs = _probe_addrs, \
.addr_count = sizeof ( _probe_addrs ) / sizeof ( _probe_addrs[0] ), \
.probe_addr = _probe_addr, \