[llvm-commits] [llvm] r80180 - /llvm/trunk/include/llvm/ADT/iterator.h.in

Bill Wendling wendling at apple.com
Wed Aug 26 20:23:12 PDT 2009


What in the world are you talking about?! <iterator.h> is used all  
over the place!!

-bw

On Aug 26, 2009, at 4:35 PM, Gabor Greif wrote:

> Author: ggreif
> Date: Wed Aug 26 18:35:33 2009
> New Revision: 80180
>
> URL: http://llvm.org/viewvc/llvm-project?rev=80180&view=rev
> Log:
> now that include/llvm/ADT/iterator.h.in is not attempted to be  
> built, its prerequisite can go away too
>
> Removed:
>    llvm/trunk/include/llvm/ADT/iterator.h.in
>
> Removed: llvm/trunk/include/llvm/ADT/iterator.h.in
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/ADT/iterator.h.in?rev=80179&view=auto
>
> = 
> = 
> = 
> = 
> = 
> = 
> = 
> = 
> ======================================================================
> --- llvm/trunk/include/llvm/ADT/iterator.h.in (original)
> +++ llvm/trunk/include/llvm/ADT/iterator.h.in (removed)
> @@ -1,76 +0,0 @@
> -//==-- llvm/ADT/iterator.h - Portable wrapper around <iterator> -- 
> *- C++ -*-==//
> -//
> -//                     The LLVM Compiler Infrastructure
> -//
> -// This file is distributed under the University of Illinois Open  
> Source
> -// License. See LICENSE.TXT for details.
> -//
> -// 
> = 
> = 
> = 
> ----------------------------------------------------------------------= 
> ==//
> -//
> -// This file provides a wrapper around the mysterious <iterator>  
> header file.
> -// In GCC 2.95.3, the file defines a bidirectional_iterator class  
> (and other
> -// friends), instead of the standard iterator class.  In GCC 3.1, the
> -// bidirectional_iterator class got moved out and the new,  
> standards compliant,
> -// iterator<> class was added.  Because there is nothing that we  
> can do to get
> -// correct behavior on both compilers, we have this header with  
> #ifdef's.  Gross
> -// huh?
> -//
> -// By #includ'ing this file, you get the contents of <iterator>  
> plus the
> -// following classes in the global namespace:
> -//
> -//   1. bidirectional_iterator
> -//   2. forward_iterator
> -//
> -// The #if directives' expressions are filled in by Autoconf.
> -//
> -// 
> = 
> = 
> = 
> ----------------------------------------------------------------------= 
> ==//
> -
> -#ifndef LLVM_ADT_ITERATOR_H
> -#define LLVM_ADT_ITERATOR_H
> -
> -#include <iterator>
> -
> -#undef HAVE_BI_ITERATOR
> -#undef HAVE_STD_ITERATOR
> -#undef HAVE_FWD_ITERATOR
> -
> -#ifdef _MSC_VER
> -#  define HAVE_BI_ITERATOR 0
> -#  define HAVE_STD_ITERATOR 1
> -#  define HAVE_FWD_ITERATOR 0
> -#endif
> -
> -#if !HAVE_BI_ITERATOR
> -# if HAVE_STD_ITERATOR
> -/// If the bidirectional iterator is not defined, we attempt to  
> define it in
> -/// terms of the C++ standard iterator. Otherwise, we import it  
> with a "using"
> -/// statement.
> -///
> -template<class Ty, class PtrDiffTy>
> -struct bidirectional_iterator
> -  : public std::iterator<std::bidirectional_iterator_tag, Ty,  
> PtrDiffTy> {
> -};
> -# else
> -#  error "Need to have standard iterator to define bidirectional  
> iterator!"
> -# endif
> -#else
> -using std::bidirectional_iterator;
> -#endif
> -
> -#if !HAVE_FWD_ITERATOR
> -# if HAVE_STD_ITERATOR
> -/// If the forward iterator is not defined, attempt to define it in  
> terms of
> -/// the C++ standard iterator. Otherwise, we import it with a  
> "using" statement.
> -///
> -template<class Ty, class PtrDiffTy>
> -struct forward_iterator
> -  : public std::iterator<std::forward_iterator_tag, Ty, PtrDiffTy> {
> -};
> -# else
> -#  error "Need to have standard iterator to define forward iterator!"
> -# endif
> -#else
> -using std::forward_iterator;
> -#endif
> -
> -#endif // LLVM_ADT_ITERATOR_H
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits




More information about the llvm-commits mailing list