Skip to content
  1. Apr 23, 2011
    • Francois Pichet's avatar
      Add -fdelayed-template-parsing option. Using this option all templated... · 1c229c04
      Francois Pichet authored
      Add -fdelayed-template-parsing option. Using this option all templated function definitions are parsed at the end of the translation unit only if it is required by an actual instantiation. As such all the symbols of the TU are available during name lookup.
      
      Using this flag is necessary for compatibility with Microsoft template code.
      This also provides some parsing speed improvement.
      
      llvm-svn: 130022
      1c229c04
  2. Apr 22, 2011
  3. Apr 21, 2011
  4. Apr 19, 2011
  5. Apr 13, 2011
  6. Apr 12, 2011
  7. Apr 09, 2011
  8. Apr 07, 2011
    • John McCall's avatar
      Basic, untested implementation for an "unknown any" type requested by LLDB. · 31996343
      John McCall authored
      The idea is that you can create a VarDecl with an unknown type, or a
      FunctionDecl with an unknown return type, and it will still be valid to
      access that object as long as you explicitly cast it at every use.  I'm
      still going back and forth about how I want to test this effectively, but
      I wanted to go ahead and provide a skeletal implementation for the LLDB
      folks' benefit and because it also improves some diagnostic goodness for
      placeholder expressions.
      
      llvm-svn: 129065
      31996343
  9. Apr 06, 2011
  10. Mar 26, 2011
  11. Mar 23, 2011
    • Devang Patel's avatar
      Update type cache when a type is completed. · 945b8aed
      Devang Patel authored
      Radar 9168773
      
      llvm-svn: 128150
      945b8aed
    • Douglas Gregor's avatar
      Implement a new 'availability' attribute, that allows one to specify · 20b2ebd7
      Douglas Gregor authored
      which versions of an OS provide a certain facility. For example,
      
        void foo()
        __attribute__((availability(macosx,introduced=10.2,deprecated=10.4,obsoleted=10.6)));
      
      says that the function "foo" was introduced in 10.2, deprecated in
      10.4, and completely obsoleted in 10.6. This attribute ties in with
      the deployment targets (e.g., -mmacosx-version-min=10.1 specifies that
      we want to deploy back to Mac OS X 10.1). There are several concrete
      behaviors that this attribute enables, as illustrated with the
      function foo() above:
      
        - If we choose a deployment target >= Mac OS X 10.4, uses of "foo"
          will result in a deprecation warning, as if we had placed
          attribute((deprecated)) on it (but with a better diagnostic)
        - If we choose a deployment target >= Mac OS X 10.6, uses of "foo"
          will result in an "unavailable" warning (in C)/error (in C++), as
          if we had placed attribute((unavailable)) on it
        - If we choose a deployment target prior to 10.2, foo() is
          weak-imported (if it is a kind of entity that can be weak
          imported), as if we had placed the weak_import attribute on it.
      
      Naturally, there can be multiple availability attributes on a
      declaration, for different platforms; only the current platform
      matters when checking availability attributes.
      
      The only platforms this attribute currently works for are "ios" and
      "macosx", since we already have -mxxxx-version-min flags for them and we
      have experience there with macro tricks translating down to the
      deprecated/unavailable/weak_import attributes. The end goal is to open
      this up to other platforms, and even extension to other "platforms"
      that are really libraries (say, through a #pragma clang
      define_system), but that hasn't yet been designed and we may want to
      shake out more issues with this narrower problem first.
      
      Addresses <rdar://problem/6690412>.
      
      As a drive-by bug-fix, if an entity is both deprecated and
      unavailable, we only emit the "unavailable" diagnostic.
      
      llvm-svn: 128127
      20b2ebd7
  12. Mar 22, 2011
  13. Mar 18, 2011
  14. Mar 17, 2011
  15. Mar 14, 2011
  16. Mar 09, 2011
  17. Mar 07, 2011
    • Devang Patel's avatar
      DebugInfo can be enabled or disabled at function level (e.g. using an... · d6ffebb0
      Devang Patel authored
      DebugInfo can be enabled or disabled at function level (e.g. using an attribute). However, at module level it is determined by command line option and the state of command line option does not change during compilation. Make this layering explicit and fix accidental cases where the code generator was checking whether module has debug info enabled instead of checking whether debug info is enabled for this function or not.
      
      llvm-svn: 127165
      d6ffebb0
    • Devang Patel's avatar
      Do not emit stop point for CXXDefaultArgExpr. It results in suboptimial user experience. · e65982c8
      Devang Patel authored
      21 int main() {
      22  A a;
      
      For example, here user would expect to stop at line 22, even if A's constructor leads to a call through CXXDefaultArgExpr.
      
      This fixes ostream-defined.exp regression from gdb testsuite.
      
      llvm-svn: 127164
      e65982c8
  18. Mar 05, 2011
  19. Feb 22, 2011
  20. Feb 19, 2011
    • John McCall's avatar
      Warn about code that uses variables and functions with internal linkage · 83779675
      John McCall authored
      without defining them.  This should be an error, but I'm paranoid about
      "uses" that end up not actually requiring a definition.  I'll revisit later.
      
      Also, teach IR generation to not set internal linkage on variable
      declarations, just for safety's sake.  Doing so produces an invalid module
      if the variable is not ultimately defined.
      
      Also, fix several places in the test suite where we were using internal
      functions without definitions.
      
      llvm-svn: 126016
      83779675
  21. Feb 15, 2011
    • John McCall's avatar
      Assorted cleanup: · e3dc1707
      John McCall authored
        - Have CGM precompute a number of commonly-used types
        - Have CGF copy that during initialization instead of recomputing them
        - Use TBAA info when initializing a parameter variable
        - Refactor the scalar ++/-- code
      
      llvm-svn: 125562
      e3dc1707
  22. Feb 11, 2011
  23. Feb 09, 2011
  24. Feb 08, 2011
  25. Feb 05, 2011
  26. Feb 04, 2011
  27. Feb 03, 2011
  28. Feb 01, 2011
Loading