Skip to content
  1. Jun 15, 2012
  2. Jun 14, 2012
    • James Dennett's avatar
      Still more Doxygen documentation fixes: · 634962f3
      James Dennett authored
      * Escape #, < and @ symbols where Doxygen would try to interpret them;
      * Fix several function param documentation where names had got out of sync;
      * Delete param documentation referring to parameters that no longer exist.
      
      llvm-svn: 158472
      634962f3
    • Daniel Jasper's avatar
      Look at incomplete FunctionTemplateDecls in order to determine whether · e99c2bf8
      Daniel Jasper authored
      a CXXRecordDecl is complete. Fixes Bug 13086.
      
      llvm-svn: 158469
      e99c2bf8
    • James Dennett's avatar
      This makes SemaCodeComplete.cpp more Doxygen-friendly by changing the · 596e4757
      James Dennett authored
      OBJC_AT_KEYWORD_NAME take a string literal argument where previously
      its second argument was an unquoted token; macro invocations such as
      OBJC_AT_KEYWORD_NAME(NeedAt,{) confuse Doxygen's parser.
      
      While I'm wary of changing code (rather than just comments) to work
      around Doxygen's limitations, in this case the change makes the code
      more readable for human beings as well, and the macro derived no
      benefit from using the preprocessor's stringification operator, as
      it never has need of the unquoted token.
      
      I've also included a couple of trivial drive-by fixes to doc comments.
      
      llvm-svn: 158440
      596e4757
  3. Jun 13, 2012
  4. Jun 12, 2012
  5. Jun 11, 2012
  6. Jun 10, 2012
    • Richard Smith's avatar
      PR12964: __int128 and unsigned __int128 are promoted integral types, be sure to · 521ecc1f
      Richard Smith authored
      consider them when enumerating builtin operator candidates.
      
      llvm-svn: 158293
      521ecc1f
    • Richard Smith's avatar
      Remove CXXRecordDecl flags which are unused after r158289. · 4086a13d
      Richard Smith authored
      We need an efficient mechanism to determine whether a defaulted default
      constructor is constexpr, in order to determine whether a class is a literal
      type, so keep the incrementally-built form on CXXRecordDecl. Remove the
      on-demand computation of same, so that we only have one method for determining
      whether a default constructor is constexpr. This doesn't affect correctness,
      since default constructor lookup is much simpler than selecting a constructor
      for copying or moving.
      
      We don't need a corresponding mechanism for defaulted copy or move constructors,
      since they can't affect whether a type is a literal type. Conversely, checking
      whether such functions are constexpr can require non-trivial effort, so we defer
      such checks until the copy or move constructor is required.
      
      Thus we now only compute whether a copy or move constructor is constexpr on
      demand, and only compute whether a default constructor is constexpr in advance.
      This is unfortunate, but seems like the best solution.
      
      llvm-svn: 158290
      4086a13d
    • Richard Smith's avatar
      Fix PR13052 properly, by performing special member lookup to determine whether · b5800095
      Richard Smith authored
      an explicitly-defaulted default constructor would be constexpr. This is
      necessary in weird (but well-formed) cases where a class has more than one copy
      or move constructor.
      
      Cleanup of now-unused parts of CXXRecordDecl to follow.
      
      llvm-svn: 158289
      b5800095
    • Richard Smith's avatar
      PR13064: Store whether an in-class initializer uses direct or copy · 2b013185
      Richard Smith authored
      initialization, and use that information to produce the right kind of
      initialization during template instantiation.
      
      llvm-svn: 158288
      2b013185
  7. Jun 09, 2012
    • Dmitri Gribenko's avatar
      Convert comments to proper Doxygen comments. · 4280e5cf
      Dmitri Gribenko authored
      llvm-svn: 158241
      4280e5cf
    • Jordan Rose's avatar
      Warn in ObjC++ when an 'auto' variable deduces type 'id'. · d8d56694
      Jordan Rose authored
      This could happen for cases like this:
      
      - (NSArray *)getAllNames:(NSArray *)images {
        NSMutableArray *results = [NSMutableArray array];
        for (auto img in images) {
          [results addObject:img.name];
        }
        return results;
      }
      
      Here the property access will fail because 'img' has type 'id', rather than,
      say, NSImage.
      
      This warning will not fire in templated code, since the 'id' could have
      come from a template parameter.
      
      llvm-svn: 158239
      d8d56694
  8. Jun 08, 2012
  9. Jun 07, 2012
    • Benjamin Kramer's avatar
      Plug a long standing memory leak in TemplateArgument. · 6003ad58
      Benjamin Kramer authored
      The integral APSInt value is now stored in a decomposed form and the backing
      store for large values is allocated via the ASTContext. This way its not
      leaked as TemplateArguments are never destructed when they are allocated in
      the ASTContext. Since the integral data is immutable it is now shared between
      instances, making copying TemplateArguments a trivial operation.
      
      Currently getting the integral data out of a TemplateArgument requires creating
      a new APSInt object. This is cheap when the value is small but can be expensive
      if it's not. If this turns out to be an issue a more efficient accessor could
      be added.
      
      llvm-svn: 158150
      6003ad58
    • Jordan Rose's avatar
      Attach fixits for CFBridgingRetain/Release outside any casts. · aefcedae
      Jordan Rose authored
      Before, the note showed the location where you could insert __bridge variants,
      but the actual fixit edit came after the cast.
      
      No functionality change.
      
      llvm-svn: 158131
      aefcedae
    • Jordan Rose's avatar
      Insert a space if necessary when suggesting CFBridgingRetain/Release. · 288c421b
      Jordan Rose authored
      This was a problem for people who write 'return(result);'
      
      Also fix ARCMT's corresponding code, though there's no test case for this
      because implicit casts like this are rejected by the migrator for being
      ambiguous, and explicit casts have no problem.
      
      <rdar://problem/11577346>
      
      llvm-svn: 158130
      288c421b
  10. Jun 06, 2012
  11. Jun 05, 2012
Loading