- Nov 25, 2013
-
-
Daniel Jasper authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195638 91177308-0d34-0410-b5e6-96231b3b80d8
-
Daniel Jasper authored
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. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195634 91177308-0d34-0410-b5e6-96231b3b80d8
-
Richard Smith authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195626 91177308-0d34-0410-b5e6-96231b3b80d8
-
Richard Smith authored
whether a defaulted special member function should be deleted. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195620 91177308-0d34-0410-b5e6-96231b3b80d8
-
NAKAMURA Takumi authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195589 91177308-0d34-0410-b5e6-96231b3b80d8
-
Alp Toker authored
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. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195587 91177308-0d34-0410-b5e6-96231b3b80d8
-
Rafael Espindola authored
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). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195586 91177308-0d34-0410-b5e6-96231b3b80d8
-
Rafael Espindola authored
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. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195585 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Nov 24, 2013
-
-
Aaron Ballman authored
Switching the common attribute over to using the generic diagnostic, and removing the now-unused diagnostic. Updates a test case. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195581 91177308-0d34-0410-b5e6-96231b3b80d8
-
Aaron Ballman authored
__declspec(uuid) is only supported for C++ code according to MSDN (as well 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. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195580 91177308-0d34-0410-b5e6-96231b3b80d8
-
Aaron Ballman authored
__declspec(uuid) is only allowed on a class according to MSDN; this makes the semantic checking consistent with what the attribute specifies in Attr.td. Also adds a test case. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195579 91177308-0d34-0410-b5e6-96231b3b80d8
-
Aaron Ballman authored
Reviewed by Fariborz Jahanian git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195578 91177308-0d34-0410-b5e6-96231b3b80d8
-
Alp Toker authored
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. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195577 91177308-0d34-0410-b5e6-96231b3b80d8
-
Argyrios Kyrtzidis authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195572 91177308-0d34-0410-b5e6-96231b3b80d8
-
Argyrios Kyrtzidis authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195564 91177308-0d34-0410-b5e6-96231b3b80d8
-
James Dennett authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195563 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Nov 23, 2013
-
-
Ted Kremenek authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195561 91177308-0d34-0410-b5e6-96231b3b80d8
-
Ted Kremenek authored
This refines some diagnostics and reduces some boilerplate checking logic. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195560 91177308-0d34-0410-b5e6-96231b3b80d8
-
Ted Kremenek authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195559 91177308-0d34-0410-b5e6-96231b3b80d8
-
Alp Toker authored
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! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195558 91177308-0d34-0410-b5e6-96231b3b80d8
-
Argyrios Kyrtzidis authored
[CodeGen] If there is a function definition with duplicate mangled name, emit an error instead of asserting. rdar://15522601 & http://llvm.org/PR18031 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195556 91177308-0d34-0410-b5e6-96231b3b80d8
-
Daniel Jasper authored
This fixes llvm.org/PR17241. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195555 91177308-0d34-0410-b5e6-96231b3b80d8
-
Rafael Espindola authored
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). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195554 91177308-0d34-0410-b5e6-96231b3b80d8
-
Daniel Jasper authored
This fixes llvm.org/PR17979. Before: void f() { g(/*aaa=*/x, /*bbb=*/ !y); } After: void f() { g(/*aaa=*/x, /*bbb=*/!y); } git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195553 91177308-0d34-0410-b5e6-96231b3b80d8
-
Daniel Jasper authored
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; git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195552 91177308-0d34-0410-b5e6-96231b3b80d8
-
Rafael Espindola authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195551 91177308-0d34-0410-b5e6-96231b3b80d8
-
Daniel Jasper authored
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. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195550 91177308-0d34-0410-b5e6-96231b3b80d8
-
Benjamin Kramer authored
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! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195547 91177308-0d34-0410-b5e6-96231b3b80d8
-
Daniel Jasper authored
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 }; git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195546 91177308-0d34-0410-b5e6-96231b3b80d8
-
Richard Smith authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195545 91177308-0d34-0410-b5e6-96231b3b80d8
-
Richard Smith authored
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). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195543 91177308-0d34-0410-b5e6-96231b3b80d8
-
Peter Collingbourne authored
This will allow the completer to order results by relevance. Differential Revision: http://llvm-reviews.chandlerc.com/D2209 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195540 91177308-0d34-0410-b5e6-96231b3b80d8
-
Peter Collingbourne authored
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 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195539 91177308-0d34-0410-b5e6-96231b3b80d8
-
Peter Collingbourne authored
The looked-up matchers will be used during code completion. Differential Revision: http://llvm-reviews.chandlerc.com/D2207 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195534 91177308-0d34-0410-b5e6-96231b3b80d8
-
Ted Kremenek authored
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. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195533 91177308-0d34-0410-b5e6-96231b3b80d8
-
Ted Kremenek authored
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. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195532 91177308-0d34-0410-b5e6-96231b3b80d8
-
Peter Collingbourne authored
It apparently causes some versions of GCC to segfault. http://bb.pgr.jp/builders/cmake-clang-x86_64-linux/builds/17175/steps/build_clang/logs/stdio git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195529 91177308-0d34-0410-b5e6-96231b3b80d8
-
Peter Collingbourne authored
Patch by Kim Gräsman! Laszlo Nagy and me both ran into the same issue with SpecIterator from DeclTemplate.h causing an error: tools/clang/include/clang/AST/DeclTemplate.h:560:22: error: no matching constructor for initialization of 'SetIteratorType' (aka 'FoldingSetVectorIterator<clang::FunctionTemplateSpecializationInfo, typename SmallVector<FunctionTemplateSpecializationInfo *, 8>::iterator>') SpecIterator() : SetIter() {} (see e.g. http://lists.cs.uiuc.edu/pipermail/cfe-dev/2013-November/033642.html) The problem is the SpecIterator default constructor which needs a non-existent SetIter default constructor. SpecIterator's default constructor is evidently dead code as any call to it would fail with the above error. This patch removes it. Differential Revision: http://llvm-reviews.chandlerc.com/D2246 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195526 91177308-0d34-0410-b5e6-96231b3b80d8
-
Fariborz Jahanian authored
attribute on method declaration and implementation match. This makes no sense. Most annotations are meant for declarations only and one is for implementation. This has been constant source of regresions and hackery to get around special cases. I am removing this check. Such checks must be done on a case by case basis and when it makes sense. For example, it makes sense for availability/deprecated and I will file a radar for that. // rdar://15531984 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195524 91177308-0d34-0410-b5e6-96231b3b80d8
-
Samuel Benzaquen authored
Summary: Make the negative test more specific. Otherwise it can accidentally match injected code. Reviewers: aaron.ballman CC: klimek, cfe-commits, revane Differential Revision: http://llvm-reviews.chandlerc.com/D2257 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195512 91177308-0d34-0410-b5e6-96231b3b80d8
-