Skip to content
  1. Apr 24, 2011
    • John McCall's avatar
      The ABI settled on mangling float literals with lowercase hex dumps. · d8d1e2ae
      John McCall authored
      APInt::toString doesn't do those, but it's easy to postprocess that output,
      and that's probably better than adding another knob to that method.
      
      llvm-svn: 130081
      d8d1e2ae
    • Argyrios Kyrtzidis's avatar
      Put -Wunneeded-internal-declaration under UnusedFunction group so it will be... · 82270b46
      Argyrios Kyrtzidis authored
      Put -Wunneeded-internal-declaration under UnusedFunction group so it will be disabled with -Wno-unused-function.
      
      llvm-svn: 130080
      82270b46
    • Chandler Carruth's avatar
      Implement most of the remaining logic in __is_literal type trait. This · e71d0628
      Chandler Carruth authored
      should now support all of the C++98 types, and all of the C++0x types
      Clang supports.
      
      llvm-svn: 130079
      e71d0628
    • Chandler Carruth's avatar
      Add support for '__is_literal_type' spelling of the existing · 65fa1fd1
      Chandler Carruth authored
      '__is_literal' type trait for GCC compatibility. At least one relased
      version if libstdc++ uses this name for the trait despite it not being
      documented anywhere.
      
      llvm-svn: 130078
      65fa1fd1
    • Chandler Carruth's avatar
      Begin tracking trivialness of move constructors and move assignment · ad7d4047
      Chandler Carruth authored
      operators in C++ record declarations.
      
      This patch starts off by updating a bunch of the standard citations to
      refer to the draft 0x standard so that the semantics intended for move
      varianst is clear. Where necessary these are duplicated so they'll be
      available in doxygen.
      
      It adds bit fields to keep track of the state for the move constructs,
      and updates all the code necessary to track this state (I think) as
      members are declared for a class. It also wires the state into the
      various trait-like accessors in the AST's API, and tests that the type
      trait expressions now behave correctly in the presence of move
      constructors and move assignment operators.
      
      This isn't complete yet due to these glaring FIXMEs:
      1) No synthesis of implicit move constructors or assignment operators.
      2) I don't think we correctly enforce the new logic for both copy and
         move trivial checks: that the *selected* copy/move
         constructor/operator is trivial. Currently this requires *all* of them
         to be trivial.
      3) Some of the trait logic needs to be folded into the fine-grained
         trivial bits to more closely match the wording of the standard. For
         example, many of the places we currently set a bit to track POD-ness
         could be removed by querying other more fine grained traits on
         demand.
      
      llvm-svn: 130076
      ad7d4047
  2. Apr 23, 2011
Loading