Skip to content
  1. Sep 02, 2011
  2. Jul 23, 2011
  3. Jul 05, 2011
  4. Feb 20, 2011
  5. Dec 21, 2010
    • Douglas Gregor's avatar
      In C++, if the user redeclares a builtin function with a type that is · 9246b683
      Douglas Gregor authored
      inconsistent with the type that the builtin *should* have, forget
      about the builtin altogether: we don't want subsequence analyses,
      CodeGen, etc., to think that we have a proper builtin function.
      
      C is protected from errors here because it allows one to use a
      library builtin without having a declaration, and detects inconsistent
      (re-)declarations of builtins during declaration merging. C++ was
      unprotected, and therefore would crash.
      
      Fixes PR8839.
      
      llvm-svn: 122351
      9246b683
  6. Nov 30, 2010
  7. Jul 16, 2010
  8. Sep 09, 2009
  9. Jun 16, 2009
  10. Jun 14, 2009
  11. May 21, 2009
  12. May 07, 2009
  13. Apr 22, 2009
    • Douglas Gregor's avatar
      Lazy loading of builtins for precompiled headers. · 4621c6ae
      Douglas Gregor authored
      PCH files now contain complete information about builtins, including
      any declarations that have been synthesized as part of building the
      PCH file. When using a PCH file, we do not initialize builtins at all;
      when needed, they'll be found in the PCH file.
      
      This optimization translations into a 9% speedup for "Hello, World!"
      with Carbon.h as a prefix header and roughly a 5% speedup for 403.gcc
      with its prefix header. We're also reading less of the PCH file for
      "Hello, World!":
      
      *** PCH Statistics:
        286/20693 types read (1.382110%)
        1630/59230 declarations read (2.751984%)
        764/44914 identifiers read (1.701029%)
        1/32954 statements read (0.003035%)
        5/6187 macros read (0.080815%)
      
      down from
      
      *** PCH Statistics:
        411/20693 types read (1.986179%)
        2553/59230 declarations read (4.310316%)
        1093/44646 identifiers read (2.448148%)
        1/32954 statements read (0.003035%)
        21/6187 macros read (0.339421%)
      
      llvm-svn: 69815
      4621c6ae
    • Douglas Gregor's avatar
      Reorganize built-in initialization to separate the creation of target builtins... · f89771cb
      Douglas Gregor authored
      Reorganize built-in initialization to separate the creation of target builtins from marking IdentifierInfos as builtins. No functionality change
      
      llvm-svn: 69774
      f89771cb
  14. Apr 09, 2009
  15. Mar 17, 2009
  16. Mar 13, 2009
  17. Feb 27, 2009
    • Douglas Gregor's avatar
      Create a new TypeNodes.def file that enumerates all of the types, · deaad8cc
      Douglas Gregor authored
      giving them rough classifications (normal types, never-canonical
      types, always-dependent types, abstract type representations) and
      making it far easier to make sure that we've hit all of the cases when
      decoding types. 
      
      Switched some switch() statements on the type class over to using this
      mechanism, and filtering out those things we don't care about. For
      example, CodeGen should never see always-dependent or non-canonical
      types, while debug info generation should never see always-dependent
      types. More switch() statements on the type class need to be moved 
      over to using this approach, so that we'll get warnings when we add a
      new type then fail to account for it somewhere in the compiler.
      
      As part of this, some types have been renamed:
      
        TypeOfExpr -> TypeOfExprType
        FunctionTypeProto -> FunctionProtoType
        FunctionTypeNoProto -> FunctionNoProtoType
      
      There shouldn't be any functionality change...
      
      llvm-svn: 65591
      deaad8cc
  18. Feb 19, 2009
  19. Feb 16, 2009
  20. Feb 15, 2009
  21. Feb 14, 2009
    • Douglas Gregor's avatar
      Add -ffreestanding to suppress the implicit declaration of library builtins... · 69c7951c
      Douglas Gregor authored
      Add -ffreestanding to suppress the implicit declaration of library builtins like printf and malloc. Fixes PR3586
      
      llvm-svn: 64566
      69c7951c
    • Cedric Venet's avatar
      Fix the build on win32. · d3c80de9
      Cedric Venet authored
      llvm-svn: 64556
      d3c80de9
    • Douglas Gregor's avatar
      Make it possible for builtins to expression FILE* arguments, so that · 538c3d84
      Douglas Gregor authored
      we can define builtins such as fprintf, vfprintf, and
      __builtin___fprintf_chk. Give a nice error message when we need to
      implicitly declare a function like fprintf.
      
      llvm-svn: 64526
      538c3d84
    • Douglas Gregor's avatar
      Extend builtin "attribute" syntax to include a notation for · ac5d4c5f
      Douglas Gregor authored
      printf-like functions, both builtin functions and those in the
      C library. The function-call checker now queries this attribute do
      determine if we have a printf-like function, rather than scanning
      through the list of "known functions IDs". However, there are 5
      functions they are not yet "builtins", so the function-call checker
      handles them specifically still:
      
        - fprintf and vfprintf: the builtins mechanism cannot (yet)
          express FILE* arguments, so these can't be encoded.
        - NSLog: the builtins mechanism cannot (yet) express NSString*
          arguments, so this (and NSLogv) can't be encoded.
        - asprintf and vasprintf: these aren't part of the C99 standard
          library, so we really shouldn't be defining them as builtins in
          the general case (and we don't seem to have the machinery to make
          them builtins only on certain targets and depending on whether
          extensions are enabled).
      
      llvm-svn: 64512
      ac5d4c5f
  22. Jan 20, 2009
  23. Oct 26, 2008
  24. Oct 18, 2008
  25. Sep 30, 2008
  26. Sep 28, 2008
  27. Aug 11, 2008
    • Daniel Dunbar's avatar
      More #include cleaning · 221fa94e
      Daniel Dunbar authored
       - Drop Expr.h,RecordLayout.h from ASTContext.h (for DeclBase.h and
         SourceLocation.h)
       - Move ASTContext constructor into implementation
      
      llvm-svn: 54627
      221fa94e
  28. Mar 16, 2008
    • Chris Lattner's avatar
      Make a major restructuring of the clang tree: introduce a top-level · 7a51313d
      Chris Lattner authored
      lib dir and move all the libraries into it.  This follows the main
      llvm tree, and allows the libraries to be built in parallel.  The
      top level now enforces that all the libs are built before Driver,
      but we don't care what order the libs are built in.  This speeds
      up parallel builds, particularly incremental ones.
      
      llvm-svn: 48402
      7a51313d
  29. Mar 05, 2008
    • Chris Lattner's avatar
      Remove the first layer of support for "portability" warnings. This is · 855d024a
      Chris Lattner authored
      theoretically useful, but not useful in practice.  It adds a bunch of 
      complexity, and not much value.  It's best to nuke it.  One big advantage
      is that it means the target interfaces will soon lose their SLoc arguments
      and target queries can never emit diagnostics anymore (yay).  Removing this
      also simplifies some of the core preprocessor which should make it slightly
      faster.
      
      Ted, I didn't simplify TripleProcessor, which can now have at most one
      triple, and can probably just be removed.  Please poke at it when you have
      time.
      
      llvm-svn: 47930
      855d024a
  30. Dec 29, 2007
  31. Nov 28, 2007
  32. Nov 27, 2007
Loading