]> granicus.if.org Git - clang/log
clang
14 years agoProvide proper source location and range information for C++ base
Douglas Gregor [Sat, 2 Oct 2010 19:51:13 +0000 (19:51 +0000)]
Provide proper source location and range information for C++ base
specifier cursors in libclang. FIXME -=2, fixes the rest of
<rdar://problem/8274883>.

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

14 years agoImplement chained PCH support for the macro definitions stored within
Douglas Gregor [Sat, 2 Oct 2010 19:29:26 +0000 (19:29 +0000)]
Implement chained PCH support for the macro definitions stored within
the "detailed" preprocessing record.

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

14 years agoUse ParseObjCSelectorPiece for parsing getter and setter names in @property declarati...
Anders Carlsson [Sat, 2 Oct 2010 17:45:21 +0000 (17:45 +0000)]
Use ParseObjCSelectorPiece for parsing getter and setter names in @property declarations. Fixes PR8169.

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

14 years agoRename a test in preparation for fixing PR8169.
Anders Carlsson [Sat, 2 Oct 2010 17:08:38 +0000 (17:08 +0000)]
Rename a test in preparation for fixing PR8169.

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

14 years agowhen expanding a builtin, if the argument is required to be a constant,
Chris Lattner [Sat, 2 Oct 2010 00:09:12 +0000 (00:09 +0000)]
when expanding a builtin, if the argument is required to be a constant,
force it to be a constant instead of emitting with EmitScalarExpr.  In
-ftrapv mode, they are not the same.

This fixes rdar://8478728 + PR8221

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

14 years agoDon't add an imported function into its lexical context until *after*
Douglas Gregor [Fri, 1 Oct 2010 23:55:07 +0000 (23:55 +0000)]
Don't add an imported function into its lexical context until *after*
we've set all of its parameters. Fixes <rdar://problem/8499598>;
thanks to Sean for the diagnosis.

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

14 years agotidy
Chris Lattner [Fri, 1 Oct 2010 23:43:16 +0000 (23:43 +0000)]
tidy

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

14 years agokill off CheckX86BuiltinFunctionCall
Chris Lattner [Fri, 1 Oct 2010 23:40:43 +0000 (23:40 +0000)]
kill off CheckX86BuiltinFunctionCall

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

14 years agomove imperative code to declarative definitions.
Chris Lattner [Fri, 1 Oct 2010 23:35:58 +0000 (23:35 +0000)]
move imperative code to declarative definitions.

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

14 years agoMark explict methods as explict in debug info.
Devang Patel [Fri, 1 Oct 2010 23:32:17 +0000 (23:32 +0000)]
Mark explict methods as explict in debug info.

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

14 years agodiagnose errors when a builtin that require constant arguments don't have them.
Chris Lattner [Fri, 1 Oct 2010 23:23:24 +0000 (23:23 +0000)]
diagnose errors when a builtin that require constant arguments don't have them.
For example, on:

#include <emmintrin.h>
int foo(int N) {
 __m128i white2;
 white2 = _mm_slli_si128(white2, N);
 return 0;
}

we used to get:
fatal error: error in backend: Cannot yet select: intrinsic %llvm.x86.sse2.psll.dq

now we get:
/Users/sabre/t.c:4:11: error: argument to '__builtin_ia32_pslldqi128' must be a
      constant integer
 white2 = _mm_slli_si128(white2, N);
          ^~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /Users/sabre/t.c:1:
/Volumes/Projects/cvs/llvm/Debug+Asserts/lib/clang/2.9/include/emmintrin.h:781:13: note: instantiated from:
  ((__m128i)__builtin_ia32_pslldqi128((__m128i)(VEC), (IMM)*8))
            ^                                         ~~~~~~~
1 error generated.

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

14 years agoenhance ASTContext::GetBuiltinType to return a bitmask indicating which arguments
Chris Lattner [Fri, 1 Oct 2010 22:53:11 +0000 (22:53 +0000)]
enhance ASTContext::GetBuiltinType to return a bitmask indicating which arguments
are required to be ICE's.  No clients of this new functionality yet!

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

14 years agorandom cleanups, no functionality change.
Chris Lattner [Fri, 1 Oct 2010 22:42:38 +0000 (22:42 +0000)]
random cleanups, no functionality change.

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

14 years agoDoug's feedback
Gabor Greif [Fri, 1 Oct 2010 22:12:38 +0000 (22:12 +0000)]
Doug's feedback

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

14 years agoFactor out enumerator APSInt adjustment into
Gabor Greif [Fri, 1 Oct 2010 22:05:14 +0000 (22:05 +0000)]
Factor out enumerator APSInt adjustment into
a helper function (AdjustAPSInt) and use that
for adjusting the high bounds of case ranges
before APSInt comparisons. Fixes
http://llvm.org/bugs/show_bug.cgi?id=8135

Some minor refacorings while I am here.

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

14 years agoRestore test. Is for //rdar://8493239
Fariborz Jahanian [Fri, 1 Oct 2010 21:26:26 +0000 (21:26 +0000)]
Restore test. Is for //rdar://8493239

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

14 years agoBetter diagnostic for superfluous scope specifier inside a class definition for membe...
Francois Pichet [Fri, 1 Oct 2010 21:19:28 +0000 (21:19 +0000)]
Better diagnostic for superfluous scope specifier inside a class definition for member functions. + Fixit.

Example:
class A {
   void A::foo(); //warning: extra qualification on member 'foo'
};

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

14 years agoTeach clang_getCursorReferenced() about Objective-C property reference
Douglas Gregor [Fri, 1 Oct 2010 21:11:22 +0000 (21:11 +0000)]
Teach clang_getCursorReferenced() about Objective-C property reference
and protocol expressions. Fixes <rdar://problem/7833565>.

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

14 years agoUnreachableCodeChecker does not need to inherit from CheckerVisitor, only Checker...
Tom Care [Fri, 1 Oct 2010 20:52:07 +0000 (20:52 +0000)]
UnreachableCodeChecker does not need to inherit from CheckerVisitor, only Checker. It does not use any AST Stmt hooks, only VisitEndAnalysis.

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

14 years agoRevert r115336 ("Thread PerFileData through everything."), because
Douglas Gregor [Fri, 1 Oct 2010 20:33:34 +0000 (20:33 +0000)]
Revert r115336 ("Thread PerFileData through everything."), because
we're missing the corresponding changes in the LLVM repository.

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

14 years agoExtend libclang with an API that determines, given a C++ virtual
Douglas Gregor [Fri, 1 Oct 2010 20:25:15 +0000 (20:25 +0000)]
Extend libclang with an API that determines, given a C++ virtual
member function or an Objective-C method, which other member
functions/methods it overrides.

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

14 years agoThread PerFileData through everything. This allows us to remap stuff later.
Sebastian Redl [Fri, 1 Oct 2010 19:59:15 +0000 (19:59 +0000)]
Thread PerFileData through everything. This allows us to remap stuff later.

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

14 years agoRecord module loaders and module source order.
Sebastian Redl [Fri, 1 Oct 2010 19:59:12 +0000 (19:59 +0000)]
Record module loaders and module source order.

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

14 years agofix a bogus "I" that I added to the per-function attribute list.
Chris Lattner [Fri, 1 Oct 2010 19:47:04 +0000 (19:47 +0000)]
fix a bogus "I" that I added to the per-function attribute list.

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

14 years agoImplement the C++0x "trailing return type" feature, e.g.,
Douglas Gregor [Fri, 1 Oct 2010 18:44:50 +0000 (18:44 +0000)]
Implement the C++0x "trailing return type" feature, e.g.,

  auto f(int) -> int

from Daniel Wallin!

(With a few minor bug fixes from me).

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

14 years agoVarious builtins a require an integer constant. Not providing
Chris Lattner [Fri, 1 Oct 2010 07:13:18 +0000 (07:13 +0000)]
Various builtins a require an integer constant.  Not providing
one results in an obscure error from the backend that doesn't make
sense.  Capture this information in the .def files for builtins with
a new "I" modifier letter indicating the an argument needs to be an ICE.

Nothing uses this yet, but sema will eventually enforce this (eliminating
some special cases from semachecking.cpp) and codegen will use this to
force an ICE value, preventing backend error messages.

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

14 years ago__builtin_ia32_psrldqi128 too
Chris Lattner [Fri, 1 Oct 2010 06:58:49 +0000 (06:58 +0000)]
__builtin_ia32_psrldqi128 too

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

14 years agothe second argument to __builtin_ia32_pslldqi128 must be an immediate,
Chris Lattner [Fri, 1 Oct 2010 06:52:23 +0000 (06:52 +0000)]
the second argument to __builtin_ia32_pslldqi128 must be an immediate,
so it needs to be called from a macro, not a function.  This is a necessary
but insufficient step towards fixing PR8221

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

14 years agoNow the whether adding implicit dtors is controlled by cmd option.
Zhongxing Xu [Fri, 1 Oct 2010 03:31:06 +0000 (03:31 +0000)]
Now the whether adding implicit dtors is controlled by cmd option.

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

14 years agoThe return value is never used.
Zhongxing Xu [Fri, 1 Oct 2010 03:22:39 +0000 (03:22 +0000)]
The return value is never used.

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

14 years agoUse default augument.
Zhongxing Xu [Fri, 1 Oct 2010 03:09:09 +0000 (03:09 +0000)]
Use default augument.

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

14 years agoSimplify interface for addLocalScopeForStmt().
Zhongxing Xu [Fri, 1 Oct 2010 03:00:16 +0000 (03:00 +0000)]
Simplify interface for addLocalScopeForStmt().

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

14 years agoThe old logic would add non-struct and non C++ struct variables to the local
Zhongxing Xu [Fri, 1 Oct 2010 02:47:11 +0000 (02:47 +0000)]
The old logic would add non-struct and non C++ struct variables to the local
scope. Now we only add C++ struct with non-trivial destructor variables to the
local scope.

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

14 years agoAdded generating CFGAutomaticObjDtors for exception variable in catch statement.
Marcin Swiderski [Fri, 1 Oct 2010 01:46:52 +0000 (01:46 +0000)]
Added generating CFGAutomaticObjDtors for exception variable in catch statement.

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

14 years agoAdded generating CFGAutomaticObjDtors for init statement, condition variable and...
Marcin Swiderski [Fri, 1 Oct 2010 01:38:14 +0000 (01:38 +0000)]
Added generating CFGAutomaticObjDtors for init statement, condition variable and implicit scope in for statement.

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

14 years agodded generating CFGAutomaticObjDtors for condition variable and implicit scopes in...
Marcin Swiderski [Fri, 1 Oct 2010 01:24:41 +0000 (01:24 +0000)]
dded generating CFGAutomaticObjDtors for condition variable and implicit scopes in switch statement.

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

14 years agoIf we get a TU_CONTEXT update from a chained PCH file before we
Douglas Gregor [Fri, 1 Oct 2010 01:18:02 +0000 (01:18 +0000)]
If we get a TU_CONTEXT update from a chained PCH file before we
actually have an ASTContext, delay the processing of that
update. Patch by Sebastian Redl! Fixes <rdar://problem/8499034>.

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

14 years agoAdded generating CFGAutomaticObjDtors for condition variable and implicit scopes...
Marcin Swiderski [Fri, 1 Oct 2010 01:14:17 +0000 (01:14 +0000)]
Added generating CFGAutomaticObjDtors for condition variable and implicit scopes in while and do statements.

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

14 years agoEnable chained precompiled headers for use with precompiled preambles
Douglas Gregor [Fri, 1 Oct 2010 01:05:22 +0000 (01:05 +0000)]
Enable chained precompiled headers for use with precompiled preambles

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

14 years agoWhen an identifier that has a macro definition in the original PCH
Douglas Gregor [Fri, 1 Oct 2010 01:03:07 +0000 (01:03 +0000)]
When an identifier that has a macro definition in the original PCH
file is somehow changed in a chained PCH file, make sure that we write
out the macro definition. Fixes part of <rdar://problem/8499034>.

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

14 years agoRemove test until further notice.
Fariborz Jahanian [Fri, 1 Oct 2010 01:01:03 +0000 (01:01 +0000)]
Remove test until further notice.

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

14 years agoAdded generating CFGAutomaticObjDtors for condition variable and implicit scopes...
Marcin Swiderski [Fri, 1 Oct 2010 00:52:17 +0000 (00:52 +0000)]
Added generating CFGAutomaticObjDtors for condition variable and implicit scopes in if statement.

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

14 years agoFixed checking for trivial destructor in CFGBuilder::addLocalScopeForVarDecl. Checked...
Marcin Swiderski [Fri, 1 Oct 2010 00:31:22 +0000 (00:31 +0000)]
Fixed checking for trivial destructor in CFGBuilder::addLocalScopeForVarDecl. Checked type does not have to represent C++ class.

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

14 years agoFix test.
Fariborz Jahanian [Fri, 1 Oct 2010 00:27:17 +0000 (00:27 +0000)]
Fix test.

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

14 years agoAdded:
Marcin Swiderski [Fri, 1 Oct 2010 00:23:17 +0000 (00:23 +0000)]
Added:
- Adding LocalScope for CompoundStmt,
- Adding CFGAutomaticObjDtors for end of scope, return, goto, break, continue,
- Regression tests for above cases.

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

14 years agoOutput debug info. for ivars declared in class
Fariborz Jahanian [Fri, 1 Oct 2010 00:01:53 +0000 (00:01 +0000)]
Output debug info. for ivars declared in class
extension and implementation.
Fixes rdar://8493239.

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

14 years agoAdd test case I forgot for r115159 (support implicit includes along with PCH).
Argyrios Kyrtzidis [Fri, 1 Oct 2010 00:00:18 +0000 (00:00 +0000)]
Add test case I forgot for r115159 (support implicit includes along with PCH).

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

14 years agoClang part of MMX rewrite (goes with 115243).
Dale Johannesen [Thu, 30 Sep 2010 23:57:50 +0000 (23:57 +0000)]
Clang part of MMX rewrite (goes with 115243).

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

14 years agoAdded methods for adding LocalScopes and CFGAutomaticObjDtors.
Marcin Swiderski [Thu, 30 Sep 2010 23:05:00 +0000 (23:05 +0000)]
Added methods for adding LocalScopes and CFGAutomaticObjDtors.

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

14 years agoAdded methods for inserting CFGAutomaticObjDtors to CFGBlocks,
Marcin Swiderski [Thu, 30 Sep 2010 22:54:37 +0000 (22:54 +0000)]
Added methods for inserting CFGAutomaticObjDtors to CFGBlocks,
Fixed some misspells in comments.

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

14 years agoAdded:
Marcin Swiderski [Thu, 30 Sep 2010 22:42:32 +0000 (22:42 +0000)]
Added:
- post-increament, distance and bool conversion methods to LocalScope::const_iterator,
- adding VarDecl to LocalScope.

Fixed some misspells in comments.

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

14 years agoperform_code_completion(): fix type declaration for TU.
Dawn Perchik [Thu, 30 Sep 2010 22:26:05 +0000 (22:26 +0000)]
perform_code_completion(): fix type declaration for TU.

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

14 years agoCorrect this name so I stop giving out the wrong email address.
Nick Lewycky [Thu, 30 Sep 2010 21:20:23 +0000 (21:20 +0000)]
Correct this name so I stop giving out the wrong email address.

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

14 years agoRewriting array element type of qualified-id.
Fariborz Jahanian [Thu, 30 Sep 2010 20:41:32 +0000 (20:41 +0000)]
Rewriting array element type of qualified-id.
Fixes rdra://8475819.

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

14 years agoc-index-test: Run inside a separate thread iff we have pthread support, to
Daniel Dunbar [Thu, 30 Sep 2010 20:39:47 +0000 (20:39 +0000)]
c-index-test: Run inside a separate thread iff we have pthread support, to
ensure we at least get some minimal testing of running in a multithreaded
environment (for example, having a reduced stack size).

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

14 years agoIntroduce -flimit-debug-info.
Devang Patel [Thu, 30 Sep 2010 19:05:55 +0000 (19:05 +0000)]
Introduce -flimit-debug-info.
In this experimental mode try avoiding debug info emission for classes as much as possible. The goal is to reduce size of produced debuginfo without reducing quality of debug info in general. This is a work in progress.

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

14 years agoSupport implicit includes when generating a PCH and allow the user to pass a -include...
Argyrios Kyrtzidis [Thu, 30 Sep 2010 16:53:50 +0000 (16:53 +0000)]
Support implicit includes when generating a PCH and allow the user to pass a -include on the command line following the PCH include.
Fixes rdar://7382084.

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

14 years agoDriver: Ignore the found PCH file if its '-include' is not the first one.
Argyrios Kyrtzidis [Thu, 30 Sep 2010 16:53:47 +0000 (16:53 +0000)]
Driver: Ignore the found PCH file if its '-include' is not the first one.

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

14 years agotypo
Gabor Greif [Thu, 30 Sep 2010 15:22:01 +0000 (15:22 +0000)]
typo

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

14 years agoAdded two new command line arguments:
Marcin Swiderski [Thu, 30 Sep 2010 07:41:24 +0000 (07:41 +0000)]
Added two new command line arguments:
-cfg-add-implicit-dtors - sets CFG::BuildOptions::AddImplicitDtors for AnalysisCosumer to true,
-cfg-add-initializers - sets CFG::BuildOptions::AddInitializers for AnalysisCosumer to true.

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

14 years agoUpdated scan-build:
Tom Care [Thu, 30 Sep 2010 01:12:05 +0000 (01:12 +0000)]
Updated scan-build:
- Idempotent operations are on by default, to match --analyze in the driver.
- Integrated stats calculation based on parsing warnings emitted with the -analyzer-stats flag. The new -stats flag enables this.
- New -maxloop flag to pass down a maxloop value to the analyzer.

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

14 years agoInclude changes to VisitCXXMemberCallExpr (call visitor functions).
Ted Kremenek [Thu, 30 Sep 2010 01:06:29 +0000 (01:06 +0000)]
Include changes to VisitCXXMemberCallExpr (call visitor functions).

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

14 years agoChange CheckerVisitor so that [Pre,Post]VisitCallExpr only handles CallExprs for...
Ted Kremenek [Thu, 30 Sep 2010 01:06:26 +0000 (01:06 +0000)]
Change CheckerVisitor so that [Pre,Post]VisitCallExpr only handles CallExprs for simple C functions, not
all CallExprs (including CXXMemberCallExpr, etc.).  Now the generic handler for all CallExprs is [Pre,Post]VisitGenericCallExpr.

Also add [Pre,Post]Visit hooks for CXXMemberCallExpr.

Change GRExprEngine::VisitCXXMemberCallExpr() to do pre/post checker visits of the call.

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

14 years agoMake the FileID import map key on FileID.
Sebastian Redl [Thu, 30 Sep 2010 01:03:06 +0000 (01:03 +0000)]
Make the FileID import map key on FileID.

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

14 years agoIn MeasureTokenLength, the FileLoc supplied to the lexer must point to the start...
Sebastian Redl [Thu, 30 Sep 2010 01:03:03 +0000 (01:03 +0000)]
In MeasureTokenLength, the FileLoc supplied to the lexer must point to the start of the buffer, or we risk overflow.

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

14 years agoTweak nil receiver checker to not warning about 64-bit return values.
Ted Kremenek [Thu, 30 Sep 2010 00:37:10 +0000 (00:37 +0000)]
Tweak nil receiver checker to not warning about 64-bit return values.

Fixes: <rdar://problem/7513117>
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@115113 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAnalyzerStatsChecker improvements:
Tom Care [Wed, 29 Sep 2010 23:48:34 +0000 (23:48 +0000)]
AnalyzerStatsChecker improvements:
- Use BlockEntrance rather than BlockEdge to bring in line with UnreachableCodeChecker. Fixes an issue where unreached blocks would still be counted as reachable.
- Added warnings for all BlockAborted locations. This allows us to see where the analyzer stopped analyzing.

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

14 years agoModified the ccc-analyzer script to print the compiler command when log level verbosi...
Tom Care [Wed, 29 Sep 2010 23:48:31 +0000 (23:48 +0000)]
Modified the ccc-analyzer script to print the compiler command when log level verbosity is enabled. This is handy for debugging.

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

14 years agoChange -analyzer-max-nodes to allow 0 as a parameter. This allows the analyzer to...
Tom Care [Wed, 29 Sep 2010 23:48:13 +0000 (23:48 +0000)]
Change -analyzer-max-nodes to allow 0 as a parameter. This allows the analyzer to completely analyze a worklist regardless of time taken.

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

14 years agoAttach aritifical attribute with implicit parameters.
Devang Patel [Wed, 29 Sep 2010 23:09:21 +0000 (23:09 +0000)]
Attach aritifical attribute with implicit parameters.
Radar 8493141.

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

14 years agoImplicitParamDecl is always implicit.
Devang Patel [Wed, 29 Sep 2010 23:08:00 +0000 (23:08 +0000)]
ImplicitParamDecl is always implicit.

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

14 years agoEmit method access specifier.
Devang Patel [Wed, 29 Sep 2010 21:46:16 +0000 (21:46 +0000)]
Emit method access specifier.
Radar 8490416.

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

14 years agoUpdate docs to include proper location of clang binary.
Ted Kremenek [Wed, 29 Sep 2010 21:41:56 +0000 (21:41 +0000)]
Update docs to include proper location of clang binary.

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

14 years agoWhen performing template argument deduction of a function template
Douglas Gregor [Wed, 29 Sep 2010 21:14:36 +0000 (21:14 +0000)]
When performing template argument deduction of a function template
against a function type, be sure to check the type of the resulting
function template specialization against the desired function type
after substituting the deduced/defaulted template arguments. Fixes PR8196.

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

14 years agoUpdate to reflect DIFactory::CreateSubprogram() interface change from r115084.
Devang Patel [Wed, 29 Sep 2010 21:05:52 +0000 (21:05 +0000)]
Update to reflect DIFactory::CreateSubprogram() interface change from r115084.

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

14 years agoRemove dead code.
Devang Patel [Wed, 29 Sep 2010 20:05:01 +0000 (20:05 +0000)]
Remove dead code.

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

14 years agoBasic: Simplify getClangRepositoryPath and getClangRevision.
Daniel Dunbar [Wed, 29 Sep 2010 19:15:29 +0000 (19:15 +0000)]
Basic: Simplify getClangRepositoryPath and getClangRevision.

 - I don't like returning StringRef's ever, unless it is actually important for
   performance, which it isn't here.

 - Also, stop validating getClangRevision to be an integer, I don't see a good
   reason to do this.

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

14 years agoTest case for r115067.
Devang Patel [Wed, 29 Sep 2010 19:08:35 +0000 (19:08 +0000)]
Test case for r115067.

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

14 years agoAdd support for attribute((naked)), patch by Zoxc on cfe-commits!
Daniel Dunbar [Wed, 29 Sep 2010 18:20:25 +0000 (18:20 +0000)]
Add support for attribute((naked)), patch by Zoxc on cfe-commits!
 - Minor style tweaks by me.

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

14 years agoFix handling of dependent nested namespace specifiers in UsingDecls
Douglas Gregor [Wed, 29 Sep 2010 17:58:28 +0000 (17:58 +0000)]
Fix handling of dependent nested namespace specifiers in UsingDecls
during template instantiation, from Martin Vejnar!

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

14 years agoBasic: Add support for git svn to get the repo version in clang executable,
Daniel Dunbar [Wed, 29 Sep 2010 17:57:10 +0000 (17:57 +0000)]
Basic: Add support for git svn to get the repo version in clang executable,
patch by Jonathan Mulder!

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

14 years agoFrontend/XML: Add support for printing nested structures, patch by Martin Vejnár!
Daniel Dunbar [Wed, 29 Sep 2010 16:09:28 +0000 (16:09 +0000)]
Frontend/XML: Add support for printing nested structures, patch by Martin Vejnár!

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

14 years agoDefine _Bool, bool, true, and false macros in <stdbool.h> when we're
Douglas Gregor [Wed, 29 Sep 2010 04:57:11 +0000 (04:57 +0000)]
Define _Bool, bool, true, and false macros in <stdbool.h> when we're
in a GNU-compatible C++ dialect. Fixes <rdar://problem/8477819>.

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

14 years agoMove the management of the set of conversion functions in a C++ class
Douglas Gregor [Wed, 29 Sep 2010 04:25:11 +0000 (04:25 +0000)]
Move the management of the set of conversion functions in a C++ class
into CXXRecordDecl. The only part that we do not handle this way are
using declarations, since that would require extra name lookup that we
don't currently want to pay for. This fixes <rdar://problem/8459981>,
so that LLDB can build a CXXRecordDecl and magically get all of the
right bits set.

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

14 years agoVisit the type information for CXXUnresolvedConstructExpr, just like
Craig Silverstein [Wed, 29 Sep 2010 04:14:20 +0000 (04:14 +0000)]
Visit the type information for CXXUnresolvedConstructExpr, just like
we do for the similar CXXTemporaryObjectExpr.  OKed by chandlerc and
wan.

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

14 years agoMove the maintenance of CXXRecordDecl::DefinitionData's Abstract bit
Douglas Gregor [Wed, 29 Sep 2010 00:15:42 +0000 (00:15 +0000)]
Move the maintenance of CXXRecordDecl::DefinitionData's Abstract bit
completely into CXXRecordDecl, by adding a new completeDefinition()
function. This required a little reshuffling of the final-overrider
checking code, since the "abstract" calculation in the presence of
abstract base classes needs to occur in
CXXRecordDecl::completeDefinition() but we don't want to compute final
overriders more than one in the common case.

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

14 years agoenhance tentative parsing to handle ms extensions, patch by Martin Vejnar!
Chris Lattner [Tue, 28 Sep 2010 23:35:09 +0000 (23:35 +0000)]
enhance tentative parsing to handle ms extensions, patch by Martin Vejnar!

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

14 years agoTeach FunctionDecl::setPure() to (indirectly) mark the Abstract bit in
Douglas Gregor [Tue, 28 Sep 2010 21:55:22 +0000 (21:55 +0000)]
Teach FunctionDecl::setPure() to (indirectly) mark the Abstract bit in
CXXRecordDecl::DefinitionData, rather than having Sema mark the bit.

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

14 years agoAdd test case for <rdar://problem/8452791> (fixed in r114392).
Ted Kremenek [Tue, 28 Sep 2010 21:11:07 +0000 (21:11 +0000)]
Add test case for <rdar://problem/8452791> (fixed in r114392).

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

14 years agoReinstate r114925 and r114929, both steps toward
Douglas Gregor [Tue, 28 Sep 2010 20:50:54 +0000 (20:50 +0000)]
Reinstate r114925 and r114929, both steps toward
<rdar://problem/8459981>.

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

14 years agovla expressions used in __typeof__ must be evaluated.
Fariborz Jahanian [Tue, 28 Sep 2010 20:42:35 +0000 (20:42 +0000)]
vla expressions used in __typeof__ must be evaluated.
Fixes rdar://8476159.

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

14 years agoCentralize the management of CXXRecordDecl::DefinitionData's Empty bit
Douglas Gregor [Tue, 28 Sep 2010 20:38:10 +0000 (20:38 +0000)]
Centralize the management of CXXRecordDecl::DefinitionData's Empty bit
in CXXRecordDecl itself. Yes, this is also part of <rdar://problem/8459981>.

This reinstates r114924, with one crucial bug fix: we were ignoring
the implicit fields created by anonymous structs/unions when updating
the bits in CXXRecordDecl, which means that a class/struct containing
only an anonymous class/struct would be considered "empty". Hilarity
follows.

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

14 years agoFollow-up to r114978, used wrong tag.
Sebastian Redl [Tue, 28 Sep 2010 20:28:50 +0000 (20:28 +0000)]
Follow-up to r114978, used wrong tag.

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

14 years agoMove ExternalSemaSource::ReadMethodPool's implementation to Sema.cpp so that the...
Sebastian Redl [Tue, 28 Sep 2010 20:23:00 +0000 (20:23 +0000)]
Move ExternalSemaSource::ReadMethodPool's implementation to Sema.cpp so that the header can get away with forward declarations only for ObjCMethodList and Selector. Fixes <rdar://8467631>.

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

14 years agoReinstate r114921, which I've exonerated via a self-host build.
Douglas Gregor [Tue, 28 Sep 2010 19:45:33 +0000 (19:45 +0000)]
Reinstate r114921, which I've exonerated via a self-host build.

Centralize the management of CXXRecordDecl::DefinitionData's Aggregate
and PlainOldData bits in CXXRecordDecl itself. Another milepost on the
road toward <rdar://problem/8459981>.

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

14 years agoWhen we have two identifiers in a row in Objective-C, make sure to
Douglas Gregor [Tue, 28 Sep 2010 17:48:56 +0000 (17:48 +0000)]
When we have two identifiers in a row in Objective-C, make sure to
verify that we aren't in a message-send expression before digging into
the identifier or looking ahead more tokens. Fixes a regression
(<rdar://problem/8483253>) I introduced with bracket insertion.

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

14 years agoDon't warn with -Wbool-conversions if the user wrote an explicit cast like "(void...
Argyrios Kyrtzidis [Tue, 28 Sep 2010 14:54:11 +0000 (14:54 +0000)]
Don't warn with -Wbool-conversions if the user wrote an explicit cast like "(void *)false".
Fixes rdar://8459342.

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

14 years agoDon't warn for an unused label if it has 'unused' attribute. Fixes rdar://8483139.
Argyrios Kyrtzidis [Tue, 28 Sep 2010 14:54:07 +0000 (14:54 +0000)]
Don't warn for an unused label if it has 'unused' attribute. Fixes rdar://8483139.

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

14 years agoFix a bug in loading macro records. Fixes yet another crash in libclang.
Sebastian Redl [Tue, 28 Sep 2010 02:55:49 +0000 (02:55 +0000)]
Fix a bug in loading macro records. Fixes yet another crash in libclang.

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

14 years agoFix a use of an invalidated reference due to a hash map reallocating.
Sebastian Redl [Tue, 28 Sep 2010 02:24:44 +0000 (02:24 +0000)]
Fix a use of an invalidated reference due to a hash map reallocating.

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