@@ -54,9 +54,9 @@ void printErrorAndExit(Twine ErrMsg) {
54
54
errs () << " error: " << ErrMsg.str () << " \n\n "
55
55
<< " Usage:\n "
56
56
<< " llvm-jitlink-executor " << DebugOption
57
- << " filedescs=<infd>,<outfd> [args...]\n "
57
+ << " [test-jitloadergdb] filedescs=<infd>,<outfd> [args...]\n "
58
58
<< " llvm-jitlink-executor " << DebugOption
59
- << " listen=<host>:<port> [args...]\n " ;
59
+ << " [test-jitloadergdb] listen=<host>:<port> [args...]\n " ;
60
60
exit (1 );
61
61
}
62
62
@@ -132,51 +132,48 @@ int main(int argc, char *argv[]) {
132
132
int InFD = 0 ;
133
133
int OutFD = 0 ;
134
134
135
- std::vector<StringRef> TestOutputFlags;
136
-
137
135
if (argc < 2 )
138
136
printErrorAndExit (" insufficient arguments" );
139
- else {
140
- StringRef ConnectArg = argv[FirstProgramArg++];
137
+
138
+ StringRef NextArg = argv[FirstProgramArg++];
141
139
#ifndef NDEBUG
142
- if (ConnectArg == " debug" ) {
143
- DebugFlag = true ;
144
- ConnectArg = argv[FirstProgramArg++];
145
- }
140
+ if (NextArg == " debug" ) {
141
+ DebugFlag = true ;
142
+ NextArg = argv[FirstProgramArg++];
143
+ }
146
144
#endif
147
145
148
- while (ConnectArg.starts_with (" test-" )) {
149
- TestOutputFlags.push_back (ConnectArg);
150
- ConnectArg = argv[FirstProgramArg++];
151
- }
152
-
153
- StringRef SpecifierType, Specifier;
154
- std::tie (SpecifierType, Specifier) = ConnectArg.split (' =' );
155
- if (SpecifierType == " filedescs" ) {
156
- StringRef FD1Str, FD2Str;
157
- std::tie (FD1Str, FD2Str) = Specifier.split (' ,' );
158
- if (FD1Str.getAsInteger (10 , InFD))
159
- printErrorAndExit (FD1Str + " is not a valid file descriptor" );
160
- if (FD2Str.getAsInteger (10 , OutFD))
161
- printErrorAndExit (FD2Str + " is not a valid file descriptor" );
162
- } else if (SpecifierType == " listen" ) {
163
- StringRef Host, PortStr;
164
- std::tie (Host, PortStr) = Specifier.split (' :' );
165
-
166
- int Port = 0 ;
167
- if (PortStr.getAsInteger (10 , Port))
168
- printErrorAndExit (" port number '" + PortStr +
169
- " ' is not a valid integer" );
170
-
171
- InFD = OutFD = openListener (Host.str (), PortStr.str ());
172
- } else
173
- printErrorAndExit (" invalid specifier type \" " + SpecifierType + " \" " );
146
+ std::vector<StringRef> TestOutputFlags;
147
+ while (NextArg.starts_with (" test-" )) {
148
+ TestOutputFlags.push_back (NextArg);
149
+ NextArg = argv[FirstProgramArg++];
174
150
}
175
151
176
152
if (llvm::is_contained (TestOutputFlags, " test-jitloadergdb" ))
177
153
fprintf (stderr, " __jit_debug_descriptor.last_entry = 0x%016" PRIx64 " \n " ,
178
154
pointerToJITTargetAddress (findLastDebugDescriptorEntryPtr ()));
179
155
156
+ StringRef SpecifierType, Specifier;
157
+ std::tie (SpecifierType, Specifier) = NextArg.split (' =' );
158
+ if (SpecifierType == " filedescs" ) {
159
+ StringRef FD1Str, FD2Str;
160
+ std::tie (FD1Str, FD2Str) = Specifier.split (' ,' );
161
+ if (FD1Str.getAsInteger (10 , InFD))
162
+ printErrorAndExit (FD1Str + " is not a valid file descriptor" );
163
+ if (FD2Str.getAsInteger (10 , OutFD))
164
+ printErrorAndExit (FD2Str + " is not a valid file descriptor" );
165
+ } else if (SpecifierType == " listen" ) {
166
+ StringRef Host, PortStr;
167
+ std::tie (Host, PortStr) = Specifier.split (' :' );
168
+
169
+ int Port = 0 ;
170
+ if (PortStr.getAsInteger (10 , Port))
171
+ printErrorAndExit (" port number '" + PortStr + " ' is not a valid integer" );
172
+
173
+ InFD = OutFD = openListener (Host.str (), PortStr.str ());
174
+ } else
175
+ printErrorAndExit (" invalid specifier type \" " + SpecifierType + " \" " );
176
+
180
177
auto Server =
181
178
ExitOnErr (SimpleRemoteEPCServer::Create<FDSimpleRemoteEPCTransport>(
182
179
[](SimpleRemoteEPCServer::Setup &S) -> Error {
0 commit comments