Skip to content
  1. Dec 12, 2012
  2. Dec 11, 2012
  3. Dec 10, 2012
  4. Dec 09, 2012
  5. Dec 08, 2012
    • Benjamin Kramer's avatar
      Escape % in the TextDiagnosticBuffer so they aren't interpreted twice when fed... · 2fec65d3
      Benjamin Kramer authored
      Escape % in the TextDiagnosticBuffer so they aren't interpreted twice when fed into the diagnostic formatting machinery again.
      
      Fixes PR14543.
      
      llvm-svn: 169677
      2fec65d3
    • David Chisnall's avatar
      long double should be 64 bits on FreeBSD/MIPS64. It possibly should be on · a87d8599
      David Chisnall authored
      Linux too, as I think we inherited it from there.  The ABI spec says 128-bit,
      although I think SGI's compiler on IRIX may be the only thing ever to support
      this.
      
      llvm-svn: 169674
      a87d8599
    • Richard Smith's avatar
      Finish implementing 'selected constructor' rules for triviality in C++11. In · 6b02d46d
      Richard Smith authored
      the cases where we can't determine whether special members would be trivial
      while building the class, we eagerly declare those special members. The impact
      of this is bounded, since it does not trigger implicit declarations of special
      members in classes which merely *use* those classes.
      
      In order to determine whether we need to apply this rule, we also need to
      eagerly declare move operations and destructors in cases where they might be
      deleted. If a move operation were supposed to be deleted, it would instead
      be suppressed, and we could need overload resolution to determine if we fall
      back to a trivial copy operation. If a destructor were implicitly deleted,
      it would cause the move constructor of any derived classes to be suppressed.
      
      As discussed on cxx-abi-dev, C++11's selected constructor rules are also
      retroactively applied as a defect resolution in C++03 mode, in order to
      identify that class B has a non-trivial copy constructor (since it calls
      A's constructor template, not A's copy constructor):
      
      struct A { template<typename T> A(T &); };
      struct B { mutable A a; };
      
      llvm-svn: 169673
      6b02d46d
    • Richard Smith's avatar
      Remove some remnants of the assumption that there is at most one of each · 1a2532b3
      Richard Smith authored
      flavour of special member.
      
      llvm-svn: 169670
      1a2532b3
    • DeLesley Hutchins's avatar
      0cfa1a5a
    • Richard Smith's avatar
      Properly compute triviality for explicitly-defaulted or deleted special members. · 92f241f1
      Richard Smith authored
      Remove pre-standard restriction on explicitly-defaulted copy constructors with
      'incorrect' parameter types, and instead just make those special members
      non-trivial as the standard requires.
      
      This required making CXXRecordDecl correctly handle classes which have both a
      trivial and a non-trivial special member of the same kind.
      
      This also fixes PR13217 by reimplementing DiagnoseNontrivial in terms of the
      new triviality computation technology.
      
      llvm-svn: 169667
      92f241f1
Loading