Skip to content
  1. Jul 31, 2013
    • Aaron Ballman's avatar
      Fixing an unused variable warning. · 080cad73
      Aaron Ballman authored
      llvm-svn: 187474
      080cad73
    • Richard Trieu's avatar
      2ac682a6
    • Chandler Carruth's avatar
      Find a better compromise with the default library search paths used by · 7f8042c8
      Chandler Carruth authored
      Clang when linking and using a GCC installation from a GCC
      cross-compiler.
      
      This was desired already by two special case platforms (Android and
      Mips), and turns out to be generally (if frustratingly) true. I've added
      a substantial comment to the code clarifying the underlying assumptions
      of doing actual cross compiles with Clang (or GCC for that matter!) and
      help avoid further confusion here.
      
      The end result is to realize that fully general form of PR12478 cannot
      be resolved while we support existing cross-compiling GCC toolchains,
      and linking with them (namely, linking against their libgcc and
      libstdc++ installs). GCC installs these target libraries under
      a target-specific prefix but one that may not be available within the
      actual sysroot in use. When linking in this world, GCC works and Clang
      should as well, but caveat emptor: DSOs from this tree must be
      replicated and rpath-fixed to be found at runtime within the sysroot.
      
      I've extended the cross compile test cases to cover these issues by
      pointing them at a sysroot and actually checking the library search
      paths.
      
      llvm-svn: 187466
      7f8042c8
    • Richard Smith's avatar
      Fix read of uninitialized enum value in test, caught by UBSan. No functionality · 629ff362
      Richard Smith authored
      change, other than removal of undefined behavior.
      
      llvm-svn: 187465
      629ff362
    • Daniel Jasper's avatar
      clang-format: Improve detection of templates. · 62c0ac0a
      Daniel Jasper authored
      Before:
        template <typename... Types>
              typename enable_if < 0<sizeof...(Types)>::type Foo() {}
      After:
        template <typename... Types>
        typename enable_if<0 < sizeof...(Types)>::type Foo() {}
      
      llvm-svn: 187458
      62c0ac0a
  2. Jul 30, 2013
  3. Jul 29, 2013
  4. Jul 28, 2013
  5. Jul 27, 2013
    • Bob Wilson's avatar
      Reduce stack frame size by avoiding a large token vector on an error path. · 57217350
      Bob Wilson authored
      Beginning with svn r186971, we noticed an internal test started to fail when
      using clang built with LTO. After much investigation, it turns out that there
      are no blatant bugs here, we are just running out of stack space and crashing.
      Preprocessor::ReadFunctionLikeMacroArgs already has one vector of 64 Tokens,
      and r186971 added another.  When built with LTO, that function is inlined into
      Preprocessor::HandleMacroExpandedIdentifier, which for our internal test is
      invoked in a deep recursive cycle. I'm leaving the original 64 Token vector
      alone on the assumption that it is important for performance, but the new
      FixedArgTokens vector is only used on an error path, so it should be OK if it
      requires additional heap storage. It would be even better if we could avoid
      the deep recursion, but I think this change is a good thing to do regardless.
      <rdar://problem/14540345>
      
      llvm-svn: 187315
      57217350
    • Hans Wennborg's avatar
      Fix test/Driver/cl.c. · 94478097
      Hans Wennborg authored
      This test would fail in weird ways on systems with a one-letter filename
      in the root directory, because the shell would helpfully expand /? to e.g. /n.
      
      Make sure this doesn't happen by adding quotes.
      
      llvm-svn: 187295
      94478097
    • Craig Topper's avatar
      Fix formatting. No functional change. · 18243fb5
      Craig Topper authored
      llvm-svn: 187294
      18243fb5
    • Aaron Ballman's avatar
      Using the function pointer instead of the function type; this allows us to... · a5e9c5b8
      Aaron Ballman authored
      Using the function pointer instead of the function type; this allows us to re-enable a warning in MSVC by default.
      
      llvm-svn: 187292
      a5e9c5b8
    • Hans Wennborg's avatar
      clang-cl: add support for the /? and /help options · 6ddc6901
      Hans Wennborg authored
      This establishes a new Flag in Options.td, which can be assigned to
      options that should be made available in clang's cl.exe compatible
      mode, and updates the Driver to make use of the flag.
      
      (The whitespace change to CMakeLists forces the build to re-run CMake
       and pick up the include dependency on the new .td file. This makes the
       build work if someone moves backwards in commit history after this change.)
      
      Differential Revision: http://llvm-reviews.chandlerc.com/D1215
      
      llvm-svn: 187280
      6ddc6901
    • Eli Friedman's avatar
      Don't build expressions for invalid casts. · 3fd26b85
      Eli Friedman authored
      This matches how we normally perform semantic analysis for other sorts
      of invalid expressions: it means we don't have to reason about invalid
      sub-expressions.
      
      Fixes PR16680.
      
      llvm-svn: 187276
      3fd26b85
    • Richard Smith's avatar
      Handle a difference in lambda return type deduction between C++11 and C++1y: if · 1836e600
      Richard Smith authored
      no return type is specified, C++11 will deduce a cv-qualified return type in
      some cases, but C++1y never will.
      
      llvm-svn: 187275
      1836e600
    • Richard Smith's avatar
      PR16708: If a lambda has an implicit return type, don't get confused if its... · fff92667
      Richard Smith authored
      PR16708: If a lambda has an implicit return type, don't get confused if its return type has already been determined to be a type containing an 'auto'.
      
      llvm-svn: 187266
      fff92667
  6. Jul 26, 2013
Loading