- Apr 20, 2012
-
-
Timur Iskhodzhanov authored
Fix bug 12574 - Avoid infinite recursion in constructors and destructors when using Microsoft C++ ABI llvm-svn: 155189
-
Richard Smith authored
up an elaborated type specifier in a friend declaration, only look for type declarations, per [basic.lookup.elab]p2. If we know that the redeclaration lookup for a friend class template in a dependent context finds a non-template, don't delay the diagnostic to instantiation time. llvm-svn: 155187
-
Richard Smith authored
llvm-svn: 155185
-
Chad Rosier authored
flags. We have preprocessed source, so we don't need these. No test case as it's fairly difficult to make the compiler crash on demand. I'll patiently wait for Ben to tell me how to do this in 2 lines of code. :) rdar://11283560 llvm-svn: 155180
-
Fariborz Jahanian authored
is issued on weak property as receiver and not on any other use of a weak property. // rdar://10225276 llvm-svn: 155169
-
Kaelyn Uhrain authored
removing a (new) duplicate test whose only difference was the tag type being an enum instead of a struct. llvm-svn: 155165
-
Kaelyn Uhrain authored
followed by an identifier as declaration specificer (except for ObjC). This allows e.g. an out-of-line C++ member function definitions to be recognized as functions and not as variable declarations if the type name for the first parameter is not recognized as a type--say, when there is a function name shadowing an enum type name and the parameter is missing the "enum" keyword needed to distinguish the two. Note that returning TPResult::Error() instead of TPResult::True() appears to have the same end result, while TPResult::Ambiguous() results in a crash. llvm-svn: 155163
-
Richard Smith authored
we generate correct code for both strong and weak atomic compare-exchanges, even though we don't propagate to the IR enough information to generate optimal weak compare-exchanges on architectures which support them. llvm-svn: 155161
-
- Apr 19, 2012
-
-
Fariborz Jahanian authored
if receiver is a 'weak' property, by type or by attribute. // rdar://10225276 llvm-svn: 155159
-
Patrick Beard authored
llvm-svn: 155155
-
Richard Smith authored
llvm-svn: 155141
-
David Blaikie authored
llvm-svn: 155140
-
David Blaikie authored
llvm-svn: 155139
-
DeLesley Hutchins authored
path-sensitive analysis like handling of trylock expressions. llvm-svn: 155137
-
Fariborz Jahanian authored
patch fixing writing a spurious 'static' into the wrong place. // rdar://11275241 llvm-svn: 155130
-
DeLesley Hutchins authored
which are checked in the parser, and analysis warnings that require the full analysis. This allows attribute syntax to be checked independently of the full thread safety analysis. Also introduces a new warning for the case where a string is used as a lock expression; this allows the analysis to gracefully handle expressions that would otherwise cause a parse error. llvm-svn: 155129
-
Patrick Beard authored
llvm-svn: 155126
-
Manuel Klimek authored
llvm-svn: 155108
-
Francois Pichet authored
llvm-svn: 155107
-
Richard Smith authored
initialize references, create std::initializer_list objects, or call constructors. llvm-svn: 155105
-
Rafael Espindola authored
This fixes the included testcase and lets us simplify the code a bit. It does require using mergeWithMin when merging class information to its members. Expand the comments to explain why that works. llvm-svn: 155103
-
Rafael Espindola authored
an explicit default one. This means that with -fvisibility hidden we now produce a hidden symbol for template <typename T> class DEFAULT foo { void bar() {} }; class zed {}; template class foo<zed>; This matches the behaviour of gcc 4.7. llvm-svn: 155102
-
Rafael Espindola authored
there is no need for mergeVisibily to ever increase the visibility. Not doing so lets us replace an incorrect use of mergeVisibilityWithMin. The testcase struct HIDDEN RECT { int top; }; DEFAULT RECT foo = {0}; shows that we should give preference to one of the attributes instead of keeping the minimum. We still get this testcase wrong because mergeVisibily handles two explicit visibilities incorrectly, but this is a step in the right direction. llvm-svn: 155101
-
Rafael Espindola authored
llvm-svn: 155100
-
Rafael Espindola authored
DHasExplicitVisibility. Simplify the code a bit. llvm-svn: 155099
-
Rafael Espindola authored
the current implementation this should be a nop as explicit visibility takes precedence in mergeVisibility. The location chosen is such that attributes checked above it can force a symbol to be default. For example, an attribute is the variable or function. Attributes checked after this point, can only make the visibility more restrictive. An attribute in a type for example. llvm-svn: 155098
-
Rafael Espindola authored
currently a nop as those users are the first merge or are a merge of a hidden explicit visibility, which always wins in the current implementation. llvm-svn: 155095
-
Patrick Beard authored
llvm-svn: 155088
-
Patrick Beard authored
llvm-svn: 155086
-
Fariborz Jahanian authored
into the wrong place when rewriting a static function which declares block literals. // rdar://11275241 llvm-svn: 155084
-
-
Richard Smith authored
specifications on member function templates of class templates and other such nested beasties. Store the function template from which we are to instantiate an exception specification rather than trying to deduce it. Plus some additional test cases. llvm-svn: 155076
-
- Apr 18, 2012
-
-
Chandler Carruth authored
r155047. See the LLVM log for the primary motivation: http://llvm.org/viewvc/llvm-project?rev=155047&view=rev Primary commit r154828: - Several issues were raised in review, and fixed in subsequent commits. - Follow-up commits also reverted, and which should be folded into the original before reposting: - r154837: Re-add the 'undef BUILTIN' thing to fix the build. - r154928: Fix build warnings, re-add (and correct) header and license - r154937: Typo fix. Please resubmit this patch with the relevant LLVM resubmission. llvm-svn: 155048
-
Fariborz Jahanian authored
property accessor (getter) missing, instead of crashing. // rdar://11273060 llvm-svn: 155036
-
Matt Beaumont-Gay authored
llvm-svn: 155011
-
Benjamin Kramer authored
llvm-svn: 155005
-
Simon Atanasyan authored
MIPS: Followup to r154606. Expand list of accepted MIPS target features in the MipsTargetInfoBase::setFeatureEnabled() routine. llvm-svn: 154998
-
Gabor Greif authored
llvm-svn: 154997
-
Manuel Klimek authored
at the command line. llvm-svn: 154989
-
Ted Kremenek authored
llvm-svn: 154986
-