]>
granicus.if.org Git - clang/log
Daniel Dunbar [Wed, 11 Nov 2009 00:52:11 +0000 (00:52 +0000)]
StringRefify some PCH interfaces.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86775
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Wed, 11 Nov 2009 00:52:00 +0000 (00:52 +0000)]
Replace startsWith functions with StringRef.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86774
91177308 -0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Wed, 11 Nov 2009 00:35:07 +0000 (00:35 +0000)]
Stub out most of the VTT building code. WIP.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86772
91177308 -0d34-0410-b5e6-
96231b3b80d8
John McCall [Wed, 11 Nov 2009 00:21:18 +0000 (00:21 +0000)]
Create a new Scope when parsing a declaration with a C++ scope specifier.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86764
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Tue, 10 Nov 2009 23:55:23 +0000 (23:55 +0000)]
Add Diagnostic::Report method for reporting diagnostics without a location.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86760
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Tue, 10 Nov 2009 23:53:43 +0000 (23:53 +0000)]
PreprocessorOptions: Get rid of unnecessary 'isPTH' flag for include entries.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86757
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Tue, 10 Nov 2009 23:47:18 +0000 (23:47 +0000)]
Diagnose illegally typed operator new/new[].
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86755
91177308 -0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Tue, 10 Nov 2009 23:07:24 +0000 (23:07 +0000)]
Attach location info with llvm.dbg.declare.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86750
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Tue, 10 Nov 2009 22:55:49 +0000 (22:55 +0000)]
Add FIXIT hint for -Wsemicolon-before-method-body
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86746
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Tue, 10 Nov 2009 22:48:10 +0000 (22:48 +0000)]
Revert r86741; it doesn't handle virtual bases correctly.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86745
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Tue, 10 Nov 2009 22:42:26 +0000 (22:42 +0000)]
Minor optimization to skip null check in generated code where it isn't
necessary.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86741
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Tue, 10 Nov 2009 22:39:09 +0000 (22:39 +0000)]
Fix for PR5454: make sure to use the right block as the predecessor in the
generated PHI node for the null check of a new operator.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86738
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Tue, 10 Nov 2009 22:22:50 +0000 (22:22 +0000)]
Shuffle order of warning declarations (alphabetize).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86733
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Tue, 10 Nov 2009 22:16:29 +0000 (22:16 +0000)]
Make -Wsemicolon-before-method-body opt-in (and part of -Wextra). Addresses <rdar://problem/
7381735 >.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86731
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Tue, 10 Nov 2009 22:09:38 +0000 (22:09 +0000)]
Decouple more of clang-cc by moving ImplicitP[CT]H options into
PreprocessorOptions.
Global variables used as [in] [out] parameters considered harmful.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86728
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Tue, 10 Nov 2009 21:38:41 +0000 (21:38 +0000)]
Update CMake file.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86721
91177308 -0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Tue, 10 Nov 2009 21:33:20 +0000 (21:33 +0000)]
Add newline at EOF.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86720
91177308 -0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Tue, 10 Nov 2009 21:29:56 +0000 (21:29 +0000)]
Silence warning.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86719
91177308 -0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 10 Nov 2009 21:21:27 +0000 (21:21 +0000)]
Use #include <stdio.h> when using fprintf and stderr.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86717
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Tue, 10 Nov 2009 19:51:53 +0000 (19:51 +0000)]
clang-cc: Start moving "pure" option handling to Options.cpp, to separate it
from the logic part of clang-cc, and to enforce limited scoping.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86711
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Tue, 10 Nov 2009 19:51:46 +0000 (19:51 +0000)]
clang-cc: Sink more options inside codegenopts namespace.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86710
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Tue, 10 Nov 2009 19:51:33 +0000 (19:51 +0000)]
Change LangOpts initialization to directly test the code generation options,
instead of reproducing their logic.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86709
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Tue, 10 Nov 2009 19:49:08 +0000 (19:49 +0000)]
Improve parsing of template arguments to lay the foundation for
handling template template parameters properly. This refactoring:
- Parses template template arguments as id-expressions, representing
the result of the parse as a template name (Action::TemplateTy)
rather than as an expression (lame!).
- Represents all parsed template arguments via a new parser-specific
type, ParsedTemplateArgument, which stores the kind of template
argument (type, non-type, template) along with all of the source
information about the template argument. This replaces an ad hoc
set of 3 vectors (one for a void*, which was either a type or an
expression; one for a bit telling whether the first was a type or
an expression; and one for a single source location pointing at
the template argument).
- Moves TemplateIdAnnotation into the new Parse/Template.h. It never
belonged in the Basic library anyway.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86708
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Tue, 10 Nov 2009 19:31:09 +0000 (19:31 +0000)]
Changed a variable name to match what it represents
(Ted's feedback).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86702
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Tue, 10 Nov 2009 19:24:06 +0000 (19:24 +0000)]
This patch implements Code gen. for destruction of
global array of objects.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86701
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Tue, 10 Nov 2009 19:18:52 +0000 (19:18 +0000)]
CIndex: Only display diagnostics to llvm::errs() when the client has set the 'displayDiagnostics' option to 1 in clang_createIndex(). This fixes <rdar://problem/
7370691 >.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86700
91177308 -0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Tue, 10 Nov 2009 19:13:04 +0000 (19:13 +0000)]
Only generate a VTT for classes that need a VTT.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86699
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Tue, 10 Nov 2009 18:47:41 +0000 (18:47 +0000)]
Driver: Run 'clang' in C++ mode based on the name it was invoked by. We match
anything that ends with ++ or ++-FOO (e.g., c++, clang++, clang++-1.1) as being
a "C++ compiler".
This allows easy testing of the C++ compiler by 'ln -s clang clang++', or by 'cp
clang clang++'.
Based on patch by Roman Divacky.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86697
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Tue, 10 Nov 2009 18:47:35 +0000 (18:47 +0000)]
Factor out parts of InitializeCompileOptions that depend on the LangOptions.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86696
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Tue, 10 Nov 2009 17:50:53 +0000 (17:50 +0000)]
Localize -disable-llvm-optzns handling to BackendConsumer::CreatePasses.
- This is conceptually better since the only thing we want this option to do is
preserve the internal module as constructed by IRgen, before running any
passes.
- This also fixes bugs in -disable-llvm-optzns handling with regards to debug
info.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86691
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Tue, 10 Nov 2009 17:50:42 +0000 (17:50 +0000)]
clang-cc: Start sinking (CodeGen) options into namespaces to limit their scope.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86690
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Tue, 10 Nov 2009 16:23:44 +0000 (16:23 +0000)]
Cleanup some clang-cc FIXMEs
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86686
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Tue, 10 Nov 2009 16:19:45 +0000 (16:19 +0000)]
Add CompileOptions to CompilerInvocation.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86685
91177308 -0d34-0410-b5e6-
96231b3b80d8
John McCall [Tue, 10 Nov 2009 09:25:37 +0000 (09:25 +0000)]
Fix a similar problem with qualified lookup through using directives,
although in this case we probably just run a risk of duplicating work;
I can't think of how this could cause a bug.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86680
91177308 -0d34-0410-b5e6-
96231b3b80d8
John McCall [Tue, 10 Nov 2009 09:20:04 +0000 (09:20 +0000)]
Make a somewhat more convincing test case for unqualified lookup through
using directives, and fix a bug thereby exposed: since we're playing
tricks with pointers, we need to make certain we're always using the same
pointers for things.
Also tweak an existing error message.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86679
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Tue, 10 Nov 2009 08:33:44 +0000 (08:33 +0000)]
Ignore parentheses when check the type of the expr.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86677
91177308 -0d34-0410-b5e6-
96231b3b80d8
John McCall [Tue, 10 Nov 2009 07:56:40 +0000 (07:56 +0000)]
Simple test case for [basic.lookup.udir].
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86674
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Tue, 10 Nov 2009 07:52:53 +0000 (07:52 +0000)]
SizeofPointerChecker: Many false positives have the form 'sizeof *p'.
This is reasonable because people know what they are doing when they
intentionally dereference the pointer.
So now we only emit warning when a pointer variable is use literally.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86673
91177308 -0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Tue, 10 Nov 2009 07:44:33 +0000 (07:44 +0000)]
Add vtable caching to prevent multiple vtables for the same class from
being generated.
Add the most derived vtable pointer to the VTT.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86671
91177308 -0d34-0410-b5e6-
96231b3b80d8
John McCall [Tue, 10 Nov 2009 07:01:13 +0000 (07:01 +0000)]
Fix unqualified lookup through using directives.
This is a pretty minimal test case; I'll make a better one later.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86669
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Tue, 10 Nov 2009 04:46:30 +0000 (04:46 +0000)]
When trying to assign a regular string literal to an Objective-C 'id' type or a pointer to an NSString, emit a code insertion hint that turns it into an Objective-C string. For example:
@class NSString;
@interface Test
+ (void)test:(NSString *)string;
@end
void g(NSString *a);
void f() {
NSString *a = "Foo";
g("Foo");
[Test test:"Foo"];
}
will produce
t.m:10:17: warning: incompatible pointer types initializing 'char [4]', expected 'NSString *'
NSString *a = "Foo";
^~~~~
@
t.m:11:5: warning: incompatible pointer types passing 'char [4]', expected 'NSString *'
g("Foo");
^~~~~
@
t.m:12:14: warning: incompatible pointer types sending 'char [4]', expected 'NSString *'
[Test test:"Foo"];
^~~~~
@
3 diagnostics generated.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86665
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Tue, 10 Nov 2009 04:36:33 +0000 (04:36 +0000)]
Don't try to emit null fixit hints.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86664
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Tue, 10 Nov 2009 04:22:08 +0000 (04:22 +0000)]
Now we can safely use the argument expression's source range.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86663
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Tue, 10 Nov 2009 04:20:20 +0000 (04:20 +0000)]
SizeofPointerChecker: If an explicit type specifier is used, do not issue warnings.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86662
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Tue, 10 Nov 2009 03:32:44 +0000 (03:32 +0000)]
Use PP.getLocForEndOfToken as suggested by John.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86661
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Tue, 10 Nov 2009 03:27:00 +0000 (03:27 +0000)]
Use the source range of the whole sizeof expression, otherwise it crashes when
the argument is not an expression.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86660
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Tue, 10 Nov 2009 03:24:44 +0000 (03:24 +0000)]
If a function with a default argument is redefined and the new function also has a defualt argument then add a fixit hint that removes the default argument. Fixes PR5444.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86659
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Tue, 10 Nov 2009 03:23:35 +0000 (03:23 +0000)]
Update xode project.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86658
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Tue, 10 Nov 2009 02:45:49 +0000 (02:45 +0000)]
Add test case for PointerSubChecker.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86657
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Tue, 10 Nov 2009 02:37:53 +0000 (02:37 +0000)]
Refine PointerSubChecker: compare the base region instead of the original
region, so that arithmetic within a memory chunk is allowed.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86652
91177308 -0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Tue, 10 Nov 2009 02:30:51 +0000 (02:30 +0000)]
Be sure to clear out VCall when we clear out VCalls.
Start implementing VTTs. WIP.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86650
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Tue, 10 Nov 2009 02:17:20 +0000 (02:17 +0000)]
Rename: StripCasts describes what it does better.
getBaseRegion will be used in another method.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86649
91177308 -0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Tue, 10 Nov 2009 01:58:37 +0000 (01:58 +0000)]
Finish off mangling for the VTT.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86647
91177308 -0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Tue, 10 Nov 2009 01:41:59 +0000 (01:41 +0000)]
Add mangling for the construction vtable.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86643
91177308 -0d34-0410-b5e6-
96231b3b80d8
Jeffrey Yasskin [Tue, 10 Nov 2009 01:17:45 +0000 (01:17 +0000)]
Fix clang's use of DenseMap iterators after r86636 fixed their constness.
Patch by Victor Zverovich!
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86638
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Tue, 10 Nov 2009 00:46:25 +0000 (00:46 +0000)]
Simplify, following MemoryBuffer::getSTDIN API fix.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86633
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Tue, 10 Nov 2009 00:46:19 +0000 (00:46 +0000)]
Switch to getFileOrSTDIN().
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86632
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Tue, 10 Nov 2009 00:46:12 +0000 (00:46 +0000)]
Remove some if-0'd code, we can resurrect this if we ever decide to support
continuing after invalid PCH loads.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86631
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Tue, 10 Nov 2009 00:39:07 +0000 (00:39 +0000)]
Move all of the type-printing logic to its own C++ source file
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86629
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Mon, 9 Nov 2009 23:12:31 +0000 (23:12 +0000)]
Add PreprocessorOptions to CompilerInvocation.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86623
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Mon, 9 Nov 2009 23:02:47 +0000 (23:02 +0000)]
Privatize InitHeaderSearch, this functionality is only exposed via
ApplyHeaderSearchOptions now.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86617
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Mon, 9 Nov 2009 22:46:17 +0000 (22:46 +0000)]
Move LangOptions, HeaderSearchOptions, and the target feature map into
CompilerInvocation.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86612
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Mon, 9 Nov 2009 22:46:09 +0000 (22:46 +0000)]
Switch Target* to Target&.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86611
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Mon, 9 Nov 2009 22:46:04 +0000 (22:46 +0000)]
Add default initializer for Sysroot ivar.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86610
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Mon, 9 Nov 2009 22:45:57 +0000 (22:45 +0000)]
Change clang-cc to expect that all inputs have the same language (so we can only construct a single LangInfo). This matches how it is used in practice (since the compiler only it invokes it for one file at a time).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86609
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Mon, 9 Nov 2009 22:45:47 +0000 (22:45 +0000)]
(llvm up) Convert clang-cc.cpp:GetLanguage to StringSwitch.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86608
91177308 -0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Mon, 9 Nov 2009 22:40:09 +0000 (22:40 +0000)]
Enable the use of the new llvm objectsize intrinsic.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86607
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Mon, 9 Nov 2009 22:28:08 +0000 (22:28 +0000)]
Further change in a comment.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86599
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Mon, 9 Nov 2009 22:25:11 +0000 (22:25 +0000)]
Removed a FIXME on nested type specifier warning.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86598
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Mon, 9 Nov 2009 22:16:37 +0000 (22:16 +0000)]
Changed error for nested type qualifier mismatch to
warning, to match gcc. It used to be warning, so
better keep it a warning (it broke a certain project).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86597
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Mon, 9 Nov 2009 22:08:55 +0000 (22:08 +0000)]
Make sure that Type::getAs<ArrayType>() (or Type::getAs<subclass of
ArrayType>()) does not instantiate. Update all callers that used this
unsafe feature to use the appropriate ASTContext::getAs*ArrayType method.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86596
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Mon, 9 Nov 2009 21:56:44 +0000 (21:56 +0000)]
Remove stale FIXME.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86595
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Mon, 9 Nov 2009 21:35:27 +0000 (21:35 +0000)]
Make sure that we look into nested, transparent declaration contexts
when looking for a name within a given DeclContext. Now enumerators
will show up in code-completion results.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86591
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Mon, 9 Nov 2009 21:02:05 +0000 (21:02 +0000)]
For array pointee type, get its cvr qualifier from
its element type. Fixes pr5432.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86587
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Mon, 9 Nov 2009 20:55:08 +0000 (20:55 +0000)]
Add CompilerInvocation object, to capture all the options one needs to invoke
the compiler, and start flood filling it into clang-cc.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86586
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Mon, 9 Nov 2009 20:19:49 +0000 (20:19 +0000)]
Stub out a few more warning groups.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86585
91177308 -0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Mon, 9 Nov 2009 20:14:44 +0000 (20:14 +0000)]
Fix build after r86579.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86584
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Mon, 9 Nov 2009 19:27:57 +0000 (19:27 +0000)]
Make sure that we instantiate default function arguments for an
overloaded operator().
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86581
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Mon, 9 Nov 2009 19:20:36 +0000 (19:20 +0000)]
Add additional note to mark the cause of synthesized constructors. Mark
declaration invalid if the constructor can't be properly built. Addresses
remaining review comments from Fariborz for r86500.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86579
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Mon, 9 Nov 2009 19:17:50 +0000 (19:17 +0000)]
Improve instantiation of default template arguments for nested
templates. The instantiation of these default arguments must be (and
now, is) delayed until the template argument is actually used, at
which point we substitute all levels of template arguments
concurrently.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86578
91177308 -0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Mon, 9 Nov 2009 19:13:48 +0000 (19:13 +0000)]
Factor CXString creation into a helper method.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86577
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Mon, 9 Nov 2009 18:49:09 +0000 (18:49 +0000)]
Add code generation test for r86500.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86574
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Mon, 9 Nov 2009 18:48:53 +0000 (18:48 +0000)]
Test case for Sean Hunt's patch which I left out.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86573
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Mon, 9 Nov 2009 18:38:53 +0000 (18:38 +0000)]
Add support for cdecl attribute. (As far as I know, it doesn't affect CodeGen
unless we start implementing command-line switches which override the default
calling convention, so the effect is mostly to silence unknown attribute
warnings.)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86571
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Mon, 9 Nov 2009 18:29:00 +0000 (18:29 +0000)]
Slightly more testing for instantiation of non-type template parameters in nested templates, for my own sanity's sake
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86570
91177308 -0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Mon, 9 Nov 2009 18:24:53 +0000 (18:24 +0000)]
Writing to a struct passed by value is pointless. Remove dead code.
- free(NULL) is a nop anyway.
- if someone thinks calling clang_disposeString twice should be legal
please change the method to take a pointer.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86568
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Mon, 9 Nov 2009 18:19:57 +0000 (18:19 +0000)]
Improve c-index-test's parsing of the -code-completion-at=file:line:column argument
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86566
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Mon, 9 Nov 2009 17:54:53 +0000 (17:54 +0000)]
Add a triple to try to fix the buildbot error.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86563
91177308 -0d34-0410-b5e6-
96231b3b80d8
Steve Naroff [Mon, 9 Nov 2009 17:45:52 +0000 (17:45 +0000)]
Introduce CXString type and associated functions clang_getCString() and clang_disposeString().
This abstraction will help us manage string memory for complex names that cross the C++/C boundary (e.g. ObjC methods, selectors). This patch also uses it in clang_getTranslationUnitSpelling (which I'm not sure is necessary). Will investigate later...since the extra malloc() can't hurt (for now).
Patch by John Thompson.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86562
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Mon, 9 Nov 2009 17:34:18 +0000 (17:34 +0000)]
__uint128_t is indeed an unsigned integer type. Fixes PR5435.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86561
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Mon, 9 Nov 2009 17:16:50 +0000 (17:16 +0000)]
When transforming an InitListExpr, if we already computed a non-dependent type for the InitListExpr, keep it
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86559
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Mon, 9 Nov 2009 17:05:28 +0000 (17:05 +0000)]
C doesn't allow mixing declarations and statements, silly
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86556
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Mon, 9 Nov 2009 16:22:45 +0000 (16:22 +0000)]
Simplify test to deal with type-based ordering variations
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86552
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Mon, 9 Nov 2009 16:06:30 +0000 (16:06 +0000)]
Verify that code-completion is at least a little bit robust against inclusion of missing headers
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86551
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Mon, 9 Nov 2009 16:04:45 +0000 (16:04 +0000)]
Minor cleanup for CIndex-based code-completion:
- Provide an actual test for code-completion via CIndex.
- Actually print optional strings in c-index-test
- Export clang_getCompletionChunkCompletionString from CIndex
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86550
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Mon, 9 Nov 2009 15:15:41 +0000 (15:15 +0000)]
Fix a broken link
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86545
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Mon, 9 Nov 2009 13:56:44 +0000 (13:56 +0000)]
update test case.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86541
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Mon, 9 Nov 2009 13:23:31 +0000 (13:23 +0000)]
Add check for pointer arithmetic on non-array variables.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86538
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Mon, 9 Nov 2009 12:19:26 +0000 (12:19 +0000)]
Add check for obsolete function call of getpw().
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86537
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Mon, 9 Nov 2009 09:35:41 +0000 (09:35 +0000)]
remove redundant file name in CMakeLists.txt.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86536
91177308 -0d34-0410-b5e6-
96231b3b80d8