summaryrefslogtreecommitdiffstats
path: root/clang
Commit message (Collapse)AuthorAgeFilesLines
* Fix a trivial typo, add a FIXME to have more test coverage for VTableBuilderTimur Iskhodzhanov2013-06-281-1/+3
| | | | llvm-svn: 185159
* Use lexing mode based on FormatStyle.Standard.Alexander Kornienko2013-06-284-19/+31
| | | | | | | | | | | | | | | | | | | | | Summary: Some valid pre-C++11 constructs change meaning when lexed in C++11 mode, e.g. #define x(_a) printf("foo"_a); (example from http://llvm.org/bugs/show_bug.cgi?id=16342). "foo"_a is treated as a user-defined string literal when parsed in C++11 mode. In order to deal with this correctly, we need to set lexing mode according to which standard the code conforms to. We already have a configuration value for this (FormatStyle.Standard), which seems to be appropriate to use in this case as well. Reviewers: klimek CC: cfe-commits, gribozavr Differential Revision: http://llvm-reviews.chandlerc.com/D1028 llvm-svn: 185149
* Lazily deserialize function template specializations. This fixes a cycle inRichard Smith2013-06-284-15/+55
| | | | | | module deserialization / merging, and more laziness here is general goodness. llvm-svn: 185132
* Update for llvm::sys::fs::unique_file not creating directories.Rafael Espindola2013-06-282-14/+22
| | | | llvm-svn: 185127
* Delete dead code.Eli Friedman2013-06-282-40/+16
| | | | llvm-svn: 185119
* Switch Decl instantiation to DeclNodes.inc.Eli Friedman2013-06-272-56/+71
| | | | | | | | | This replaces a long list of declarations for visitor functions with a list generated from DeclNodes.inc. Nothing really interesting came out of it; we had comprehensive coverage anyway (excluding FriendTemplateDecls). llvm-svn: 185118
* Fix nested lifetime extension when a std::initializer_list member isRichard Smith2013-06-272-3/+41
| | | | | | initialized during aggregate initialization of the surrounding structure. llvm-svn: 185117
* Use the zero-argument DIBuilder::createNullPtrType in Clang.Peter Collingbourne2013-06-272-3/+2
| | | | | | Differential Revision: http://llvm-reviews.chandlerc.com/D1051 llvm-svn: 185115
* Ensure that debugger calls to signature-less functions default toJohn McCall2013-06-273-25/+89
| | | | | | | | | | | | | | | | | | | | | passing arguments in the fixed style. We have an abstraction for deciding this, but it's (1) deep in IR-generation, (2) necessarily tied to exact argument lists, and (3) triggered by unprototyped function types, which we can't legitimately make in C++ mode. So this solution, wherein Sema rewrites the function type to an exact prototype but leaves the variadic bit enabled so as to request x86-64-like platforms to pass the extra variadic info, is very much a hack, but it's one that works in practice on the platforms that LLDB will support in the medium term --- the only place we know of where it's a problem is instance methods in Windows, where variadic functions are implicitly cdecl. We may have a more abstracted base on which to build a solution by then. rdar://13731520 llvm-svn: 185112
* Revert "Revert r184787: "Added arm_neon intrinsic tests.""Michael Gottesman2013-06-271-0/+11624
| | | | | | | | | | This reverts commit r184817. The failure Chandler was seeing was most likely the bug that Bob Wilson fixed in r184870 (which was a bug caught by these tests). To be safe, I just checked again on x86-64 mac os x/linux that this test passed (which it did). llvm-svn: 185110
* Remove bogus VarDecl::extendsLifetimeOfTemporary function and inline it intoRichard Smith2013-06-273-29/+15
| | | | | | its only caller with a FIXME explaining why it's bogus. llvm-svn: 185109
* Remove unnecessary check.Eli Friedman2013-06-271-1/+1
| | | | llvm-svn: 185108
* Delete dead code.Eli Friedman2013-06-274-43/+0
| | | | llvm-svn: 185103
* Delete dead code.Eli Friedman2013-06-278-80/+6
| | | | llvm-svn: 185101
* Under -fms-extensions, only inject a friend tag name when we didn't see a ↵Douglas Gregor2013-06-272-3/+27
| | | | | | | | | | | | | | tag with that name in an enclosing scope. r177473 made us correctly consider only those declarations in the enclosing namespace scope when looking for a friend declaration. Under ms-extensions mode, where we do some level of friend injection, this meant that we were introducing a new tag type into a different scope than what Microsoft actually does. Address this by only doing the friend injection when we didn't see any tag with that name in any outer scope. Fixes <rdar://problem/14250378>. llvm-svn: 185100
* Simplify StmtIterator.Eli Friedman2013-06-272-70/+20
| | | | llvm-svn: 185098
* Small improvements to createOutputFile.Rafael Espindola2013-06-273-37/+53
| | | | | | | | * Use a single stat to find out if the file exists and if it is a regular file. * Use early returns when possible. * Add comments explaining why we have each check. llvm-svn: 185091
* Add support for passing v8fp options via -mfpu.Joey Gouly2013-06-273-1/+18
| | | | llvm-svn: 185075
* A bit of program simplification from r185056Larisse Voufo2013-06-272-4/+2
| | | | llvm-svn: 185058
* Fix a conversion to incomplete type bug -- The error message now ↵Larisse Voufo2013-06-274-7/+43
| | | | | | specifically states that the type is incomplete and points to the forward declaration of the incomplete type. llvm-svn: 185056
* Delete dead code.Eli Friedman2013-06-274-137/+1
| | | | llvm-svn: 185053
* Simplify code.Eli Friedman2013-06-261-39/+7
| | | | llvm-svn: 185042
* Handle all TemplateArguments in trivial TypeLocs.Eli Friedman2013-06-262-4/+39
| | | | | | | | | | | | Armed with a much better understanding of what TemplateSpecializationTypeLoc::initializeArgLocs actually does, I now understand that it's fine to just use an empty TemplateArgumentLocInfo for Integral, Declaration, and NullPtr TemplateArguments. Fixes PR14281. (The testcases are actually derived from libcxx_test in deduction-crash.cpp because the original testcase was impossible to reduce.) llvm-svn: 185038
* PR16467: Teach -Wunsequenced that in C11 (unlike C++11), an assignment'sRichard Smith2013-06-263-5/+102
| | | | | | | | side-effect is not sequenced before its value computation. Also fix a mishandling of ?: expressions where the condition is constant that was exposed by the tests for this. llvm-svn: 185035
* Sema: Small cleanup around TemplateParamListContextDavid Majnemer2013-06-261-2/+1
| | | | llvm-svn: 185029
* ObjectiveC: diagnose duplicate declaration ofFariborz Jahanian2013-06-262-0/+56
| | | | | | | private ivars in class extensions and class @implementation. // rdar://14278560 llvm-svn: 185025
* Don't use unnamed local enums as template arguments.Joerg Sonnenberger2013-06-265-10/+10
| | | | | | Fixes -Werror bootstrap. llvm-svn: 185023
* This patch fixes PR16395, when HandleMSProperty returns null due to a ↵Aaron Ballman2013-06-262-19/+24
| | | | | | | | declaration with no name. Patch thanks to Robert Wilhelm. llvm-svn: 185022
* AST: small cleanup to FriendObjectKindDavid Majnemer2013-06-261-3/+3
| | | | llvm-svn: 185021
* Sync file handling logic in RewriterTestContext.h and RefactoringTest.cpp.Rafael Espindola2013-06-261-24/+18
| | | | | | | They are mostly duplicated and got out of sync during the PathV1 removal. We should factor the code somewhere, but for now a FIXME will do. llvm-svn: 185019
* Rewrite record layout for ms_struct structs.Eli Friedman2013-06-2611-329/+104
| | | | | | | | | | | | | | The old implementation of ms_struct in RecordLayoutBuilder was a complete mess: it depended on complicated conditionals which didn't really reflect the underlying logic, and placed a burden on users of the resulting RecordLayout. This commit rips out almost all of the old code, and replaces it with simple checks in RecordLayoutBuilder::LayoutBitField. This commit also fixes <rdar://problem/14252115>, a bug where class inheritance would cause us to lay out bitfields incorrectly. llvm-svn: 185018
* Updating the same comment in a different file, again for links. No ↵Aaron Ballman2013-06-261-2/+2
| | | | | | functional change intended. llvm-svn: 185014
* Updating a link in the comments; no functional change.Aaron Ballman2013-06-261-2/+2
| | | | llvm-svn: 185013
* Fix warning: commas at the end of enumerator lists are a C++11 extension ↵Nico Weber2013-06-261-1/+1
| | | | | | [-Wc++11-extensions] llvm-svn: 184972
* Add support for passing '-target armv8' through the Driver.Joey Gouly2013-06-265-2/+9
| | | | llvm-svn: 184970
* Match MSVC's handling of commas during macro argument expansionReid Kleckner2013-06-264-2/+28
| | | | | | | | | | | | This allows clang to parse the type_traits header in Visual Studio 2012, which is included widely in practice. This is a rework of r163022 by João Matos. The original patch broke preprocessing of gtest headers, which this patch addresses. Patch by Will Wilson! llvm-svn: 184968
* clang/test/Driver/pth.c: Fix r184942, a regexp like "\\\\" is redundant ↵NAKAMURA Takumi2013-06-261-2/+2
| | | | | | here. Should be matched to single \ with '\\'. llvm-svn: 184952
* Remove last use of PathV1.h from clang.Rafael Espindola2013-06-261-19/+25
| | | | | | | Instead of creating a temporary directory, remember the set of temporary files we create. llvm-svn: 184951
* We only create one file, no need to delete a directory.Rafael Espindola2013-06-261-8/+7
| | | | llvm-svn: 184949
* Remove unused header.Rafael Espindola2013-06-261-1/+0
| | | | llvm-svn: 184945
* Try to fix this test on the msys buildbot.Rafael Espindola2013-06-261-2/+2
| | | | llvm-svn: 184942
* Quieting an MSVC warning about converting negative integer constants to ↵Aaron Ballman2013-06-261-1/+1
| | | | | | unsigned types. llvm-svn: 184941
* Don't use PathV1.h in CIndexCodeCompletion.cpp.Rafael Espindola2013-06-261-3/+3
| | | | llvm-svn: 184940
* Remove dead include.Rafael Espindola2013-06-261-1/+0
| | | | llvm-svn: 184939
* Don't use PathV1.h in cc1as_main.cpp.Rafael Espindola2013-06-261-2/+2
| | | | llvm-svn: 184938
* Remove unused header.Rafael Espindola2013-06-261-1/+0
| | | | llvm-svn: 184937
* Remove unused include.Rafael Espindola2013-06-261-1/+0
| | | | llvm-svn: 184936
* clang/test/lit.cfg: Tweak getClangBuiltinIncludeDir() not to expose dosish ↵NAKAMURA Takumi2013-06-261-1/+5
| | | | | | | | | path separator on MSYS bash.exe, since r184774. $ bin/clang.exe -print-file-name=include e:/path/to/build/bin\..\lib\clang\3.4\include llvm-svn: 184930
* Remove unused include.Rafael Espindola2013-06-261-1/+0
| | | | llvm-svn: 184922
* Remove more uses of llvm::sys::Path.Rafael Espindola2013-06-261-26/+13
| | | | llvm-svn: 184921
OpenPOWER on IntegriCloud