Skip to content
  1. Oct 06, 2011
  2. Oct 05, 2011
  3. Oct 04, 2011
    • Chandler Carruth's avatar
      Now that multiple prefixes are much cheaper to search for GCC · e683a189
      Chandler Carruth authored
      installations, support them when installed directly under the system
      root ('/lib/gcc/...' essentially).
      
      With this, Clang can correctly detect and use a cross-compiling GCC
      installation within a system root and use it.
      
      Again, test cases will be coming in later commits, as I'm going to write
      a few test cases that exercise nearly all of this logic.
      
      llvm-svn: 141121
      e683a189
    • Chandler Carruth's avatar
      Rework the search for a GCC installation still further. This combines · 531f1ff7
      Chandler Carruth authored
      two fundamental changes, as they ended up being interrelated.
      
      The first is to walk from the root down through the filesystem so that
      we prune subtrees which do not exist early. This greatly reduces the
      filesystem traffic of this routine. We store the "best" GCC version we
      encounter, and look at all of the GCC installations available.
      
      Also, we look through GCC versions by scanning the directory rather than
      using a hard-coded list of versions. This has several benefits. It makes
      it much more efficient to locate a GCC installation even in the presence
      of a large number of different options by simply reading the directory
      once. It also future-proofs us as new GCC versions are released and
      installed. We no longer have a hard coded list of version numbers, and
      won't need to manually updated it. We can still filter out known-bad
      versions as needed. Currently I've left in filtering for all GCC
      installations prior to 4.1.1, as that was the first one supported
      previously.
      
      llvm-svn: 141120
      531f1ff7
    • Daniel Dunbar's avatar
      Basic/Diagnostics: Apparently, #pragma ... diagnostic is intended to override · 2fba0979
      Daniel Dunbar authored
      the command line options (at least according to GCC's documentation). GCC 4.2
      didn't appear to actually do this, but it seems like that has been fixed in
      later release, so we will follow the docs.
      
      llvm-svn: 141119
      2fba0979
    • Anna Zaks's avatar
      [analyzer] Removing references to CheckerContext::getNodeBuilder(): checkers... · 23d7ba35
      Anna Zaks authored
      [analyzer] Removing references to CheckerContext::getNodeBuilder(): checkers can obtain block count directly from the Context.
      
      llvm-svn: 141112
      23d7ba35
    • Eli Friedman's avatar
      Remove a nonsensical bit of code from... · 606c1036
      Eli Friedman authored
      Remove a nonsensical bit of code from InitListChecker::getStructuredSubobjectInit which was increasing the reserved size for an init list past its maximum possible size. Fixes PR11056, a case where we were reserving a bunch of memory for arrays that was never actually used.
      
      (No testcase because I don't think we have any way to actually write a testcase for this; the chosen value of NumElements has no effects on anything other than performance and memory usage.)
      
      llvm-svn: 141106
      606c1036
    • Fariborz Jahanian's avatar
      objc: Turn diagnostic on property type mismatch in · f2a7b0ea
      Fariborz Jahanian authored
      continuation class into warning. // rdar://10231514
      
      llvm-svn: 141100
      f2a7b0ea
    • Anna Zaks's avatar
      [analyzer] Remove unused methods, add comments to others. · c76ec12c
      Anna Zaks authored
      llvm-svn: 141098
      c76ec12c
    • Justin Holewinski's avatar
    • David Chisnall's avatar
      Add bitmaps for strong / weak ivar layout (GNUstep runtime). · cdd207e4
      David Chisnall authored
      llvm-svn: 141085
      cdd207e4
    • Chandler Carruth's avatar
      Add a comment explaining that I have a better plan for implementing the · 1a98ab4f
      Chandler Carruth authored
      GCC installation search that requires fewer filesystem operations.
      Planning to implement that next as the current approcah while thorough
      (and so far looks correct) does a very unfortunate number of filesystem
      operations.
      
      I'm motivated to fix this in no small part because I would like to
      support a much larger space of triples and GCC versions, which would
      explode the current algorithm.
      
      llvm-svn: 141073
      1a98ab4f
    • Chandler Carruth's avatar
      Invert the loop for detecting installed GCC trees. This make the loop · 1d6073ab
      Chandler Carruth authored
      find the newest GCC available, among other goodness. It makes the entire
      system much less prone to error from prefixes and/or system roots
      pruning early the set of triples and GCC versions available.
      
      Also, improve some comments and simplify the forms of some of the loops.
      
      This causes the driver to stat directories more often than is strictly
      necessary, but the alternatives which I looked at that still
      accomplished this goal needed quite a bit more code and were likely not
      much faster.
      
      Test cases for this, now that our behavior here is significantly more
      principled and predictable, should come tomorrow as I walk back through
      VMs looking for edge cases that are missed after this.
      
      llvm-svn: 141072
      1d6073ab
Loading