Skip to content
  1. Apr 10, 2009
    • Douglas Gregor's avatar
      Implementation of pre-compiled headers (PCH) based on lazy · ef84c4b4
      Douglas Gregor authored
      de-serialization of abstract syntax trees.
      
      PCH support serializes the contents of the abstract syntax tree (AST)
      to a bitstream. When the PCH file is read, declarations are serialized
      as-needed. For example, a declaration of a variable "x" will be
      deserialized only when its VarDecl can be found by a client, e.g.,
      based on name lookup for "x" or traversing the entire contents of the
      owner of "x".
      
      This commit provides the framework for serialization and (lazy)
      deserialization, along with support for variable and typedef
      declarations (along with several kinds of types). More
      declarations/types, along with important auxiliary structures (source
      manager, preprocessor, etc.), will follow.
      
      llvm-svn: 68732
      ef84c4b4
  2. Apr 09, 2009
  3. Apr 08, 2009
  4. Apr 07, 2009
  5. Apr 06, 2009
  6. Apr 05, 2009
  7. Apr 04, 2009
  8. Apr 03, 2009
  9. Apr 02, 2009
  10. Apr 01, 2009
    • Douglas Gregor's avatar
      Make parsing a semantic analysis a little more robust following Sema · fe3d7d08
      Douglas Gregor authored
      failures that involve malformed types, e.g., "typename X::foo" where
      "foo" isn't a type, or "std::vector<void>" that doens't instantiate
      properly.
      
      Similarly, be a bit smarter in our handling of ambiguities that occur
      in Sema::getTypeName, to eliminate duplicate error messages about
      ambiguous name lookup.
      
      This eliminates two XFAILs in test/SemaCXX, one of which was crying
      out to us, trying to tell us that we were producing repeated error
      messages.
      
      llvm-svn: 68251
      fe3d7d08
    • Steve Naroff's avatar
      CodeGenModule::GetAddrOfConstantCFString(): · 8d816d6c
      Steve Naroff authored
      - Finish up support for converting UTF8->UTF16 to support ObjC @"string" constants.
      
      Remove warning from CheckObjCString.
      
      As the FIXME in the test case indicates, I still have a bug to work out (apparently with \u handling).
      
      llvm-svn: 68245
      8d816d6c
    • Douglas Gregor's avatar
      Give Type::getDesugaredType a "for-display" mode that can apply more · 2e0757f3
      Douglas Gregor authored
      heuristics to determine when it's useful to desugar a type for display
      to the user. Introduce two C++-specific heuristics:
      
        - For a qualified type (like "foo::bar"), only produce a new
          desugred type if desugaring the qualified type ("bar", in this
          case) produces something interesting. For example, if "foo::bar"
          refers to a class named "bar", don't desugar. However, if
          "foo::bar" refers to a typedef of something else, desugar to that
          something else. This gives some useful desugaring such as
          "foo::bar (aka 'int')".
        - Don't desugar class template specialization types like
          "basic_string<char>" down to their underlying "class
          basic_string<char, char_traits<char>, allocator<char>>, etc.";
          it's better just to leave such types alone. 
      
      Update diagnostics.html with some discussion and examples of type
      preservation in C++, showing qualified names and class template
      specialization types.
      
      llvm-svn: 68207
      2e0757f3
    • Douglas Gregor's avatar
      Parsing, semantic analysis, and template instantiation for typename · dce2b62b
      Douglas Gregor authored
      specifiers that terminate in a simple-template-id, e.g.,
      
        typename MetaFun::template apply<T1, T2>
      
      Also, implement template instantiation for dependent
      nested-name-specifiers that involve unresolved identifiers, e.g.,
      
        typename T::type::type
      
      llvm-svn: 68166
      dce2b62b
  11. Mar 31, 2009
Loading