Closed Bug 5165 Opened 26 years ago Closed 26 years ago

nsIProfile.h breaks build; leaves Bool defined when including xp_core.h

Categories

(Core Graveyard :: Profile: BackEnd, defect, P3)

Other
FreeBSD

Tracking

(Not tracked)

VERIFIED FIXED

People

(Reporter: karp, Assigned: dbragg)

Details

Now that nsIProfile.h is included on XP_UNIX platforms in nsSetupRegistry.cpp, the build breaks under egcs-1.2.1 on FreeBSD-3.1R, and probably on other egcs platforms, as well. Here's why: - nsIProfile.h includes xp_core.h - xp_core.h wants to typedef char Bool - from includes prior to xp_core.h (probably Xlib; see the comments near the string Bool in xp_core.h), Bool is #define'd to int, an abstract type eg++ dies with: In file included from ../../../dist/include/nsIProfile.h:4, from nsSetupRegistry.cpp:61: /usr/local/src/mozilla/include/xp_core.h:177: abstract declarator used as declaration This should be fixed in nsIProfile.h because xp_core.h is the narrowest scope with the #define Bool ... problem from Xlib. The fix: #ifdef XP_UNIX #undef Bool #endif should be added before #include "xp_core.h"
Status: NEW → RESOLVED
Closed: 26 years ago
Resolution: --- → FIXED
Change was committed on evening of 4/16 that removes xp_core.h from nsIProfile.h altogether; result is that bug is now FIXED.
Status: RESOLVED → VERIFIED
verified change checked in 4/16
Component: Profile Manager → Profile Manager BackEnd
Moving all Profile Manager bugs to new Profile Manager Backend component. Profile Manager component to be deleted.
Product: Core → Core Graveyard
You need to log in before you can comment on or make changes to this bug.