aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2010-08-02Remove mutable data on TagType and InjectedClassNameType, by instead walking ↵Sebastian Redl
the declaration chain in search of a definition. This is necessary for a sane chained PCH implementation. No observable performance change on Carbon.h syntax-only, and bootstraps cleanly. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110051 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-02Compute width/align of objc builtin types (id, etc)Fariborz Jahanian
for radar 8258797. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110047 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-02Update UsersManual, we support '#pragma align' now.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110040 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-02Frontend: Change PluginASTAction::ParseArgs to take a CompilerInstance objectDaniel Dunbar
for use in reporting diagnostics. - We don't want to use the Action's own CompilerInstance, because that is only initialized during file processing and I like that invariant. Also, if ParseArgs returns false then abandon execution. Also, remove unused PluginASTAction::PrintHelp virtual method. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110039 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-02You actually have to include a header in order to use a symbol, it's so 90s..Argyrios Kyrtzidis
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110034 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-02Use llvm_unreachable.Argyrios Kyrtzidis
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110033 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-02Shut up warnings in Release build.Argyrios Kyrtzidis
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110032 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-02Read/write in PCH Sema's StdNamespace and StdBadAlloc and use a LazyDeclPtr ↵Argyrios Kyrtzidis
for them that will deserialize them when needed. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110031 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-02Rename getStdNamespace -> getOrCreateStdNamespace, to better reflect its ↵Argyrios Kyrtzidis
functionality. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110030 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-02Driver/Darwin: Change where Darwin computes the host version, to normalize toolDaniel Dunbar
chain construction. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110028 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-02Driver: Have -ccc-host-triple simply override the default in the driver, forDaniel Dunbar
now. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110027 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-02Driver/Darwin: Inline some constants.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110026 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-02Driver/FreeBSD: Change how FreeBSD derives the Lib32 variable, to normalize toolDaniel Dunbar
chain construction. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110025 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-02Driver: Move HostInfo::lookupTypeForExtension to ↵Daniel Dunbar
ToolChain::LookupTypeForExtension. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110024 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-02Driver: Give Build{Universal,}Actions access to the default host tool chain. IDaniel Dunbar
avoided this originally to enforce that the driver actions aren't toolchain dependent, but it isn't worth the cumbersone additional hostinfo split. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110023 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-02Improve flat store: MemRegion::getAsOffset() computes a region's offset withinZhongxing Xu
the top-level object. FlatStore now can bind and retrieve element and field regions. PR7297 is fixed by flat store. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110020 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-02Driver: Add Compilation::addCommand and switch tools to using it, now that weDaniel Dunbar
don't have to deal with nested jobs. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110015 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-02Driver: Eliminate PipedJob, which is now unused.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110014 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-02Driver: Eliminate special InputInfo kind for pipes, it is now unused.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110013 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-02Driver: Eliminate now unnecessary tool hooks for whether they accept piped ↵Daniel Dunbar
input/output. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110012 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-02Driver: Simplify.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110011 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-02Driver: Eliminate now unused argument.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110010 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-02Driver: Simplify logic for sending 'clang -E t.c' output to stdout.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110009 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-02Driver: Never try to use piped inputs.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110008 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-02Driver: Start ripping out support for -pipe, which is worthless and complicatesDaniel Dunbar
too many other things. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110007 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-01Driver/OpenBSD: Update toolchain for compiler changes / C++; patch by JonathanDaniel Dunbar
Gray. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@109994 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-01Driver: Keep track of a separate "install dir", which is the path where clangDaniel Dunbar
was invoked from (which may not be where the executable itself is). - This allows having e.g., /Developer/usr/bin/clang be a symlink to some other location, while still making sure the Driver finds 'as', 'ld', etc. relative to itself. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@109989 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-01Simplify.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@109988 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-01PR7777: Set EnabledByDefault to something useful, instead of setting itEli Friedman
randomly. This makes us consistently show "-pedantic" as the warning option for a warning where appropriate. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@109987 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-01Kill off RequiresGlobalConstructor in favor of isConstantInitializer.John McCall
Note some obvious false positives in the test case. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@109986 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-01Make a first pass at implementing -Wglobal-constructors. I'm worried that thisJohn McCall
will end up bizarrely mirroring CGExprConstant, but that might be the hazard of this feature. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@109984 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-01Instantiate attributes from the pattern record when instantiatingJohn McCall
a class template. Fixes rdar://problem/8243419. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@109967 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-01Fix indentation.John McCall
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@109965 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-01Don't consider all local variables in C++ to mandate scope-checking, justJohn McCall
those with initializers. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@109964 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-01Only run the jump-checker if there's a branch-protected scope *and* there'sJohn McCall
a switch or goto somewhere in the function. Indirect gotos trigger the jump-checker regardless, because the conditions there are slightly more elaborate and it's too marginal a case to be worth optimizing. Turns off the jump-checker in a lot of cases in C++. rdar://problem/7702918 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@109962 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-31Iterate typeloc's for class bases.Nick Lewycky
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@109961 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-31Fix fragile-ABI ObjC exceptions in the presence of optimization withJohn McCall
the magic of inline assembly. Essentially we use read and write hazards on the set of local variables to force flushing locals to memory immediately before any protected calls and to inhibit optimizing locals across the setjmp->catch edge. Fixes rdar://problem/8160285 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@109960 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-31build: Don't pass -avoid-version or -no-undefined on Darwin, they don't doDaniel Dunbar
anything. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@109958 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-31Parser: Add support for #pragma align, which is just another spelling of #pragmaDaniel Dunbar
options align. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@109952 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-31After a lengthy design discussion, add support for "ownership attributes" ↵Ted Kremenek
for malloc/free checking. Patch by Andrew McGregor! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@109939 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-31Implement dependency analysis for the precompiled preamble. If any ofDouglas Gregor
the files in the precompiled preamble have changed since it was build, force the preamble to be rebuilt. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@109937 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-30Update checker build.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@109907 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-30Test case for PR7763.Tom Care
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@109895 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-30Uncomment unfinished work bailout in IdempotentOperationsChecker.Tom Care
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@109893 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-30Add some timers to ASTUnit that are only enabled when the LIBCLANG_TIMING ↵Douglas Gregor
environment variable is set. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@109890 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-30Correctly deal with using names for both functions and structs in chained PCH.Sebastian Redl
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@109871 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-30Add specialisation iterators for {Class,Function}TemplateDeclPeter Collingbourne
This patch introduces the ClassTemplateDecl::spec_{begin,end}() and FunctionTemplateDecl::{,partial_}spec_{begin,end}() member functions as a public interface for iterating over the declarations' specialisation sets. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@109870 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-30Refactor find*Specialization functions using SpecEntryTraitsPeter Collingbourne
This patch reimplements the find*Specialization family of member functions of {Class,Function}TemplateDecl in terms of a common implementation that uses SpecEntryTraits to obtain the most recent declaration. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@109869 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-30Introduce RedeclarableTemplateDecl::SpecEntryTraitsPeter Collingbourne
SpecEntryTraits describes how to obtain the most recent declaration of a specialisation from an entry in a specialisation FoldingSet. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@109868 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-30Safely get a data pointer for vectors that might be empty.Sebastian Redl
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@109867 91177308-0d34-0410-b5e6-96231b3b80d8