]>
granicus.if.org Git - clang/log
Chris Lattner [Fri, 6 Feb 2009 18:34:27 +0000 (18:34 +0000)]
first hack at limits.h
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63945
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 6 Feb 2009 18:20:57 +0000 (18:20 +0000)]
-funsigned-char sets __CHAR_UNSIGNED__
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63942
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Fri, 6 Feb 2009 17:46:57 +0000 (17:46 +0000)]
Diagnose attempts to define a namespace member out-of-line when no
matching member exists. Thanks to Piotr Rak for reporting the problem!
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63939
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Fri, 6 Feb 2009 08:56:58 +0000 (08:56 +0000)]
Put the region store specific test in a separate file.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63930
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Fri, 6 Feb 2009 08:51:30 +0000 (08:51 +0000)]
SymbolicRegions really have unknown sizes.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63929
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Fri, 6 Feb 2009 08:44:27 +0000 (08:44 +0000)]
Create ElementRegion when the base is SymbolicRegion. This is like what we do
for FieldRegion. This enables us to track more values.
Simplify SymbolicRegion::getRValueType(). We assume the symbol always has
pointer type.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63928
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 6 Feb 2009 06:45:26 +0000 (06:45 +0000)]
Add an implementation of -dM that follows GCC closely enough to permit
diffing the output of:
clang -dM -o - -E -x c foo.c | sort
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63926
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 6 Feb 2009 06:26:42 +0000 (06:26 +0000)]
add interface for walking macro table.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63925
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 6 Feb 2009 06:19:20 +0000 (06:19 +0000)]
add support for -x c++-header, update comment.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63924
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 6 Feb 2009 05:56:11 +0000 (05:56 +0000)]
factor some code out into a helper function.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63922
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 6 Feb 2009 05:18:06 +0000 (05:18 +0000)]
file gone.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63921
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 6 Feb 2009 05:06:07 +0000 (05:06 +0000)]
get __WCHAR_TYPE__ from the targetinfo hook
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63920
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 6 Feb 2009 05:04:11 +0000 (05:04 +0000)]
simplify and refactor a bunch of type definition code in Preprocessor
predefines buffer initialization.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63919
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 6 Feb 2009 04:55:18 +0000 (04:55 +0000)]
remove some ad-hocery and use DefineTypeSize for more things.
Now you too can have a 47 bit long long!
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63918
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 6 Feb 2009 04:50:25 +0000 (04:50 +0000)]
refactor some code into a DefineTypeSize function.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63917
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 6 Feb 2009 04:16:41 +0000 (04:16 +0000)]
default diag::err_pp_file_not_found to mapping to fatal,
implementing PR3492: #include failures should be a fatal error
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63915
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 6 Feb 2009 04:16:02 +0000 (04:16 +0000)]
don't emit any diagnostics after a fatal one.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63914
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 6 Feb 2009 03:57:44 +0000 (03:57 +0000)]
handle fatal errors, rely on warnings to point out missing cases.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63913
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Fri, 6 Feb 2009 01:42:09 +0000 (01:42 +0000)]
Use ASTContext's allocator to deallocate Stmt objects instead of using 'delete'. This fixes <rdar://problem/
6561143 >.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63905
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Fri, 6 Feb 2009 01:28:59 +0000 (01:28 +0000)]
ccc: Give explicit error on @ style argument lists (not yet supported).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63903
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 5 Feb 2009 23:44:44 +0000 (23:44 +0000)]
ccc: Implement special language recognition handling for -.
- <rdar://problem/
6551577 > [ccc] require -x with -
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63901
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Thu, 5 Feb 2009 23:33:38 +0000 (23:33 +0000)]
Improve the representation of template type parameters. We now
canonicalize by template parameter depth, index, and name, and the
unnamed version of a template parameter serves as the canonical.
TemplateTypeParmDecl no longer needs to inherit from
TemplateParmPosition, since depth and index information is present
within the type.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63899
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 5 Feb 2009 23:19:12 +0000 (23:19 +0000)]
Updated checker build.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63897
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 5 Feb 2009 22:56:06 +0000 (22:56 +0000)]
allow mapping errors to fatal.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63896
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 5 Feb 2009 22:49:08 +0000 (22:49 +0000)]
document fatal
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63895
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 5 Feb 2009 22:47:05 +0000 (22:47 +0000)]
add support to the diagnostics machinery for mapping warnings and
errors to 'fatal' error severity.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63894
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 5 Feb 2009 22:34:53 +0000 (22:34 +0000)]
Add 'AppendValue' to the list of magic CF function names that cause a tracked object to escape. Fixes <rdar://problem/
6560661 >.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63891
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Thu, 5 Feb 2009 20:41:40 +0000 (20:41 +0000)]
objc2's nonfragile-abi - API selection for when receiver is a class
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63881
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Thu, 5 Feb 2009 19:43:10 +0000 (19:43 +0000)]
Follow Eli's advice and store the VLA size with the native size_t type. Fixes PR3491.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63879
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Thu, 5 Feb 2009 19:35:43 +0000 (19:35 +0000)]
More objc2's API chanes.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63878
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Thu, 5 Feb 2009 19:25:20 +0000 (19:25 +0000)]
Improvements and fixes for name lookup with using directives, from Piotr Rak!
Also, put Objective-C protocols into their own identifier
namespace. Otherwise, we find protocols when we don't want to in C++
(but not in C).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63877
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 5 Feb 2009 19:05:56 +0000 (19:05 +0000)]
I didn't mean to change this.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63875
91177308 -0d34-0410-b5e6-
96231b3b80d8
Torok Edwin [Thu, 5 Feb 2009 18:12:45 +0000 (18:12 +0000)]
Add Debian gcc 4.3 header search directories.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63872
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Thu, 5 Feb 2009 18:00:27 +0000 (18:00 +0000)]
#ifdef'out out objc2 API selection which is not done in gcc (unlike
the documentation to the contrary).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63871
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 5 Feb 2009 15:48:51 +0000 (15:48 +0000)]
Update checker build.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63869
91177308 -0d34-0410-b5e6-
96231b3b80d8
Sebastian Redl [Thu, 5 Feb 2009 15:12:41 +0000 (15:12 +0000)]
Fix the symptom of the regression, by having the CXXConditionDeclExpr not destroy its Decl.
However, the cause still remains: the Decl is linked into the chain of its DeclContext and remains there despite being deleted.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63868
91177308 -0d34-0410-b5e6-
96231b3b80d8
Sebastian Redl [Thu, 5 Feb 2009 15:02:23 +0000 (15:02 +0000)]
Put the invalid flag of OwningResult into the Action pointer.
This shrinks OwningResult by one pointer. Since it is no longer larger than OwningPtr, merge the two.
This leads to simpler client code and speeds up my benchmark by 2.7%.
For some reason, this exposes a previously hidden bug, causing a regression in SemaCXX/condition.cpp.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63867
91177308 -0d34-0410-b5e6-
96231b3b80d8
Sebastian Redl [Thu, 5 Feb 2009 12:33:33 +0000 (12:33 +0000)]
Remove some non-ASCII in comment.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63866
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 5 Feb 2009 11:21:33 +0000 (11:21 +0000)]
Add bare bones test that parameter passing is consistent for
scalar/complex/aggregate cases.
- Currently disabled for x86_64, triggering a misoptimization
(PR3489).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63864
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 5 Feb 2009 11:13:54 +0000 (11:13 +0000)]
Implement Direct ABIInfo semantics.
- No intended functionality change, this is essentially enabling
direct passing of complex and aggregate values, which no ABI is
using.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63863
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 5 Feb 2009 09:24:53 +0000 (09:24 +0000)]
Simplify test for whether we need an alloca to hold an indirect return
value.
- No functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63859
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 5 Feb 2009 09:16:39 +0000 (09:16 +0000)]
Implement ABI Indirect sematics for arguments.
- No intended functionality change, all current ABI implementations
were only using indirect for complex/aggregate types, which were
being passed indirectly with the Direct ABIInfo kind.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63858
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 5 Feb 2009 08:00:50 +0000 (08:00 +0000)]
Merge ABIInfo StructRet/ByVal into Indirect.
- No (intended) functionality change, the semantic changes are to come.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63850
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 5 Feb 2009 07:32:46 +0000 (07:32 +0000)]
make clang agree with gcc 4.2's x86-64 predefines and settings.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63849
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 5 Feb 2009 07:27:41 +0000 (07:27 +0000)]
correct and generalize computation of __INTMAX_MAX__.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63848
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 5 Feb 2009 07:27:29 +0000 (07:27 +0000)]
privatize some stuff.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63847
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 5 Feb 2009 07:19:24 +0000 (07:19 +0000)]
fix some differences between apple gcc and clang on darwin/x86-32.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63846
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 5 Feb 2009 07:09:07 +0000 (07:09 +0000)]
Pull CodeGenFunction::GetUndefRValue() out of EmitUnsupportedRValue.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63845
91177308 -0d34-0410-b5e6-
96231b3b80d8
Zhongxing Xu [Thu, 5 Feb 2009 06:57:29 +0000 (06:57 +0000)]
Make SymbolicRegion subclass TypedRegion, for symbols usually have types, so
do the symblic regions associated with them and we need them to be typed.
Current SymbolicRegion::getRValueType() method is very restricting. It may be
modified when we are more clear about what could be the types of symblic
regions.
BasicConstraintManager::Assume() is changed due to that now SymblicRegion is a
subclass of SubRegion.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63844
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 5 Feb 2009 06:50:21 +0000 (06:50 +0000)]
Remove a bunch of obscene double-buffering of BugReports in the retain/release
checker. This was previously needed because BugReport objects were previously
allocated on the stack and not owned by BugReporter. Now we can just issue them
on the fly. This change was motivated because we were seeing some weird cases
where some really long paths would get issued for bugs (particularly leaks)
because of some double-caching.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63840
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 5 Feb 2009 02:43:38 +0000 (02:43 +0000)]
ccc: Translate -O to -O1 for clang, and only pass last -O option.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63816
91177308 -0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Thu, 5 Feb 2009 01:50:47 +0000 (01:50 +0000)]
Reapply Daniel's patch to match up with llvm 63765.
Untested, Daniel or Nate please review.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63814
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 5 Feb 2009 01:50:07 +0000 (01:50 +0000)]
x86-32: Use Ignore to avoid passing empty structs (instead of Expand).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63813
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 5 Feb 2009 01:31:19 +0000 (01:31 +0000)]
Honor ByVal alignment. Patch by Nate Begeman!
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63811
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Thu, 5 Feb 2009 01:13:09 +0000 (01:13 +0000)]
This patch generates messaging code for objc2's non-fragile abi.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63810
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 5 Feb 2009 01:01:30 +0000 (01:01 +0000)]
Initialize alignment field for ByVal ABIInfo correctly.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63809
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 5 Feb 2009 00:38:00 +0000 (00:38 +0000)]
Fix regression: Leak (BugType) object should have 'isLeak()' return true.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63803
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 5 Feb 2009 00:00:23 +0000 (00:00 +0000)]
Unbreak CGFunctionInfo::Profile method and reenable caching of ABI
information.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63799
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 4 Feb 2009 23:49:09 +0000 (23:49 +0000)]
Overhaul BugReporter interface and implementation. The new interface cleans up
the ownership of BugTypes and BugReports. Now BugReports are owned by BugTypes,
and BugTypes are owned by the BugReporter object.
The major functionality change in this patch is that reports are not immediately
emitted by a call to BugReporter::EmitWarning (now called EmitReport), but
instead of queued up in report "equivalence classes". When
BugReporter::FlushReports() is called, it emits one diagnostic per report
equivalence class. This provides a nice cleanup with the caching of reports as
well as enables the BugReporter engine to select the "best" path for reporting a
path-sensitive bug based on all the locations in the ExplodedGraph that the same
bug could occur.
Along with this patch, Leaks are now coalesced into a common equivalence class
by their allocation site, and the "summary" diagnostic for leaks now reports the
allocation site as the location of the bug (this may later be augmented to also
provide an example location where the leak occurs).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63796
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Wed, 4 Feb 2009 23:40:00 +0000 (23:40 +0000)]
Chase LLVM TOT in circles (i.e., revert r63773 to match revert of
r63765).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63795
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Wed, 4 Feb 2009 23:24:38 +0000 (23:24 +0000)]
Add ABIArgInfo::dump()
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63794
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Wed, 4 Feb 2009 22:46:25 +0000 (22:46 +0000)]
Implement semantic analysis for the GNU flexible array initialization
extension. The interaction with designated initializers is a
bit... interesting... but we follow GNU's lead and don't permit too
much crazy code in this area.
Also, make the "excess initializers" error message a bit more
informative.
Addresses PR2561: http://llvm.org/bugs/show_bug.cgi?id=2561
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63785
91177308 -0d34-0410-b5e6-
96231b3b80d8
Mike Stump [Wed, 4 Feb 2009 22:31:32 +0000 (22:31 +0000)]
Add support for blocks with explicit return types.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63784
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Wed, 4 Feb 2009 22:00:33 +0000 (22:00 +0000)]
Use correct signature for calling enumeration mutation function.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63782
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Wed, 4 Feb 2009 21:36:22 +0000 (21:36 +0000)]
Temporarily disable caching of ABI results; this is going horribly
wrong in some cases.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63780
91177308 -0d34-0410-b5e6-
96231b3b80d8
Sebastian Redl [Wed, 4 Feb 2009 21:23:32 +0000 (21:23 +0000)]
Implement taking address of member functions, including overloaded ones.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63779
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Wed, 4 Feb 2009 21:21:08 +0000 (21:21 +0000)]
ccc: Forward -femit-all-decls to clang and use an option group to
simplify handling of -f options clang recognizes.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63778
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Wed, 4 Feb 2009 21:20:25 +0000 (21:20 +0000)]
Test case for -femit-all-decls.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63777
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Wed, 4 Feb 2009 21:19:06 +0000 (21:19 +0000)]
Add -femit-all-decls codegen option.
- Emits all declarations, even unused (static) ones.
- Useful when doing minimization of codegen problems (otherwise
problems localized to a static function aren't minimized well).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63776
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Wed, 4 Feb 2009 21:17:21 +0000 (21:17 +0000)]
Add asserts that the function signature matches the other arguments provide
to CGCall functions.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63775
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Wed, 4 Feb 2009 21:09:15 +0000 (21:09 +0000)]
(llvm up) Update for intrinsic lookup changes.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63773
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Wed, 4 Feb 2009 20:42:28 +0000 (20:42 +0000)]
Some early code for objc2's nonfragile abi messaging.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63770
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Wed, 4 Feb 2009 20:31:19 +0000 (20:31 +0000)]
Patch fixes messaging for GNU runtime.
Patch by David Chisnall
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63769
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 4 Feb 2009 19:47:38 +0000 (19:47 +0000)]
smaller header.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63766
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 4 Feb 2009 19:45:07 +0000 (19:45 +0000)]
Fix PR3464 by searching for headers from the predefines
buffer as if the #include happened from the main file.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63764
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 4 Feb 2009 19:44:14 +0000 (19:44 +0000)]
Ok, we need a system header for this test to pass in the clang/test directory as well as from the pp directory.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63763
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 4 Feb 2009 19:40:02 +0000 (19:40 +0000)]
fix test
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63762
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 4 Feb 2009 19:38:30 +0000 (19:38 +0000)]
rename again
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63761
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 4 Feb 2009 19:38:12 +0000 (19:38 +0000)]
rename some tests
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63759
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 4 Feb 2009 19:37:49 +0000 (19:37 +0000)]
include smaller header for test.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63758
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 4 Feb 2009 19:21:34 +0000 (19:21 +0000)]
add DeclTemplate.h/cpp
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63757
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Wed, 4 Feb 2009 19:16:12 +0000 (19:16 +0000)]
Improve documentation for Sema::getTypeName. Also, it's return type is
DeclTy*, not TypeTy*.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63756
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Wed, 4 Feb 2009 19:10:27 +0000 (19:10 +0000)]
Note the Radar number that corresponds to PR3137
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63754
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 4 Feb 2009 19:09:38 +0000 (19:09 +0000)]
Update checker build.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63753
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Wed, 4 Feb 2009 19:02:06 +0000 (19:02 +0000)]
Basic representation of C++ class templates, from Andrew Sutton.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63750
91177308 -0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Wed, 4 Feb 2009 18:50:00 +0000 (18:50 +0000)]
Test for PR3137.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63749
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Wed, 4 Feb 2009 17:27:36 +0000 (17:27 +0000)]
Some name-lookup-related fixes, from Piotr Rak!
- Changes Lookup*Name functions to return NamedDecls, instead of
Decls. Unfortunately my recent statement that it will simplify lot of
code, was not quite right, but it simplifies some...
- Makes MergeLookupResult SmallPtrSet instead of vector, following
Douglas suggestions.
- Adds %qN format for printing qualified names to Diagnostic.
- Avoids searching for using-directives in Scopes, which are not
DeclScope, during unqualified name lookup.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63739
91177308 -0d34-0410-b5e6-
96231b3b80d8
Steve Naroff [Wed, 4 Feb 2009 17:14:05 +0000 (17:14 +0000)]
Fix <rdar://problem/
6552648 > error: redefinition of 'XCElementAnchorDelegate' as different kind of symbol.
At first glance, this looked like a recent regression (possibly created by http://llvm.org/viewvc/llvm-project?view=rev&revision=63354, which was the only recent change to this section of Sema::ActOnStartClassInterface()). After more investigation, it looks like an edge case bug that we didn't cover in our tests.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63738
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Wed, 4 Feb 2009 17:00:24 +0000 (17:00 +0000)]
Diagnose ambiguities in getTypeName. Fixes http://llvm.org/bugs/show_bug.cgi?id=3475
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63737
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Wed, 4 Feb 2009 16:44:47 +0000 (16:44 +0000)]
Bring operator name lookup (as required for C++ operator overloading)
into the general name-lookup fold. This cleans up some ugly,
not-quite-working code in the handling of operator overloading.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63735
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Wed, 4 Feb 2009 15:07:16 +0000 (15:07 +0000)]
Argument Dependent Lookup is done (for now). Also, update the status
for a few other name-lookup sections.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63734
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Wed, 4 Feb 2009 15:01:18 +0000 (15:01 +0000)]
Fix our semantic analysis of
unqualified-id '('
in C++. The unqualified-id might not refer to any declaration in our
current scope, but declarations by that name might be found via
argument-dependent lookup. We now do so properly.
As part of this change, CXXDependentNameExpr, which was previously
designed to express the unqualified-id in the above constructor within
templates, has become UnresolvedFunctionNameExpr, which does
effectively the same thing but will work for both templates and
non-templates.
Additionally, we cope with all unqualified-ids, since ADL also applies
in cases like
operator+(x, y)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63733
91177308 -0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Wed, 4 Feb 2009 13:07:56 +0000 (13:07 +0000)]
An idea for limiting diagnostic output, from David Abrahams
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63732
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Wed, 4 Feb 2009 08:01:01 +0000 (08:01 +0000)]
ccc: -ObjC and -ObjC++ change default language, but only for "source
files".
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63727
91177308 -0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Wed, 4 Feb 2009 07:22:24 +0000 (07:22 +0000)]
Handle demotion of coerced arguments (as in void a(x) short x; { ... }).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63726
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 4 Feb 2009 06:25:26 +0000 (06:25 +0000)]
Implement handling of file entry/exit notifications from GNU
line markers, including maintenance of the virtual include stack.
For something like this:
# 42 "bar.c" 1
# 142 "bar2.c" 1
#warning zappa
# 92 "bar.c" 2
#warning gonzo
# 102 "foo.c" 2
#warning bonkta
we now produce these three warnings:
#1:
In file included from foo.c:3:
In file included from bar.c:42:
bar2.c:143:2: warning: #warning zappa
#warning zappa
^
#2:
In file included from foo.c:3:
bar.c:92:2: warning: #warning gonzo
#warning gonzo
^
#3:
foo.c:102:2: warning: #warning bonkta
#warning bonkta
^
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63722
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 4 Feb 2009 05:36:14 +0000 (05:36 +0000)]
# 42 doesn't change system header state either, add test.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63721
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 4 Feb 2009 05:33:01 +0000 (05:33 +0000)]
make getFileCharacteristic linetable aware. line markers that
play around with the 'is system header' bit now function correctly.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63720
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 4 Feb 2009 05:21:58 +0000 (05:21 +0000)]
propagate linemarker flags down into the the line table, currently
ignoring include stack push/pop info though.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63719
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 4 Feb 2009 04:46:59 +0000 (04:46 +0000)]
replace gimpy linear search with svelte binary search ;-)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63717
91177308 -0d34-0410-b5e6-
96231b3b80d8