summaryrefslogtreecommitdiffstats
path: root/clang
Commit message (Collapse)AuthorAgeFilesLines
* [Mips] Do not detect a used MIPS toolchain. Build a path suffix for FSFSimon Atanasyan2013-11-262-51/+47
| | | | | | | toolchain first and check the path existence. If the path does not exist build and check a path suffix for Code Sourcery toolchain. llvm-svn: 195751
* [Mips] Call findMIPSABIDirSuffix() for MIPS targets only.Simon Atanasyan2013-11-261-4/+2
| | | | llvm-svn: 195750
* Fix crash in getStringSplit.Alexander Kornienko2013-11-263-7/+19
| | | | | | | | | | | | | | | | Summary: getStringSplit used to crash, when trying to split a long string literal containing both printable and unprintable multi-byte UTF-8 characters. Reviewers: djasper, klimek Reviewed By: djasper CC: cfe-commits, klimek Differential Revision: http://llvm-reviews.chandlerc.com/D2268 llvm-svn: 195728
* Remove some unused localsAlp Toker2013-11-262-3/+1
| | | | llvm-svn: 195714
* Unbreak -fms-extensions with GNU libc headersAlp Toker2013-11-264-4/+35
| | | | | | | | | | | | | GNU libc uses '__uptr' as a member name in C mode, conflicting with the eponymous MSVC pointer modifier keyword. Detect and mark the token as an identifier when these specific conditions are met. __uptr will continue to work as a keyword for the remainder of the translation unit. Fixes PR17824. llvm-svn: 195710
* Fix buildbot.Richard Smith2013-11-261-1/+1
| | | | llvm-svn: 195703
* Clang format VS plugin: update build prerequisites in the READMEHans Wennborg2013-11-251-1/+2
| | | | llvm-svn: 195690
* PR18044: Reject declarations of enumtype::X early to avoid an assertion inRichard Smith2013-11-252-1/+15
| | | | | | downstream code. llvm-svn: 195687
* Make the integrated assembler the default for cygwin/mingw too.Rafael Espindola2013-11-254-13/+18
| | | | | | | The integrated assembler was already the default for win32. It is now able to handle a clang bootstrap on mingw, so make it the default. llvm-svn: 195676
* Making type_tag_for_datatype consistent with its declared subject from ↵Aaron Ballman2013-11-252-2/+8
| | | | | | | | Attr.td. Also updated the related testcase. Reviewed by Dmitri Gribenko. llvm-svn: 195675
* Fix test failure on targets where size_t is unsigned int.Richard Smith2013-11-251-1/+1
| | | | llvm-svn: 195673
* [-cxx-abi microsoft] Create backrefs for <unnamed-type-`id'>David Majnemer2013-11-252-16/+26
| | | | | | | | | | | | | | | It wasn't possible for an anonymous type to show up inside of function arguments. However, decltype (which MSVC added support for in 2010) makes this possible. Further, backrefs to these anonymous types can now be formed. This fixes PR18022. N.B. We do not, and very likely _will not_, support MSVC's bug where subsequent typedefs of anonymous types leak into the linkage name; this is a gross violation of the ABI. A warning should be introduced to inform our users of this particular shortcoming. llvm-svn: 195669
* Another pass at adding missing matchers into the registry.Samuel Benzaquen2013-11-251-0/+15
| | | | | | | | | | | | Summary: Another pass at adding missing matchers into the registry. Reviewers: klimek CC: cfe-commits, revane, klimek Differential Revision: http://llvm-reviews.chandlerc.com/D2253 llvm-svn: 195647
* [ARM] Enable FeatureMP for Cortex-A5 by default.Amara Emerson2013-11-251-0/+22
| | | | | | Patch by Oliver Stannard. llvm-svn: 195641
* clang-format: Fix formatting of empty files (fixes c-index-tests).Daniel Jasper2013-11-251-2/+3
| | | | llvm-svn: 195638
* clang-format: Refactor calculation of lines intersecting with -lines.Daniel Jasper2013-11-254-77/+124
| | | | | | | | No functional changes intended. However, it seems to have found a buggy behavior in one of the tests. I think this structure is generally desirable and it will make a planned bugfix significantly easier. llvm-svn: 195634
* Tests for core issues 270-300.Richard Smith2013-11-253-26/+322
| | | | llvm-svn: 195626
* Take cv-qualifiers on fields of class type into account when determiningRichard Smith2013-11-256-3/+57
| | | | | | whether a defaulted special member function should be deleted. llvm-svn: 195620
* SemaDeclAttr.cpp: Try to fix a warning [-Wunnamed-type-template-args]NAKAMURA Takumi2013-11-251-1/+1
| | | | llvm-svn: 195589
* Add heading and remove leftover personal email addressesAlp Toker2013-11-252-7/+9
| | | | | | | | | | | | | | clang's attribute support is mature by now so replace Sean's warning and email address with a standard LLVM copyright heading. Also remove a personal email address and credit docstring from CGObjCGNU that shouldn't have been there. This is in line with the LLVM developer policy introduced in r45410. Contributors can add themselves to CREDITS.txt while active module owners are listed in CODE_OWNERS.TXT. llvm-svn: 195587
* remove gcc::PrecompileRafael Espindola2013-11-244-22/+0
| | | | | | | | | | | | | | | Clang still has support for running gcc for performing various stages of a build. Right now it looks like this is used for * Supporting Fortran in the clang driver * Running an assembler or linker in systems we don't yet know how to run them directly. It looks like the gcc::Precompile is a vestige from the days when we supported using clang for C and running gcc for c++. This patch removes it (yes, we have no tests for it). llvm-svn: 195586
* Remove the Darwin_Generic_GCC toolchain.Rafael Espindola2013-11-243-26/+1
| | | | | | | | | | | This is currently unused by any test. The code path would still be hit by clang on ppc, but * PPC has not been supported on current versions of OS X * A port of current clang to older OS X on ppc should be using toolchains::DarwinClang. llvm-svn: 195585
* Switching the common attribute over to using the generic diagnostic, and ↵Aaron Ballman2013-11-243-4/+3
| | | | | | removing the now-unused diagnostic. Updates a test case. llvm-svn: 195581
* __declspec(uuid) is only supported for C++ code according to MSDN (as well ↵Aaron Ballman2013-11-243-4/+17
| | | | | | as behaviorally in MSVC). This adds a generic diagnostic that we use for uuid, and can use for some other attributes as well, and adds a testcase. llvm-svn: 195580
* __declspec(uuid) is only allowed on a class according to MSDN; this makes ↵Aaron Ballman2013-11-242-1/+7
| | | | | | the semantic checking consistent with what the attribute specifies in Attr.td. Also adds a test case. llvm-svn: 195579
* Making some attribute diagnostics more consistent. Removes a newly-unused ↵Aaron Ballman2013-11-244-5/+10
| | | | | | | | diagnostic. Reviewed by Fariborz Jahanian llvm-svn: 195578
* Parse Microsoft __declspec appearing after class bodyAlp Toker2013-11-242-0/+12
| | | | | | | | | | MSVC applies these to the following declaration only if present, otherwise silently ignores them whereas we'll issue a warning. Handling differs from ordinary attributes appearing in the same place, so add a Sema test to make sure we get it right. llvm-svn: 195577
* [test] Add test case I forgot to add for r195564.Argyrios Kyrtzidis2013-11-241-0/+10
| | | | llvm-svn: 195572
* [Parser] Unbreak parsing with incremental parsing enabled and add a ↵Argyrios Kyrtzidis2013-11-242-3/+33
| | | | | | unit-test for it. llvm-svn: 195564
* Fix a typo: "SLocEnty" should read "SLocEntry".James Dennett2013-11-242-2/+2
| | | | llvm-svn: 195563
* Use specific_attr_iterator to tighten loop over ObjCSuppressProtocolAttrs.Ted Kremenek2013-11-231-8/+4
| | | | llvm-svn: 195561
* Remove optional parameter bit from attribute ObjCSuppressProtocol.Ted Kremenek2013-11-233-5/+4
| | | | | | This refines some diagnostics and reduces some boilerplate checking logic. llvm-svn: 195560
* Move logic to check if a class is tagged with objc_suppress_protocol_methods ↵Ted Kremenek2013-11-232-12/+22
| | | | | | into a helper. llvm-svn: 195559
* Fix a SSE2 intrinsics typoAlp Toker2013-11-231-1/+1
| | | | | | | | | | | Full discourse at: http://lists.cs.uiuc.edu/pipermail/cfe-commits/Week-of-Mon-20131104/092514.html http://lists.cs.uiuc.edu/pipermail/llvmdev/2013-November/068124.html Patch by Dimitry Andric and Alexey Dokuchaev! llvm-svn: 195558
* [CodeGen] If there is a function definition with duplicate mangled name, ↵Argyrios Kyrtzidis2013-11-232-0/+6
| | | | | | | | emit an error instead of asserting. rdar://15522601 & http://llvm.org/PR18031 llvm-svn: 195556
* clang-format: Support Qt's slot access specifiers.Daniel Jasper2013-11-232-0/+7
| | | | | | This fixes llvm.org/PR17241. llvm-svn: 195555
* Don't use the gcc driver for assembling.Rafael Espindola2013-11-237-45/+12
| | | | | | | | | Clang knows how to use the gnu assembler directly from doing so on linux and hurd. The existing support worked out of the box on cygwin and mingw and I was able to bootstrap clang with it in both systems (with pending patches for the new mingw abi, but that is independent of the assembler). llvm-svn: 195554
* clang-format: Fix incorrect space in parameters named by comment.Daniel Jasper2013-11-232-2/+3
| | | | | | | | | | | | This fixes llvm.org/PR17979. Before: void f() { g(/*aaa=*/x, /*bbb=*/ !y); } After: void f() { g(/*aaa=*/x, /*bbb=*/!y); } llvm-svn: 195553
* clang-format: The "<" of a template argument is not a binary operator.Daniel Jasper2013-11-232-1/+5
| | | | | | | | | | | | | | | With Style.BreakBeforeBinaryOperators, clang-format breaks incorrectly. This fixes llvm.org/PR17994. Before: return boost::fusion::at_c<0>(iiii).second == boost::fusion::at_c <1>(iiii).second; After: return boost::fusion::at_c<0>(iiii).second == boost::fusion::at_c<1>(iiii).second; llvm-svn: 195552
* Don't pass +soft-float, +soft-float-abi to the arm assembler.Rafael Espindola2013-11-232-14/+31
| | | | llvm-svn: 195551
* clang-format: Fix bug in ObjC method declaration formatting.Daniel Jasper2013-11-232-1/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Also disallow breaking between "@" and "{" or "[". Before: - (NSAttributedString *)attributedStringForSegment:(NSUInteger)segment index:(NSUInteger)index attributes:(NSDictionary *)attributes nonDigitAttributes:(NSDictionary *) nonDigitAttributes; [mailComposeViewController setToRecipients:@ [ NSBundle.mainBundle.infoDictionary[@"ABBFeedbackEmail"] ]]; After: - (NSAttributedString *)attributedStringForSegment:(NSUInteger)segment index:(NSUInteger)index attributes:(NSDictionary *)attributes nonDigitAttributes: (NSDictionary *)nonDigitAttributes; [mailComposeViewController setToRecipients: @[ NSBundle.mainBundle.infoDictionary[@"ABBFeedbackEmail"] ]]; This fixes llvm.org/PR18030. llvm-svn: 195550
* Enable non-fragile ABI for the ObjFW runtimeBenjamin Kramer2013-11-231-1/+1
| | | | | | | | | | | | The following patch enables the non-fragile ABI for the ObjFW runtime. However, I noticed that it is not possible anymore to disable it with -fno-objc-nonfragile-abi like it was before. I think this functionality should be restored, but I guess this is not in scope for 3.4 anymore. Patch by Jonathan Schleifer! llvm-svn: 195547
* clang-format: Prefer column layout if possible.Daniel Jasper2013-11-232-1/+12
| | | | | | | | | | | | | | | | | | | | | | | | | Add a severe penalty for not using column layout for braced lists. If there are solutions with column layout, these are generally preferable over bin-packed solutions. Before: std::vector<MyValues> aaaaaaaaaaaaaaaaaaa{ aaaaaaa, aaaaaaaaaa, aaaaa, aaaaaaaaaaaaaaa, aaa, aaaaaaaaaa, a, aaaaaaaaaaaaaaaaaaaaa, aaaaaaaaaaaa, aaaaaaaaaaaaaaaaaaa + aaaaaaaaaaaaaaaaaaa, aaaaaaa, a }; After: std::vector<MyValues> aaaaaaaaaaaaaaaaaaa{ aaaaaaa, aaaaaaaaaa, aaaaa, aaaaaaaaaaaaaaa, aaa, aaaaaaaaaa, a, aaaaaaaaaaaaaaaaaaaaa, aaaaaaaaaaaa, aaaaaaaaaaaaaaaaaaa + aaaaaaaaaaaaaaaaaaa, aaaaaaa, a }; llvm-svn: 195546
* Fix module name collision in tests.Richard Smith2013-11-232-6/+6
| | | | llvm-svn: 195545
* Generate a marker token when entering or leaving a submodule when building aRichard Smith2013-11-2321-71/+206
| | | | | | | | | module. Use the marker to diagnose cases where we try to transition between submodules when not at the top level (most likely because a closing brace was missing at the end of a header file, but is also possible if submodule headers attempt to do something fundamentally non-modular, like our .def files). llvm-svn: 195543
* Add Distance parameter to ASTNodeKind::isBaseOf.Peter Collingbourne2013-11-233-6/+29
| | | | | | | | This will allow the completer to order results by relevance. Differential Revision: http://llvm-reviews.chandlerc.com/D2209 llvm-svn: 195540
* Rename *MatcherCreateCallback to *MatcherDescriptor, and its member run() to ↵Peter Collingbourne2013-11-233-72/+71
| | | | | | | | | | | create(). The new names will be more appropriate when the objects are taught to return type information for the code completer. Differential Revision: http://llvm-reviews.chandlerc.com/D2208 llvm-svn: 195539
* Split registry matcher resolution into a lookup phase and a construction phase.Peter Collingbourne2013-11-236-37/+115
| | | | | | | | The looked-up matchers will be used during code completion. Differential Revision: http://llvm-reviews.chandlerc.com/D2207 llvm-svn: 195534
* Add back experimental attribute objc_suppress_protocol_methods (slightly ↵Ted Kremenek2013-11-236-5/+137
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | renamed). This is still an experimental attribute, but I wanted it in tree for review. It may still get yanked. This attribute can only be applied to a class @interface, not a class extension or category. It does not change the type system rules for Objective-C, but rather the implementation checking for Objective-C classes that explicitly conform to a protocol. During protocol conformance checking, clang recursively searches up the class hierarchy for the set of methods that compose a protocol. This attribute will cause the compiler to not consider the methods contributed by a super class, its categories, and those from its ancestor classes. Thus this attribute is used to force subclasses to redeclare (and hopefully re-implement) methods if they decide to explicitly conform to a protocol where some of those methods may be provided by a super class. This attribute intentionally leaves out properties, which are associated with state. This attribute only considers methods (at least right now) that are non-property accessors. These represent methods that "do something" as dictated by the protocol. This may be further refined, and this should be considered a WIP until documentation gets written or this gets removed. llvm-svn: 195533
* Change ObjCIntefaceDecl::lookupMethod() to have optional 'followsSuper' ↵Ted Kremenek2013-11-233-20/+42
| | | | | | | | | | | | | | argument. This enables a micro-optimization in protocol conformance checking to not examine the class hierarchy twice per method. As part of this change, remove the default arguments from lookupInstanceMethod() and lookupClassMethod(). It was becoming very redundant. For clients needing the default arguments, have them use the full API instead of these convenience methods. llvm-svn: 195532
OpenPOWER on IntegriCloud