Skip to content
  1. Sep 26, 2011
  2. Sep 25, 2011
  3. Sep 24, 2011
    • Benjamin Kramer's avatar
      Update CMake build. · c9d78d74
      Benjamin Kramer authored
      llvm-svn: 140462
      c9d78d74
    • Sebastian Redl's avatar
      Add a special note for overload resolution when an initializer list argument · a72462cd
      Sebastian Redl authored
      cannot be converted.
      This is in preparation for overload resolution of initializer lists.
      Currently, you will always get this message when you try to pass an init
      list to an overloaded function.
      
      llvm-svn: 140461
      a72462cd
    • Sebastian Redl's avatar
      Correctly parse braced member initializers (even in delayed parsing) and correctly pass · a74948d3
      Sebastian Redl authored
      the information on to Sema. There's still an incorrectness in the way template instantiation
      works now, but that is due to a far larger underlying representational problem.
      Also add a test case for various list initialization cases of scalars, which test this
      commit as well as the previous one.
      
      llvm-svn: 140460
      a74948d3
    • Sebastian Redl's avatar
      Treat list-initialization of scalars as a first-class citizen in C++11. · 12757ab4
      Sebastian Redl authored
      Allow empty initializer lists for scalars, which mean value-initialization.
      Constant evaluation for single-element and empty initializer lists for scalars.
      Codegen for empty initializer lists for scalars.
      Test case comes in next commit.
      
      llvm-svn: 140459
      12757ab4
    • Sebastian Redl's avatar
      Give InitListChecker a verification-only mode, where it neither emits diagnostics nor · b49c46c2
      Sebastian Redl authored
      builds a semantic (structured) initializer list, just reports on whether it can match
      the given list to the target type.
      Use this mode for doing init list checking in the initial step of initialization, which
      will eventually allow us to do overload resolution based on the outcome.
      
      llvm-svn: 140457
      b49c46c2
    • Sebastian Redl's avatar
      In Initialization, add step kind SK_ListConstructorCall (list-initialization · 7de1fb41
      Sebastian Redl authored
      resolves to a constructor call in C++11) and failure kind
      FK_ListInitializationFailed (early InitListChecker run failed).
      
      llvm-svn: 140456
      7de1fb41
    • Sebastian Redl's avatar
      Inline Sema::CheckInitList into its only user. · a846cac0
      Sebastian Redl authored
      llvm-svn: 140455
      a846cac0
    • Sebastian Redl's avatar
      Fix typos and non-doxygen-ness in a few comments. · 26bcc942
      Sebastian Redl authored
      llvm-svn: 140454
      26bcc942
    • Francois Pichet's avatar
      [microsoft] In Microsoft mode, if we are inside a template class member... · d8e4e413
      Francois Pichet authored
      [microsoft] In Microsoft mode, if we are inside a template class member function and we can't resolve an identifier then assume the identifier is type dependent. The goal is to postpone name lookup to instantiation time to be able to search into type dependent base classes.
      
      This fixes a few errors when parsing MFC code with clang.
      BTW clang trunk is now about 5 patches away to be able the parse the default wizard-generated MFC project.
      
      llvm-svn: 140452
      d8e4e413
    • Benjamin Kramer's avatar
      Fix comment typo. · 1f88d2f5
      Benjamin Kramer authored
      Patch by Rui Paulo!
      
      llvm-svn: 140448
      1f88d2f5
    • Fariborz Jahanian's avatar
      objc - redeclaration of property in extension class · 11ee283e
      Fariborz Jahanian authored
      must match property type declaration in its
      primary class. // rdar://10142679
      
      llvm-svn: 140438
      11ee283e
    • Douglas Gregor's avatar
      52da28be
    • Daniel Dunbar's avatar
      Driver: Use sys::Process::SetWorkingDirectory, for consistency. · eb5348ac
      Daniel Dunbar authored
      llvm-svn: 140434
      eb5348ac
    • Fariborz Jahanian's avatar
      objc - fixes a crash when undefined typed property · 44653709
      Fariborz Jahanian authored
      followed by it implementation crashes when attempt
      is made to access the synthesized ivar. 
      // rdar://10177744
      
      llvm-svn: 140432
      44653709
    • Matt Beaumont-Gay's avatar
      Fix a crash-on-invalid. · d0457924
      Matt Beaumont-Gay authored
      The token stream was not getting properly reset when leaving
      ParseLexedMethodDef in some error cases. In the testcase, that caused later
      accesses to the token stream to touch memory which had been freed as we
      finished parsing the class definition. Major hat-tip to AddressSanitizer for
      helping pinpoint the use-after-free, including the allocation and deallocation
      points:
      
      ==21510== ERROR: AddressSanitizer heap-use-after-free on address 0x7feb3de87848 at pc 0x249f4e2 bp 0x7fff15a89df0 sp 0x7fff15a89ce0
      READ of size 1 at 0x7feb3de87848 thread T0
        #0 0x249f4e2 clang::TokenLexer::Lex()
        #1 0x1c834a0 clang::Parser::ConsumeToken()
        #2 0x1c7dc0f clang::Parser::ParseDeclarationOrFunctionDefinition()
        #3 0x1c7e16b clang::Parser::ParseDeclarationOrFunctionDefinition()
      <snip>
      0x7feb3de87848 is located 1992 bytes inside of 3816-byte region [0x7feb3de87080,0x7feb3de87f68)
      freed by thread T0 here:
        #0 0x3a22c19 free
        #1 0x1d136a1 clang::Parser::LexedMethod::~LexedMethod()
        #2 0x1cef528 clang::Parser::DeallocateParsedClasses()
        #3 0x1cef676 clang::Parser::PopParsingClass()
        #4 0x1cea094 clang::Parser::ParseCXXMemberSpecification()
        #5 0x1ce7ae5 clang::Parser::ParseClassSpecifier()
        #6 0x1cfe588 clang::Parser::ParseDeclarationSpecifiers()
        #7 0x1c7dbe8 clang::Parser::ParseDeclarationOrFunctionDefinition()
        #8 0x1c7e16b clang::Parser::ParseDeclarationOrFunctionDefinition()
      <snip>
      previously allocated by thread T0 here:
        #0 0x3a2302d realloc
        #1 0x39d7c97 llvm::SmallVectorBase::grow_pod()
        #2 0x1ac588e llvm::SmallVectorImpl<>::push_back()
        #3 0x1d12d8b clang::Parser::ConsumeAndStoreUntil()
        #4 0x1c9c24d clang::Parser::ConsumeAndStoreUntil()
        #5 0x1d12c1e clang::Parser::ConsumeAndStoreUntil()
        #6 0x1c9c24d clang::Parser::ConsumeAndStoreUntil()
        #7 0x1d10042 clang::Parser::ParseCXXInlineMethodDef()
        #8 0x1cec51a clang::Parser::ParseCXXClassMemberDeclaration()
        #9 0x1ce9de5 clang::Parser::ParseCXXMemberSpecification()
        #10 0x1ce7ae5 clang::Parser::ParseClassSpecifier()
        #11 0x1cfe588 clang::Parser::ParseDeclarationSpecifiers()
        #12 0x1c7dbe8 clang::Parser::ParseDeclarationOrFunctionDefinition()
        #13 0x1c7e16b clang::Parser::ParseDeclarationOrFunctionDefinition()
      <snip>
      
      llvm-svn: 140427
      d0457924
    • Douglas Gregor's avatar
      Fix up assertion a bit more · 27f58c2e
      Douglas Gregor authored
      llvm-svn: 140424
      27f58c2e
  4. Sep 23, 2011
Loading