Skip to content
  1. Jan 14, 2014
    • Hans Wennborg's avatar
      Remove the -cxx-abi command-line flag. · c9bd88e6
      Hans Wennborg authored
      This makes the C++ ABI depend entirely on the target: MS ABI for -win32 triples,
      Itanium otherwise. It's no longer possible to do weird combinations.
      
      To be able to run a test with a specific ABI without constraining it to a
      specific triple, new substitutions are added to lit: %itanium_abi_triple and
      %ms_abi_triple can be used to get the current target triple adjusted to the
      desired ABI. For example, if the test suite is running with the i686-pc-win32
      target, %itanium_abi_triple will expand to i686-pc-mingw32.
      
      Differential Revision: http://llvm-reviews.chandlerc.com/D2545
      
      llvm-svn: 199250
      c9bd88e6
  2. Dec 13, 2013
  3. Aug 15, 2013
  4. Apr 29, 2010
    • Douglas Gregor's avatar
      When determining a standard conversion sequence involves resolving the · 980fb16f
      Douglas Gregor authored
      address of an overloaded function (or function template), perform that
      resolution prior to determining the implicit conversion
      sequence. This resolution is not part of the implicit conversion
      sequence itself.
      
      Previously, we would always consider this resolution to be a
      function pointer decay, which was a lie: there might be an explicit &
      in the expression, in which case decay should not occur. This caused
      the CodeGen assertion in PR6973 (where we created a 
      pointer to a pointer to a function when we should have had a pointer
      to a function), but it's likely that there are corner cases of
      overload resolution where this would have failed.
      
      Cleaned up the code involved in determining the type that will
      produced afer resolving the overloaded function reference, and added
      an assertion to make sure the result is correct. Fixes PR6973.
      
      llvm-svn: 102650
      980fb16f
  5. Dec 15, 2009
  6. Oct 21, 2009
  7. Oct 17, 2009
    • Sebastian Redl's avatar
      When resolving the address of an overloaded function or function template,... · df4b80e7
      Sebastian Redl authored
      When resolving the address of an overloaded function or function template, mark the result as referenced.
      
      The most important effect of this is that function templates only referenced by address expressions now get instantiated. This, in turn, means that Hello World compiles with the Apache stdcxx library even when using endl.
      
      llvm-svn: 84363
      df4b80e7
    • Sebastian Redl's avatar
      Don't add implicit casts of explicit address-taking of overloaded functions. · fef1c0d5
      Sebastian Redl authored
      Taking the address of an overloaded function with an explicit address-of operator wrapped the operator in an implicit cast that added yet another pointer level, leaving us with a corrupted AST, which crashed CodeGen in the test case I've added. Fix this by making FixOverloadedFunctionReference return whether there was an address-of operator and not adding the implicit cast in that case.
      
      llvm-svn: 84362
      fef1c0d5
Loading