@@ -859,13 +859,22 @@ extern "C" {
859
859
typedef struct CXOpaqueDependencyScannerServiceOptions
860
860
*CXDependencyScannerServiceOptions;
861
861
862
+ typedef struct CXOpaqueDependencyScannerReproducerOptions
863
+ *CXDependencyScannerReproducerOptions;
864
+
865
+ CXDependencyScannerReproducerOptions
866
+ (*clang_experimental_DependencyScannerReproducerOptions_create)(
867
+ int argc, const char *const *argv, const char *ModuleName, const char *WorkingDirectory,
868
+ const char *ReproducerLocation, bool UseUniqueReproducerName);
869
+
870
+ void (*clang_experimental_DependencyScannerReproducerOptions_dispose)(CXDependencyScannerReproducerOptions);
871
+
862
872
/* *
863
873
* Generate a self-contained reproducer in a specified location to re-run the compilation.
864
874
*/
865
875
enum CXErrorCode
866
876
(*clang_experimental_DependencyScanner_generateReproducer)(
867
- int argc, const char *const *argv, const char *WorkingDirectory,
868
- const char *ReproducerLocation, bool UseUniqueReproducerName,
877
+ CXDependencyScannerReproducerOptions options,
869
878
CXString *messageOut);
870
879
871
880
/* *
@@ -1433,6 +1442,8 @@ struct LibclangWrapper {
1433
1442
LOOKUP_OPTIONAL (clang_experimental_cas_ReplayResult_dispose);
1434
1443
LOOKUP_OPTIONAL (clang_experimental_cas_ReplayResult_getStderr);
1435
1444
LOOKUP_OPTIONAL (clang_experimental_DependencyScanner_generateReproducer);
1445
+ LOOKUP_OPTIONAL (clang_experimental_DependencyScannerReproducerOptions_create);
1446
+ LOOKUP_OPTIONAL (clang_experimental_DependencyScannerReproducerOptions_dispose);
1436
1447
LOOKUP_OPTIONAL (clang_experimental_DependencyScannerServiceOptions_create);
1437
1448
LOOKUP_OPTIONAL (clang_experimental_DependencyScannerServiceOptions_dispose);
1438
1449
LOOKUP_OPTIONAL (clang_experimental_DependencyScannerServiceOptions_setDependencyMode);
@@ -2179,9 +2190,11 @@ extern "C" {
2179
2190
const char **message) {
2180
2191
auto lib = scanner->scanner ->lib ;
2181
2192
LibclangFunctions::CXString messageString;
2193
+ auto reproducerOpts = lib->fns .clang_experimental_DependencyScannerReproducerOptions_create (
2194
+ argc, argv, /* ModuleName=*/ nullptr , workingDirectory, /* ReproducerLocation=*/ nullptr , /* UseUniqueReproducerName=*/ true );
2182
2195
auto result = lib->fns .clang_experimental_DependencyScanner_generateReproducer (
2183
- argc, const_cast < const char **>(argv), workingDirectory,
2184
- /* ReproducerLocation= */ NULL , /* UseUniqueReproducerName= */ true , &messageString );
2196
+ reproducerOpts, &messageString);
2197
+ lib-> fns . clang_experimental_DependencyScannerReproducerOptions_dispose (reproducerOpts );
2185
2198
if (message) {
2186
2199
*message = strdup_safe (lib->fns .clang_getCString (messageString));
2187
2200
}
0 commit comments