- Jan 12, 2014
-
-
Chandler Carruth authored
llvm-svn: 199042
-
Jakob Stoklund Olesen authored
llvm-svn: 199037
-
Jakob Stoklund Olesen authored
llvm-svn: 199034
-
- Jan 11, 2014
-
-
Benjamin Kramer authored
llvm-svn: 199013
-
Jakob Stoklund Olesen authored
llvm-svn: 199012
-
Nick Lewycky authored
Add a new attribute 'enable_if' which can be used to control overload resolution based on the values of the function arguments at the call site. llvm-svn: 198996
-
Nick Lewycky authored
template argument deduction. llvm-svn: 198995
-
Richard Smith authored
variable to the return slot. Patch by David Wiberg, with test case alterations by me. llvm-svn: 198991
-
Warren Hunt authored
This patch more cleanly seperates the concepts of Preferred Alignment and Required Alignment. Most notable that changes to Required Alignment do *not* impact preferred alignment until late in struct layout. This is observable when using pragma pack and non-virtual bases and the use of tail padding when laying them out. Test cases included. llvm-svn: 198988
-
Richard Smith authored
rules: instead of requiring flexible array members to be POD, require them to be trivially-destructible. This seems to be the only constraint that actually matters here (and even then, it's questionable whether this matters). llvm-svn: 198983
-
Warren Hunt authored
The presence of a VBPtr suppresses the presence of zero sized sub-objects in the non-virtual portion of the object in the context of determining if two base objects need alias-avoidance padding placed between them. Test cases included. llvm-svn: 198975
-
- Jan 10, 2014
-
-
Rafael Espindola authored
llvm-svn: 198957
-
Richard Smith authored
Warning for a duplicate 'constexpr' specifier. llvm-svn: 198956
-
Jordan Rose authored
...by synthesizing their body to be "return self->_prop;", with an extra nudge to RetainCountChecker to still treat the value as +0 if we have no other information. This doesn't handle weak properties, but that's mostly correct anyway, since they can go to nil at any time. This also doesn't apply to properties whose implementations we can't see, since they may not be backed by an ivar at all. And finally, this doesn't handle properties of C++ class type, because we can't invoke the copy constructor. (Sema has actually done this work already, but the AST it synthesizes is one the analyzer doesn't quite handle -- it has an rvalue DeclRefExpr.) Modeling setters is likely to be more difficult (since it requires handling strong/copy), but not impossible. <rdar://problem/11956898> llvm-svn: 198953
-
Fariborz Jahanian authored
which may belong to unrelated classes. It was primarily intended for miuse of @selector expression. But warning is too noisy and will be issued when an actual @selector is used. // rdar://15740134 llvm-svn: 198952
-
Jakob Stoklund Olesen authored
Don't repeat the 32 <-> 64 architecture mapping incompletely. llvm-svn: 198943
-
Kristof Beyls authored
llvm-svn: 198940
-
Rafael Espindola authored
This change was requested to avoid confusion if we ever support non windows coff systems. llvm-svn: 198939
-
Alp Toker authored
Also move some comments into the block they were meant to describe. llvm-svn: 198935
-
Daniel Jasper authored
Before: SomeMap[std::pair(aaaaaaaaaaaa, bbbbbbbbbbbbbbb)] .insert(ccccccccccccccccccccccc); After: SomeMap[std::pair(aaaaaaaaaaaa, bbbbbbbbbbbbbbb)].insert( ccccccccccccccccccccccc); This seems to be about 3:1 more common in Google and Chromium style and I found only a handful of instances inside the LLVM codebase. llvm-svn: 198924
-
Jakob Stoklund Olesen authored
llvm-svn: 198923
-
Daniel Jasper authored
Before: [dictionary setObject:@(1)forKey:@"number"]; After: [dictionary setObject:@(1) forKey:@"number"]; llvm-svn: 198920
-
Jakob Stoklund Olesen authored
llvm-svn: 198918
-
Richard Trieu authored
the warning will not trigger on code protected by compile time checks. llvm-svn: 198913
-
Jakob Stoklund Olesen authored
llvm-svn: 198912
-
Jakob Stoklund Olesen authored
llvm-svn: 198911
-
Warren Hunt authored
__declspec(align), when applied to bitfields affects their perferred alignment instead of their required alignment. We don't know why. Also, #pragma pack(n) turns packing *off* if n is greater than the pointer size. This is now observable because of the impact of declspec(align) on bitfields. llvm-svn: 198907
-
NAKAMURA Takumi authored
llvm-svn: 198906
-
Fariborz Jahanian authored
property has the naming convention that implies 'ownership'. 2) improve on diagnostic and make it property specific. 3) fix the line number in the case of default property synthesis. // rdar://15757510 llvm-svn: 198905
-
Richard Smith authored
just valid C++11 =) Original commit message: PR18427: Use an appropriately-aligned buffer in APValue, to avoid a crash on SPARC, where uint64_t apparently requires higher alignment than void*. llvm-svn: 198903
-
Warren Hunt authored
The MS abi lays out *all* non-virtual bases with leading vfptrs before laying out non-virutal bases without vfptrs. This guarantees that the primary base is laid out first. r198818 fixed RecordLayoutBuilder to produce compatiable layouts. This patch fixes CGRecordLayoutBuilder to be able to consume those layouts and produce meaningful output without tripping any asserts about assumed incoming layout. A test case is included that shows CGRecordLayoutBuilder in fact produces output in the compatiable order. llvm-svn: 198900
-
- Jan 09, 2014
-
-
Aaron Ballman authored
__has_attribute now understands target-specific attributes. So when you ask whether an ARM target has the "interrupt" attribute, it will return true for ARM and MSP430 targets, and false for others. llvm-svn: 198897
-
Aaron Ballman authored
Removing the notion of TargetAttributesSema and replacing it with one where the parsed attributes are responsible for knowing their target-specific nature, instead of letting Sema figure it out. This is necessary so that __has_attribute can eventually determine whether a parsed attribute applies to the given target or not. llvm-svn: 198896
-
Rafael Espindola authored
I introduced this bug in 198815. Thanks for Mark Lacey for noticing. Unfortunately, I have no idea how to test this code. llvm-svn: 198891
-
Ted Kremenek authored
Fixes <rdar://problem/15596883> In ARC, __attribute__((objc_precise_lifetime)) guarantees that the object stored in it will survive to the end of the variable's formal lifetime. It is therefore useful even if it completely unused. llvm-svn: 198888
-
Aaron Ballman authored
llvm-svn: 198887
-
Aaron Ballman authored
Removing a bit of custom parsing functionality used by the thread safety analysis APIs. Now using tablegen to determine whether an attribute's arguments should be parsed in an unevaluated context instead of relying on a separate, hard-coded list of attributes. llvm-svn: 198883
-
Daniel Jasper authored
While it is allowed to not have an @ on subsequent lines, it seems general practice to add them. If undesired, the code author can easily remove them again and clang-format won't re-add them. llvm-svn: 198871
-
Daniel Jasper authored
Before: #pragma mark Any non - hyphenated or hyphenated string(including parentheses). After: #pragma mark Any non-hyphenated or hyphenated string (including parentheses). llvm-svn: 198870
-
Daniel Jasper authored
- Format a braced list with one element per line if it has nested braced lists. - Use a column layout only when the list has 6+ elements (instead of the current 4+ elements). llvm-svn: 198869
-