Skip to content
  1. Sep 30, 2013
  2. Sep 29, 2013
    • Faisal Vali's avatar
      Revert the linkage fix. · 98b8e183
      Faisal Vali authored
      I got a bunch of buildbot failures that i don't understand - sorry.
      
      llvm-svn: 191647
      98b8e183
    • Faisal Vali's avatar
      Remove an unnecessary overload from ASTLambda.h · f9a9af3c
      Faisal Vali authored
      As Richard pointed out to me, dyn_cast is very cheap - there is no real benefit from adding cluttery overloads to only avoid that cast.
      No functionality change.
      
      llvm-svn: 191646
      f9a9af3c
    • Faisal Vali's avatar
      Fix computation of linkage within nested lambdas. · db29268b
      Faisal Vali authored
       When nested lambdas are used in NSDMI's - this prevents infinite recursion.
      
      See http://llvm-reviews.chandlerc.com/D1783 for Doug's approval regarding the code, and then request for some tests.
      
      [On a related note, I need this patch so as to pass tests of transformations of nested lambdas returned from member functions]
      
      llvm-svn: 191645
      db29268b
    • Manuel Klimek's avatar
      Add section on VS integration to the ClangFormat documentation. · 7491eaa2
      Manuel Klimek authored
      llvm-svn: 191642
      7491eaa2
    • Faisal Vali's avatar
      Fix windows newlines :( · 850da1a3
      Faisal Vali authored
      llvm-svn: 191641
      850da1a3
    • Daniel Jasper's avatar
      Fix misspelling of -fmodules-decluse. · 6e16d542
      Daniel Jasper authored
      llvm-svn: 191640
      6e16d542
    • Daniel Jasper's avatar
      clang-format: Fix assertion on incomplete string literals. · 0b1f76b6
      Daniel Jasper authored
      Before, this could would lead to an assert:
        llvm::errs() << "
                     << a;
      
      llvm-svn: 191639
      0b1f76b6
    • Faisal Vali's avatar
      Implement conversion to function pointer for generic lambdas without captures. · 571df125
      Faisal Vali authored
      The general strategy is to create template versions of the conversion function and static invoker and then during template argument deduction of the conversion function, create the corresponding call-operator and static invoker specializations, and when the conversion function is marked referenced generate the body of the conversion function using the corresponding static-invoker specialization.  Similarly, Codegen does something similar - when asked to emit the IR for a specialized static invoker of a generic lambda, it forwards emission to the corresponding call operator. 
      
      This patch has been reviewed in person both by Doug and Richard.  Richard gave me the LGTM.
      
      A few minor changes:
        - per Richard's request i added a simple check to gracefully inform that captures (init, explicit or default) have not been added to generic lambdas just yet (instead of the assertion violation).
        - I removed a few lines of code that added the call operators instantiated parameters to the currentinstantiationscope. Not only did it not handle parameter packs, but it is more relevant in the patch for nested lambdas which will follow this one, and fix that problem more comprehensively.
        - Doug had commented that the original implementation strategy of using the TypeSourceInfo of the call operator to create the static-invoker was flawed and allowed const as a member qualifier to creep into the type of the static-invoker.  I currently kludge around it - but after my initial discussion with Doug, with a follow up session with Richard, I have added a FIXME so that a more elegant solution that involves the use of TrivialTypeSourceInfo call followed by the correct wiring of the template parameters to the functionprototypeloc is forthcoming.
      
      Thanks! 
       
      
      llvm-svn: 191634
      571df125
    • Ed Schouten's avatar
      Add character set related __STDC_* definitions. · d0621468
      Ed Schouten authored
      Clang uses UTF-16 and UTF-32 for its char16_t's and char32_t's
      exclusively. This means that we can define __STDC_UTF_16__ and
      __STDC_UTF_32__ unconditionally.
      
      While there, define __STDC_MB_MIGHT_NEQ_WC__ for FreeBSD. FreeBSD's
      wchar_t's don't encode characters as ISO-10646; the encoding depends on
      the locale used. Because the character set used might not be a superset
      of ASCII, we must define __STDC_MB_MIGHT_NEQ_WC__.
      
      llvm-svn: 191631
      d0621468
    • Richard Smith's avatar
      Implement C++1y sized deallocation (n3778). This is not enabled by -std=c++1y; · 1cdec019
      Richard Smith authored
      instead, it's enabled by the -cc1 flag -fsized-deallocation, until we sort out
      the backward-compatibility issues.
      
      llvm-svn: 191629
      1cdec019
  3. Sep 28, 2013
  4. Sep 27, 2013
Loading