Skip to content
  1. Jul 15, 2009
  2. Jul 13, 2009
  3. Jun 30, 2009
    • Argyrios Kyrtzidis's avatar
      Remove the ASTContext parameter from the attribute-related methods of Decl. · b4b64ca7
      Argyrios Kyrtzidis authored
      The implementations of these methods can Use Decl::getASTContext() to get the ASTContext.
      
      This commit touches a lot of files since call sites for these methods are everywhere.
      I used pre-tokenized "carbon.h" and "cocoa.h" headers to do some timings, and there was no real time difference between before the commit and after it.
      
      llvm-svn: 74501
      b4b64ca7
  4. Jun 18, 2009
  5. Jun 14, 2009
  6. Jun 07, 2009
  7. Jun 06, 2009
  8. Jun 02, 2009
  9. May 28, 2009
  10. May 27, 2009
  11. May 21, 2009
  12. May 18, 2009
  13. May 13, 2009
  14. May 08, 2009
  15. May 03, 2009
  16. Apr 26, 2009
  17. Apr 18, 2009
  18. Apr 13, 2009
  19. Apr 08, 2009
  20. Apr 07, 2009
  21. Feb 16, 2009
    • Daniel Dunbar's avatar
      Support IRgen of sqrt -> llvm.sqrt, pow -> llvm.pow. · 8eb018ab
      Daniel Dunbar authored
       - Define pow[lf]?, sqrt[lf]? as builtins.
      
       - Add -fmath-errno option which binds to LangOptions.MathErrno
      
       - Add new builtin flag Builtin::Context::isConstWithoutErrno for
         functions which can be marked as const if errno isn't respected for
         math functions. Sema automatically marks these functions as const
         when they are defined, if MathErrno=0.
      
       - IRgen uses const attribute on sqrt and pow library functions to
         decide if it can use the llvm intrinsic.
      
      llvm-svn: 64689
      8eb018ab
    • Daniel Dunbar's avatar
      Fix IRgen of __builtin_memset. · e28b3598
      Daniel Dunbar authored
       - Fix test case to not only have negative tests.
      
      llvm-svn: 64674
      e28b3598
  22. Feb 14, 2009
    • Douglas Gregor's avatar
      Implicitly declare certain C library functions (malloc, strcpy, memmove, · b9063fc1
      Douglas Gregor authored
      etc.) when we perform name lookup on them. This ensures that we
      produce the correct signature for these functions, which has two
      practical impacts:
      
        1) When we're supporting the "implicit function declaration" feature
        of C99, these functions will be implicitly declared with the right
        signature rather than as a function returning "int" with no
        prototype. See PR3541 for the reason why this is important (hint:
        GCC always predeclares these functions).
       
        2) If users attempt to redeclare one of these library functions with
        an incompatible signature, we produce a hard error.
      
      This patch does a little bit of work to give reasonable error
      messages. For example, when we hit case #1 we complain that we're
      implicitly declaring this function with a specific signature, and then
      we give a note that asks the user to include the appropriate header
      (e.g., "please include <stdlib.h> or explicitly declare 'malloc'"). In
      case #2, we show the type of the implicit builtin that was incorrectly
      declared, so the user can see the problem. We could do better here:
      for example, when displaying this latter error message we say
      something like:
      
        'strcpy' was implicitly declared here with type 'char *(char *, char
        const *)'
      
      but we should really print out a fake code line showing the
      declaration, like this:
      
        'strcpy' was implicitly declared here as:
      
          char *strcpy(char *, char const *)
      
      This would also be good for printing built-in candidates with C++
      operator overloading.
      
      The set of C library functions supported by this patch includes all
      functions from the C99 specification's <stdlib.h> and <string.h> that
      (a) are predefined by GCC and (b) have signatures that could cause
      codegen issues if they are treated as functions with no prototype
      returning and int. Future work could extend this set of functions to
      other C library functions that we know about.
      
      llvm-svn: 64504
      b9063fc1
  23. Feb 11, 2009
  24. Feb 05, 2009
  25. Feb 04, 2009
  26. Jan 25, 2009
    • Eli Friedman's avatar
      Make the constant folder aware of · c69d454d
      Eli Friedman authored
      __builtin___CFStringMakeConstantString.  (We get into trouble in 
      GenerateStaticBlockVarDecl if the constant folder isn't accurate.)
      
      llvm-svn: 62949
      c69d454d
  27. Jan 20, 2009
  28. Jan 18, 2009
  29. Dec 22, 2008
  30. Dec 01, 2008
  31. Nov 16, 2008
  32. Nov 04, 2008
Loading