Skip to content

Commit aa2075a

Browse files
Merge from 'master' to 'sycl-web' (intel#23)
CONFLICT (content): Merge conflict in clang/utils/TableGen/TableGen.cpp
2 parents 341d71d + 454579e commit aa2075a

File tree

126 files changed

+2415
-1053
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

126 files changed

+2415
-1053
lines changed

Diff for: clang-tools-extra/clangd/refactor/Rename.cpp

+5
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,7 @@ enum class ReasonToReject {
123123

124124
// name validation.
125125
RenameToKeywords,
126+
SameName,
126127
};
127128

128129
llvm::Optional<ReasonToReject> renameable(const NamedDecl &RenameDecl,
@@ -213,6 +214,8 @@ llvm::Error makeError(ReasonToReject Reason) {
213214
return "there are multiple symbols at the given location";
214215
case ReasonToReject::RenameToKeywords:
215216
return "the chosen name is a keyword";
217+
case ReasonToReject::SameName:
218+
return "new name is the same as the old name";
216219
}
217220
llvm_unreachable("unhandled reason kind");
218221
};
@@ -556,6 +559,8 @@ llvm::Expected<RenameResult> rename(const RenameInputs &RInputs) {
556559
return makeError(ReasonToReject::AmbiguousSymbol);
557560
const auto &RenameDecl =
558561
llvm::cast<NamedDecl>(*(*DeclsUnderCursor.begin())->getCanonicalDecl());
562+
if (RenameDecl.getName() == RInputs.NewName)
563+
return makeError(ReasonToReject::SameName);
559564
auto Invalid = checkName(RenameDecl, RInputs.NewName);
560565
if (Invalid)
561566
return makeError(*Invalid);

Diff for: clang-tools-extra/clangd/test/remote-index/pipeline_helper.py

+7
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ def main():
3636
s.bind(('localhost', 0))
3737
server_address = 'localhost:' + str(s.getsockname()[1])
3838

39+
print('Initializing clangd-index-server...', file=sys.stderr)
3940
index_server_process = subprocess.Popen([
4041
'clangd-index-server', '--server-address=' + server_address,
4142
args.index_file, args.project_root
@@ -53,21 +54,27 @@ def main():
5354
found_init_message = False
5455
while index_server_process.poll() is None:
5556
if b'Server listening' in index_server_process.stderr.readline():
57+
print('Server initialization complete.', file=sys.stderr)
5658
found_init_message = True
5759
break
5860

5961
if not found_init_message:
62+
print('Server initialization failed. Shutting down.', file=sys.stderr)
6063
sys.exit(1)
6164

6265
in_file = open(args.input_file_name)
6366

67+
print('Staring clangd...', file=sys.stderr)
6468
clangd_process = subprocess.Popen([
6569
'clangd', '--remote-index-address=' + server_address,
6670
'--project-root=' + args.project_root, '--lit-test', '--sync'
6771
],
6872
stdin=in_file)
6973

7074
clangd_process.wait()
75+
print(
76+
'Clangd executed successfully, shutting down child processes.',
77+
file=sys.stderr)
7178
index_server_process.kill()
7279

7380

Diff for: clang-tools-extra/clangd/unittests/RenameTests.cpp

+10-3
Original file line numberDiff line numberDiff line change
@@ -774,6 +774,13 @@ TEST(RenameTest, Renameable) {
774774
}
775775
)cpp",
776776
nullptr, !HeaderFile, nullptr, "Conflict"},
777+
778+
{R"cpp(// Trying to rename into the same name, SameName == SameName.
779+
void func() {
780+
int S^ameName;
781+
}
782+
)cpp",
783+
"new name is the same", !HeaderFile, nullptr, "SameName"},
777784
};
778785

779786
for (const auto& Case : Cases) {
@@ -876,23 +883,23 @@ TEST(RenameTest, PrepareRename) {
876883

877884
auto Results = runPrepareRename(Server, FooCCPath, FooCC.point(),
878885
/*NewName=*/llvm::None, {/*CrossFile=*/true});
879-
// verify that for multi-file rename, we only return main-file occurrences.
886+
// Verify that for multi-file rename, we only return main-file occurrences.
880887
ASSERT_TRUE(bool(Results)) << Results.takeError();
881888
// We don't know the result is complete in prepareRename (passing a nullptr
882889
// index internally), so GlobalChanges should be empty.
883890
EXPECT_TRUE(Results->GlobalChanges.empty());
884891
EXPECT_THAT(FooCC.ranges(),
885892
testing::UnorderedElementsAreArray(Results->LocalChanges));
886893

887-
// verify name validation.
894+
// Name validation.
888895
Results =
889896
runPrepareRename(Server, FooCCPath, FooCC.point(),
890897
/*NewName=*/std::string("int"), {/*CrossFile=*/true});
891898
EXPECT_FALSE(Results);
892899
EXPECT_THAT(llvm::toString(Results.takeError()),
893900
testing::HasSubstr("keyword"));
894901

895-
// single-file rename on global symbols, we should report an error.
902+
// Single-file rename on global symbols, we should report an error.
896903
Results = runPrepareRename(Server, FooCCPath, FooCC.point(),
897904
/*NewName=*/llvm::None, {/*CrossFile=*/false});
898905
EXPECT_FALSE(Results);

Diff for: clang/include/clang/CMakeLists.txt

+1
Original file line numberDiff line numberDiff line change
@@ -5,3 +5,4 @@ add_subdirectory(Parse)
55
add_subdirectory(Sema)
66
add_subdirectory(Serialization)
77
add_subdirectory(StaticAnalyzer/Checkers)
8+
add_subdirectory(Tooling/Syntax)

Diff for: clang/include/clang/Tooling/Syntax/CMakeLists.txt

+4
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
clang_tablegen(Nodes.inc -gen-clang-syntax-node-list
2+
SOURCE Nodes.td
3+
TARGET ClangSyntaxNodeList)
4+

0 commit comments

Comments
 (0)