@@ -1456,6 +1456,13 @@ recording::context::set_str_option (enum gcc_jit_str_option opt,
1456
1456
log_str_option (opt);
1457
1457
}
1458
1458
1459
+ void
1460
+ recording::context::set_output_ident (const char *ident)
1461
+ {
1462
+ recording::output_ident *memento = new output_ident (this , ident);
1463
+ record (memento);
1464
+ }
1465
+
1459
1466
/* Set the given integer option for this context, or add an error if
1460
1467
it's not recognized.
1461
1468
@@ -2314,6 +2321,50 @@ recording::string::write_reproducer (reproducer &)
2314
2321
/* Empty. */
2315
2322
}
2316
2323
2324
+ /* The implementation of class gcc::jit::recording::output_ident. */
2325
+
2326
+ /* Constructor for gcc::jit::recording::output_ident, allocating a
2327
+ copy of the given text using new char[]. */
2328
+
2329
+ recording::output_ident::output_ident (context *ctxt, const char *ident)
2330
+ : memento (ctxt)
2331
+ {
2332
+ m_ident = ident ? xstrdup (ident) : NULL ;
2333
+ }
2334
+
2335
+ /* Destructor for gcc::jit::recording::output_ident. */
2336
+
2337
+ recording::output_ident::~output_ident ()
2338
+ {
2339
+ delete[] m_ident;
2340
+ }
2341
+
2342
+ /* Implementation of pure virtual hook recording::memento::replay_into
2343
+ for recording::output_ident. */
2344
+
2345
+ void
2346
+ recording::output_ident::replay_into (replayer *r)
2347
+ {
2348
+ r->set_output_ident (m_ident);
2349
+ }
2350
+
2351
+ /* Implementation of recording::memento::make_debug_string for output_ident. */
2352
+
2353
+ recording::string *
2354
+ recording::output_ident::make_debug_string ()
2355
+ {
2356
+ return m_ctxt->new_string (m_ident);
2357
+ }
2358
+
2359
+ /* Implementation of recording::memento::write_reproducer for output_ident. */
2360
+
2361
+ void
2362
+ recording::output_ident::write_reproducer (reproducer &)
2363
+ {
2364
+ /* TODO */
2365
+ }
2366
+
2367
+
2317
2368
/* The implementation of class gcc::jit::recording::location. */
2318
2369
2319
2370
/* Implementation of recording::memento::replay_into for locations.
0 commit comments