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