Hi,

I have a wiring situation that looks like the folowing (simplified):

generic component A           generic component A
   (instance 1)                  (instance 2)
        |                         |             interface I1<uint16_t>
        +---> component B <-------+
                   |                            interface I2
                   +--> configuration C
                         (contains component D providing I2)

Compiling this results in the following warnings:
nesc1: warning: calls to I2.method1 in B fan out, but there is no combine 
function specified for the return type
...

The generated app.c contains:

inline static  void *B$I2$method1(message_t *arg_0xb78dd4e8, uint8_t 
arg_0xb78dd670){
#line 17
  void *result;
#line 17

#line 17
  result = D$I2$method1(arg_0xb78dd4e8, arg_0xb78dd670);
#line 17
  result = D$I2$method1(arg_0xb78dd4e8, arg_0xb78dd670);
#line 17

#line 17
  return result;
#line 17
}

Why does nesC complain about a fan-out of interface I2? I believe this should 
not happen and the generated app.c seems to support this believe (the 2 
so-called fan-out calls are identical).

Making component B generic makes the warnings dissappear, but it duplicates 
the code of component B, which is not desired.

Should I just ignore these warnings or is this a bug that is solved in a more 
recent nesC compiler? I am using nesc 1.2.8a.

regards
Wouter
_______________________________________________
Tinyos-help mailing list
[email protected]
https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help

Reply via email to