better gcc attr() detect