> I would say that the proper fix is to make puts(NULL), and fputs(fp, NULL) > behave like printf("%s\n", NULL) and fprintf(fp, "%s", NULL) respectively: i'd say the proper fix is: - change the callers of printf not to expect printf("%s\n", NULL) work. - and disable the optimization in gcc. YAMAMOTO Takashi