Skip to content
  1. Jun 18, 2010
  2. Jun 17, 2010
    • Fariborz Jahanian's avatar
      Do not treat @selector as lvalue (unlike g++). · 6fdb139c
      Fariborz Jahanian authored
      Patch by Nico Weber (pr7390).
      
      llvm-svn: 106242
      6fdb139c
    • Zhanyong Wan's avatar
      Improves RecursiveASTVisitor: · cae2ea48
      Zhanyong Wan authored
      * refactors code in DEF_TRAVERSE_DECL() into
        TraverseDeclContextHelper() to reduce code bloat and facilitate
        reuse.
      * makes the order of traversing a FunctionDecl (including its
        subclasses)'s children more natural: before the function parameters
        are visited after the function body; now they are visited after the
        function type and before the function body.
      * fixes a double count for function return type and arguments.
      
      Reviewed by chandlerc and csilvers.
      
      llvm-svn: 106236
      cae2ea48
    • Fariborz Jahanian's avatar
      Objective-c++ IRGen. Support for @selector expression as · 9240f3da
      Fariborz Jahanian authored
      an lvalue. Fixes PR7390.
      
      llvm-svn: 106235
      9240f3da
    • Dan Gohman's avatar
      Minor clarification. · 4eb47194
      Dan Gohman authored
      llvm-svn: 106234
      4eb47194
    • Tom Care's avatar
      Bug 7377: Fixed several bad printf format string bugs. · b49ec690
      Tom Care authored
      - Added warning for undefined behavior when using field specifier
      - Added warning for undefined behavior when using length modifier
      - Fixed warnings for invalid flags
      - Added warning for ignored flags
      - Added fixits for the above warnings
      - Fixed accuracy of detecting several undefined behavior conditions
      - Receive normal warnings in addition to security warnings when using %n
      - Fix bug where '+' flag would remain on unsigned conversion suggestions
      
      Summary of changes:
      - Added expanded tests
      - Added/expanded warnings
      - Added position info to OptionalAmounts for fixits
      - Extracted optional flags to a wrapper class with position info for fixits
      - Added several methods to validate a FormatSpecifier by component, each checking for undefined behavior
      - Fixed conversion specifier checking to conform to C99 standard
      - Added hooks to detect the invalid states in CheckPrintfHandler::HandleFormatSpecifier
      
      Note: warnings involving the ' ' (space) flag are temporarily disabled until whitespace highlighting no longer triggers assertions. I will make a post about this on cfe-dev shortly.
      
      M    test/Sema/format-strings.c
      M    include/clang/Basic/DiagnosticSemaKinds.td
      M    include/clang/Analysis/Analyses/PrintfFormatString.h
      M    lib/Analysis/PrintfFormatString.cpp
      M    lib/Sema/SemaChecking.cpp
      
      llvm-svn: 106233
      b49ec690
Loading