mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-06-25 00:24:26 +00:00
Defining a new API for debug options that doesn't rely on static global cl::opts.
Summary: This is based on the discussions from the LLVMDev thread: http://lists.cs.uiuc.edu/pipermail/llvmdev/2014-August/075886.html Reviewers: chandlerc Reviewed By: chandlerc Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D5389 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@219854 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@ -113,9 +113,15 @@ void Option::addArgument() {
|
||||
}
|
||||
|
||||
void Option::removeArgument() {
|
||||
assert(NextRegistered && "argument never registered");
|
||||
assert(RegisteredOptionList == this && "argument is not the last registered");
|
||||
RegisteredOptionList = NextRegistered;
|
||||
if (RegisteredOptionList == this) {
|
||||
RegisteredOptionList = NextRegistered;
|
||||
MarkOptionsChanged();
|
||||
return;
|
||||
}
|
||||
Option *O = RegisteredOptionList;
|
||||
for (; O->NextRegistered != this; O = O->NextRegistered)
|
||||
;
|
||||
O->NextRegistered = NextRegistered;
|
||||
MarkOptionsChanged();
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user