aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2010-06-17Fix typo (test commit)Peter Collingbourne
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@106217 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-17fix some more gcc3.4 constness warningsGabor Greif
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@106216 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-17use typedef to make hack more transparent and also appease gcc3.4 constness ↵Gabor Greif
warning git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@106215 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-17Make sure the caching mechanism in Parser::ParseLexedMethodDefs is robust ↵Argyrios Kyrtzidis
against the parser reading too few tokens. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@106214 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-17Make sure parens/braces/brackets are correctly balanced.Argyrios Kyrtzidis
In a line like: (; the semicolon leaves Parser:ParenCount unbalanced (it's 1 even though we stopped looking for a right paren). This may affect later parsing and result in bad recovery for parsing errors. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@106213 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-17Don't ast-print the builtin __[u]int128_t.Argyrios Kyrtzidis
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@106212 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-17Mangle operator names in the Microsoft C++ Mangler.Charles Davis
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@106211 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-17Tweak stack address checker to report multiple cases where globals may ↵Ted Kremenek
reference stack memory. Also refactor the diagnostics so that we print out the kind of stack memory returned. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@106210 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-17Include the bug description in the report hash so that we can emit multiple ↵Ted Kremenek
bugs of the same type at the same location. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@106209 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-17Generate arm_neon.inc in include/clang/Basic, which provides:Nate Begeman
1. builtins definitions for BuiltinsARM.def 2. intrinsic validation code for SemaChecking Unsure as to whether this is the best way to handle the make dependencies or not. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@106208 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-17Remove last of the bool shifts for MS VC++, patch by dimitry andricNate Begeman
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@106206 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-17Comment Attr.td so people have a better understanding of what goes on.Sean Hunt
Also removed the unused Aliases member. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@106202 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-17Fix format string checking of '%c' by treating it as an integer conversion. ↵Ted Kremenek
Fixes PR 7391. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@106196 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-17Per conversation with Doug, remove two assertions in ParseLexedMethodDefs() thatTed Kremenek
didn't indicate violated invariants but that we weren't recovering well. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@106195 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-17Fix yet another CMake typo. I'm not quite sure how this succeeded locally now.Sean Hunt
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@106193 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-17Fix a typo in the previous commit I thought I'd fixed, but apparently didn't.Sean Hunt
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@106189 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-17Update CMake build for new attribute changes.Sean Hunt
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@106188 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-17Rework StackAddrLeakChecker to find stores of stack memory addresses to ↵Ted Kremenek
global variables by inspecting the Store bindings instead of iterating over all the global variables in a translation unit. By looking at the store directly, we avoid cases where we cannot directly load from the global variable, such as an array (which can result in an assertion failure) and it also catches cases where we store stack addresses to non-scalar globals. Also, but not iterating over all the globals in the translation unit, we maintain cache locality, and the complexity of the checker becomes restricted to the complexity of the analyzed function, and doesn't scale with the size of the translation unit. This fixes PR 7383. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@106184 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-17Implement RegionStoreManager::iterBindings(). This implementation only ↵Ted Kremenek
returns the base region in the binding key instead of the region + offset. It isn't clear if this is the best semantics, but most clients will likely only care about simple bindings, or bindings to a particular variable. We can refine later if necessary. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@106183 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-17Correctly return early from BasicStoreManager::iterBindings() when the ↵Ted Kremenek
BindingsHandler returns false. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@106182 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-16When parsing cached C++ method declarations/definitions, save theDouglas Gregor
"previous token" location at the end of the class definition. This eliminates a badly-placed error + Fix-It when the ';' following a class definition is missing. Fixes <rdar://problem/8066414>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@106175 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-16Implement first TD-based usage of attributes.Sean Hunt
Currently, there are two effective changes: - Attr::Kind has been changed to attr::Kind, in a separate namespace rather than the Attr class. This is because the enumerator needs to be visible to parse. - The class definitions for the C++0x attributes other than aligned are generated by TableGen. The specific classes generated by TableGen are controlled by an array in TableGen (see the accompanying commit to the LLVM repository). I will be expanding the amount of code generated as I develop the new attributes system while initially keeping it confined to these attributes. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@106172 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-16Make the "extra ';' inside a struct or union" diagnostic moreDouglas Gregor
precise. Fixes PR7336. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@106170 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-16When we see a 'template' disambiguator that marks the next identifierDouglas Gregor
(or operator-function-id) as a template, but the context is actually non-dependent or the current instantiation, allow us to use knowledge of what kind of template it is, e.g., type template vs. function template, for further syntactic disambiguation. This allows us to parse properly in the presence of stray "template" keywords, which is necessary in C++0x and it's good recovery in C++98/03. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@106167 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-16Fix the recently-added warning about 'typename' and 'template'Douglas Gregor
disambiguation keywords outside of templates in C++98/03. Previously, the warning would fire when the associated nested-name-specifier was not dependent, but that was a misreading of the C++98/03 standard: now, we complain only when we're outside of any template. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@106161 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-16Extend format string type-checking to include '%p'. Fixes remaining cases ↵Ted Kremenek
PR 4468. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@106151 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-16Canonicalize template template parameters when canonicalizing aDouglas Gregor
template name that refers to such a parameter. It's amazing that this problem didn't surface earlier. Fixes PR7387. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@106147 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-16tests: Update Frontend config to actually run ir-support tests.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@106144 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-16C return types must be complete as well.Fariborz Jahanian
Moved check before we build the ObjCMessageExpr node. (PR7386 related). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@106139 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-16Change the test for which ABI/CC to use on ARM to be base on the environmentRafael Espindola
(the last argument of the triple). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@106131 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-16Make sure result type of objc++ message expression isFariborz Jahanian
complete before attempting to bind it to a temporary. Fixes PR7386. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@106130 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-16A a new test for my previous patch.Rafael Espindola
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@106120 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-16Fix tests that I missed from my previous commit.Rafael Espindola
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@106118 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-16Test commit by adding a blank comment line.Zhanyong Wan
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@106114 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-16Frontend: Allow passing -cc1 level arguments to plugins. Patch by Troy ↵Daniel Dunbar
Straszheim! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@106113 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-16Driver: Ignore -ffast-math and -f[no-]finite-math-only.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@106112 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-16Don't poke at an undefined class type of a field. Fixes PR7355.Douglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@106111 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-16Downgrade the error when using a typedef in the nested-name-specifierDouglas Gregor
of an explicit instantiation to an ExtWarn, since nobody else seems to diagnose this problem. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@106109 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-16Add Cygwin C++ header search path.Douglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@106108 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-16Fixed conflict between objc_memmove_collectable builtin Fariborz Jahanian
decl. and one ddefined in darwin header file. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@106107 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-16Don't set the calling convention for ARM if it is already the default.Rafael Espindola
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@106106 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-16If a non-dependent base class initializer fails to match any direct orDouglas Gregor
virtual base class, but the class still has dependent base classes, then don't diagnose the failed match as an error: the right base class might magically appear. Fixes PR7259. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@106103 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-16Add some missing parentheses, from Anton YartsevDouglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@106101 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-16Revert r106099; it broke self-host.Douglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@106100 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-16Added TemplateTypeParmType::getDecl().Abramo Bagnara
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@106099 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-16Rework the unqualified-lookup-in-templates section of the compatibilityJohn McCall
document. jyasskin, let me know if this meets your needs. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@106098 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-16Fix the build. Using declarations should not be considering when lookingJohn McCall
for overridden virtual methods. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@106096 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-16Some more nods to HTML well-formedness.John McCall
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@106094 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-16Fix a point of semantics with using declaration hiding: method templatesJohn McCall
introduced by using decls are hidden even if their template parameter lists or return types differ from the "overriding" declaration. Propagate using shadow declarations around more effectively when looking up template-ids. Reperform lookup for template-ids in member expressions so that access control is properly set up. Fix some number of latent bugs involving template-ids with totally invalid base types. You can only actually get these with a scope specifier, since otherwise the template-id won't parse as a template-id. Fixes PR7384. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@106093 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-16We return Loc where we know.Zhongxing Xu
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@106087 91177308-0d34-0410-b5e6-96231b3b80d8