19b414d3e2d0cb84512b55a3275a98490b090162aDaniel Dunbar//===--- Rewriters.h - Rewriter implementations -------------*- C++ -*-===// 29b414d3e2d0cb84512b55a3275a98490b090162aDaniel Dunbar// 39b414d3e2d0cb84512b55a3275a98490b090162aDaniel Dunbar// The LLVM Compiler Infrastructure 49b414d3e2d0cb84512b55a3275a98490b090162aDaniel Dunbar// 59b414d3e2d0cb84512b55a3275a98490b090162aDaniel Dunbar// This file is distributed under the University of Illinois Open Source 69b414d3e2d0cb84512b55a3275a98490b090162aDaniel Dunbar// License. See LICENSE.TXT for details. 79b414d3e2d0cb84512b55a3275a98490b090162aDaniel Dunbar// 89b414d3e2d0cb84512b55a3275a98490b090162aDaniel Dunbar//===----------------------------------------------------------------------===// 99b414d3e2d0cb84512b55a3275a98490b090162aDaniel Dunbar// 109b414d3e2d0cb84512b55a3275a98490b090162aDaniel Dunbar// This header contains miscellaneous utilities for various front-end actions. 119b414d3e2d0cb84512b55a3275a98490b090162aDaniel Dunbar// 129b414d3e2d0cb84512b55a3275a98490b090162aDaniel Dunbar//===----------------------------------------------------------------------===// 139b414d3e2d0cb84512b55a3275a98490b090162aDaniel Dunbar 149b414d3e2d0cb84512b55a3275a98490b090162aDaniel Dunbar#ifndef LLVM_CLANG_REWRITE_REWRITERS_H 159b414d3e2d0cb84512b55a3275a98490b090162aDaniel Dunbar#define LLVM_CLANG_REWRITE_REWRITERS_H 169b414d3e2d0cb84512b55a3275a98490b090162aDaniel Dunbar 178cc488fefb2fb04bc8d5398da29f0182f97934cfChris Lattner#include "clang/Basic/LLVM.h" 189b414d3e2d0cb84512b55a3275a98490b090162aDaniel Dunbar 199b414d3e2d0cb84512b55a3275a98490b090162aDaniel Dunbarnamespace clang { 209b414d3e2d0cb84512b55a3275a98490b090162aDaniel Dunbarclass Preprocessor; 218c0b3787e7ccc7978b42dfbb84da2b802c743a5dDavid Blaikieclass PreprocessorOutputOptions; 229b414d3e2d0cb84512b55a3275a98490b090162aDaniel Dunbar 239b414d3e2d0cb84512b55a3275a98490b090162aDaniel Dunbar/// RewriteMacrosInInput - Implement -rewrite-macros mode. 248cc488fefb2fb04bc8d5398da29f0182f97934cfChris Lattnervoid RewriteMacrosInInput(Preprocessor &PP, raw_ostream *OS); 259b414d3e2d0cb84512b55a3275a98490b090162aDaniel Dunbar 269b414d3e2d0cb84512b55a3275a98490b090162aDaniel Dunbar/// DoRewriteTest - A simple test for the TokenRewriter class. 278cc488fefb2fb04bc8d5398da29f0182f97934cfChris Lattnervoid DoRewriteTest(Preprocessor &PP, raw_ostream *OS); 289b414d3e2d0cb84512b55a3275a98490b090162aDaniel Dunbar 2960ad16b7e24cdb88c577c107b69da85458000858David Blaikie/// RewriteIncludesInInput - Implement -frewrite-includes mode. 308c0b3787e7ccc7978b42dfbb84da2b802c743a5dDavid Blaikievoid RewriteIncludesInInput(Preprocessor &PP, raw_ostream *OS, 318c0b3787e7ccc7978b42dfbb84da2b802c743a5dDavid Blaikie const PreprocessorOutputOptions &Opts); 328c0b3787e7ccc7978b42dfbb84da2b802c743a5dDavid Blaikie 339b414d3e2d0cb84512b55a3275a98490b090162aDaniel Dunbar} // end namespace clang 349b414d3e2d0cb84512b55a3275a98490b090162aDaniel Dunbar 359b414d3e2d0cb84512b55a3275a98490b090162aDaniel Dunbar#endif 36