Revert "libclang: fix a bug in processing invalid arguments, introduced in r201249,"

Reverting commit (201346) for now, because it is breaking our internal builds.

llvm-svn: 201373
This commit is contained in:
Juergen Ributzka 2014-02-13 23:34:54 +00:00
parent e98008cc58
commit c67c93d031
5 changed files with 11 additions and 57 deletions

View File

@ -2686,11 +2686,6 @@ static void clang_parseTranslationUnit_Impl(void *UserData) {
unsigned options = PTUI->options;
CXTranslationUnit *out_TU = PTUI->out_TU;
// Set up the initial return values.
if (out_TU)
*out_TU = NULL;
PTUI->result = CXError_Failure;
// Check arguments.
if (!CIdx || !out_TU ||
(unsaved_files == NULL && num_unsaved_files != 0)) {
@ -2698,6 +2693,10 @@ static void clang_parseTranslationUnit_Impl(void *UserData) {
return;
}
// Set up the initial return values.
*out_TU = NULL;
PTUI->result = CXError_Failure;
CIndexer *CXXIdx = static_cast<CIndexer *>(CIdx);
if (CXXIdx->isOptEnabled(CXGlobalOpt_ThreadBackgroundPriorityForIndexing))
@ -2827,8 +2826,12 @@ clang_parseTranslationUnit(CXIndex CIdx,
CIdx, source_filename, command_line_args, num_command_line_args,
unsaved_files, num_unsaved_files, options, &TU);
(void)Result;
assert((TU && Result == CXError_Success) ||
(!TU && Result != CXError_Success));
// FIXME: This probably papers over a problem. If the result is not success,
// no TU should be set.
if (Result != CXError_Success)
return 0;
return TU;
}

View File

@ -14,7 +14,7 @@ ifndef CLANG_LEVEL
IS_UNITTEST_LEVEL := 1
CLANG_LEVEL := ..
PARALLEL_DIRS = Basic Lex Driver libclang
PARALLEL_DIRS = Basic Lex Driver
include $(CLANG_LEVEL)/../..//Makefile.config

View File

@ -1,7 +0,0 @@
add_clang_unittest(libclangTests
LibclangTest.cpp
)
target_link_libraries(libclangTests
libclang
)

View File

@ -1,17 +0,0 @@
//===- unittests/libclang/LibclangTest.cpp --- libclang tests -------------===//
//
// The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
#include "clang-c/Index.h"
#include "gtest/gtest.h"
TEST(libclang, TestInvalidArgs) {
EXPECT_EQ(CXError_InvalidArguments,
clang_parseTranslationUnit2(0, 0, 0, 0, 0, 0, 0, 0));
}

View File

@ -1,25 +0,0 @@
##===- unittests/libclang/Makefile -------------------------*- Makefile -*-===##
#
# The LLVM Compiler Infrastructure
#
# This file is distributed under the University of Illinois Open Source
# License. See LICENSE.TXT for details.
#
##===----------------------------------------------------------------------===##
CLANG_LEVEL = ../..
TESTNAME = libclang
include $(CLANG_LEVEL)/../../Makefile.config
LINK_COMPONENTS := $(TARGETS_TO_BUILD) asmparser bitreader support mc option
# Note that 'USEDLIBS' must include all of the core clang libraries
# when -static is given to linker on cygming.
USEDLIBS = clang.a \
clangIndex.a clangFormat.a clangRewriteCore.a \
clangFrontend.a clangDriver.a \
clangTooling.a \
clangSerialization.a clangParse.a clangSema.a \
clangAnalysis.a clangEdit.a clangAST.a clangLex.a \
clangBasic.a
include $(CLANG_LEVEL)/unittests/Makefile