How many SPIN statements are valid for SimpleIDE.c?
I see that
waitcnt(CLKFREQ + CNT);
is used as a hybrid SPIN / C statement.
Are there others?
waitcnt(CLKFREQ + CNT);
is used as a hybrid SPIN / C statement.
Are there others?

Comments
https://sites.google.com/site/propellergcc/documentation/libraries/propeller-h-library
https://sites.google.com/site/propellergcc/documentation/libraries/cog-h-library
Does start get executed automatically for every download? Where is this documented?
How do .dat files get configured?
int start(unsigned int *pinptr) { // The label binary_toggle_dat_start is automatically placed // on the cog code from toggle.dat by objcopy (see the Makefile). extern unsigned int binary_toggle_dat_start[]; return cognew(&binary_toggle_dat_start, pinptr); }Good question.
The function name main() is the only "C language function" that starts automatically (GCC also allows for a constructor and it would be called before main in a C program, but that is a C++ extension).
In the current C compiler mode, SimpleIDE will (using bstc -c spinfile.spin) create .dat files from .spin files that contain PASM. With the toggle makefiles, the common.mk has rules used for similar purposes.
Then a function the user defines such as start() mentioned in that example can be used to cognew the resulting .dat symbol PASM code. The symbol created by the compiler tools invoked by SimpleIDE for .dat files will always be binary_filename_dat_start.
Hope this helps.
--Steve
The User Guide .pdf document describes the Project Manager and file types.