- 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
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
-
- Apr 19, 2012
-
-
Fariborz Jahanian authored
if receiver is a 'weak' property, by type or by attribute. // rdar://10225276 llvm-svn: 155159
-
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
-
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
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
-
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
-
Francois Pichet authored
Follow up to r154924: check that we are in a static CMethodDecl to enable the Microsoft bug emulation regarding access to protected member during PTM creation. Not just any static function. llvm-svn: 154982
-
Seth Cantrell authored
llvm-svn: 154981
-
Seth Cantrell authored
Unprintable source in diagnostics is transformed to a printable form and then displayed with reversed colors if possible. Unprintable characters are displayed as <U+NNNN> while bytes that do not represent valid characters are shown as <XX>. Column adjustments to diagnostic carets, highlighted ranges, and fixups are made both for characters escaped as above and for characters which are printable but take up more than a single column. llvm-svn: 154980
-
Rafael Espindola authored
explicit. llvm-svn: 154969
-
Richard Smith authored
and explicit specializations of function templates appropriately. llvm-svn: 154956
-
- Apr 17, 2012
-
-
Seth Cantrell authored
This reverts commit e9a3b76ba589a8a884e978273beaed0d97cf9861. Revert "fix display of source lines with null characters" This reverts commit 70712b276e40bbe11e5063dfc7e82ce3209929cd. llvm-svn: 154950
-
Seth Cantrell authored
llvm-svn: 154947
-
Seth Cantrell authored
Unprintable source in diagnostics is transformed to a printable form and then displayed with reversed colors if possible. Unprintable characters are displayed as <U+NNNN> while bytes that do not represent valid characters are shown as <XX>. Column adjustments to diagnostic carets, highlighted ranges, and fixups are made both for characters escaped as above and for characters which are printable but take up more than a single column. llvm-svn: 154946
-
Rafael Espindola authored
functionality change. llvm-svn: 154940
-
Fariborz Jahanian authored
block meta-data of block literals declared inside of extern "C" functions. // rdar://1131490 llvm-svn: 154939
-
Manuel Klimek authored
This will allow us to delete the JSON parser from llvm. The biggest change is a general change of strategy - instead of storing StringRef's to the values for the command line and directory in the input buffer, we store ScalarNode*'s. The reason is that the YAML parser's getRawValue on ScalarNodes returns a string that includes the quotes in case of double quoted strings. For the same reason we're removing the JSON parsing part of the command line parsing - this means an extra copy for a command line when it is requested (and only when it is requested). llvm-svn: 154929
-
Francois Pichet authored
Emulate a MSVC bug where the creation of pointer-to-member to protected member of base class is allowed but only from a static function. This fixes a regression when parsing MFC code with clang. llvm-svn: 154924
-