]>
granicus.if.org Git - clang/log
Fariborz Jahanian [Tue, 10 Aug 2010 20:59:58 +0000 (20:59 +0000)]
Fix test to not depend on objc.h header.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110729
91177308 -0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Tue, 10 Aug 2010 20:16:57 +0000 (20:16 +0000)]
Simplify
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110716
91177308 -0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Tue, 10 Aug 2010 20:01:51 +0000 (20:01 +0000)]
Test case for llvm r110712.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110713
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Tue, 10 Aug 2010 19:33:56 +0000 (19:33 +0000)]
tests: Avoid unnecessary redirection.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110709
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Tue, 10 Aug 2010 19:32:44 +0000 (19:32 +0000)]
tests: Tests which include system headers must use the driver, not -cc1.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110708
91177308 -0d34-0410-b5e6-
96231b3b80d8
John Thompson [Tue, 10 Aug 2010 19:20:14 +0000 (19:20 +0000)]
Slightly revised handling of mult-alt constraints, to avoid an assert, until we have the full fix.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110706
91177308 -0d34-0410-b5e6-
96231b3b80d8
John McCall [Tue, 10 Aug 2010 18:51:44 +0000 (18:51 +0000)]
When initializing a static local, pop the guard-abort EH cleanup after
the variable is fully initialized.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110704
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Tue, 10 Aug 2010 18:32:37 +0000 (18:32 +0000)]
an objective-c++ test for -Wstrict-selector-match
(radar
8127244 ).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110702
91177308 -0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Tue, 10 Aug 2010 18:27:15 +0000 (18:27 +0000)]
Do not use DIGlobalVariable to emit debugging information for enums.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110697
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Tue, 10 Aug 2010 18:10:50 +0000 (18:10 +0000)]
Fix a spurious warning when message sent to qualified-id
type receiver (pr7861).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110696
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Tue, 10 Aug 2010 18:03:13 +0000 (18:03 +0000)]
Turn on idempotent operations checker when using --analyze.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110695
91177308 -0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Tue, 10 Aug 2010 17:53:33 +0000 (17:53 +0000)]
Simplify code and add comments, in code that generate debug info for constant integer globals, based on Chris's feedback.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110694
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Tue, 10 Aug 2010 17:39:05 +0000 (17:39 +0000)]
Driver/FreeBSD: Infer the right arch name in the presence of -m32,-m64, for the
cases we care about.
- This is eventually going to be unified outside the host specific code.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110693
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Tue, 10 Aug 2010 15:02:34 +0000 (15:02 +0000)]
Teach the libclang cursor visitor to walk into the type information
provided by __builtin_types_compatible_p and __builtin_va_arg
expressions, now that Abramo has added proper type-source information
to those expressions.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110681
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Tue, 10 Aug 2010 14:27:00 +0000 (14:27 +0000)]
Eliminate unnecessary uses of TemporaryBase in TreeTransform;
transforming TypeSourceInfos already gives us proper (and better)
source-location information.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110678
91177308 -0d34-0410-b5e6-
96231b3b80d8
Abramo Bagnara [Tue, 10 Aug 2010 13:46:45 +0000 (13:46 +0000)]
Fixed redundant NNS loading.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110677
91177308 -0d34-0410-b5e6-
96231b3b80d8
Abramo Bagnara [Tue, 10 Aug 2010 10:06:15 +0000 (10:06 +0000)]
Added TypeLocs to VAArgExpr node.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110666
91177308 -0d34-0410-b5e6-
96231b3b80d8
Abramo Bagnara [Tue, 10 Aug 2010 08:50:03 +0000 (08:50 +0000)]
Added TypeLocs to TypesCompatibleExpr node.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110663
91177308 -0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Tue, 10 Aug 2010 07:24:25 +0000 (07:24 +0000)]
Even if a constant's evaluated value is used, emit debug info for the constant variable.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110660
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Tue, 10 Aug 2010 03:13:15 +0000 (03:13 +0000)]
Fix redefinition of typedefs of fixable variably-modified array types; should
fix an issue compiling <windows.h>.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110651
91177308 -0d34-0410-b5e6-
96231b3b80d8
Bruno Cardoso Lopes [Tue, 10 Aug 2010 02:23:54 +0000 (02:23 +0000)]
Make replicate intrinsics use shufflevector instead of dup builtins, also remove the dup builtins
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110646
91177308 -0d34-0410-b5e6-
96231b3b80d8
Bruno Cardoso Lopes [Tue, 10 Aug 2010 01:41:40 +0000 (01:41 +0000)]
Use i32 instead of i8 for AVX dot product intrinsic
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110644
91177308 -0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Tue, 10 Aug 2010 01:36:24 +0000 (01:36 +0000)]
There is no need to pubish file static variable's name. Do not rely on this code gen bug to check whether debug info is generated for such variables or not.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110640
91177308 -0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Tue, 10 Aug 2010 00:25:48 +0000 (00:25 +0000)]
Run the assembler instead of gcc on Linux.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110635
91177308 -0d34-0410-b5e6-
96231b3b80d8
Bruno Cardoso Lopes [Tue, 10 Aug 2010 00:01:23 +0000 (00:01 +0000)]
Consider the last argument of vblend builtin to be i32 instead of i8
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110629
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Mon, 9 Aug 2010 23:27:58 +0000 (23:27 +0000)]
Implements gcc's -Wstrict-selector-match.
(radar
8127244 ).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110622
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Mon, 9 Aug 2010 22:38:14 +0000 (22:38 +0000)]
When attempting to recover from a failed unqualified name lookup, make
sure to clear out the LookupResult structure after looking into each class.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110615
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Mon, 9 Aug 2010 22:28:58 +0000 (22:28 +0000)]
Instead of having a specific CXTranslationUnit_* option flag for
"editing" mode, introduce a separate function
clang_defaultEditingTranslationUnitOptions() that retrieves the set of
options. No functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110613
91177308 -0d34-0410-b5e6-
96231b3b80d8
Sebastian Redl [Mon, 9 Aug 2010 21:55:28 +0000 (21:55 +0000)]
- Make ObjCInterfaceDecl redeclarable, and create separate decl nodes for forward declarations and the definition.
- Eagerly create ObjCInterfaceTypes for declarations.
- The two above changes lead to a 0.5% increase in memory use and no speed regression when parsing Cocoa.h. On the other hand, now chained PCH works when there's a forward declaration in one PCH and the interface definition in another.
- Add HandleInterestingDecl to ASTConsumer. PCHReader passes the "interesting" decls it finds to this function instead of HandleTopLevelDecl. The default implementation forwards to HandleTopLevelDecl, but ASTUnit's handler for example ignores them. This fixes a potential crash when lazy loading of PCH data would cause ASTUnit's "top level" declaration collection to change while being iterated.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110610
91177308 -0d34-0410-b5e6-
96231b3b80d8
John Thompson [Mon, 9 Aug 2010 21:53:52 +0000 (21:53 +0000)]
Added vecreturn attribute parsing.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110609
91177308 -0d34-0410-b5e6-
96231b3b80d8
Argyrios Kyrtzidis [Mon, 9 Aug 2010 21:08:13 +0000 (21:08 +0000)]
Change warning about incomplete parsing of C++ default arg to error and provide a test case; thanks Doug!
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110603
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Mon, 9 Aug 2010 21:06:06 +0000 (21:06 +0000)]
Fix mixed declarations and code warning.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110602
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Mon, 9 Aug 2010 21:00:09 +0000 (21:00 +0000)]
Minor libclang tweaks
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110599
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Mon, 9 Aug 2010 20:45:32 +0000 (20:45 +0000)]
Use precompiled preambles for in-process code completion.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110596
91177308 -0d34-0410-b5e6-
96231b3b80d8
Jordy Rose [Mon, 9 Aug 2010 20:31:57 +0000 (20:31 +0000)]
Allow EvalBinOpNN to handle expressions of the form $a+$b if $b can be reduced to a constant.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110592
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Mon, 9 Aug 2010 18:21:43 +0000 (18:21 +0000)]
Warn if class object does not implement qualified
id's protocols. Fixes radar
8154220 .
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110583
91177308 -0d34-0410-b5e6-
96231b3b80d8
Argyrios Kyrtzidis [Mon, 9 Aug 2010 10:59:17 +0000 (10:59 +0000)]
Remove a FIXME.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110571
91177308 -0d34-0410-b5e6-
96231b3b80d8
Argyrios Kyrtzidis [Mon, 9 Aug 2010 10:54:37 +0000 (10:54 +0000)]
Complete PCH support for ObjCPropertyImplDecl.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110570
91177308 -0d34-0410-b5e6-
96231b3b80d8
Argyrios Kyrtzidis [Mon, 9 Aug 2010 10:54:31 +0000 (10:54 +0000)]
Revert the dump functions to send output to llvm::errs(), matching the LLVM convention; suggestion by Daniel.
'-ast-print' / '-ast-dump' command line options still send output to llvm::outs().
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110569
91177308 -0d34-0410-b5e6-
96231b3b80d8
Argyrios Kyrtzidis [Mon, 9 Aug 2010 10:54:26 +0000 (10:54 +0000)]
Replace a parser assertion with a warning, suggestion by Doug.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110568
91177308 -0d34-0410-b5e6-
96231b3b80d8
Argyrios Kyrtzidis [Mon, 9 Aug 2010 10:54:20 +0000 (10:54 +0000)]
Support ObjC implementation decls for PCH.
Strictly speaking, implementations don't go in headers but there's no law against it.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110567
91177308 -0d34-0410-b5e6-
96231b3b80d8
Argyrios Kyrtzidis [Mon, 9 Aug 2010 10:54:12 +0000 (10:54 +0000)]
Refactor into functions PCH reading/writing the CXXBaseOrMemberInitializers. No functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110566
91177308 -0d34-0410-b5e6-
96231b3b80d8
Sean Hunt [Sun, 8 Aug 2010 21:19:33 +0000 (21:19 +0000)]
Remove C++0x concept keyword tokens since concepts were removed from C++0x.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110553
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chandler Carruth [Sun, 8 Aug 2010 08:44:32 +0000 (08:44 +0000)]
Fix a few more typos. Amusingly, GCC made the same mistake around version 3.2.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110546
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chandler Carruth [Sun, 8 Aug 2010 08:30:05 +0000 (08:30 +0000)]
Fix some typos I made when adding alternate intrinsic names.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110545
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Sun, 8 Aug 2010 07:49:23 +0000 (07:49 +0000)]
Revert r110440, the fix for PR4897. Chris claims to have a better way.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110544
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chandler Carruth [Sun, 8 Aug 2010 07:04:00 +0000 (07:04 +0000)]
Fix a crash on template delete operators.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110542
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Sun, 8 Aug 2010 05:07:06 +0000 (05:07 +0000)]
Make this test check a few more cases which didn't work correctly before
r110526.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110540
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chandler Carruth [Sun, 8 Aug 2010 05:02:51 +0000 (05:02 +0000)]
Silence GCC warning about && and || without explicit grouping.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110537
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Sun, 8 Aug 2010 01:37:14 +0000 (01:37 +0000)]
Thread local variables aren't considered common linkage.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110530
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Sat, 7 Aug 2010 23:11:44 +0000 (23:11 +0000)]
PR7800: both virtual and non-virtual bases must be marked as used for VTTs.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110526
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Sat, 7 Aug 2010 23:08:14 +0000 (23:08 +0000)]
Make -funroll-loops turn on loop unrolling in the optimizer instead
of just ignoring it.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110525
91177308 -0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Sat, 7 Aug 2010 22:27:00 +0000 (22:27 +0000)]
Push location through the MacroUndefined PPCallback and use it to print #undefs in -dD mode. (PR7818)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110523
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Sat, 7 Aug 2010 13:36:37 +0000 (13:36 +0000)]
Integral-to-pointer conversions are not always null -> member pointer
conversions. Fixes PR7443.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110519
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Sat, 7 Aug 2010 12:29:18 +0000 (12:29 +0000)]
Fix an Objective-C crasher, PR7839.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110515
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Sat, 7 Aug 2010 11:56:45 +0000 (11:56 +0000)]
Add some more tests for reference binding of Objective-C objects
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110514
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Sat, 7 Aug 2010 11:51:51 +0000 (11:51 +0000)]
Allow reference binding of a reference of Objective-C object type to
an lvalue of another, compatible Objective-C object type (e.g., a
subclass). Introduce a new initialization sequence step kind to
describe this binding, along with a new cast kind. Fixes PR7741.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110513
91177308 -0d34-0410-b5e6-
96231b3b80d8
John McCall [Sat, 7 Aug 2010 08:21:30 +0000 (08:21 +0000)]
Inline a special case of EmitAggregateCopy into EmitNullInitialization
to avoid the awesome-but-wrong-in-this-case assertion in the canon EAC.
Fixes PR7834.
Also fix a subtle address-space bug in the memset path.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110511
91177308 -0d34-0410-b5e6-
96231b3b80d8
John McCall [Sat, 7 Aug 2010 06:38:55 +0000 (06:38 +0000)]
Note that a CXXConstructExpr is zeroing when dumping it.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110510
91177308 -0d34-0410-b5e6-
96231b3b80d8
John McCall [Sat, 7 Aug 2010 06:22:56 +0000 (06:22 +0000)]
Store inheritance paths after CastExprs instead of inside them.
This takes some trickery since CastExpr has subclasses (and indeed,
is abstract).
Also, smoosh the CastKind into the bitfield from Expr.
Drops two words of storage from Expr in the common case of expressions
which don't need inheritance paths. Avoids a separate allocation and
another word of overhead in cases needing inheritance paths. Also has
the advantage of not leaking memory, since destructors for AST nodes are
never run.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110507
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 7 Aug 2010 00:20:46 +0000 (00:20 +0000)]
Correct -ftrapv to trap on errors, instead of calling the
__overflow_handler entrypoint that David Chisnall made up.
Calling __overflow_handler is not part of the contract of
-ftrapv provided by GCC, and should never have been checked
in in the first place.
According to:
http://permalink.gmane.org/gmane.comp.compilers.clang.devel/8699
David is using this for some of arbitrary precision integer stuff
or something, which is not an appropriate thing to implement on
this.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110490
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Fri, 6 Aug 2010 23:41:47 +0000 (23:41 +0000)]
PR7837: For qualified id's, make sure the decl context is complete if not
dependent in ActOnIdExpression. (This issue only shows up with member
operators because an operator is never a type.)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110486
91177308 -0d34-0410-b5e6-
96231b3b80d8
Tom Care [Fri, 6 Aug 2010 22:23:07 +0000 (22:23 +0000)]
Removed IdempotentOperationChecker from default analysis and returned back to a flag (-analyzer-check-idempotent-operations)
- Added IdempotentOperationChecker to experimental analyses for testing purposes
- Updated test cases to explictly call the checker
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110482
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Fri, 6 Aug 2010 21:12:58 +0000 (21:12 +0000)]
Fix leaks of ExplicitSpecializationInfo objects by allocating them with 'new (ASTContext)' instead of 'new'.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110474
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Fri, 6 Aug 2010 21:12:55 +0000 (21:12 +0000)]
Fix 80 col. violations.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110473
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Fri, 6 Aug 2010 21:12:53 +0000 (21:12 +0000)]
Nest variable declaration into into 'if' condition, thus restricting the scope of the variable and condensing the code.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110472
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Fri, 6 Aug 2010 21:12:49 +0000 (21:12 +0000)]
Use 'GenerateNode()' instead of 'GenerateSink()' when reporting a leak. A leak is not a hard enough bug to stop analyzing a path.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110471
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Fri, 6 Aug 2010 16:37:05 +0000 (16:37 +0000)]
Initialize variable to work around warning; unfortunately, there isn't any
way to tell gcc "really, values outside the enum aren't valid".
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110450
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Fri, 6 Aug 2010 16:28:55 +0000 (16:28 +0000)]
Finishing up block variable layout API by supporting
union type variables and their nesting inside other
aggregate types.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110448
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Fri, 6 Aug 2010 14:50:36 +0000 (14:50 +0000)]
The pre-increment/pre-decrement grammar in C++ differs from that in C,
but we were parsing the C grammar. Handle the C++ grammar
appropriately. Fixes PR7794.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110445
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Fri, 6 Aug 2010 14:15:26 +0000 (14:15 +0000)]
Remove some incorrect assertions when deduction template arguments in
a template-argument-list. When template template parameters are
involved, we won't already have checked the template-argument-list (it
may not be known yet!). Fixes PR7807.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110444
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Fri, 6 Aug 2010 13:50:58 +0000 (13:50 +0000)]
Make sure that we diagnose attribute((overloadable)) functions without
prototypes. Fixes PR7738.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110443
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Fri, 6 Aug 2010 12:37:52 +0000 (12:37 +0000)]
Define _INTEGRAL_MAX_BITS for the win32 and win64 targets, from Per Lindén!
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110442
91177308 -0d34-0410-b5e6-
96231b3b80d8
Abramo Bagnara [Fri, 6 Aug 2010 12:11:11 +0000 (12:11 +0000)]
Template keyword should not be ignored building a QualifiedTemplateName.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110441
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Fri, 6 Aug 2010 12:06:13 +0000 (12:06 +0000)]
Fix the #include search path when reading from stdin, from Jon Simons!
Fixes PR4897.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110440
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Fri, 6 Aug 2010 11:44:10 +0000 (11:44 +0000)]
Diagnose the use of "inline" on block-scope function declarations in
C++, from Andrea Nall!
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110439
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Fri, 6 Aug 2010 11:08:45 +0000 (11:08 +0000)]
Don't pass -avoid-version to Darwin linker
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110438
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Fri, 6 Aug 2010 10:14:59 +0000 (10:14 +0000)]
Introduce implicit conversions between AltiVec vectors and GCC
vectors, from Anton Yartsev!
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110437
91177308 -0d34-0410-b5e6-
96231b3b80d8
Argyrios Kyrtzidis [Fri, 6 Aug 2010 09:47:24 +0000 (09:47 +0000)]
Introduce a new token kind 'cxx_defaultarg_end' to mark the end of C++ default arguments that were part of
lexed method declarations.
This avoid interference with tokens coming after the point where the default arg tokens were 'injected', e.g. for
typedef struct Inst {
void m(int x=0);
} *InstPtr;
when parsing '0' the next token would be '*' and things would be messed up.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110436
91177308 -0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Fri, 6 Aug 2010 06:50:17 +0000 (06:50 +0000)]
Remove ElseScope which is also dead code now.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110433
91177308 -0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Fri, 6 Aug 2010 05:43:55 +0000 (05:43 +0000)]
Remove the DeclaredInCondition bit now that it's no longer used.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110432
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chandler Carruth [Fri, 6 Aug 2010 05:29:57 +0000 (05:29 +0000)]
Prevent these tests from dirtying the tree with output files that aren't even
used for the test.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110431
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Fri, 6 Aug 2010 04:20:59 +0000 (04:20 +0000)]
If all nodes are sunk, bail out early. This make the later check for checkersEvaluated really meaningful.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110430
91177308 -0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Fri, 6 Aug 2010 01:24:57 +0000 (01:24 +0000)]
vdup_lane was missing
<rdar://problem/
8278732 >
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110420
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Fri, 6 Aug 2010 01:17:25 +0000 (01:17 +0000)]
Attempt to fix uninitialized value warning reported on cfe-commits.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110418
91177308 -0d34-0410-b5e6-
96231b3b80d8
John McCall [Fri, 6 Aug 2010 00:46:05 +0000 (00:46 +0000)]
Properly pop out of Objective-C method declarations when they are (ill-formedly)
found within contexts other than the translation unit.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110417
91177308 -0d34-0410-b5e6-
96231b3b80d8
Sebastian Redl [Fri, 6 Aug 2010 00:35:11 +0000 (00:35 +0000)]
Add an environment variable that makes libclang use chaining for PCH.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110414
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Fri, 6 Aug 2010 00:04:40 +0000 (00:04 +0000)]
add test case.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110408
91177308 -0d34-0410-b5e6-
96231b3b80d8
Bruno Cardoso Lopes [Thu, 5 Aug 2010 23:47:43 +0000 (23:47 +0000)]
We don't want to support built-ins which aren't needed by the intrinsics. Remove them
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110399
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Thu, 5 Aug 2010 23:24:13 +0000 (23:24 +0000)]
Don't assert on a file stream if its state is not tracked. Fix pr7831.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110392
91177308 -0d34-0410-b5e6-
96231b3b80d8
Jordy Rose [Thu, 5 Aug 2010 23:11:30 +0000 (23:11 +0000)]
When checking if a buffer access is valid, first make sure the buffer has a valid Loc. Fixes PR7830.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110390
91177308 -0d34-0410-b5e6-
96231b3b80d8
Bruno Cardoso Lopes [Thu, 5 Aug 2010 23:04:58 +0000 (23:04 +0000)]
Fix AVX 256-bit intrinsics headers by using the right cast type while dealing with logical ops
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110389
91177308 -0d34-0410-b5e6-
96231b3b80d8
John McCall [Thu, 5 Aug 2010 22:02:13 +0000 (22:02 +0000)]
Don't crash when mangling empty anonymous unions. We never actually *need*
these, but it's convenient to mangle them when deferring them (in the 99.99%
case where it's not an anonymous union, of course).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110381
91177308 -0d34-0410-b5e6-
96231b3b80d8
Sebastian Redl [Thu, 5 Aug 2010 21:22:19 +0000 (21:22 +0000)]
Collect namespaces that need updating in a PCH chain. WIP
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110378
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Thu, 5 Aug 2010 21:00:25 +0000 (21:00 +0000)]
Add support for block imported struct variable layout info.
(objc gc and blocks in NeXt runtime).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110377
91177308 -0d34-0410-b5e6-
96231b3b80d8
John McCall [Thu, 5 Aug 2010 20:39:18 +0000 (20:39 +0000)]
It turns out that linkers (at least, the Darwin linker) don't necessarily
do the right thing with mixed-visibility symbols, so disable the visibility
optimization where that's possible, i.e. with template classes (since it's
possible that an arbitrary template might be subject to an explicit
instantiation elsewhere). 447.dealII actually does this.
I've put the code under an option that's currently not hooked up to anything.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110374
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 5 Aug 2010 20:04:20 +0000 (20:04 +0000)]
fix the va_list definition for vc++64, patch by Cameron Esfahani!
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110370
91177308 -0d34-0410-b5e6-
96231b3b80d8
Sebastian Redl [Thu, 5 Aug 2010 18:21:25 +0000 (18:21 +0000)]
Write various C++-specific records to chained PCHs. Tests will come later.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110357
91177308 -0d34-0410-b5e6-
96231b3b80d8
John McCall [Thu, 5 Aug 2010 18:11:10 +0000 (18:11 +0000)]
Argument evaluation order is not guaranteed. Split these out to force an order.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110354
91177308 -0d34-0410-b5e6-
96231b3b80d8
Tom Care [Thu, 5 Aug 2010 17:53:44 +0000 (17:53 +0000)]
Fixed logic error in UnreachableCodeChecker's marking algorithm that would sometimes allow for multiple sequential statements to be flagged.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110353
91177308 -0d34-0410-b5e6-
96231b3b80d8