8f257e74d3
This is the only way not to confuse the diagnostics engine of upgraded clang. Also, this gives us a few advantages: * We can compare more precisely the source locations of diagnostics; * We can merge the code completion code path which works with file entries; * We can rely better when specifying //expected-note-s in different files.
27 lines
919 B
C
27 lines
919 B
C
//------------------------------------------------------------------------------
|
|
// CLING - the C++ LLVM-based InterpreterG :)
|
|
//
|
|
// This file is dual-licensed: you can choose to license it under the University
|
|
// of Illinois Open Source License or the GNU Lesser General Public License. See
|
|
// LICENSE.TXT for details.
|
|
//------------------------------------------------------------------------------
|
|
|
|
// RUN: cat %s | %cling -Xclang -verify 2>&1 | FileCheck %s
|
|
|
|
#define BEGIN_NAMESPACE namespace test_namespace {
|
|
#define END_NAMESPACE }
|
|
|
|
.rawInput 1
|
|
|
|
BEGIN_NAMESPACE int j; END_NAMESPACE // expected-note {{previous definition is here}}
|
|
|
|
.storeState "testMacroExpansion"
|
|
BEGIN_NAMESPACE int j; END_NAMESPACE // expected-error {{redefinition of 'j'}}
|
|
.compareState "testMacroExpansion"
|
|
.rawInput 0
|
|
// CHECK-NOT: Differences
|
|
// Make FileCheck happy with having at least one positive rule:
|
|
int a = 5
|
|
// CHECK: (int) 5
|
|
.q
|