aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2009-03-19Encode ivar access control info.Devang Patel
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67267 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-19Update checker build.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67266 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-19Introduce a representation for types that we referred to via aDouglas Gregor
qualified name, e.g., foo::x so that we retain the nested-name-specifier as written in the source code and can reproduce that qualified name when printing the types back (e.g., in diagnostics). This is PR3493, which won't be complete until finished the other tasks mentioned near the end of this commit. The parser's representation of nested-name-specifiers, CXXScopeSpec, is now a bit fatter, because it needs to contain the scopes that precede each '::' and keep track of whether the global scoping operator '::' was at the beginning. For example, we need to keep track of the leading '::', 'foo', and 'bar' in ::foo::bar::x The Action's CXXScopeTy * is no longer a DeclContext *. It's now the opaque version of the new NestedNameSpecifier, which contains a single component of a nested-name-specifier (either a DeclContext * or a Type *, bitmangled). The new sugar type QualifiedNameType composes a sequence of NestedNameSpecifiers with a representation of the type we're actually referring to. At present, we only build QualifiedNameType nodes within Sema::getTypeName. This will be extended to other type-constructing actions (e.g., ActOnClassTemplateId). Also on the way: QualifiedDeclRefExprs will also store a sequence of NestedNameSpecifiers, so that we can print out the property nested-name-specifier. I expect to also use this for handling dependent names like Fibonacci<I - 1>::value. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67265 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-18Fix PR 3836 by eagerly assuming symbolic constraints returned by unary '!'.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67260 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-18Use the instantiated expressions to build the ConditionalOperator. This ↵Gabor Greif
addresses the second part of review feedback. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67259 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-18Add a sugared version of ASTOwningResult::take,Gabor Greif
that does a downcast. It is named takeAs<T>(). The plain-pointer version is also added, but that side seems to be seriously bitrotten. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67258 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-18Driver: Fix bug in translating -O to clang, add clang-translation testDaniel Dunbar
case. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67257 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-18Driver: Resolve program path for "cp" (used as part of transparent gccDaniel Dunbar
PCH support). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67256 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-18Driver: Forcibly disable pipe support until we can execute them, theDaniel Dunbar
driver is functional without them. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67254 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-18Driver: Delete the temporary files llvm::sys::Path::makeUniqueDaniel Dunbar
sometimes leaves around. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67253 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-18Make -j8 safe.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67252 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-18Add simple test case to make sure driver can generate executables.Daniel Dunbar
- Hopefully Chris can pardon one executable test. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67251 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-18Driver: Execute jobs; no pipe support yet.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67250 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-18objc: Implemented variables declared in class interface Fariborz Jahanian
whose sema decl is at the translation unit. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67249 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-18Driver: Cleanup temporary/result files.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67248 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-18Fix crash reported in <rdar://problem/6695527>. We now haveTed Kremenek
SVal::GetRValueSymbolVal do the checking if we can symbolicate a type instead of having BasicStoreManager do it (which wasn't always doing the check consistently). Having this check in SVal::GetRValueSymbolVal keeps the check in one centralized place. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67245 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-18Driver: Lookup program names using llvm::sys::Program::FindProgramByName Daniel Dunbar
if our usual methods fail. This isn't necessary for running the tool, but improves the accuracy of logging output. Also, have GCC tools lookup gcc program path. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67243 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-18The eventual name of this will be clang, might as well start now.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67241 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-18Driver: Update test case.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67240 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-18Add stub TableGen file for diagnostic options.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67238 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-18silence some errors that should not apply to .S files on code like:Chris Lattner
'' ' ' git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67237 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-18when preprocessing a .S file, unknown directives should just be passed through,Chris Lattner
and the token after the # should be expanded if it is not a valid directive. This allows us to transform things like: #define FOO BAR # FOO into # BAR, even though FOO is not normally expanded for directives. This should fix PR3833 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67236 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-18properly form a full token for # before calling HandleDirective.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67235 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-18This is not considered a preprocessor directive in .S files:Chris Lattner
# 4 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67233 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-18constructs like:Chris Lattner
#define Y X ## . Y are ok in .S files. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67231 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-18added type dependent testcaseGabor Greif
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67230 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-18Driver: Support ToolChain specific path lists to search for files andDaniel Dunbar
programs. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67229 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-18Driver: Get executable path using llvm::sys::Path::GetMainExecutable.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67228 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-18Add version information to ISO style test results.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67227 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-18incorporate review comment (about the optimization when we have a ↵Gabor Greif
non-typedependent expression) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67226 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-18Move generated file to ObjDir.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67225 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-18PR3835: Interaction with ABI structure passing can inhibitDaniel Dunbar
readnone/readonly attributes. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67224 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-18Driver: Construct temporary file names.Daniel Dunbar
- This is still suboptimal, but should at least be workable. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67223 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-18HTML rewriter: Don't replace tabs with spaces by default.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67221 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-18Add revision information.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67220 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-18fix the more complex cases by actually codegen'ing the right expr :)Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67219 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-18add codegen support for casting an element to a union.Chris Lattner
There are some more complex cases (_Complex and structs) that I'm still working on. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67218 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-18Driver: Don't warn about unused arguments if there are Driver errorsDaniel Dunbar
(brings code in line with diagnostic. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67217 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-18simplify logic, isInvalid check is redundantGabor Greif
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67216 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-18Be sure to not add weak import, if we are ignoring it.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67214 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-18remove two xfailed tests. These aren't doing any good for us until ↵Chris Lattner
serialization is revisited. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67213 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-18Refactor 'Warning', 'Extension', and 'ExtWarn' TableGen classes to subclassTed Kremenek
'DiagnosticControlled'. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67209 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-18Add codegen support for aggregate BlockDeclRefExprs.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67207 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-18Fix URL trimming for version information.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67206 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-18Ignore weak import on properties.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67205 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-18Improve version number.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67204 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-18Driver: Port Clang argument translation.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67193 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-18Driver: Bug fix, derived .gch names sometimes started with "/".Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67192 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-18ccc: Pass --relocation-model as separate arguments (to match Driver).Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67190 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-18Driver: Add argument translation utilities to ArgList.Daniel Dunbar
- Support things like telling which -ffoo -fno-foo option won, and forwarding all arguments matching a certain set of options to the tool. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67189 91177308-0d34-0410-b5e6-96231b3b80d8