reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced
    1
    2
    3
    4
    5
    6
    7
    8
    9
   10
   11
   12
   13
   14
   15
   16
   17
   18
   19
   20
   21
   22
   23
   24
   25
   26
   27
   28
   29
   30
   31
   32
   33
   34
   35
   36
   37
   38
   39
   40
   41
   42
   43
   44
   45
   46
   47
   48
   49
   50
   51
   52
   53
   54
   55
   56
   57
   58
   59
   60
// RUN: %clang_cc1 -std=c++11 -fsyntax-only -verify %s

namespace PR23186 {
decltype(ned);  // expected-error-re {{use of undeclared identifier 'ned'{{$}}}}
// The code below was triggering an UNREACHABLE in ASTContext::getTypeInfoImpl
// once the above code failed to recover properly after making the bogus
// correction of 'ned' to 'new'.
template <typename>
struct S {
  enum { V };
  void f() {
    switch (0)
    case V:
      ;
  }
};
}

namespace PR23140 {
auto lneed = gned.*[] {};  // expected-error-re {{use of undeclared identifier 'gned'{{$}}}}

void test(int aaa, int bbb, int thisvar) {  // expected-note {{'thisvar' declared here}}
  int thatval = aaa * (bbb + thatvar);  // expected-error {{use of undeclared identifier 'thatvar'; did you mean 'thisvar'?}}
}
}

namespace PR18854 {
void f() {
  for (auto&& x : e) {  // expected-error-re {{use of undeclared identifier 'e'{{$}}}}
    auto Functor = [x]() {};
    long Alignment = __alignof__(Functor);
  }
}
}

namespace NewTypoExprFromResolvingTypoAmbiguity {
struct A {
  void Swap(A *other);
};

struct pair {
  int first;
  A *second;
};

struct map {
public:
  void swap(map &x);
  pair find(int x);
};

void run(A *annotations) {
  map new_annotations;

  auto &annotation = *annotations;
  auto new_it = new_annotations.find(5);
  auto &new_anotation = new_it.second;  // expected-note {{'new_anotation' declared here}}
  new_annotation->Swap(&annotation);  // expected-error {{use of undeclared identifier 'new_annotation'; did you mean 'new_anotation'?}}
}
}