mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-08-23 17:29:19 +00:00
Allow multiple registrations of the same target.
- This doesn't necessarily seem like a good idea, but the JIT unittest currently relies on it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75769 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
aca81c49d9
commit
3fb7eee9c2
@ -137,7 +137,8 @@ namespace llvm {
|
||||
/// @name Target Registration
|
||||
/// @{
|
||||
|
||||
/// RegisterTarget - Register the given target.
|
||||
/// RegisterTarget - Register the given target. Attempts to register a
|
||||
/// target which has already been registered will be ignored.
|
||||
///
|
||||
/// Clients are responsible for ensuring that registration doesn't occur
|
||||
/// while another thread is attempting to access the registry. Typically
|
||||
|
@ -111,16 +111,14 @@ void TargetRegistry::RegisterTarget(Target &T,
|
||||
Target::TripleMatchQualityFnTy TQualityFn,
|
||||
Target::ModuleMatchQualityFnTy MQualityFn,
|
||||
Target::JITMatchQualityFnTy JITQualityFn) {
|
||||
// Note that we don't require the constructor functions already be defined, in
|
||||
// case a module happens to initialize the optional functionality before the
|
||||
// target.
|
||||
assert(!T.Next && !T.Name && !T.ShortDesc && !T.TripleMatchQualityFn &&
|
||||
!T.ModuleMatchQualityFn && !T.JITMatchQualityFn &&
|
||||
"This Target already registered!");
|
||||
|
||||
assert(Name && ShortDesc && TQualityFn && MQualityFn && JITQualityFn &&
|
||||
"Missing required target information!");
|
||||
|
||||
// Check if this target has already been initialized, we allow this as a
|
||||
// convenience to some clients.
|
||||
if (T.Name)
|
||||
return;
|
||||
|
||||
// Add to the list of targets.
|
||||
T.Next = FirstTarget;
|
||||
FirstTarget = &T;
|
||||
|
Loading…
Reference in New Issue
Block a user