Add an additional hook (currently unused) for target specific capabilities.

This commit is contained in:
Kugel Fuhr
2025-07-01 08:34:38 +02:00
parent 59e7158512
commit 29c8846f7d
3 changed files with 16 additions and 1 deletions

View File

@@ -61,6 +61,7 @@
#include "studyexpr.h"
#include "symbol.h"
#include "symtab.h"
#include "target.h"
#include "toklist.h"
#include "ulabel.h"
#include "macro.h"
@@ -445,7 +446,7 @@ static ExprNode* FuncCapability (void)
/* The pseudo function result is the logical AND of all capabilities
** given.
*/
if (!CPUHasCap (Cap)) {
if (!CPUHasCap (Cap) && !TargetHasCap (Cap)) {
Result = 0;
}
}

View File

@@ -37,6 +37,7 @@
#include <string.h>
/* common */
#include "attrib.h"
#include "chartype.h"
#include "check.h"
#include "target.h"
@@ -302,3 +303,12 @@ const char* GetTargetName (target_t Target)
/* Return the array entry */
return GetTargetProperties (Target)->Name;
}
int TargetHasCap (capability_t Cap attribute((unused)))
/* Check if the current target has the given capability */
{
/* Currently unused */
return 0;
}

View File

@@ -39,6 +39,7 @@
/* common */
#include "capability.h"
#include "cpu.h"
@@ -131,6 +132,9 @@ const TargetProperties* GetTargetProperties (target_t Target);
const char* GetTargetName (target_t Target);
/* Return the name of a target */
int TargetHasCap (capability_t Cap);
/* Check if the current target has the given capability */
/* End of target.h */