示例#1
0
void
cyg_hal_invoke_constructors (void)
{
#ifdef CYGSEM_HAL_STOP_CONSTRUCTORS_ON_FLAG
   static pfunc *p = &CONSTRUCTORS_START;

   cyg_hal_stop_constructors = 0;
   for (; p != CONSTRUCTORS_END; NEXT_CONSTRUCTOR(p)) {
      (*p)();
      if (cyg_hal_stop_constructors) {
         NEXT_CONSTRUCTOR(p);
         break;
      }
   }
#else
   pfunc *p;

   //squeeze diag_write contructor
   p = &CONSTRUCTORS_START;
   //NEXT_CONSTRUCTOR(p);
   for (; p != CONSTRUCTORS_END; NEXT_CONSTRUCTOR(p)) {
      if(*p == tauon_cplusplus_ctor) break;
      (*p)();
   }
#endif
}
示例#2
0
void
cyg_hal_invoke_constructors (void)
{
#ifdef CYGSEM_HAL_STOP_CONSTRUCTORS_ON_FLAG
    static pfunc *p = &CONSTRUCTORS_START;
    
    cyg_hal_stop_constructors = 0;
    for (; p != CONSTRUCTORS_END; NEXT_CONSTRUCTOR(p)) {
        (*p)();
        if (cyg_hal_stop_constructors) {
            NEXT_CONSTRUCTOR(p);
            break;
        }
    }
#else
    pfunc *p;

    for (p = &CONSTRUCTORS_START; p != CONSTRUCTORS_END; NEXT_CONSTRUCTOR(p))
        (*p)();
#endif
}