]> granicus.if.org Git - clang/log
clang
15 years agomangleTemplatePrefix and mangleUnscopedTemplateName should take a TemplateDecl.
Anders Carlsson [Sat, 26 Sep 2009 19:45:45 +0000 (19:45 +0000)]
mangleTemplatePrefix and mangleUnscopedTemplateName should take a TemplateDecl.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82871 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoUse the qualified name for tag types.
Anders Carlsson [Sat, 26 Sep 2009 19:03:24 +0000 (19:03 +0000)]
Use the qualified name for tag types.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82870 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoSet alignment on static function level decls and VLAs. Fixes PR5060.
Anders Carlsson [Sat, 26 Sep 2009 18:16:06 +0000 (18:16 +0000)]
Set alignment on static function level decls and VLAs. Fixes PR5060.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82868 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoAdded test case for <rdar://problem/7152418>.
Ted Kremenek [Sat, 26 Sep 2009 17:18:44 +0000 (17:18 +0000)]
Added test case for <rdar://problem/7152418>.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82866 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoAddress comment from Daniel.
Anders Carlsson [Sat, 26 Sep 2009 16:55:29 +0000 (16:55 +0000)]
Address comment from Daniel.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82865 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoPass the formatted_raw_ostream to createPrintModulePass and
Dan Gohman [Sat, 26 Sep 2009 15:06:14 +0000 (15:06 +0000)]
Pass the formatted_raw_ostream to createPrintModulePass and
createBitcodeWriterPass instead of the underlying raw_ostream. This
avoids trouble with formatted_raw_ostream's behavior of setting the
underlying stream to be unbuffered, which resulted in
clang -emit-llvm -S using unbuffered output.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82857 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoRevert "Force triple in test.", this wasn't the problem.
Daniel Dunbar [Sat, 26 Sep 2009 07:43:49 +0000 (07:43 +0000)]
Revert "Force triple in test.", this wasn't the problem.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82855 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoUpdate checker build.
Ted Kremenek [Sat, 26 Sep 2009 07:39:39 +0000 (07:39 +0000)]
Update checker build.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82854 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoAdd the lib path to LD_LIBRARY_PATH, so finding .so works (more) portably.
Daniel Dunbar [Sat, 26 Sep 2009 07:36:09 +0000 (07:36 +0000)]
Add the lib path to LD_LIBRARY_PATH, so finding .so works (more) portably.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82853 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoForce triple in test.
Daniel Dunbar [Sat, 26 Sep 2009 07:06:36 +0000 (07:06 +0000)]
Force triple in test.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82850 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoFix name lookup for friend class templates to consider anything in a
Douglas Gregor [Sat, 26 Sep 2009 07:05:09 +0000 (07:05 +0000)]
Fix name lookup for friend class templates to consider anything in a
scope *up to and including* the innermost namespace scope, rather than
just searching in the innermost namespace scope.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82849 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoRework the Parse-Sema interaction for friends to better support friend
Douglas Gregor [Sat, 26 Sep 2009 06:47:28 +0000 (06:47 +0000)]
Rework the Parse-Sema interaction for friends to better support friend
class templates. We now treat friend class templates much more like
normal class templates, except that they still get special name lookup
rules. Fixes PR5057 and eliminates a bunch of spurious diagnostics in
<iostream>.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82848 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoHoist some branches in AnalysisManager::HandleTranslationUnit so we
Ted Kremenek [Sat, 26 Sep 2009 04:15:09 +0000 (04:15 +0000)]
Hoist some branches in AnalysisManager::HandleTranslationUnit so we
avoid scanning for an "entry point" FunctionDecl if we (a) have no
translation unit actions and (b) no entry point function has been
specified.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82846 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoUse ABIArgInfo::getDirect() for all types that have a pointer representation.
Anders Carlsson [Sat, 26 Sep 2009 03:56:53 +0000 (03:56 +0000)]
Use ABIArgInfo::getDirect() for all types that have a pointer representation.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82845 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoYet another simplifying use of Sema::getMostSpecialized
Douglas Gregor [Sat, 26 Sep 2009 03:56:17 +0000 (03:56 +0000)]
Yet another simplifying use of Sema::getMostSpecialized

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82844 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoMangle record types as decls.
Anders Carlsson [Sat, 26 Sep 2009 03:55:37 +0000 (03:55 +0000)]
Mangle record types as decls.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82843 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoAdd a "positive" matching test case for attribute 'noreturn' that involves a nested...
Ted Kremenek [Sat, 26 Sep 2009 03:54:06 +0000 (03:54 +0000)]
Add a "positive" matching test case for attribute 'noreturn' that involves a nested infinite loop.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82842 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoAdd two more test cases for attribute 'noreturn'.
Ted Kremenek [Sat, 26 Sep 2009 03:48:56 +0000 (03:48 +0000)]
Add two more test cases for attribute 'noreturn'.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82841 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoUse Sema::getMostSpecialized to eliminate a redundant implementation of the most...
Douglas Gregor [Sat, 26 Sep 2009 03:41:46 +0000 (03:41 +0000)]
Use Sema::getMostSpecialized to eliminate a redundant implementation of the most-specialized function template

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82840 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoChange isTemplate to return the actual template declaration.
Anders Carlsson [Sat, 26 Sep 2009 03:24:57 +0000 (03:24 +0000)]
Change isTemplate to return the actual template declaration.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82839 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoImprove mangling of typename types.
Anders Carlsson [Sat, 26 Sep 2009 02:26:02 +0000 (02:26 +0000)]
Improve mangling of typename types.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82833 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoRename NextOffset to DataSize.
Anders Carlsson [Sat, 26 Sep 2009 01:34:51 +0000 (01:34 +0000)]
Rename NextOffset to DataSize.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82832 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoStart at NextOffset when laying out bases as well.
Anders Carlsson [Sat, 26 Sep 2009 01:29:10 +0000 (01:29 +0000)]
Start at NextOffset when laying out bases as well.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82831 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoDisable c-index-test on MSVC until someone figures out the real problem.
Daniel Dunbar [Sat, 26 Sep 2009 01:21:38 +0000 (01:21 +0000)]
Disable c-index-test on MSVC until someone figures out the real problem.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82830 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoUse NextOffset when laying out a field.
Anders Carlsson [Sat, 26 Sep 2009 01:09:35 +0000 (01:09 +0000)]
Use NextOffset when laying out a field.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82828 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoDon't try to dump invalid decls or forward decls.
Anders Carlsson [Sat, 26 Sep 2009 01:02:04 +0000 (01:02 +0000)]
Don't try to dump invalid decls or forward decls.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82827 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoCast cleanup.
Anders Carlsson [Sat, 26 Sep 2009 00:12:34 +0000 (00:12 +0000)]
Cast cleanup.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82826 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoUse explicitly-specified template argument lists to help naming
Douglas Gregor [Fri, 25 Sep 2009 23:53:26 +0000 (23:53 +0000)]
Use explicitly-specified template argument lists to help naming
explicit template specializations, when available.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82824 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoFix cut/paste error resulting in bad column info.
Steve Naroff [Fri, 25 Sep 2009 22:15:54 +0000 (22:15 +0000)]
Fix cut/paste error resulting in bad column info.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82810 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoAdd clang_getDeclSource().
Steve Naroff [Fri, 25 Sep 2009 21:45:39 +0000 (21:45 +0000)]
Add clang_getDeclSource().

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82807 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoDeclarators can now properly represent template-ids, e.g., for
Douglas Gregor [Fri, 25 Sep 2009 21:45:23 +0000 (21:45 +0000)]
Declarators can now properly represent template-ids, e.g., for

  template void f<int>(int);
                ~~~~~~
Previously, we silently dropped the template arguments. With this
change, we now use the template arguments (when available) as the
explicitly-specified template arguments used to aid template argument
deduction for explicit template instantiations.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82806 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoAdd clang_getDeclLine and clang_getDeclColumn
Steve Naroff [Fri, 25 Sep 2009 21:32:34 +0000 (21:32 +0000)]
Add clang_getDeclLine and clang_getDeclColumn
Fix clang_getCursorDecl to do the right thing for expr refs
Fixup test file to accommodate new output (which includes the line/column for the referenced decl)

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82798 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoRefixed pr5050 per Anders comment. Test case enhanced
Fariborz Jahanian [Fri, 25 Sep 2009 18:59:21 +0000 (18:59 +0000)]
Refixed pr5050 per Anders comment. Test case enhanced
per Doug's comment.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82791 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoWIP implementation of explicit instantiation of function templates,
Douglas Gregor [Fri, 25 Sep 2009 18:43:00 +0000 (18:43 +0000)]
WIP implementation of explicit instantiation of function templates,
member functions of class template specializations, and static data
members. The mechanics are (mostly) present, but the semantic analysis
is very weak.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82789 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoFix the AST tree so ir-gen can do the conversion via copy construction.
Fariborz Jahanian [Fri, 25 Sep 2009 18:11:25 +0000 (18:11 +0000)]
Fix the AST tree so ir-gen can do the conversion via copy construction.
Fixed pr5050.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82783 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoFix 80-col violation.
Mike Stump [Fri, 25 Sep 2009 18:11:00 +0000 (18:11 +0000)]
Fix 80-col violation.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82782 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agopcc supports some c99
Chris Lattner [Fri, 25 Sep 2009 16:45:10 +0000 (16:45 +0000)]
pcc supports some c99

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82774 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoEven more work on empty classes.
Anders Carlsson [Fri, 25 Sep 2009 15:39:00 +0000 (15:39 +0000)]
Even more work on empty classes.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82770 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoFix MSVC build by renaming a variable. PR5043
Benjamin Kramer [Fri, 25 Sep 2009 11:47:22 +0000 (11:47 +0000)]
Fix MSVC build by renaming a variable. PR5043

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82762 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoSigh. Be *really* careful when copying a default function argument during template...
Douglas Gregor [Fri, 25 Sep 2009 07:03:22 +0000 (07:03 +0000)]
Sigh. Be *really* careful when copying a default function argument during template instantiation

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82761 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoBe careful about copying uninstantiated default arguments during template instantiation
Douglas Gregor [Fri, 25 Sep 2009 06:56:31 +0000 (06:56 +0000)]
Be careful about copying uninstantiated default arguments during template instantiation

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82760 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoDon't look for __builtin_va_list; it isn't present for all targets
Douglas Gregor [Fri, 25 Sep 2009 06:44:41 +0000 (06:44 +0000)]
Don't look for __builtin_va_list; it isn't present for all targets

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82757 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoCMake build support for libCIndex and c-index-test. The indexing tests
Douglas Gregor [Fri, 25 Sep 2009 06:35:15 +0000 (06:35 +0000)]
CMake build support for libCIndex and c-index-test. The indexing tests
are now running properly from within CMake.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82755 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoTurn on 'RegionStore' as the default store manager both for 'clang --analyze' and...
Ted Kremenek [Fri, 25 Sep 2009 05:55:59 +0000 (05:55 +0000)]
Turn on 'RegionStore' as the default store manager both for 'clang --analyze' and 'scan-build'.  Leave 'BasicStore' as the default store manager in 'clang-cc'.  While there are still known warts with RegionStore, it's ready to be tested by general users.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82752 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoHide clang-wpa executable behind a CMake variable so it won't be built by default
Douglas Gregor [Fri, 25 Sep 2009 05:41:21 +0000 (05:41 +0000)]
Hide clang-wpa executable behind a CMake variable so it won't be built by default

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82751 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoUpdate checker build.
Ted Kremenek [Fri, 25 Sep 2009 05:03:45 +0000 (05:03 +0000)]
Update checker build.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82749 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoFix checking for a null pointer constant when the expression itself is
Douglas Gregor [Fri, 25 Sep 2009 04:25:58 +0000 (04:25 +0000)]
Fix checking for a null pointer constant when the expression itself is
value-dependent. Audit (and fixed) all calls to
Expr::isNullPointerConstant() to provide the correct behavior with
value-dependent expressions. Fixes PR5041 and a crash in libstdc++
<locale>.

In the same vein, properly compute value- and type-dependence for
ChooseExpr. Fixes PR4996.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82748 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoAdd a reduced test case for the weak ivar infinite recursion.
John McCall [Fri, 25 Sep 2009 02:18:37 +0000 (02:18 +0000)]
Add a reduced test case for the weak ivar infinite recursion.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82747 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoWho would have thought that empty classes were so tricky? Handle cases where an empty...
Anders Carlsson [Fri, 25 Sep 2009 01:54:38 +0000 (01:54 +0000)]
Who would have thought that empty classes were so tricky? Handle cases where an empty virtual base class needs to be moved aside because it conflicts with the first field.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82746 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoFix an infinite loop arising when trying to generate debug information
John McCall [Fri, 25 Sep 2009 01:40:47 +0000 (01:40 +0000)]
Fix an infinite loop arising when trying to generate debug information
for a ObjC class with an ivar of weak self type.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82745 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoHandle array fields that contain empty structs.
Anders Carlsson [Fri, 25 Sep 2009 01:23:32 +0000 (01:23 +0000)]
Handle array fields that contain empty structs.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82744 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoFix <rdar://problem/7249327> by allowing silent conversions between signed and unsign...
Ted Kremenek [Fri, 25 Sep 2009 00:18:15 +0000 (00:18 +0000)]
Fix <rdar://problem/7249327> by allowing silent conversions between signed and unsigned integer values for symbolic values.  This is an intermediate solution (i.e. hack) until we support extension/truncation of symbolic integers.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82737 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoMore work on empty classes.
Anders Carlsson [Fri, 25 Sep 2009 00:02:51 +0000 (00:02 +0000)]
More work on empty classes.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82736 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoFixed another code gen bug in objc's new write-barrier API.
Fariborz Jahanian [Fri, 25 Sep 2009 00:00:20 +0000 (00:00 +0000)]
Fixed another code gen bug in objc's new write-barrier API.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82735 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoImprove the record layout dumper.
Anders Carlsson [Thu, 24 Sep 2009 23:50:42 +0000 (23:50 +0000)]
Improve the record layout dumper.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82733 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoWhen entering the scope of a declarator, make sure that the scope is
Douglas Gregor [Thu, 24 Sep 2009 23:39:01 +0000 (23:39 +0000)]
When entering the scope of a declarator, make sure that the scope is
complete (or, possibly causing template instantiation).

Test this via some explicit specializations of member functions.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82732 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoMake it really, really easy to change the alignment of Type (and ExtQuals).
John McCall [Thu, 24 Sep 2009 23:30:46 +0000 (23:30 +0000)]
Make it really, really easy to change the alignment of Type (and ExtQuals).

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82730 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoWIP implementation of explicit function template specialization. This
Douglas Gregor [Thu, 24 Sep 2009 23:14:47 +0000 (23:14 +0000)]
WIP implementation of explicit function template specialization. This
first implementation recognizes when a function declaration is an
explicit function template specialization (based on the presence of a
template<> header), performs template argument deduction + ambiguity
resolution to determine which template is being specialized, and hooks

There are many caveats here:
  - We completely and totally drop any explicitly-specified template
  arguments on the floor
  - We don't diagnose any of the extra semantic things that we should
  diagnose.
  - I haven't looked to see that we're getting the right linkage for
  explicit specializations

On a happy note, this silences a bunch of errors that show up in
libstdc++'s <iostream>, although Clang still can't get through the
entire header.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82728 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoClean up the CodeCompletion testsuite's use of FileCheck
Douglas Gregor [Thu, 24 Sep 2009 22:57:42 +0000 (22:57 +0000)]
Clean up the CodeCompletion testsuite's use of FileCheck

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82726 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoFix 80-col violation.
Mike Stump [Thu, 24 Sep 2009 22:31:14 +0000 (22:31 +0000)]
Fix 80-col violation.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82725 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoPatch fixes a code gen. bug in generation of objc_assign_ivar
Fariborz Jahanian [Thu, 24 Sep 2009 22:25:38 +0000 (22:25 +0000)]
Patch fixes a code gen. bug in generation of objc_assign_ivar
(objc GC's API).

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82724 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoUpdate the PTH performance "script".
John McCall [Thu, 24 Sep 2009 22:03:45 +0000 (22:03 +0000)]
Update the PTH performance "script".

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82718 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoAdd test for C-based indexing API, using FileCheck utility.
Steve Naroff [Thu, 24 Sep 2009 20:03:06 +0000 (20:03 +0000)]
Add test for C-based indexing API, using FileCheck utility.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82706 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoRefactor the representation of qualifiers to bring ExtQualType out of the
John McCall [Thu, 24 Sep 2009 19:53:00 +0000 (19:53 +0000)]
Refactor the representation of qualifiers to bring ExtQualType out of the
Type hierarchy.  Demote 'volatile' to extended-qualifier status.  Audit our
use of qualifiers and fix a few places that weren't dealing with qualifiers
quite right;  many more remain.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82705 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agowpa is an experiment, don't build it by default, it adds to build times due to everyt...
Chris Lattner [Thu, 24 Sep 2009 19:45:12 +0000 (19:45 +0000)]
wpa is an experiment, don't build it by default, it adds to build times due to everything it links in.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82704 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoAdd a -dump-record-layouts argument to clang-cc.
Anders Carlsson [Thu, 24 Sep 2009 18:54:49 +0000 (18:54 +0000)]
Add a -dump-record-layouts argument to clang-cc.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82703 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoWhen building CFGs, no longer reverse the statements in the CFGBlock. Instead
Ted Kremenek [Thu, 24 Sep 2009 18:45:41 +0000 (18:45 +0000)]
When building CFGs, no longer reverse the statements in the CFGBlock. Instead
have the iterators and operator[] handle the traversal of statements, as they
are stored in reverse order. Tests show this has no real performance impact, but
it does simply the CFG construction logic and will make it slightly easier to
change the allocation strategy for CFGBlocks (as we have fewer copies).

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82702 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agocmake: Run tests with 'verbose' enabled by default, so that the failure is
Daniel Dunbar [Thu, 24 Sep 2009 07:18:36 +0000 (07:18 +0000)]
cmake: Run tests with 'verbose' enabled by default, so that the failure is
visible in the log.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82688 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoWe no longer need anything from the llvm/test/Scripts dir.
Daniel Dunbar [Thu, 24 Sep 2009 06:31:08 +0000 (06:31 +0000)]
We no longer need anything from the llvm/test/Scripts dir.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82687 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoFix crash in RegionStoreManager::Bind() by using 'getAs<PointerType>()' instead of...
Ted Kremenek [Thu, 24 Sep 2009 06:24:32 +0000 (06:24 +0000)]
Fix crash in RegionStoreManager::Bind() by using 'getAs<PointerType>()' instead of 'cast<PointerType>()' (to handle pointer typedefs).

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82686 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoMore improvements with laying out empty bases.
Anders Carlsson [Thu, 24 Sep 2009 05:21:31 +0000 (05:21 +0000)]
More improvements with laying out empty bases.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82682 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoDarwin/x86-32: Enumerated types and block pointer types in structures were not
Daniel Dunbar [Thu, 24 Sep 2009 05:12:36 +0000 (05:12 +0000)]
Darwin/x86-32: Enumerated types and block pointer types in structures were not
handled correctly.
 - <rdar://problem/7247671> Function arguments incorrect when function returns a
   struct on i386 w/ llvm-g++ and clang

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82681 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoFix: <rdar://problem/7249340> [RegionStore] model stores to symbolic parameter regions
Ted Kremenek [Thu, 24 Sep 2009 04:11:44 +0000 (04:11 +0000)]
Fix: <rdar://problem/7249340> [RegionStore] model stores to symbolic parameter regions

The issue was a discrepancy between how RegionStoreManager::Bind() and
RegionStoreManager::Retrieve() derived the "key" for the first element
of a symbolic region.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82680 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoMore work on empty classes.
Anders Carlsson [Thu, 24 Sep 2009 03:22:10 +0000 (03:22 +0000)]
More work on empty classes.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82679 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoScaffolding for supporting empty bases/fields.
Anders Carlsson [Thu, 24 Sep 2009 03:13:30 +0000 (03:13 +0000)]
Scaffolding for supporting empty bases/fields.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82678 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoShorten the static analyzer diagnostic for 'use of garbage value'.
Ted Kremenek [Thu, 24 Sep 2009 00:44:26 +0000 (00:44 +0000)]
Shorten the static analyzer diagnostic for 'use of garbage value'.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82672 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoUse Doug's DeclLoc to pinpoint location of the declaration
Fariborz Jahanian [Thu, 24 Sep 2009 00:42:43 +0000 (00:42 +0000)]
Use Doug's DeclLoc to pinpoint location of the declaration
in a reference initialization diagnostic.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82671 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoImprove diagnostic location information when checking the initialization of a reference
Douglas Gregor [Wed, 23 Sep 2009 23:04:10 +0000 (23:04 +0000)]
Improve diagnostic location information when checking the initialization of a reference

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82666 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoMake C++ temporary-related expressions provide proper source-range information.
Douglas Gregor [Wed, 23 Sep 2009 22:51:26 +0000 (22:51 +0000)]
Make C++ temporary-related expressions provide proper source-range information.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82665 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agopatch to ir-gen conversion function call used in
Fariborz Jahanian [Wed, 23 Sep 2009 22:34:00 +0000 (22:34 +0000)]
patch to ir-gen conversion function call used in
initializing a reference class.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82664 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoFor code completion, note that injected-class-names found as part of
Douglas Gregor [Wed, 23 Sep 2009 22:26:46 +0000 (22:26 +0000)]
For code completion, note that injected-class-names found as part of
lookup in a member access expression always start a
nested-name-specifier. Additionally, rank names that start
nested-name-specifiers after other names.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82663 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoRemove the FIXME as I said.
Fariborz Jahanian [Wed, 23 Sep 2009 20:56:34 +0000 (20:56 +0000)]
Remove the FIXME as I said.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82650 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoThis patch addresses a few issues related to 8.5.3 [dcl.init.ref]
Fariborz Jahanian [Wed, 23 Sep 2009 20:55:32 +0000 (20:55 +0000)]
This patch addresses a few issues related to 8.5.3 [dcl.init.ref]
It uses a recent API to find inherited conversion functions to do
the initializer to reference lvalue conversion (and removes a FIXME).
It issues the ambiguity diagnostics when multiple conversions are found.
WIP.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82649 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoSome minor cleanups...
Steve Naroff [Wed, 23 Sep 2009 20:00:53 +0000 (20:00 +0000)]
Some minor cleanups...

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82646 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoHandle namespace aliases.
Anders Carlsson [Wed, 23 Sep 2009 19:19:16 +0000 (19:19 +0000)]
Handle namespace aliases.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82644 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoEmit new[] cookie when needed.
Anders Carlsson [Wed, 23 Sep 2009 18:59:48 +0000 (18:59 +0000)]
Emit new[] cookie when needed.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82642 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoMore work to enable more exhaustive testing of the indexing API.
Steve Naroff [Wed, 23 Sep 2009 17:52:52 +0000 (17:52 +0000)]
More work to enable more exhaustive testing of the indexing API.

Next step: Add actual some test cases:-)

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82636 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoBasic support for new[].
Anders Carlsson [Wed, 23 Sep 2009 16:07:23 +0000 (16:07 +0000)]
Basic support for new[].

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82628 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoWhen code-completion after a "," is building an overload set, note
Douglas Gregor [Wed, 23 Sep 2009 14:56:09 +0000 (14:56 +0000)]
When code-completion after a "," is building an overload set, note
that there is one more argument (the one following the comma) and make
the candidate non-viable if the function cannot accept any argument in
that position.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82625 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoThe test/ directory needs to be created always when building objdir != srcdir,
Torok Edwin [Wed, 23 Sep 2009 14:23:05 +0000 (14:23 +0000)]
The test/ directory needs to be created always when building objdir != srcdir,
because the toplevel 'make check-all' needs the rule for test/lit.site.cfg,
and for that test/ must exist.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82624 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agofix typo in file name
Gabor Greif [Wed, 23 Sep 2009 13:15:04 +0000 (13:15 +0000)]
fix typo in file name

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82623 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoFactor Windows target into VS, MinGW and Cygwin variants.
Daniel Dunbar [Wed, 23 Sep 2009 07:31:35 +0000 (07:31 +0000)]
Factor Windows target into VS, MinGW and Cygwin variants.
 - Patch by John Thompson!

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82621 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoimplement support for __builtin_eh_return_data_regno on x86-32 and x86-64.
Chris Lattner [Wed, 23 Sep 2009 06:06:36 +0000 (06:06 +0000)]
implement support for __builtin_eh_return_data_regno on x86-32 and x86-64.
This implements PR5034 and rdar://6836445.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82614 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoreturn a bool value as a bool
Chris Lattner [Wed, 23 Sep 2009 05:39:46 +0000 (05:39 +0000)]
return a bool value as a bool

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82613 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoAdd a new variant of EmitCXXAggrConstructorCall that takes a Value that holds the...
Anders Carlsson [Wed, 23 Sep 2009 02:45:36 +0000 (02:45 +0000)]
Add a new variant of EmitCXXAggrConstructorCall that takes a Value that holds the number of elements to construct, to be used when implementing new[].

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82602 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoFix PR 4988 by removing an invalid assertion (a function can be referenced in
Ted Kremenek [Wed, 23 Sep 2009 01:30:01 +0000 (01:30 +0000)]
Fix PR 4988 by removing an invalid assertion (a function can be referenced in
GRExprEngine::VisitDeclRefExpr without 'asLValue' being true).

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82598 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoProduce detailed diagnostics when overload
Fariborz Jahanian [Wed, 23 Sep 2009 00:58:07 +0000 (00:58 +0000)]
Produce detailed diagnostics when overload
resolution failed to select a candidate due to
ambiguity in type conversion function selection.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82596 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoFix indentation in xcode project.
Anders Carlsson [Wed, 23 Sep 2009 00:37:50 +0000 (00:37 +0000)]
Fix indentation in xcode project.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82595 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoCast the array size expr to a size_t
Anders Carlsson [Wed, 23 Sep 2009 00:37:25 +0000 (00:37 +0000)]
Cast the array size expr to a size_t

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82594 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoPrint the results of code-completion for overloading by displaying the
Douglas Gregor [Wed, 23 Sep 2009 00:34:09 +0000 (00:34 +0000)]
Print the results of code-completion for overloading by displaying the
signature of the function with the current parameter highlighted as a
placeholder.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82593 91177308-0d34-0410-b5e6-96231b3b80d8