Skip to content
  1. Apr 22, 2010
    • Douglas Gregor's avatar
      Whenever we complain about a failed initialization of a function or · 4f4946aa
      Douglas Gregor authored
      method parameter, provide a note pointing at the parameter itself so
      the user does not have to manually look for the function/method being
      called and match up parameters to arguments. For example, we now get:
      
      t.c:4:5: warning: incompatible pointer types passing 'long *' to
      parameter of
            type 'int *' [-pedantic]
        f(long_ptr);
          ^~~~~~~~
      t.c:1:13: note: passing argument to parameter 'x' here
      void f(int *x);
                  ^
      
      llvm-svn: 102038
      4f4946aa
    • Anders Carlsson's avatar
      Remove an unused declaration. · 3eeb741e
      Anders Carlsson authored
      llvm-svn: 102037
      3eeb741e
    • Dan Gohman's avatar
      When computing the alignof value for a vector type, ensure that · ef78c8eb
      Dan Gohman authored
      the alignment is a power of 2, even in the esoteric case of a
      vector element which does not have a power-of-2 sizeof value.
      
      llvm-svn: 102036
      ef78c8eb
    • Douglas Gregor's avatar
      Switch the initialization of Objective-C message parameters (as occurs · 6b7f12c0
      Douglas Gregor authored
      during message sends) over to the new initialization code and away
      from the C-only CheckSingleAssignmentConstraints. The enables the use
      of C++ types in method parameters and message arguments, as well as
      unifying more initialiation code overall.
      
      llvm-svn: 102035
      6b7f12c0
    • Jakob Stoklund Olesen's avatar
      Run LiveVariables instead of computing liveness locally in -regalloc=fast. · 14b1d758
      Jakob Stoklund Olesen authored
      This actually makes everything slower, but the plan is to have isel add <kill>
      flags the way it is already adding <dead> flags. Then LiveVariables can be
      removed again.
      
      When ignoring the time spent in LiveVariables, -regalloc=fast is now twice as
      fast as -regalloc=local.
      
      llvm-svn: 102034
      14b1d758
    • Devang Patel's avatar
      Encode field accessibility. · b9ab3096
      Devang Patel authored
      llvm-svn: 102033
      b9ab3096
    • Nick Kledzik's avatar
      improve arm build support on darwin · 26274da3
      Nick Kledzik authored
      llvm-svn: 102032
      26274da3
    • Douglas Gregor's avatar
      Implement parsing for message sends in Objective-C++. Message sends in · 8d4de67e
      Douglas Gregor authored
      Objective-C++ have a more complex grammar than in Objective-C
      (surprise!), because
      
        (1) The receiver of an instance message can be a qualified name such
        as ::I or identity<I>::type.
        (2) Expressions in C++ can start with a type.
      
      The receiver grammar isn't actually ambiguous; it just takes a bit of
      work to parse past the type before deciding whether we have a type or
      expression. We do this in two places within the grammar: once for
      message sends and once when we're determining whether a []'d clause in
      an initializer list is a message send or a C99 designated initializer.
      
      This implementation of Objective-C++ message sends contains one known
      extension beyond GCC's implementation, which is to permit a
      typename-specifier as the receiver type for a class message, e.g.,
      
        [typename compute_receiver_type<T>::type method];
      
      Note that the same effect can be achieved in GCC by way of a typedef,
      e.g.,
      
        typedef typename computed_receiver_type<T>::type Computed;
        [Computed method];
      
      so this is merely a convenience.
      
      Note also that message sends still cannot involve dependent types or
      values.
      
      llvm-svn: 102031
      8d4de67e
    • Nick Kledzik's avatar
      8e7ebea0
  2. Apr 21, 2010
Loading