- Dec 01, 2012
-
-
Douglas Gregor authored
scope when dealing with nested blocks. Fixes <rdar://problem/12778708>. llvm-svn: 169065
-
Bill Wendling authored
Don't emit a warning with an input/output parameter. We assume the user knows what they're doing here. llvm-svn: 169059
-
Douglas Gregor authored
llvm-svn: 169058
-
Douglas Gregor authored
state so that all of the various clones end up rendering their diagnostics into the same serialized-diagnostics file. This is important when we actually want failures during module build to be reported back to the translation unit that tried to import the not-yet-built or out-of-date module. <rdar://problem/12565727> llvm-svn: 169057
-
Bill Wendling authored
the output size is greater than the register size. No truncation occurs with those. Reword warning to make it clearer what's the problem is. llvm-svn: 169054
-
Eli Friedman authored
<rdar://problem/12780159>. llvm-svn: 169051
-
- Nov 30, 2012
-
-
Douglas Gregor authored
module, provide a module import stack similar to what we would get for an include stack, e.g., In module 'DependsOnModule' imported from build-fail-notes.m:4: In module 'Module' imported from DependsOnModule.framework/Headers/DependsOnModule.h:1: Inputs/Module.framework/Headers/Module.h:15:12: note: previous definition is here @interface Module <rdar://problem/12696425> llvm-svn: 169042
-
Aaron Ballman authored
llvm-svn: 169028
-
Douglas Gregor authored
building module 'Foo' imported from..." notes (the same we we provide "In file included from..." notes) in the diagnostic, so that we know how this module got included in the first place. This is part of <rdar://problem/12696425>. llvm-svn: 169021
-
Eli Friedman authored
the beginning and end of the range are in different macro arguments. PR14399. llvm-svn: 168984
-
Quentin Colombet authored
llvm-svn: 168968
-
Douglas Gregor authored
import of that module elsewhere, don't try to build the module again: it won't work, and the experience is quite dreadful. We track this information somewhat globally, shared among all of the related CompilerInvocations used to build modules on-the-fly, so that a particular Clang instance will only try to build a given module once. Fixes <rdar://problem/12552849>. llvm-svn: 168961
-
Eli Friedman authored
llvm-svn: 168959
-
- Nov 29, 2012
-
-
Alexey Samsonov authored
1) init-order sanitizer: initialization-order checker. Status: usable, but may produce false positives w/o proper blacklisting. 2) use-after-return sanitizer Status: implemented, but heavily understed. Should be optional, as it significanlty slows program down. 3) use-after-scope sanitizer Status: in progress. llvm-svn: 168950
-
Eli Bendersky authored
Note: the ":" goes into the regex because FileCheck wrongly complains about unbalanced brackets otherwise. llvm-svn: 168934
-
Eric Christopher authored
before libstdc++ like we do with ubsan. llvm-svn: 168918
-
Eric Christopher authored
llvm-svn: 168908
-
Eric Christopher authored
llvm-svn: 168907
-
Rafael Espindola authored
Among other differences, GCC accepts typedef int IA[]; typedef int A10[10]; static A10 *f(void); static IA *f(void); void g(void) { (void)sizeof(*f()); } but clang used to reject it with: invalid application of 'sizeof' to an incomplete type 'IA' (aka 'int []') The intention of c99's 6.2.7 seems to be that we should use the composite type and accept as gcc does. Doing the type merging required some extra fixes: * Use the type from the function type in initializations, even if an parameter is available. * Fix the merging of the noreturn attribute in function types. * Make CodeGen handle the fact that an parameter type can be different from the corresponding type in the function type. llvm-svn: 168895
-
Timur Iskhodzhanov authored
llvm-svn: 168862
-
Richard Smith authored
'getPointerWidth(0) >= 64' test to be a method on TargetInfo, ready to be properly cleaned up. llvm-svn: 168856
-
-
Richard Smith authored
performed, to determine whether that special member is deleted or constexpr. That overload resolution process can in turn trigger the instantiation of a template, which can do anything, including triggering the declaration of that very same special member function. When this happens, do not try to recursively declare the special member -- that's impossible. Instead, only try to realise the truth. There is no special member. llvm-svn: 168847
-
Ted Kremenek authored
Correctly handle IntegralToBool casts in C++ in the static analyzer. Fixes <rdar://problem/12759044>. llvm-svn: 168843
-
Chad Rosier authored
rdar://12771737 llvm-svn: 168841
-
Michael Han authored
Implement C++11 [dcl.attr.grammar] p4: If an attribute-specifier-seq appertains to a friend declaration, that declaration shall be a definition. llvm-svn: 168826
-
Fariborz Jahanian authored
in deciding a copy/dispose field is needed in a byref structure and when generating the copy/dispose helpers. In certain cases, these fields were being added but no copy/dispose was being generated. This was uncovered in ARC, but not in MRR. // rdar://12759433 llvm-svn: 168825
-
- Nov 28, 2012
-
-
Richard Smith authored
llvm-svn: 168824
-
Richard Smith authored
decayed to a pointer type. Patch by WenHan Gu, with a little tweaking and additional testcases by me. llvm-svn: 168822
-
Manman Ren authored
rdar://12723368 llvm-svn: 168821
-
Manman Ren authored
the original parameter or return type. Since we do not accurately represent the data fields of a union, we should not directly load or store a union type. As an exmple, if we have i8,i8, i32, i32 as one field type and i32,i32 as another field type, the first field type will be chosen to represent the union. If we load with the union's type, the 3rd byte and the 4th byte will be skipped. rdar://12723368 llvm-svn: 168820
-
Richard Smith authored
determine which member function would be the callee from within the template definition, don't pass that function as a "non-member function" to CreateOverloadedBinOp. Instead, just rely on it to select the member function for itself. llvm-svn: 168818
-
Alexey Samsonov authored
Refactor -fsanitize, -f*-sanitizer arguments parsing. Provide a more careful diagnostic for invalid sets of sanitizers llvm-svn: 168794
-
Richard Smith authored
string literal needs cleaning (because it contains line-splicing in the encoding prefix or in the ud-suffix), do not clean the section between the double-quotes -- that's the "raw" bit! llvm-svn: 168776
-
Richard Smith authored
constructor/assignment operator with a const-qualified parameter type. The prior method for determining this incorrectly used overload resolution. llvm-svn: 168775
-
Richard Smith authored
a special member" diagnostic from warning to error, and fix the cases where it produced diagnostics with incorrect wording. We don't support this as an extension, and we ban it even in C++98 mode. This breaks too much (for instance, the ABI-specified calling convention for a type can change if it acquires a copy constructor through the addition of a default argument). llvm-svn: 168769
-
Ted Kremenek authored
The stop-gap here is to just drop such objects when processing the InitListExpr. We still need a better solution. Fixes <rdar://problem/12755044>. llvm-svn: 168757
-
Ted Kremenek authored
This was also covered by <rdar://problem/12753384>. The static analyzer evaluates a CXXConstructExpr within an initializer expression and RegionStore doesn't know how to handle the resulting CXXTempObjectRegion that gets created. We need a better solution than just dropping the value, but we need to better understand how to implement the right semantics here. Thanks to Jordan for his help diagnosing the behavior here. llvm-svn: 168741
-
Fariborz Jahanian authored
objc_loadWeak. This retains and autorelease the weakly-refereced object. This hidden autorelease sometimes makes __weak variable alive even after the weak reference is erased, because the object is still referenced by an autorelease pool. This patch overcomes this behavior by loading a weak object via call to objc_loadWeakRetained(), followng it by objc_release at appropriate place, thereby removing the hidden autorelease. // rdar://10849570 llvm-svn: 168740
-
- Nov 27, 2012
-
-
Will Dietz authored
Introduces new sanitizer "unsigned-integer-overflow". llvm-svn: 168701
-