- Sep 14, 2011
-
-
John McCall authored
the builtin is really just a predefined declaration. These are totally valid to cast. llvm-svn: 139657
-
Akira Hatanaka authored
llvm-svn: 139655
-
Akira Hatanaka authored
llvm-svn: 139654
-
Kaelyn Uhrain authored
so that it is clearer which use triggered which error. llvm-svn: 139653
-
Eli Friedman authored
Make clang use Acquire loads and Release stores where necessary. llvm-svn: 139650
-
Eli Friedman authored
llvm-svn: 139648
-
- Sep 13, 2011
-
-
Argyrios Kyrtzidis authored
but takes into account #line directives coming from preprocessed files. Patch by Vinay Sajip! llvm-svn: 139647
-
Argyrios Kyrtzidis authored
to the consumer without being fully deserialized). The regression was on compiling boost.python and it was too difficult to get a reduced test case unfortunately. Also modify the logic of how objc methods are getting passed to the consumer; codegen depended on receiving objc methods before the implementation decl. Since the interesting objc methods are ones with a body and such methods only exist inside an ObjCImplDecl, deserialize and pass to consumer all the methods of ObCImplDecl when we see one. Fixes http://llvm.org/PR10922 & rdar://10117105. llvm-svn: 139644
-
Eli Friedman authored
llvm-svn: 139643
-
Eli Friedman authored
Turn off the generation of unaligned atomic load/store; I'm going to explicitly error out on such cases in the backend, at least for the moment. llvm-svn: 139640
-
Douglas Gregor authored
and preprocessor options (such as macro definitions) first. llvm-svn: 139638
-
Argyrios Kyrtzidis authored
inside the IBOutletCollection attribute. llvm-svn: 139621
-
Argyrios Kyrtzidis authored
llvm-svn: 139620
-
John McCall authored
This is consistent with the behavior of assigning into a __strong l-value, and it's also necessary for ensuring that the ivar doesn't end up a dangling reference. We decided not to change the behavior of "retain" properties, but just to make them warnings/errors when of block type. llvm-svn: 139619
-
Argyrios Kyrtzidis authored
Depends on a llvm tablegen commit. llvm-svn: 139618
-
John McCall authored
their semantic attributes and then to take advantage of that. llvm-svn: 139615
-
Douglas Gregor authored
should no longer have the serialization of LangOptions out of sync with the structure itself (yay). llvm-svn: 139613
-
Caitlin Sadowski authored
Thread safety: Initializing var before exhaustive switch statement to deal with extraneous warning produced by gcc but not clang llvm-svn: 139611
-
Argyrios Kyrtzidis authored
-Allow cursor visitation of an attribute using its source range -Add C++ 'final' and 'override' attributes as cursor kinds -Simplify the logic that marks 'final' and 'override' attributes as tokens. llvm-svn: 139609
-
Douglas Gregor authored
language options. Use that .def file to declare the LangOptions class and initialize all of its members, eliminating a source of annoying initialization bugs. AST serialization changes are next up. llvm-svn: 139605
-
Chad Rosier authored
removed in the future. rdar://10110352 and PR10908 llvm-svn: 139602
-
Argyrios Kyrtzidis authored
llvm-svn: 139600
-
Argyrios Kyrtzidis authored
llvm-svn: 139599
-
Douglas Gregor authored
llvm-svn: 139597
-
Francois Pichet authored
In Microsoft mode, downgrade "goto into protected scope" from error to warning if we are jumping over a variable initialization via a goto. This fixes a few errors when parsing MFC code with clang. llvm-svn: 139595
-
Chandler Carruth authored
This deletes a bunch of crufty code, and allows more logic sharing between the analyzer and the warnings. llvm-svn: 139594
-
Chandler Carruth authored
CFGElement. This will allow greatly simplifying the logic in -Wreturn-type. llvm-svn: 139593
-
Chandler Carruth authored
location with a single comment rather than scattering it in three places. llvm-svn: 139592
-
John McCall authored
even on architectures that support unaligned access (which is the only way this is otherwise legal, given that ivars apparently do not honor alignment attributes). llvm-svn: 139590
-
John McCall authored
llvm-svn: 139589
-
Chandler Carruth authored
temporary objects and local variables. When detected, these split the block, marking the new one as having only the exit block as a successor. This prevents a large number of false positives in warnings sensitive to no-return constructs such as -Wreturn-type, and fixes the remainder of PR10063 along with several variations of this bug that had not been reported. The test cases are extended across the board to cover these patterns. This also checks in a stress test for these types of CFGs. The stress test declares some 32k variables, a mixture of no-return and normal destructors. Previously, this resulted in roughly 2500 CFG blocks, but didn't model any of the no-return destructors. With this patch, it results in over 33k blocks, many of them now unreachable. The nice thing about how the analyzer is set up? This causes *no* regression in performance of building the CFG. It actually in some cases makes it faster, as best I can benchmark. The analysis for -Wreturn-type (and any other that cares about no-return code paths) is technically slower now as it has to look at many more candidate blocks, but it computes the correct answer. I have more test cases to follow, I think they all work now. Also I have further work that should dramatically simplify analyses in the presence of no-return. llvm-svn: 139586
-
John McCall authored
llvm-svn: 139585
-
John McCall authored
atomic. This is probably something we should warn about. llvm-svn: 139584
-
John McCall authored
single code path. Use atomic loads and stores where necessary. Load and store anything of the appropriate size and alignment with primitive operations instead of going through the call. llvm-svn: 139580
-
Douglas Gregor authored
already provided. This required a little bit of clean-up in the way that VerifyDiagnosticsClient managed ownership of its underlying "primary" client, because now it will no longer always take ownership. llvm-svn: 139570
-
Douglas Gregor authored
but there is a corresponding umbrella header in a framework, build the module on-the-fly so it can be immediately loaded at the import statement. This is very much proof-of-concept code, with details to be fleshed out over time. llvm-svn: 139558
-
John McCall authored
modernization. No functionality change. llvm-svn: 139555
-
Chad Rosier authored
behavior. rdar://10110352 and PR10908 llvm-svn: 139551
-
Anna Zaks authored
llvm-svn: 139550
-
Caitlin Sadowski authored
llvm-svn: 139548
-