xref: /llvm-project/polly/lib/External/isl/interface/set_lang_defaults_arg4.h (revision 3f9bf9f42a9043e20c6d2a74dd4f47a90a7e2b41)
1 #include <string>
2 #include <vector>
3 
4 #include <clang/Lex/PreprocessorOptions.h>
5 
6 /* Convert a clang::PreprocessorOptions to the fourth argument
7  * of CompilerInvocation::setLangDefaults, which may be either
8  * a clang::PreprocessorOptions itself or its Includes.
9  */
10 struct setLangDefaultsArg4 {
setLangDefaultsArg4setLangDefaultsArg411 	setLangDefaultsArg4(clang::PreprocessorOptions &PO) : PO(PO) {}
12 	operator clang::PreprocessorOptions &() { return PO; }
13 	operator std::vector<std::string> &() { return PO.Includes; }
14 
15 	clang::PreprocessorOptions &PO;
16 };
17