Skip to content
  1. Dec 20, 2012
  2. Dec 19, 2012
  3. Dec 04, 2012
    • Chandler Carruth's avatar
      Sort all of Clang's files under 'lib', and fix up the broken headers · 3a02247d
      Chandler Carruth authored
      uncovered.
      
      This required manually correcting all of the incorrect main-module
      headers I could find, and running the new llvm/utils/sort_includes.py
      script over the files.
      
      I also manually added quite a few missing headers that were uncovered by
      shuffling the order or moving headers up to be main-module-headers.
      
      llvm-svn: 169237
      3a02247d
  4. Feb 04, 2012
  5. Sep 02, 2011
  6. Jul 23, 2011
  7. Jul 05, 2011
  8. Feb 20, 2011
  9. 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
  10. Nov 30, 2010
  11. Jul 16, 2010
  12. Sep 09, 2009
  13. Jun 16, 2009
  14. Jun 14, 2009
  15. May 21, 2009
  16. May 07, 2009
  17. 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
  18. Apr 09, 2009
  19. Mar 17, 2009
  20. Mar 13, 2009
  21. 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
  22. Feb 19, 2009
  23. Feb 16, 2009
  24. Feb 15, 2009
  25. 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
  26. Jan 20, 2009
  27. Oct 26, 2008
  28. Oct 18, 2008
  29. Sep 30, 2008
  30. Sep 28, 2008
  31. 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
  32. 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
Loading