- Feb 05, 2011
-
-
Fariborz Jahanian authored
when selector metadata is generated, which is triggered by at least on class implementation. This is to match gcc's behavior. // rdar://8851684. llvm-svn: 124909
-
- Feb 04, 2011
-
-
John McCall authored
we captured in the dependent case. llvm-svn: 124887
-
Douglas Gregor authored
id-expression, e.g., CurrentClass<T>::member Previously, if CurrentClass<T> was dependent and not complete, we would treat it as a dependent-scoped declaration reference expression, even if CurrentClass<T> referred to the current instantiation. Fixes PR8966 and improves type checking of templates. llvm-svn: 124867
-
Douglas Gregor authored
bit-field width nor the initializer value are type- or value-dependent. Fixes PR8712. llvm-svn: 124866
-
Douglas Gregor authored
cv-qualifiers on the object against the cv-qualifiers on the member function. Fixes PR8315. llvm-svn: 124865
-
Douglas Gregor authored
llvm-svn: 124863
-
Ted Kremenek authored
Downgrade error about attribute 'iboutlet' and 'ibaction' being applied to anything but a instance method to a warning. llvm-svn: 124858
-
Douglas Gregor authored
[temp.param]p9 and C++ DR226. Fixes PR8747. llvm-svn: 124856
-
Douglas Gregor authored
it's okay for the following template parameters to not have default arguments (since those template parameters can still be deduced). Also, downgrade the error about default template arguments in function templates to an extension warning, since this is a harmless C++0x extension. llvm-svn: 124855
-
- Feb 03, 2011
-
-
Argyrios Kyrtzidis authored
The difference with gcc is that it warns if you overload virtual methods only if the method doesn't also override any method. This is to cut down on the number of warnings and make it more useful like reported here: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20423. If we want to warn that not all overloads are overriden we can have an additional warning like -Wpartial-override. -Woverloaded-virtual, unlike gcc, is added to -Wmost. Addresses rdar://8757630. llvm-svn: 124805
-
John McCall authored
llvm-svn: 124786
-
John McCall authored
right for anonymous struct/union members led to me discovering some seemingly broken code in that area of Sema, which I fixed, partly by changing the representation of member pointer constants so that IndirectFieldDecls aren't expanded. This led to assorted cleanups with member pointers in CodeGen, and while I was doing that I saw some random other things to clean up. llvm-svn: 124785
-
Rafael Espindola authored
This reopens PR99114, but that one at least can be avoided with an #include. PR9130 cannot. llvm-svn: 124780
-
Anders Carlsson authored
is not defined in the current translation unit. Doing so lead to compile errors such as PR9114. Instead, when CodeGen is building the vtable, don't try to emit a definition for functions that aren't marked used in the current translation unit. Fixes PR9114. llvm-svn: 124768
-
Ted Kremenek authored
Based on user feedback, swap -Wuninitialized diagnostics to have the warning refer to the bad use, and the note to the variable declaration. llvm-svn: 124758
-
- Feb 02, 2011
-
-
Douglas Gregor authored
savings of 25% sounds impressive, except that this amounted to only about 360k in our standard "large" completion result set (40,000 results). Since code completion is performance-sensitive, the 4% slowdown due to uniquing outweighs the 360k benefit. llvm-svn: 124737
-
Argyrios Kyrtzidis authored
llvm-svn: 124735
-
John McCall authored
on, as well as more reliably limiting invalid references to locals from nested scopes. llvm-svn: 124721
-
Ted Kremenek authored
Remove redundant check to not warn for warn_equality_with_extra_parens if we are in a macro. This is checked twice. llvm-svn: 124714
-
Douglas Gregor authored
speed but saves us about 25% of the memory usage for strings. llvm-svn: 124704
-
John McCall authored
llvm-svn: 124702
-
- Feb 01, 2011
-
-
Douglas Gregor authored
the string copying goes through a single place that can have associated state. llvm-svn: 124698
-
Ted Kremenek authored
Macros frequently contain extra '()' to make instantiation less error prone. This warning was flagging a ton of times on postgresql because of its use of macros. llvm-svn: 124695
-
Argyrios Kyrtzidis authored
llvm-svn: 124689
-
Douglas Gregor authored
eliminating the need to copy those strings. llvm-svn: 124683
-
Argyrios Kyrtzidis authored
llvm-svn: 124675
-
Douglas Gregor authored
BumpPtrAllocator, rather than manually new/delete'ing them. This optimization also allows us to avoid allocating memory for and copying constant strings (e.g., "return", "class"). This also required embedding the priority and availability of results within the code completion string, to avoid extra memory allocation within libclang. llvm-svn: 124673
-
Argyrios Kyrtzidis authored
It's highly likely that the user intended an assignment used as condition. Addresses rdar://8848646. llvm-svn: 124668
-
Ted Kremenek authored
Add temporary hack to -Wuninitialize to create a separate CFG (for C++ code) that doesn't include implicit dtors. Implicit dtors confuse the ad hoc path-sensitivity of UninitializedValuesV2.cpp. This isn't the ideal solution, as it will directly impact compile time, but should significantly reduce the noise of -Wuninitialized on some code bases. This immediately "fixes" the false positive reported in PR 9063, although this isn't the right fix in the long run. llvm-svn: 124667
-
Douglas Gregor authored
from Alex Miller! llvm-svn: 124663
-
John McCall authored
extremely rambunctious, both on parsing and on template instantiation. Calm it down, fixing an internal consistency assert on anonymous enum instantiation manglings. llvm-svn: 124653
-
Argyrios Kyrtzidis authored
compatible, not having the same type. Fix rdar://8183908 in which compatible vector types weren't initialized properly leading to a crash. llvm-svn: 124637
-
John McCall authored
CheckPointerTypesForAssignment. llvm-svn: 124632
-
Argyrios Kyrtzidis authored
llvm-svn: 124620
-
John McCall authored
working on canonical types already. llvm-svn: 124618
-
- Jan 31, 2011
-
-
John McCall authored
logic. llvm-svn: 124615
-
Argyrios Kyrtzidis authored
Add -Wcustom-atomic-properties which warns if an atomic-by-default property has custom getter or setter. The rationale is that it is highly likely that the user's getter/setter isn't atomically implemented. Off by default. Addresses rdar://8782645. -Wcustom-atomic-properties and -Wimplicit-atomic-properties are under the -Watomic-properties group. llvm-svn: 124609
-
Douglas Gregor authored
conversions (<rdar://problem/8592139>) for overload resolution. The conversion ranking mirrors C++'s conversion ranking fairly closely, except that we use a same pseudo-subtyping relationship employed by Objective-C pointer assignment rather than simple checking derived-to-base conversions. This change covers: - Conversions to pointers to a specific object type are better than conversions to 'id', 'Class', qualified 'id', or qualified 'Class' (note: GCC doesn't perform this ranking, but it matches C++'s rules for ranking conversions to void*). - Conversions to qualified 'id' or qualified 'Class' are better than conversions to 'id' or 'Class', respectively. - When two conversion sequences convert to the same type, rank the conversions based on the relationship between the types we're converting from. - When two conversion sequences convert from the same non-id, non-Class type, rank the conversions based on the relationship of the types we're converting to. (note: GCC allows this ranking even when converting from 'id', which is extremeley dangerous). llvm-svn: 124591
-
Argyrios Kyrtzidis authored
llvm-svn: 124585
-
Douglas Gregor authored
allow ref-qualifiers on function types used as template type arguments. GNU actually allows cv-qualifiers on function types in many places where it shouldn't, so we currently categorize this as a GNU extension. llvm-svn: 124584
-