implement altivec.h and a bunch of support code, patch by Anton Yartsev!

llvm-svn: 101215
diff --git a/clang/lib/Frontend/CompilerInvocation.cpp b/clang/lib/Frontend/CompilerInvocation.cpp
index d40f0bf..990371b 100644
--- a/clang/lib/Frontend/CompilerInvocation.cpp
+++ b/clang/lib/Frontend/CompilerInvocation.cpp
@@ -1278,6 +1278,10 @@
       Opts.Includes.push_back(it->getValue(Args));
   }
 
+  // Include 'altivec.h' if -faltivec option present
+  if (Args.hasArg(OPT_faltivec))
+    Opts.Includes.push_back("altivec.h");
+
   for (arg_iterator it = Args.filtered_begin(OPT_remap_file),
          ie = Args.filtered_end(); it != ie; ++it) {
     std::pair<llvm::StringRef,llvm::StringRef> Split =