Skip to content
  1. Jan 26, 2012
  2. Jan 25, 2012
    • Argyrios Kyrtzidis's avatar
      Revert r148981 because it fails test/Driver/freebsd.c · e8be6652
      Argyrios Kyrtzidis authored
      Original log:
      
      Author: chandlerc <chandlerc@91177308-0d34-0410-b5e6-96231b3b80d8>
      Date:   Wed Jan 25 21:32:31 2012 +0000
      
          Try to unbreak the FreeBSD toolchain's detection of 32-bit targets
          inside a 64-bit freebsd machine with the 32-bit compatibility layer
          installed. The FreeBSD image always has the /usr/lib32 directory, so
          test for the more concrete existence of crt1.o. Also enhance the tests
          for freebsd to clarify what these trees look like and exercise the new
          code.
      
          Thanks to all the FreeBSD folks for helping me understand what caused
          the failure and how we might fix it. =] That helps a lot. Also, yay
          build bots.
      
      llvm-svn: 148993
      e8be6652
    • Eli Friedman's avatar
      Add some ABI tweaks for i386-pc-win32 triple so that we return structs in an... · a98d1f8c
      Eli Friedman authored
      Add some ABI tweaks for i386-pc-win32 triple so that we return structs in an MSVC-compatible way.  Patch by Joe Groff.
      
      llvm-svn: 148992
      a98d1f8c
    • Eli Friedman's avatar
      Improve the error message slightly for files that aren't using the expected... · 04342eee
      Eli Friedman authored
      Improve the error message slightly for files that aren't using the expected UTF-8 encoding.  Patch by Seth Cantrell.
      
      llvm-svn: 148991
      04342eee
    • Eli Friedman's avatar
      Fix a crash involving a multi-dimensional dependent VLA. PR11744. · f7f102f8
      Eli Friedman authored
      llvm-svn: 148989
      f7f102f8
    • Ted Kremenek's avatar
      Post open source analyzer build checker-259. · 807f7e38
      Ted Kremenek authored
      llvm-svn: 148988
      807f7e38
    • Richard Smith's avatar
      1b78b3d1
    • Eric Christopher's avatar
      Clean up comment. · bfecca33
      Eric Christopher authored
      llvm-svn: 148982
      bfecca33
    • Chandler Carruth's avatar
      Try to unbreak the FreeBSD toolchain's detection of 32-bit targets · 143f2f6e
      Chandler Carruth authored
      inside a 64-bit freebsd machine with the 32-bit compatibility layer
      installed. The FreeBSD image always has the /usr/lib32 directory, so
      test for the more concrete existence of crt1.o. Also enhance the tests
      for freebsd to clarify what these trees look like and exercise the new
      code.
      
      Thanks to all the FreeBSD folks for helping me understand what caused
      the failure and how we might fix it. =] That helps a lot. Also, yay
      build bots.
      
      llvm-svn: 148981
      143f2f6e
    • Kaelyn Uhrain's avatar
      Allow typo correction to be disabled in BuildOverloadedCallExpr variant. · 9afaf793
      Kaelyn Uhrain authored
      This suppresses typo correction for auto-generated call expressions such
      as to 'begin' or 'end' within a C++0x for-range statement.
      
      llvm-svn: 148979
      9afaf793
    • Chandler Carruth's avatar
      Restore a tiny bit of functionality that I completely overlooked in the · cf705b21
      Chandler Carruth authored
      Linux toolchain selection -- sorry folks. =] This should fix the Hexagon
      toolchain.
      
      However, I would point out that I see why my testing didn't catch this
      -- we have no tests for Hexagon. ;]
      
      llvm-svn: 148977
      cf705b21
    • Kaelyn Uhrain's avatar
      Avoid correcting unknown identifiers to types where types aren't allowed. · 77e21fca
      Kaelyn Uhrain authored
      Pass a typo correction callback object from ParseCastExpr to
      Sema::ActOnIdExpression to be a bit more selective about what kinds of
      corrections will be allowed for unknown identifiers.
      
      llvm-svn: 148973
      77e21fca
    • Argyrios Kyrtzidis's avatar
    • Kaelyn Uhrain's avatar
      Add custom callback object for typo correction in BuildRecoveryCallExpr. · 8edb17d7
      Kaelyn Uhrain authored
      The new callback, in addition to limiting which keywords to include in
      the pool of typo correction candidates, also filters out non-keyword
      candidates that don't refer to (template) functions that accept the
      number of arguments that are present for the call being recovered.
      
      llvm-svn: 148962
      8edb17d7
    • Douglas Gregor's avatar
      When we're substituting into a function parameter pack and expect to · 0dd22bc4
      Douglas Gregor authored
      get a function parameter pack (but don't due to weird substitutions),
      complain. Fixes the last bit of PR11848.
      
      llvm-svn: 148960
      0dd22bc4
    • Chandler Carruth's avatar
      The Linux pattern of adding all the search paths that exist doesn't seem · f7bf3db0
      Chandler Carruth authored
      to suit the FreeBSD folks. Take them back to something closer to the old
      behavior. We test whether the /usr/lib32 directory exists (within the
      SysRoot), and use it if so, otherwise use /usr/lib.
      
      FreeBSD folks, let me know if this causes any problems, or if you have
      further tweaks.
      
      llvm-svn: 148953
      f7bf3db0
    • Chandler Carruth's avatar
      Remove the 'ToolTriple' concept from the NetBSD toolchain along with my · 1ccbed88
      Chandler Carruth authored
      gross hack to provide it from my previous patch removing HostInfo. This
      was enshrining (and hiding from my searches) the concept of storing and
      diff-ing the host and target triples. We don't have the host triple
      reliably available, so we need to merely inspect the target system. I've
      changed the logic in selecting library search paths for NetBSD to match
      what I provided for FreeBSD -- we include both search paths, but put the
      32-bit-on-64-bit-host path first so it trumps.
      
      NetBSD maintainers, you may want to tweak this, or feel free to ask me
      to tweak it. I've left a FIXME here about the challeng I see in fixing
      this properly.
      
      llvm-svn: 148952
      1ccbed88
    • Chandler Carruth's avatar
      Delete still more remnants of the now dead HostInfo. The janitoring will · 2886ba23
      Chandler Carruth authored
      continue until cleanliness improves.
      
      llvm-svn: 148951
      2886ba23
    • Chandler Carruth's avatar
      Delete the driver's HostInfo class. This abstraction just never really · 2ad5de1f
      Chandler Carruth authored
      did anything. The two big pieces of functionality it tried to provide
      was to cache the ToolChain objects for each target, and to figure out
      the exact target based on the flag set coming in to an invocation.
      However, it had a lot of flaws even with those goals:
       - Neither of these have anything to do with the host, or its info.
       - The HostInfo class was setup as a full blown class *hierarchy* with
         a separate implementation for each "host" OS. This required
         dispatching just to create the objects in the first place.
       - The hierarchy claimed to represent the host, when in fact it was
         based on the target OS.
       - Each leaf in the hierarchy was responsible for implementing the flag
         processing and caching, resulting in a *lot* of copy-paste code and
         quite a few bugs.
       - The caching was consistently done based on architecture alone, even
         though *any* aspect of the targeted triple might change the behavior
         of the configured toolchain.
       - Flag processing was already being done in the Driver proper,
         separating the flag handling even more than it already is.
      
      Instead of this, we can simply have the dispatch logic in the Driver
      which previously created a HostInfo object create the ToolChain objects.
      Adding caching in the Driver layer is a tiny amount of code. Finally,
      pulling the flag processing into the Driver puts it where it belongs and
      consolidates it in one location.
      
      The result is that two functions, and maybe 100 lines of new code
      replace over 10 classes and 800 lines of code. Woot.
      
      This also paves the way to introduce more detailed ToolChain objects for
      various OSes without threading through a new HostInfo type as well, and
      the accompanying boiler plate. That, of course, was the yak I started to
      shave that began this entire refactoring escapade. Wheee!
      
      llvm-svn: 148950
      2ad5de1f
    • Chandler Carruth's avatar
      Add some really minimalist freebsd testing trees and use them in the · 013820fe
      Chandler Carruth authored
      freebsd test so that it's behavior isn't dependent on the filesystem of
      the host running the tests. This should revive the build bots at least.
      The tests and the trees still need a lot of love to make them as useful
      and easy to maintain as linux-ld.c.
      
      llvm-svn: 148949
      013820fe
Loading