1 //===--- Util.h - Common Driver Utilities -----------------------*- C++ -*-===// 2 // 3 // The LLVM Compiler Infrastructure 4 // 5 // This file is distributed under the University of Illinois Open Source 6 // License. See LICENSE.TXT for details. 7 // 8 //===----------------------------------------------------------------------===// 9 10 #ifndef CLANG_DRIVER_UTIL_H_ 11 #define CLANG_DRIVER_UTIL_H_ 12 13 #include "clang/Basic/LLVM.h" 14 #include "llvm/ADT/DenseMap.h" 15 16 namespace clang { 17 namespace driver { 18 class Action; 19 class JobAction; 20 21 /// ArgStringList - Type used for constructing argv lists for subprocesses. 22 typedef SmallVector<const char*, 16> ArgStringList; 23 24 /// ArgStringMap - Type used to map a JobAction to its result file. 25 typedef llvm::DenseMap<const JobAction*, const char*> ArgStringMap; 26 27 /// ActionList - Type used for lists of actions. 28 typedef SmallVector<Action*, 3> ActionList; 29 30 } // end namespace driver 31 } // end namespace clang 32 33 #endif 34