aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2012-09-26Make our mini-stdint.h platform-independent by using predefined macros.Jordan Rose
This also adds a definition for uint64_t, which was causing build failures on some platforms. (I'm actually surprised this didn't happen on more builders, but maybe the search paths are different.) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164706 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-26[libclang] Remove the ParentKind cursor kind from code-completion results.Argyrios Kyrtzidis
This is to reduce dependency to cursors for the code-completion results. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164705 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-26Have ASTUnit::Save() return a bool to indicate save error.Argyrios Kyrtzidis
Removes a dependency of ASTUnit to clang-c/Index.h. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164704 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-26Fix build failure and enhance the testcase for unwind.h.Logan Chien
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164683 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-26Run test in a freestanding environment so it doesn't accidentally pick up ↵Benjamin Kramer
system headers for the wrong target. While there add a test that verifies that the header parses in C++ mode. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164679 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-26Fix two more tests that didn't do anything.Nico Weber
Found with find test -type f | xargs grep RUN: | grep '%clang' | grep -iv '%s' | grep -v '%t' | grep -v '\\$' git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164678 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-26Make this test actually test somethingNico Weber
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164677 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-26Revert r163022, it caused PR13924.Nico Weber
Add a test for PR13924. Do not revert the test added in r163022, it surprisingly still passes even after reverting the code changes. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164672 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-26Add struct keyword before _Unwind_Context.Logan Chien
In the C programming language, we have to add the "struct" keyword. Otherwise, the compiler will emit error message. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164665 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-26Remove unnecessary ASTContext& parameter from SymExpr::getType().Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164661 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-26Add codegen support for the __debugbreak intrinsic.Nico Weber
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164660 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-26Fix an edge case of mangling involving the combination of a lambda and typeid.Eli Friedman
typeid (and a couple other non-standard places where we can transform an unevaluated expression into an evaluated expression) is special because it introduces an an expression evaluation context, which conflicts with the mechanism to compute the current lambda mangling context. PR12123. I would appreciate if someone would double-check that we get the mangling correct with this patch. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164658 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-26Fix the AST representation for non-type template arguments to encodeEli Friedman
enough information so we can mangle them correctly in cases involving dependent parameter types. (This specifically impacts cases involving null pointers and cases involving parameters of reference type.) Fix the mangler to use this information instead of trying to scavenge it out of the parameter declaration. <rdar://problem/12296776>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164656 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-26Teach Type::getAs<TemplateSpecializationType> that a TemplateSpecializationTypeRichard Smith
for a type alias template can appear as sugar at any level of desugaring, just like a TypedefType. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164655 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-25Update checker build.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164649 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-25[Options] Store the option ID in OptTable::Info.Michael J. Spencer
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164644 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-25Remove 'const' version of getBasicVals(), which is useless.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164643 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-25Rename CanFitInto64Bits to alwaysFitsInto64Bits per discussion on IRC.Jordan Rose
This makes the behavior clearer concerning literals with the maximum number of digits. For a 32-bit example, 4,000,000,000 is a valid uint32_t, but 5,000,000,000 is not, so we'd have to count 10-digit decimal numbers as "unsafe" (meaning we have to check for overflow when parsing them, just as we would for numbers with 11 digits or higher). This is the same, only with 64 bits to play with. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164639 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-25[driver] Add support for the -fno-fast-math option.Chad Rosier
rdar://12299433 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164638 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-25[libclang] Do a AST concurrency check in clang_indexTranslationUnit_Impl.Argyrios Kyrtzidis
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164626 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-25Improve upon r164450 and localize the logic of updating the type ofArgyrios Kyrtzidis
a function decl inside the ASTNodeImporter::VisitFunctionDecl function. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164625 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-25Optimize NumericLiteralParser::GetIntegerValue().Dmitri Gribenko
It does a conservative estimate on the size of numbers that can fit into uint64_t. This bound is improved. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164624 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-25[analyzer] Add tests for symbolic expression liveness.Jordan Rose
There are very few tests here because SValBuilder is fairly aggressive about not building SymExprs that we can't evaluate, which saves memory and CPU but also makes it very much tied to the current constraint manager. We should probably scale back here and let things decay to UnknownVal later on. bitwise-ops.c tests that for the SymExprs we do create, we persist our assumptions about them. traversal-path-unification.c tests that we do clean out constraints on arbitrary SymExprs once they have actually died. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164623 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-25Reapply "[analyzer] Remove constraints on dead symbols as part of ↵Jordan Rose
removeDeadBindings." Previously, we'd just keep constraints around forever, which means we'd never be able to merge paths that differed only in constraints on dead symbols. Because we now allow constraints on symbolic expressions, not just single symbols, this requires changing SymExpr::symbol_iterator to include intermediate symbol nodes in its traversal, not just the SymbolData leaf nodes. This depends on the previous commit to be correct. Originally applied in r163444, reverted in r164275, now being re-applied. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164622 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-25[analyzer] Calculate liveness for symbolic exprs as well as atomic symbols.Jordan Rose
No tests, but this allows the optimization of removing dead constraints. We can then add tests that we don't do this prematurely. <rdar://problem/12333297> Note: the added FIXME to investigate SymbolRegionValue liveness is tracked by <rdar://problem/12368183>. This patch does not change the existing behavior. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164621 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-25Under certain terrible circumstances (<rdar://problem/10805775>),Douglas Gregor
top-level frameworks can actually be symlinked over to embedded frameworks, and accessed via the top-level framework's headers. In this case, we need to determine that the framework was *actually* an embedded framework, so we can load the appropriate top-level module. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164620 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-25Macro history (de-)serialization. Deserialization currently reads only the ↵Alexander Kornienko
latest macro definition. Needs more work. Summary: Passes all tests (+ the new one with code completion), but needs a thorough review in part related to modules. Reviewers: doug.gregor Reviewed By: alexfh CC: cfe-commits, rsmith Differential Revision: http://llvm-reviews.chandlerc.com/D41 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164610 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-25Examine the last, not the first, instruction from the MC matcher.Bob Wilson
If an MS-style inline asm is matched to multiple instructions, e.g., with a a WAIT-prefix, then we need to examine the operands of the last instruction instruction, not the prefix instruction. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164608 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-25-iframework should allow separate arguments.Douglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164607 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-25Introduce builtin macros to determine whether we're building aDouglas Gregor
specific module (__building_module(modulename)) and to get the name of the current module as an identifier (__MODULE__). Used to help headers behave differently when they're being included as part of building a module. Oh, the irony. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164605 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-25A minor doc fix.Alexander Kornienko
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164601 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-25Fix failing test/Sema/wchar.c on ARM.Hans Wennborg
Currently Sema/wchar.c fails because WCHAR_T_TYPE is defined as int, however on ARM wchar_t is unsigned int. This patch changes that, so this test passes for ARM. Patch by Joey Gouly! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164598 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-25When performing a ::delete of an object with a virtual destructor,John McCall
be sure to delete the complete object pointer, not the original pointer. This is necessary if the base being deleted is at a non-zero offset in the complete object. This is only required for objects with virtual destructors because deleting an object via a base-class subobject when the base does not have a virtual destructor is undefined behavior. Noticed while reviewing the last four years of cxx-abi-dev activity. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164597 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-25clang/test/CodeGenCXX/microsoft-*: Fix for -Asserts.NAKAMURA Takumi
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164594 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-25Implement Mike Herrick's proposed noexcept mangling.John McCall
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164593 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-25In the MS ABI, ctors return 'this'. Patch by Dmitry Sokolov.John McCall
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164592 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-25Add the Microsoft __is_interface_class type trait.John McCall
Patch by Andy Gibbs! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164591 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-25Fix for r163013 regression and further __interface enhancement.John McCall
Patch by Andy Gibbs! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164590 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-25During jump-scope checking, build an ExprWithCleanups immediatelyJohn McCall
into the enclosing scope; this is a more accurate model but is (I believe) unnecessary in my test case due to other flaws. However, one of those flaws is now intentional: blocks which appear in return statements can be trivially observed to not extend in lifetime past the return, and so we can allow a jump past them. Do the necessary magic in IR-generation to make this work. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164589 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-25Fix crash when a decltype expression in a trailing return type refers to theRichard Smith
function being instantiated. An error recovery codepath was recursively performing name lookup (and triggering an unbounded stack of template instantiations which blew out the stack before hitting the depth limit). Patch by Wei Pan! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164586 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-25Delete some code which is, as far as I can tell, dead.Eli Friedman
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164580 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-25[analyzer] Fix a buildbot crash triggered by turning on dynamicAnna Zaks
dispatch. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164579 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-25Don't produce diagnostics for missing ctor-initializers during templateRichard Smith
instantiations if we encountered errors parsing some of the initializers. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164578 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-24Handle C++ functional casts in a similar way to C-style casts inEli Friedman
unused expression warnings. <rdar://problem/12359208>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164569 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-24Update for r164567.Chad Rosier
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164568 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-24objective-C: use 'instance variables' as plural when referringFariborz Jahanian
to the feature. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164566 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-24objective-C: remove use of 'ivar' in favor ofFariborz Jahanian
'instance variable' in text of all diagnostics for objective-C: // rdar://12352442 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164559 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-24Add clarifying comment.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164557 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-24More tests for r164545 (change extension warning about 'long long').Dmitri Gribenko
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164556 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-24StringRef'ize Preprocessor::CreateString().Dmitri Gribenko
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164555 91177308-0d34-0410-b5e6-96231b3b80d8