<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <p>This got fixed in r351820.</p>
    <p>Thanks, Serge!<br>
    </p>
    <p>Axel.<br>
    </p>
    <div class="moz-cite-prefix">On 1/23/19 5:56 AM, Hubert Tong wrote:<br>
    </div>
    <blockquote type="cite"
cite="mid:CACvkUqbpu5Mb-hVR2fDbyZ3ESXFuih5FwqkNCqcGNOJ_N_N3Ew@mail.gmail.com">
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
      <div dir="ltr">
        <div>I am also hitting this. GCC 4.8 is still the minimum at
          this time.<br>
        </div>
        <div><br>
        </div>
        <div>-- HT<br>
        </div>
      </div>
      <br>
      <div class="gmail_quote">
        <div dir="ltr" class="gmail_attr">On Tue, Jan 22, 2019 at 8:10
          AM Axel Naumann via cfe-commits <<a
            href="mailto:cfe-commits@lists.llvm.org"
            moz-do-not-send="true">cfe-commits@lists.llvm.org</a>>
          wrote:<br>
        </div>
        <blockquote class="gmail_quote" style="margin:0px 0px 0px
          0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hi,<br>
          <br>
          This broke our clang builds with<br>
          <br>
          $ gcc --version<br>
          gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-36)<br>
          <br>
          on CentOS Linux release 7.6.1810 (Core),<br>
          <br>
          [ 23%] Building CXX object<br>
          tools/clang/lib/Basic/CMakeFiles/clangBasic.dir/Module.cpp.o<br>
          <br>
          In file included from include/llvm/ADT/StringMap.h:20:0,<br>
                           from include/llvm/Support/Host.h:16,<br>
                           from include/llvm/ADT/Hashing.h:48,<br>
                           from include/llvm/ADT/ArrayRef.h:12,<br>
                           from include/llvm/ADT/DenseMapInfo.h:16,<br>
                           from include/llvm/ADT/DenseMap.h:16,<br>
                           from
          tools/clang/include/clang/Basic/FileManager.h:19,<br>
                           from
          tools/clang/include/clang/Basic/Module.h:18,<br>
                           from tools/clang/lib/Basic/Module.cpp:14:<br>
          include/llvm/Support/PointerLikeTypeTraits.h: In instantiation
          of<br>
          ‘struct llvm::PointerLikeTypeTraits<clang::Module*>’:<br>
          /usr/include/c++/4.8.2/type_traits:1087:41:   required by
          substitution<br>
          of ‘template<class _Tp1, class _Up1> static decltype<br>
          (((declval<_Tp1>)()=(declval<_Up1>)(),
          std::__sfinae_types::__one()))<br>
          std::__is_assignable_helper<_Tp, _Up>::__test(int) [with
          _Tp1 = _Tp1;<br>
          _Up1 = _Up1; _Tp =<br>
llvm::detail::trivial_helper<llvm::PointerIntPair<clang::Module*,
          1u,<br>
          bool> >&; _Up = const<br>
llvm::detail::trivial_helper<llvm::PointerIntPair<clang::Module*,
          1u,<br>
          bool> >&] [with _Tp1 =<br>
llvm::detail::trivial_helper<llvm::PointerIntPair<clang::Module*,
          1u,<br>
          bool> >&; _Up1 = const<br>
llvm::detail::trivial_helper<llvm::PointerIntPair<clang::Module*,
          1u,<br>
          bool> >&]’<br>
          /usr/include/c++/4.8.2/type_traits:1094:50:   required from
          ‘constexpr<br>
          const bool<br>
std::__is_assignable_helper<llvm::detail::trivial_helper<llvm::PointerIntPair<clang::Module*,<br>
          1u, bool> >&, const<br>
llvm::detail::trivial_helper<llvm::PointerIntPair<clang::Module*,
          1u,<br>
          bool> >&>::value’<br>
          /usr/include/c++/4.8.2/type_traits:1099:12:   required from
          ‘struct<br>
std::is_assignable<llvm::detail::trivial_helper<llvm::PointerIntPair<clang::Module*,<br>
          1u, bool> >&, const<br>
llvm::detail::trivial_helper<llvm::PointerIntPair<clang::Module*,
          1u,<br>
          bool> >&>’<br>
          /usr/include/c++/4.8.2/type_traits:1112:12:   required from
          ‘struct<br>
std::__is_copy_assignable_impl<llvm::detail::trivial_helper<llvm::PointerIntPair<clang::Module*,<br>
          1u, bool> >, false>’<br>
          /usr/include/c++/4.8.2/type_traits:1118:12:   required from
          ‘struct<br>
std::is_copy_assignable<llvm::detail::trivial_helper<llvm::PointerIntPair<clang::Module*,<br>
          1u, bool> > >’<br>
          include/llvm/Support/type_traits.h:142:25:   required from
          ‘constexpr<br>
          const bool<br>
llvm::is_trivially_copyable<llvm::PointerIntPair<clang::Module*,
          1u,<br>
          bool> >::has_trivial_copy_assign’<br>
          include/llvm/Support/type_traits.h:163:32:   required from
          ‘constexpr<br>
          const bool<br>
llvm::is_trivially_copyable<llvm::PointerIntPair<clang::Module*,
          1u,<br>
          bool> >::value’<br>
          include/llvm/ADT/SmallVector.h:321:7:   required from ‘class<br>
llvm::SmallVectorImpl<llvm::PointerIntPair<clang::Module*, 1u,
          bool> >’<br>
          include/llvm/ADT/SmallVector.h:845:7:   required from ‘class<br>
          llvm::SmallVector<llvm::PointerIntPair<clang::Module*,
          1u, bool>, 2u>’<br>
          tools/clang/include/clang/Basic/Module.h:290:30:   required
          from here<br>
          include/llvm/Support/PointerLikeTypeTraits.h:59:8: error:
          invalid<br>
          application of ‘__alignof__’ to incomplete type
          ‘clang::Module’<br>
             enum { NumLowBitsAvailable =
          detail::ConstantLog2<alignof(T)>::value };<br>
                  ^<br>
          <br>
          FYI in case you wonder:<br>
          <br>
          $ ls -l /usr/include/c++/<br>
          total 8<br>
          drwxr-xr-x. 12 root root 4096 Dec 11 03:24 4.8.2<br>
          lrwxrwxrwx.  1 root root    5 Dec 11 03:24 4.8.5 -> 4.8.2<br>
          <br>
          <br>
          Are we outside the "allowed" range for GCC versions?<br>
          <br>
          Cheers, Axel.<br>
          <br>
          On 1/20/19 10:19 PM, Serge Guelton via cfe-commits wrote:<br>
          > Author: serge_sans_paille<br>
          > Date: Sun Jan 20 13:19:56 2019<br>
          > New Revision: 351701<br>
          > <br>
          > URL: <a
            href="http://llvm.org/viewvc/llvm-project?rev=351701&view=rev"
            rel="noreferrer" target="_blank" moz-do-not-send="true">http://llvm.org/viewvc/llvm-project?rev=351701&view=rev</a><br>
          > Log:<br>
          > Replace llvm::isPodLike<...>  by
          llvm::is_trivially_copyable<...><br>
          > <br>
          > As noted in <a
            href="https://bugs.llvm.org/show_bug.cgi?id=36651"
            rel="noreferrer" target="_blank" moz-do-not-send="true">https://bugs.llvm.org/show_bug.cgi?id=36651</a>,
          the specialization for<br>
          > isPodLike<std::pair<...>> did not match the
          expectation of<br>
          > std::is_trivially_copyable which makes the memcpy
          optimization invalid.<br>
          > <br>
          > This patch renames the llvm::isPodLike trait into
          llvm::is_trivially_copyable.<br>
          > Unfortunately std::is_trivially_copyable is not portable
          across compiler / STL<br>
          > versions. So a portable version is provided too.<br>
          > <br>
          > Note that the following specialization were invalid:<br>
          > <br>
          >     std::pair<T0, T1><br>
          >     llvm::Optional<T><br>
          > <br>
          > Tests have been added to assert that former
          specialization are respected by the<br>
          > standard usage of llvm::is_trivially_copyable, and that
          when a decent version<br>
          > of std::is_trivially_copyable is available,
          llvm::is_trivially_copyable is<br>
          > compared to std::is_trivially_copyable.<br>
          > <br>
          > As of this patch, llvm::Optional is no longer considered
          trivially copyable,<br>
          > even if T is. This is to be fixed in a later patch, as it
          has impact on a<br>
          > long-running bug (see r347004)<br>
          > <br>
          > Note that GCC warns about this UB, but this got silented
          by <a href="https://reviews.llvm.org/D50296" rel="noreferrer"
            target="_blank" moz-do-not-send="true">https://reviews.llvm.org/D50296</a>.<br>
          > <br>
          > Differential Revision: <a
            href="https://reviews.llvm.org/D54472" rel="noreferrer"
            target="_blank" moz-do-not-send="true">https://reviews.llvm.org/D54472</a><br>
          > <br>
          > <br>
          > Modified:<br>
          >     cfe/trunk/include/clang/AST/BaseSubobject.h<br>
          >     cfe/trunk/include/clang/AST/CharUnits.h<br>
          >     cfe/trunk/include/clang/AST/DeclAccessPair.h<br>
          >     cfe/trunk/include/clang/AST/DeclarationName.h<br>
          >     cfe/trunk/include/clang/AST/ExprObjC.h<br>
          >     cfe/trunk/include/clang/AST/GlobalDecl.h<br>
          >     cfe/trunk/include/clang/AST/Type.h<br>
          >     cfe/trunk/include/clang/Analysis/ProgramPoint.h<br>
          >     cfe/trunk/include/clang/Basic/IdentifierTable.h<br>
          >     cfe/trunk/include/clang/Basic/SourceLocation.h<br>
          >     cfe/trunk/include/clang/Lex/Token.h<br>
          >     cfe/trunk/include/clang/Sema/CodeCompleteConsumer.h<br>
          >     cfe/trunk/include/clang/Sema/Ownership.h<br>
          >   
           cfe/trunk/include/clang/StaticAnalyzer/Core/PathSensitive/SVals.h<br>
          >     cfe/trunk/lib/AST/VTableBuilder.cpp<br>
          >     cfe/trunk/lib/Sema/SemaChecking.cpp<br>
          >     cfe/trunk/lib/StaticAnalyzer/Core/RegionStore.cpp<br>
          >     cfe/trunk/test/Analysis/llvm-conventions.cpp<br>
          >     cfe/trunk/tools/libclang/Indexing.cpp<br>
          > <br>
          > Modified: cfe/trunk/include/clang/AST/BaseSubobject.h<br>
          > URL: <a
href="http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/AST/BaseSubobject.h?rev=351701&r1=351700&r2=351701&view=diff"
            rel="noreferrer" target="_blank" moz-do-not-send="true">http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/AST/BaseSubobject.h?rev=351701&r1=351700&r2=351701&view=diff</a><br>
          >
==============================================================================<br>
          > --- cfe/trunk/include/clang/AST/BaseSubobject.h
          (original)<br>
          > +++ cfe/trunk/include/clang/AST/BaseSubobject.h Sun Jan
          20 13:19:56 2019<br>
          > @@ -80,11 +80,6 @@ template<> struct
          DenseMapInfo<clang::Ba<br>
          >    }<br>
          >  };<br>
          >  <br>
          > -// It's OK to treat BaseSubobject as a POD type.<br>
          > -template <> struct
          isPodLike<clang::BaseSubobject> {<br>
          > -  static const bool value = true;<br>
          > -};<br>
          > -<br>
          >  } // namespace llvm<br>
          >  <br>
          >  #endif // LLVM_CLANG_AST_BASESUBOBJECT_H<br>
          > <br>
          > Modified: cfe/trunk/include/clang/AST/CharUnits.h<br>
          > URL: <a
href="http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/AST/CharUnits.h?rev=351701&r1=351700&r2=351701&view=diff"
            rel="noreferrer" target="_blank" moz-do-not-send="true">http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/AST/CharUnits.h?rev=351701&r1=351700&r2=351701&view=diff</a><br>
          >
==============================================================================<br>
          > --- cfe/trunk/include/clang/AST/CharUnits.h (original)<br>
          > +++ cfe/trunk/include/clang/AST/CharUnits.h Sun Jan 20
          13:19:56 2019<br>
          > @@ -237,10 +237,6 @@ template<> struct
          DenseMapInfo<clang::Ch<br>
          >    }<br>
          >  };<br>
          >  <br>
          > -template <> struct
          isPodLike<clang::CharUnits> {<br>
          > -  static const bool value = true;<br>
          > -};<br>
          > -<br>
          >  } // end namespace llvm<br>
          >  <br>
          >  #endif // LLVM_CLANG_AST_CHARUNITS_H<br>
          > <br>
          > Modified: cfe/trunk/include/clang/AST/DeclAccessPair.h<br>
          > URL: <a
href="http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/AST/DeclAccessPair.h?rev=351701&r1=351700&r2=351701&view=diff"
            rel="noreferrer" target="_blank" moz-do-not-send="true">http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/AST/DeclAccessPair.h?rev=351701&r1=351700&r2=351701&view=diff</a><br>
          >
==============================================================================<br>
          > --- cfe/trunk/include/clang/AST/DeclAccessPair.h
          (original)<br>
          > +++ cfe/trunk/include/clang/AST/DeclAccessPair.h Sun Jan
          20 13:19:56 2019<br>
          > @@ -60,12 +60,4 @@ public:<br>
          >  };<br>
          >  }<br>
          >  <br>
          > -// Take a moment to tell SmallVector that DeclAccessPair
          is POD.<br>
          > -namespace llvm {<br>
          > -template<typename> struct isPodLike;<br>
          > -template<> struct
          isPodLike<clang::DeclAccessPair> {<br>
          > -   static const bool value = true;<br>
          > -};<br>
          > -}<br>
          > -<br>
          >  #endif<br>
          > <br>
          > Modified: cfe/trunk/include/clang/AST/DeclarationName.h<br>
          > URL: <a
href="http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/AST/DeclarationName.h?rev=351701&r1=351700&r2=351701&view=diff"
            rel="noreferrer" target="_blank" moz-do-not-send="true">http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/AST/DeclarationName.h?rev=351701&r1=351700&r2=351701&view=diff</a><br>
          >
==============================================================================<br>
          > --- cfe/trunk/include/clang/AST/DeclarationName.h
          (original)<br>
          > +++ cfe/trunk/include/clang/AST/DeclarationName.h Sun Jan
          20 13:19:56 2019<br>
          > @@ -861,9 +861,6 @@ struct
          DenseMapInfo<clang::DeclarationNa<br>
          >    }<br>
          >  };<br>
          >  <br>
          > -template <><br>
          > -struct isPodLike<clang::DeclarationName> { static
          const bool value = true; };<br>
          > -<br>
          >  } // namespace llvm<br>
          >  <br>
          >  #endif // LLVM_CLANG_AST_DECLARATIONNAME_H<br>
          > <br>
          > Modified: cfe/trunk/include/clang/AST/ExprObjC.h<br>
          > URL: <a
href="http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/AST/ExprObjC.h?rev=351701&r1=351700&r2=351701&view=diff"
            rel="noreferrer" target="_blank" moz-do-not-send="true">http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/AST/ExprObjC.h?rev=351701&r1=351700&r2=351701&view=diff</a><br>
          >
==============================================================================<br>
          > --- cfe/trunk/include/clang/AST/ExprObjC.h (original)<br>
          > +++ cfe/trunk/include/clang/AST/ExprObjC.h Sun Jan 20
          13:19:56 2019<br>
          > @@ -255,12 +255,6 @@ struct ObjCDictionaryElement {<br>
          >  <br>
          >  } // namespace clang<br>
          >  <br>
          > -namespace llvm {<br>
          > -<br>
          > -template <> struct
          isPodLike<clang::ObjCDictionaryElement> : std::true_type
          {};<br>
          > -<br>
          > -} // namespace llvm<br>
          > -<br>
          >  namespace clang {<br>
          >  <br>
          >  /// Internal struct for storing Key/value pair.<br>
          > <br>
          > Modified: cfe/trunk/include/clang/AST/GlobalDecl.h<br>
          > URL: <a
href="http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/AST/GlobalDecl.h?rev=351701&r1=351700&r2=351701&view=diff"
            rel="noreferrer" target="_blank" moz-do-not-send="true">http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/AST/GlobalDecl.h?rev=351701&r1=351700&r2=351701&view=diff</a><br>
          >
==============================================================================<br>
          > --- cfe/trunk/include/clang/AST/GlobalDecl.h (original)<br>
          > +++ cfe/trunk/include/clang/AST/GlobalDecl.h Sun Jan 20
          13:19:56 2019<br>
          > @@ -139,13 +139,6 @@ namespace llvm {<br>
          >      }<br>
          >    };<br>
          >  <br>
          > -  // GlobalDecl isn't *technically* a POD type. However,
          its copy constructor,<br>
          > -  // copy assignment operator, and destructor are all
          trivial.<br>
          > -  template <><br>
          > -  struct isPodLike<clang::GlobalDecl> {<br>
          > -    static const bool value = true;<br>
          > -  };<br>
          > -<br>
          >  } // namespace llvm<br>
          >  <br>
          >  #endif // LLVM_CLANG_AST_GLOBALDECL_H<br>
          > <br>
          > Modified: cfe/trunk/include/clang/AST/Type.h<br>
          > URL: <a
href="http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/AST/Type.h?rev=351701&r1=351700&r2=351701&view=diff"
            rel="noreferrer" target="_blank" moz-do-not-send="true">http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/AST/Type.h?rev=351701&r1=351700&r2=351701&view=diff</a><br>
          >
==============================================================================<br>
          > --- cfe/trunk/include/clang/AST/Type.h (original)<br>
          > +++ cfe/trunk/include/clang/AST/Type.h Sun Jan 20
          13:19:56 2019<br>
          > @@ -94,9 +94,6 @@ namespace llvm {<br>
          >      enum { NumLowBitsAvailable =
          clang::TypeAlignmentInBits };<br>
          >    };<br>
          >  <br>
          > -  template <><br>
          > -  struct isPodLike<clang::QualType> { static const
          bool value = true; };<br>
          > -<br>
          >  } // namespace llvm<br>
          >  <br>
          >  namespace clang {<br>
          > <br>
          > Modified: cfe/trunk/include/clang/Analysis/ProgramPoint.h<br>
          > URL: <a
href="http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Analysis/ProgramPoint.h?rev=351701&r1=351700&r2=351701&view=diff"
            rel="noreferrer" target="_blank" moz-do-not-send="true">http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Analysis/ProgramPoint.h?rev=351701&r1=351700&r2=351701&view=diff</a><br>
          >
==============================================================================<br>
          > --- cfe/trunk/include/clang/Analysis/ProgramPoint.h
          (original)<br>
          > +++ cfe/trunk/include/clang/Analysis/ProgramPoint.h Sun
          Jan 20 13:19:56 2019<br>
          > @@ -777,9 +777,6 @@ static bool isEqual(const
          clang::Program<br>
          >  <br>
          >  };<br>
          >  <br>
          > -template <><br>
          > -struct isPodLike<clang::ProgramPoint> { static
          const bool value = true; };<br>
          > -<br>
          >  } // end namespace llvm<br>
          >  <br>
          >  #endif<br>
          > <br>
          > Modified: cfe/trunk/include/clang/Basic/IdentifierTable.h<br>
          > URL: <a
href="http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/IdentifierTable.h?rev=351701&r1=351700&r2=351701&view=diff"
            rel="noreferrer" target="_blank" moz-do-not-send="true">http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/IdentifierTable.h?rev=351701&r1=351700&r2=351701&view=diff</a><br>
          >
==============================================================================<br>
          > --- cfe/trunk/include/clang/Basic/IdentifierTable.h
          (original)<br>
          > +++ cfe/trunk/include/clang/Basic/IdentifierTable.h Sun
          Jan 20 13:19:56 2019<br>
          > @@ -938,9 +938,6 @@ struct
          DenseMapInfo<clang::Selector> {<br>
          >    }<br>
          >  };<br>
          >  <br>
          > -template <><br>
          > -struct isPodLike<clang::Selector> { static const
          bool value = true; };<br>
          > -<br>
          >  template<><br>
          >  struct PointerLikeTypeTraits<clang::Selector> {<br>
          >    static const void *getAsVoidPointer(clang::Selector P)
          {<br>
          > <br>
          > Modified: cfe/trunk/include/clang/Basic/SourceLocation.h<br>
          > URL: <a
href="http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/SourceLocation.h?rev=351701&r1=351700&r2=351701&view=diff"
            rel="noreferrer" target="_blank" moz-do-not-send="true">http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/SourceLocation.h?rev=351701&r1=351700&r2=351701&view=diff</a><br>
          >
==============================================================================<br>
          > --- cfe/trunk/include/clang/Basic/SourceLocation.h
          (original)<br>
          > +++ cfe/trunk/include/clang/Basic/SourceLocation.h Sun
          Jan 20 13:19:56 2019<br>
          > @@ -25,7 +25,6 @@<br>
          >  namespace llvm {<br>
          >  <br>
          >  template <typename T> struct DenseMapInfo;<br>
          > -template <typename T> struct isPodLike;<br>
          >  <br>
          >  } // namespace llvm<br>
          >  <br>
          > @@ -457,11 +456,6 @@ namespace llvm {<br>
          >      }<br>
          >    };<br>
          >  <br>
          > -  template <><br>
          > -  struct isPodLike<clang::SourceLocation> { static
          const bool value = true; };<br>
          > -  template <><br>
          > -  struct isPodLike<clang::FileID> { static const
          bool value = true; };<br>
          > -<br>
          >    // Teach SmallPtrSet how to handle SourceLocation.<br>
          >    template<><br>
          >    struct
          PointerLikeTypeTraits<clang::SourceLocation> {<br>
          > <br>
          > Modified: cfe/trunk/include/clang/Lex/Token.h<br>
          > URL: <a
href="http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Lex/Token.h?rev=351701&r1=351700&r2=351701&view=diff"
            rel="noreferrer" target="_blank" moz-do-not-send="true">http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Lex/Token.h?rev=351701&r1=351700&r2=351701&view=diff</a><br>
          >
==============================================================================<br>
          > --- cfe/trunk/include/clang/Lex/Token.h (original)<br>
          > +++ cfe/trunk/include/clang/Lex/Token.h Sun Jan 20
          13:19:56 2019<br>
          > @@ -328,9 +328,4 @@ struct PPConditionalInfo {<br>
          >  <br>
          >  } // end namespace clang<br>
          >  <br>
          > -namespace llvm {<br>
          > -  template <><br>
          > -  struct isPodLike<clang::Token> { static const
          bool value = true; };<br>
          > -} // end namespace llvm<br>
          > -<br>
          >  #endif // LLVM_CLANG_LEX_TOKEN_H<br>
          > <br>
          > Modified:
          cfe/trunk/include/clang/Sema/CodeCompleteConsumer.h<br>
          > URL: <a
href="http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Sema/CodeCompleteConsumer.h?rev=351701&r1=351700&r2=351701&view=diff"
            rel="noreferrer" target="_blank" moz-do-not-send="true">http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Sema/CodeCompleteConsumer.h?rev=351701&r1=351700&r2=351701&view=diff</a><br>
          >
==============================================================================<br>
          > --- cfe/trunk/include/clang/Sema/CodeCompleteConsumer.h
          (original)<br>
          > +++ cfe/trunk/include/clang/Sema/CodeCompleteConsumer.h
          Sun Jan 20 13:19:56 2019<br>
          > @@ -655,14 +655,6 @@ public:<br>
          >  <br>
          >  } // namespace clang<br>
          >  <br>
          > -namespace llvm {<br>
          > -<br>
          > -template <> struct
          isPodLike<clang::CodeCompletionString::Chunk> {<br>
          > -  static const bool value = true;<br>
          > -};<br>
          > -<br>
          > -} // namespace llvm<br>
          > -<br>
          >  namespace clang {<br>
          >  <br>
          >  /// A builder class used to construct new
          code-completion strings.<br>
          > <br>
          > Modified: cfe/trunk/include/clang/Sema/Ownership.h<br>
          > URL: <a
href="http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Sema/Ownership.h?rev=351701&r1=351700&r2=351701&view=diff"
            rel="noreferrer" target="_blank" moz-do-not-send="true">http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Sema/Ownership.h?rev=351701&r1=351700&r2=351701&view=diff</a><br>
          >
==============================================================================<br>
          > --- cfe/trunk/include/clang/Sema/Ownership.h (original)<br>
          > +++ cfe/trunk/include/clang/Sema/Ownership.h Sun Jan 20
          13:19:56 2019<br>
          > @@ -128,9 +128,6 @@ namespace llvm {<br>
          >      }<br>
          >    };<br>
          >  <br>
          > -  template <class T><br>
          > -  struct isPodLike<clang::OpaquePtr<T>> {
          static const bool value = true; };<br>
          > -<br>
          >  } // namespace llvm<br>
          >  <br>
          >  namespace clang {<br>
          > <br>
          > Modified:
          cfe/trunk/include/clang/StaticAnalyzer/Core/PathSensitive/SVals.h<br>
          > URL: <a
href="http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/StaticAnalyzer/Core/PathSensitive/SVals.h?rev=351701&r1=351700&r2=351701&view=diff"
            rel="noreferrer" target="_blank" moz-do-not-send="true">http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/StaticAnalyzer/Core/PathSensitive/SVals.h?rev=351701&r1=351700&r2=351701&view=diff</a><br>
          >
==============================================================================<br>
          > ---
          cfe/trunk/include/clang/StaticAnalyzer/Core/PathSensitive/SVals.h
          (original)<br>
          > +++
          cfe/trunk/include/clang/StaticAnalyzer/Core/PathSensitive/SVals.h
          Sun Jan 20 13:19:56 2019<br>
          > @@ -667,13 +667,4 @@ private:<br>
          >  <br>
          >  } // namespace clang<br>
          >  <br>
          > -namespace llvm {<br>
          > -<br>
          > -template <typename T> struct isPodLike;<br>
          > -template <> struct
          isPodLike<clang::ento::SVal> {<br>
          > -  static const bool value = true;<br>
          > -};<br>
          > -<br>
          > -} // namespace llvm<br>
          > -<br>
          >  #endif //
          LLVM_CLANG_STATICANALYZER_CORE_PATHSENSITIVE_SVALS_H<br>
          > <br>
          > Modified: cfe/trunk/lib/AST/VTableBuilder.cpp<br>
          > URL: <a
href="http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/AST/VTableBuilder.cpp?rev=351701&r1=351700&r2=351701&view=diff"
            rel="noreferrer" target="_blank" moz-do-not-send="true">http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/AST/VTableBuilder.cpp?rev=351701&r1=351700&r2=351701&view=diff</a><br>
          >
==============================================================================<br>
          > --- cfe/trunk/lib/AST/VTableBuilder.cpp (original)<br>
          > +++ cfe/trunk/lib/AST/VTableBuilder.cpp Sun Jan 20
          13:19:56 2019<br>
          > @@ -846,6 +846,8 @@ private:<br>
          >        : BaseOffset(CharUnits::Zero()),<br>
          >        BaseOffsetInLayoutClass(CharUnits::Zero()),<br>
          >        VTableIndex(0) { }<br>
          > +<br>
          > +    MethodInfo(MethodInfo const&) = default;<br>
          >    };<br>
          >  <br>
          >    typedef llvm::DenseMap<const CXXMethodDecl *,
          MethodInfo> MethodInfoMapTy;<br>
          > <br>
          > Modified: cfe/trunk/lib/Sema/SemaChecking.cpp<br>
          > URL: <a
href="http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Sema/SemaChecking.cpp?rev=351701&r1=351700&r2=351701&view=diff"
            rel="noreferrer" target="_blank" moz-do-not-send="true">http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Sema/SemaChecking.cpp?rev=351701&r1=351700&r2=351701&view=diff</a><br>
          >
==============================================================================<br>
          > --- cfe/trunk/lib/Sema/SemaChecking.cpp (original)<br>
          > +++ cfe/trunk/lib/Sema/SemaChecking.cpp Sun Jan 20
          13:19:56 2019<br>
          > @@ -11662,12 +11662,12 @@ class SequenceChecker : public
          Evaluated<br>
          >      class Seq {<br>
          >        friend class SequenceTree;<br>
          >  <br>
          > -      unsigned Index = 0;<br>
          > +      unsigned Index;<br>
          >  <br>
          >        explicit Seq(unsigned N) : Index(N) {}<br>
          >  <br>
          >      public:<br>
          > -      Seq() = default;<br>
          > +      Seq() : Index(0) {}<br>
          >      };<br>
          >  <br>
          >      SequenceTree() { Values.push_back(Value(0)); }<br>
          > <br>
          > Modified:
          cfe/trunk/lib/StaticAnalyzer/Core/RegionStore.cpp<br>
          > URL: <a
href="http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/StaticAnalyzer/Core/RegionStore.cpp?rev=351701&r1=351700&r2=351701&view=diff"
            rel="noreferrer" target="_blank" moz-do-not-send="true">http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/StaticAnalyzer/Core/RegionStore.cpp?rev=351701&r1=351700&r2=351701&view=diff</a><br>
          >
==============================================================================<br>
          > --- cfe/trunk/lib/StaticAnalyzer/Core/RegionStore.cpp
          (original)<br>
          > +++ cfe/trunk/lib/StaticAnalyzer/Core/RegionStore.cpp Sun
          Jan 20 13:19:56 2019<br>
          > @@ -130,10 +130,6 @@ namespace llvm {<br>
          >      return os;<br>
          >    }<br>
          >  <br>
          > -  template <typename T> struct isPodLike;<br>
          > -  template <> struct isPodLike<BindingKey> {<br>
          > -    static const bool value = true;<br>
          > -  };<br>
          >  } // end llvm namespace<br>
          >  <br>
          >  #ifndef NDEBUG<br>
          > <br>
          > Modified: cfe/trunk/test/Analysis/llvm-conventions.cpp<br>
          > URL: <a
href="http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Analysis/llvm-conventions.cpp?rev=351701&r1=351700&r2=351701&view=diff"
            rel="noreferrer" target="_blank" moz-do-not-send="true">http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Analysis/llvm-conventions.cpp?rev=351701&r1=351700&r2=351701&view=diff</a><br>
          >
==============================================================================<br>
          > --- cfe/trunk/test/Analysis/llvm-conventions.cpp
          (original)<br>
          > +++ cfe/trunk/test/Analysis/llvm-conventions.cpp Sun Jan
          20 13:19:56 2019<br>
          > @@ -152,8 +152,6 @@ inline bool operator>(StringRef
          LHS, Str<br>
          >  inline bool operator>=(StringRef LHS, StringRef RHS);<br>
          >  inline std::string &operator+=(std::string
          &buffer, StringRef string);<br>
          >  hash_code hash_value(StringRef S);<br>
          > -template <typename T> struct isPodLike;<br>
          > -template <> struct isPodLike<StringRef> {
          static const bool value = true; };<br>
          >  <br>
          >  } // end of namespace llvm<br>
          >  <br>
          > <br>
          > Modified: cfe/trunk/tools/libclang/Indexing.cpp<br>
          > URL: <a
href="http://llvm.org/viewvc/llvm-project/cfe/trunk/tools/libclang/Indexing.cpp?rev=351701&r1=351700&r2=351701&view=diff"
            rel="noreferrer" target="_blank" moz-do-not-send="true">http://llvm.org/viewvc/llvm-project/cfe/trunk/tools/libclang/Indexing.cpp?rev=351701&r1=351700&r2=351701&view=diff</a><br>
          >
==============================================================================<br>
          > --- cfe/trunk/tools/libclang/Indexing.cpp (original)<br>
          > +++ cfe/trunk/tools/libclang/Indexing.cpp Sun Jan 20
          13:19:56 2019<br>
          > @@ -93,9 +93,6 @@ typedef llvm::DenseSet<PPRegion>
          PPRegio<br>
          >  } // end anonymous namespace<br>
          >  <br>
          >  namespace llvm {<br>
          > -  template <> struct isPodLike<PPRegion> {<br>
          > -    static const bool value = true;<br>
          > -  };<br>
          >  <br>
          >    template <><br>
          >    struct DenseMapInfo<PPRegion> {<br>
          > <br>
          > <br>
          > _______________________________________________<br>
          > cfe-commits mailing list<br>
          > <a href="mailto:cfe-commits@lists.llvm.org"
            target="_blank" moz-do-not-send="true">cfe-commits@lists.llvm.org</a><br>
          > <a
            href="http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits"
            rel="noreferrer" target="_blank" moz-do-not-send="true">http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits</a><br>
          > <br>
          <br>
          -- <br>
          ROOT <a href="https://root.cern" rel="noreferrer"
            target="_blank" moz-do-not-send="true">https://root.cern</a><br>
          CERN EP-SFT, 1211 Geneva 23, Switzerland<br>
          Phone: +41227678225<br>
          <br>
          _______________________________________________<br>
          cfe-commits mailing list<br>
          <a href="mailto:cfe-commits@lists.llvm.org" target="_blank"
            moz-do-not-send="true">cfe-commits@lists.llvm.org</a><br>
          <a
            href="http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits"
            rel="noreferrer" target="_blank" moz-do-not-send="true">http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits</a><br>
        </blockquote>
      </div>
    </blockquote>
    <pre class="moz-signature" cols="72">-- 
ROOT <a class="moz-txt-link-freetext" href="https://root.cern">https://root.cern</a>
CERN EP-SFT, 1211 Geneva 23, Switzerland
Phone: +41227678225
</pre>
  </body>
</html>