Package Kit/Launch Server: avoid/ignore use of requires keyword
In C++20 `requires` is a reserved keyword. GCC13 warns against its use. This change removes the use of the keyword in our own code, and ignores it in the external 'libsolv' code. Change-Id: I3319d20c0a3fdad89630683cdff5ea3b17f04e99 Reviewed-on: https://review.haiku-os.org/c/haiku/+/6647 Reviewed-by: waddlesplash <[email protected]>
This commit is contained in:
committed by
Adrien Destugues
parent
7345ce9a9e
commit
5140a1bb94
@@ -312,9 +312,9 @@ public:
|
|||||||
printf("\n");
|
printf("\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
void PrintRequires(const BPackageResolvableExpression& requires) const
|
void PrintRequires(const BPackageResolvableExpression& require) const
|
||||||
{
|
{
|
||||||
_PrintResolvableExpression("requires", requires);
|
_PrintResolvableExpression("requires", require);
|
||||||
}
|
}
|
||||||
|
|
||||||
void PrintSupplements(const BPackageResolvableExpression& supplements)
|
void PrintSupplements(const BPackageResolvableExpression& supplements)
|
||||||
|
|||||||
@@ -912,10 +912,10 @@ BPackageInfo::ClearRequiresList()
|
|||||||
|
|
||||||
|
|
||||||
status_t
|
status_t
|
||||||
BPackageInfo::AddRequires(const BPackageResolvableExpression& requires)
|
BPackageInfo::AddRequires(const BPackageResolvableExpression& packageRequires)
|
||||||
{
|
{
|
||||||
BPackageResolvableExpression* newRequires
|
BPackageResolvableExpression* newRequires
|
||||||
= new (std::nothrow) BPackageResolvableExpression(requires);
|
= new (std::nothrow) BPackageResolvableExpression(packageRequires);
|
||||||
if (newRequires == NULL)
|
if (newRequires == NULL)
|
||||||
return B_NO_MEMORY;
|
return B_NO_MEMORY;
|
||||||
|
|
||||||
|
|||||||
@@ -726,9 +726,9 @@ BPackageManager::_FindBasePackage(const PackageList& packages,
|
|||||||
BPackageResolvableExpression* basePackage = NULL;
|
BPackageResolvableExpression* basePackage = NULL;
|
||||||
int32 count = info.RequiresList().CountItems();
|
int32 count = info.RequiresList().CountItems();
|
||||||
for (int32 i = 0; i < count; i++) {
|
for (int32 i = 0; i < count; i++) {
|
||||||
BPackageResolvableExpression* requires = info.RequiresList().ItemAt(i);
|
BPackageResolvableExpression* require = info.RequiresList().ItemAt(i);
|
||||||
if (requires->Name() == info.BasePackage()) {
|
if (require->Name() == info.BasePackage()) {
|
||||||
basePackage = requires;
|
basePackage = require;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -28,6 +28,11 @@ for architectureObject in [ MultiArchSubDirSetup ] {
|
|||||||
be [ TargetLibstdc++ ]
|
be [ TargetLibstdc++ ]
|
||||||
;
|
;
|
||||||
|
|
||||||
|
if $(TARGET_PACKAGING_ARCH) != x86_gcc2 {
|
||||||
|
# External headers use the C++20 reserved keyword `requires`
|
||||||
|
ObjectC++Flags LibsolvSolver.cpp : -Wno-error=c++20-compat ;
|
||||||
|
}
|
||||||
|
|
||||||
Includes [ FGristFiles LibsolvSolver.cpp ]
|
Includes [ FGristFiles LibsolvSolver.cpp ]
|
||||||
: [ BuildFeatureAttribute libsolv : headers ] ;
|
: [ BuildFeatureAttribute libsolv : headers ] ;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -254,15 +254,15 @@ Job::Init(const Finder& finder, std::set<BString>& dependencies)
|
|||||||
// Check dependencies
|
// Check dependencies
|
||||||
|
|
||||||
for (int32 index = 0; index < Requirements().CountStrings(); index++) {
|
for (int32 index = 0; index < Requirements().CountStrings(); index++) {
|
||||||
const BString& requires = Requirements().StringAt(index);
|
const BString& requirement = Requirements().StringAt(index);
|
||||||
if (dependencies.find(requires) != dependencies.end()) {
|
if (dependencies.find(requirement) != dependencies.end()) {
|
||||||
// Found a cyclic dependency
|
// Found a cyclic dependency
|
||||||
// TODO: log error
|
// TODO: log error
|
||||||
return fInitStatus = B_ERROR;
|
return fInitStatus = B_ERROR;
|
||||||
}
|
}
|
||||||
dependencies.insert(requires);
|
dependencies.insert(requirement);
|
||||||
|
|
||||||
Job* dependency = finder.FindJob(requires);
|
Job* dependency = finder.FindJob(requirement);
|
||||||
if (dependency != NULL) {
|
if (dependency != NULL) {
|
||||||
std::set<BString> subDependencies = dependencies;
|
std::set<BString> subDependencies = dependencies;
|
||||||
|
|
||||||
@@ -274,7 +274,7 @@ Job::Init(const Finder& finder, std::set<BString>& dependencies)
|
|||||||
|
|
||||||
fInitStatus = _AddRequirement(dependency);
|
fInitStatus = _AddRequirement(dependency);
|
||||||
} else {
|
} else {
|
||||||
::Target* target = finder.FindTarget(requires);
|
::Target* target = finder.FindTarget(requirement);
|
||||||
if (target != NULL)
|
if (target != NULL)
|
||||||
fInitStatus = _AddRequirement(dependency);
|
fInitStatus = _AddRequirement(dependency);
|
||||||
else {
|
else {
|
||||||
|
|||||||
Reference in New Issue
Block a user