Skip to content

Commit f2d6637

Browse files
committed
Update to use the committed API in libclang.dylib.
1 parent 69bbb71 commit f2d6637

File tree

1 file changed

+17
-4
lines changed

1 file changed

+17
-4
lines changed

Sources/SWBCSupport/CLibclang.cpp

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -859,13 +859,22 @@ extern "C" {
859859
typedef struct CXOpaqueDependencyScannerServiceOptions
860860
*CXDependencyScannerServiceOptions;
861861

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+
862872
/**
863873
* Generate a self-contained reproducer in a specified location to re-run the compilation.
864874
*/
865875
enum CXErrorCode
866876
(*clang_experimental_DependencyScanner_generateReproducer)(
867-
int argc, const char *const *argv, const char *WorkingDirectory,
868-
const char *ReproducerLocation, bool UseUniqueReproducerName,
877+
CXDependencyScannerReproducerOptions options,
869878
CXString *messageOut);
870879

871880
/**
@@ -1433,6 +1442,8 @@ struct LibclangWrapper {
14331442
LOOKUP_OPTIONAL(clang_experimental_cas_ReplayResult_dispose);
14341443
LOOKUP_OPTIONAL(clang_experimental_cas_ReplayResult_getStderr);
14351444
LOOKUP_OPTIONAL(clang_experimental_DependencyScanner_generateReproducer);
1445+
LOOKUP_OPTIONAL(clang_experimental_DependencyScannerReproducerOptions_create);
1446+
LOOKUP_OPTIONAL(clang_experimental_DependencyScannerReproducerOptions_dispose);
14361447
LOOKUP_OPTIONAL(clang_experimental_DependencyScannerServiceOptions_create);
14371448
LOOKUP_OPTIONAL(clang_experimental_DependencyScannerServiceOptions_dispose);
14381449
LOOKUP_OPTIONAL(clang_experimental_DependencyScannerServiceOptions_setDependencyMode);
@@ -2179,9 +2190,11 @@ extern "C" {
21792190
const char **message) {
21802191
auto lib = scanner->scanner->lib;
21812192
LibclangFunctions::CXString messageString;
2193+
auto reproducerOpts = lib->fns.clang_experimental_DependencyScannerReproducerOptions_create(
2194+
argc, argv, /*ModuleName=*/nullptr, workingDirectory, /*ReproducerLocation=*/nullptr, /*UseUniqueReproducerName=*/true);
21822195
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);
21852198
if (message) {
21862199
*message = strdup_safe(lib->fns.clang_getCString(messageString));
21872200
}

0 commit comments

Comments
 (0)