reorganized tests
added nomangle keyword - prevents name mangling

extern symbols are now weak
non-extern symbols are not; link time undefined symbols should occur