Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import clang.c.index;
- import std.string;
- extern (C) int printf(in char*, ...);
- immutable(char*)* strToCArray (string[] arr)
- {
- if (!arr)
- return null;
- immutable(char*)[] cArr;
- cArr.reserve(arr.length);
- foreach (str ; arr)
- cArr ~= str.toStringz;
- return cArr.ptr;
- }
- int main (string[] args)
- {
- CXIndex Index = clang_createIndex(0, 0);
- CXTranslationUnit TU = clang_parseTranslationUnit(Index, null, strToCArray(args), cast(uint) args.length, null, 0, CXTranslationUnit_Flags.CXTranslationUnit_None);
- for (uint I = 0, N = clang_getNumDiagnostics(TU); I != N; ++I)
- {
- CXDiagnostic Diag = clang_getDiagnostic(TU, I);
- CXString String = clang_formatDiagnostic(Diag, clang_defaultDiagnosticDisplayOptions());
- printf("%s\n", clang_getCString(String));
- clang_disposeString(String);
- }
- clang_disposeTranslationUnit(TU);
- clang_disposeIndex(Index);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement