#ifndef GD_BAD_DECLARATIONS_H1#define GD_BAD_DECLARATIONS_H23#include "gd_types.h"45/**6* @file bad_declarations.h7*8* Match incorrect type promotion for two declared functions.9*10* There is an issue with the compiled code for these function calls in files11* outside of the files in which they were defined: instead of passing f32's,12* the caller passes f64's.13*14* The only possible reason I can come up with for this behavior is that15* goddard only declared (not prototyped) his functions in the headers,16* and didn't include the header in the function's defining .c file.17* (Even IDO 5.3 cares about illegal promotion of types!) This results in18* default argument promotion, which is incorrect in this case.19*20* Since that's an awful practice to emulate, include this file (first!) to prevent21* the proper prototypes of these functions from being seen by files with the22* the incorrectly compiled calls.23*/2425#ifndef AVOID_UB2627#define GD_USE_BAD_DECLARATIONS2829/* shape_helper.h */30extern struct ObjFace *make_face_with_colour();31/* should be: make_face_with_colour(f32, f32, f32) */3233/* old_menu.h */34extern struct ObjLabel *make_label();35/* should be: make_label(struct ObjValPtr *, char *, s32, f32, f32, f32) */3637#endif /* !AVOID_UB */3839#endif // GD_BAD_DECLARATIONS_H404142