Daniel Dunbar
b90893dc41
Attempt to make a test portable.
...
llvm-svn: 82292
2009-09-18 22:09:24 +00:00
Chris Lattner
abbfd629dc
clean up xcode proj
...
llvm-svn: 82272
2009-09-18 20:39:54 +00:00
Chris Lattner
3e8b4f6637
allow clearing this value.
...
llvm-svn: 82271
2009-09-18 20:39:46 +00:00
Anders Carlsson
82b688e423
More mangling work.
...
llvm-svn: 82265
2009-09-18 20:11:09 +00:00
Douglas Gregor
c811ede9b7
C++ code completion after the "operator" keyword. Provide overloaded
...
operators, type specifiers, type names, and nested-name-specifiers.
llvm-svn: 82264
2009-09-18 20:05:18 +00:00
Anders Carlsson
c3773bd669
Make the mangler conform even better to the grammar.
...
llvm-svn: 82262
2009-09-18 19:44:50 +00:00
Anders Carlsson
327c8df90c
Make our char vector types not be explicitly signed to match GCC and to fix compilation with C++ and -fno-lax-vector-conversions
...
llvm-svn: 82254
2009-09-18 19:18:19 +00:00
Mike Stump
f9c95be2f6
Generate more of the vbase virtual offset for covariant thunks. WIP.
...
llvm-svn: 82253
2009-09-18 19:06:35 +00:00
Douglas Gregor
7e90c6db18
Introduce four new code-completion hooks for C++:
...
- after "using", show anything that can be a nested-name-specifier.
- after "using namespace", show any visible namespaces or namespace aliases
- after "namespace", show any namespace definitions in the current scope
- after "namespace identifier = ", show any visible namespaces or
namespace aliases
llvm-svn: 82251
2009-09-18 19:03:04 +00:00
Anders Carlsson
559d9741a8
More mangler mangling.
...
llvm-svn: 82250
2009-09-18 19:00:18 +00:00
Anders Carlsson
caf4a646f8
Call mangleTemplatePrefix.
...
llvm-svn: 82247
2009-09-18 18:47:07 +00:00
Anders Carlsson
c1370cb49b
Change manglePrefix to return early if the DC is the translation unit.
...
llvm-svn: 82246
2009-09-18 18:39:58 +00:00
Douglas Gregor
2ecab75739
Don't perform name lookup into a given declaration context more than once during code completion
...
llvm-svn: 82234
2009-09-18 18:07:23 +00:00
Douglas Gregor
56c2dbcfe7
Handle using declarations and overload sets in code completion.
...
llvm-svn: 82233
2009-09-18 17:54:00 +00:00
Douglas Gregor
945e8d9762
For code completion in C++ member access expressions and tag names,
...
look into the current scope for anything that could start a
nested-names-specifier. These results are ranked worse than any of the
results actually found in the lexical scope.
Perform a little more pruning of the result set, eliminating
constructors, __va_list_tag, and any duplication of declarations in
the result set. For the latter, implemented
NamespaceDecl::getCanonicalDecl.
llvm-svn: 82231
2009-09-18 17:42:29 +00:00
Anders Carlsson
dfa3117085
Fix PR4923.
...
Fix error in _mm_set_pd/_mm_setr_pd and add _mm_set_epi64x/_mm_set1_epi64x. Patch by Laurent Morichetti!
llvm-svn: 82228
2009-09-18 17:03:55 +00:00
Douglas Gregor
2da11086f3
When gathering results for code completion, only include hidden
...
results when there is some way to refer to them in the language, such
as with a qualified name in C++.
llvm-svn: 82223
2009-09-18 15:51:54 +00:00
Douglas Gregor
f45b0cf389
Implement code completion for tags, e.g., code completion after "enum"
...
will provide the names of various enumerations currently
visible. Introduced filtering of code-completion results when we build
the result set, so that we can identify just the kinds of declarations
we want.
This implementation is incomplete for C++, since we don't consider
that the token after the tag keyword could start a
nested-name-specifier.
llvm-svn: 82222
2009-09-18 15:37:17 +00:00
Douglas Gregor
bd1af01fcd
Make the GCC warning flags passed by CMake the same as the warning flags passed in the make build
...
llvm-svn: 82221
2009-09-18 14:47:57 +00:00
Daniel Dunbar
ebc5140e22
Disable questionable code for handling isNullPointerConstant on value dependent
...
expression.
llvm-svn: 82217
2009-09-18 08:46:16 +00:00
Daniel Dunbar
23c1ae7fae
Force a triple.
...
llvm-svn: 82216
2009-09-18 08:46:07 +00:00
Daniel Dunbar
6276f99be5
Split Darwin toolchain into Clang and GCC Darwin toolchains with a common base.
...
llvm-svn: 82213
2009-09-18 08:15:13 +00:00
Daniel Dunbar
26d482a1a9
Lift AddLinkRuntimeLibArgs into Darwin tool chain.
...
llvm-svn: 82212
2009-09-18 08:15:03 +00:00
Daniel Dunbar
d5bd81e869
Move isMacosxVersionLT helpers to Darwin tool chain.
...
llvm-svn: 82211
2009-09-18 08:14:55 +00:00
Daniel Dunbar
510d8a8dd8
Lift getMacosxVersionMin out into Darwin ToolChain.
...
llvm-svn: 82210
2009-09-18 08:14:46 +00:00
Daniel Dunbar
4c30b89def
Lift AddLinkerSearchPaths() into Darwin tool chain.
...
llvm-svn: 82209
2009-09-18 08:14:36 +00:00
Daniel Dunbar
48622c13f7
Rename a variable to match its semantics.
...
llvm-svn: 82208
2009-09-18 08:14:24 +00:00
Ted Kremenek
e3d209ff77
Revert most of r82198, which was causing a large number of crashes
...
when running the analyzer on real projects. We'll keep the change to
AnalysisManager.cpp in r82198 so that -fobjc-gc analyzes code
correctly in both GC and non-GC modes, although this may emit two
diagnostics for each bug in some cases (a better solution will come
later).
llvm-svn: 82201
2009-09-18 07:31:15 +00:00
Ted Kremenek
82f7f9c080
Introduce caching of diagnostics in BugReporter. This provides extra
...
pruning of diagnostics that may be emitted multiple times. This is
accomplished by adding FoldingSet profiling support to PathDiagnostic,
and then having BugReporter record what diagnostics have been issued.
This was motived to a serious bug introduced by moving the
'divide-by-zero' checking outside of GRExprEngine into a separate
'Checker' class. When analyzing code using the '-fobjc-gc' option, a
given function would be analyzed twice, but the second time various
"internal checks" would be disabled to avoid emitting multiple
diagnostics (e.g., "null dereference") for the same issue. The
problem is that such checks also effect path pruning and don't just
emit diagnostics. This resulted in an assertion failure involving a
real divide-by-zero in some analyzed code where we would get an
assertion failure in APInt because the 'DivZero' check was disabled
and didn't prune the logic that resulted in the divide-by-zero in the
analyzer.
The implemented solution is somewhat of a hack, and may not perform
extremely well. This will need to be cleaned up over time.
As a regression test, 'misc-ps.m' has been modified so that its tests
are run using -fobjc-gc to test this diagnostic pruning behavior.
llvm-svn: 82198
2009-09-18 05:37:41 +00:00
Chris Lattner
01ce06fbbc
don't stick an uninitialized 'stat' buf into the stat cache, fill it
...
with zeros. This avoids a GCC warning (PR5000)
llvm-svn: 82194
2009-09-18 04:51:01 +00:00
Anders Carlsson
2b5e1dda69
More mangling goodness.
...
llvm-svn: 82193
2009-09-18 04:29:09 +00:00
Anders Carlsson
adb08de4d9
Fix error in test.
...
llvm-svn: 82190
2009-09-18 02:51:58 +00:00
Anders Carlsson
7a8a74f704
Handle mangling of TemplateSpecializationType.
...
llvm-svn: 82189
2009-09-18 02:42:01 +00:00
Fariborz Jahanian
2e32ddc7ba
Fixed a bug in generation of the new write-barriers when
...
array syntax is used to derefernce and assign to ivar pointee.
llvm-svn: 82183
2009-09-18 00:04:00 +00:00
Mike Stump
6b574afc3a
Fix typo.
...
llvm-svn: 82170
2009-09-17 21:46:24 +00:00
Douglas Gregor
2436e7116b
Initial implementation of a code-completion interface in Clang. In
...
essence, code completion is triggered by a magic "code completion"
token produced by the lexer [*], which the parser recognizes at
certain points in the grammar. The parser then calls into the Action
object with the appropriate CodeCompletionXXX action.
Sema implements the CodeCompletionXXX callbacks by performing minimal
translation, then forwarding them to a CodeCompletionConsumer
subclass, which uses the results of semantic analysis to provide
code-completion results. At present, only a single, "printing" code
completion consumer is available, for regression testing and
debugging. However, the design is meant to permit other
code-completion consumers.
This initial commit contains two code-completion actions: one for
member access, e.g., "x." or "p->", and one for
nested-name-specifiers, e.g., "std::". More code-completion actions
will follow, along with improved gathering of code-completion results
for the various contexts.
[*] In the current -code-completion-dump testing/debugging mode, the
file is truncated at the completion point and EOF is translated into
"code completion".
llvm-svn: 82166
2009-09-17 21:32:03 +00:00
Mike Stump
faacf018a3
Fix typo.
...
llvm-svn: 82164
2009-09-17 21:15:00 +00:00
Daniel Dunbar
ecac0a408c
Tweak clang testing.
...
- Move CMake to using the new test runner.
- Switch Makefiles to use the lit.site.cfg.in template.
- Remove explicit --path arguments, instead this gets written into the site
configuration. This means running lit from the command line should use the
exact same configuration as is used in 'make test', assuming it can find the
site configuration file. You still need to run 'make test' (or the cmake
build target equivalent) at least once.
llvm-svn: 82160
2009-09-17 19:55:53 +00:00
Douglas Gregor
4f15f4dec1
Merge uninstantiated default arguments more carefully, and try not to
...
complain about specializations of member functions that are not
definitions. Fixes PR4995.
llvm-svn: 82159
2009-09-17 19:51:30 +00:00
Steve Naroff
3aa2d7300b
Add clang_disposeTranslationUnit() and clang_disposeIndex().
...
llvm-svn: 82154
2009-09-17 18:33:27 +00:00
Daniel Dunbar
2f5c75e17d
ARM: Incremental improvement to preprocessor defines.
...
- Based on patch by Shantonu.
llvm-svn: 82147
2009-09-17 16:21:10 +00:00
Anders Carlsson
ca51ef156b
Ignore extern "C++" { } when mangling.
...
llvm-svn: 82146
2009-09-17 16:12:20 +00:00
Daniel Dunbar
51418c3b90
Force triple for tests using __strong.
...
llvm-svn: 82133
2009-09-17 07:21:40 +00:00
Daniel Dunbar
1da76c4e58
Add ARM register names and aliases.
...
- Patch by Shantonu Sen!
<rdar://problem/6922650> clang doesn't know about ARM registers for inline asm clobber lists
llvm-svn: 82132
2009-09-17 07:03:19 +00:00
Daniel Dunbar
58f7833cfb
Driver: Change -O to mean -O2, -O1 is meaningless.
...
llvm-svn: 82131
2009-09-17 06:53:36 +00:00
Daniel Dunbar
687fa86a30
Fix two crashes on value dependent expressions (shift and null-pointer check).
...
- Doug, please check.
- PR4940.
llvm-svn: 82129
2009-09-17 06:31:27 +00:00
Daniel Dunbar
4782a6ead5
Remove trailing whitespace.
...
llvm-svn: 82128
2009-09-17 06:31:17 +00:00
Daniel Dunbar
33f811e920
Add a bunch of math builtins, #include <cmath> passes now.
...
llvm-svn: 82126
2009-09-17 05:45:52 +00:00
Anders Carlsson
f96da57adb
Revert r82123 for now.
...
llvm-svn: 82125
2009-09-17 05:31:47 +00:00
Anders Carlsson
93b6d5e85e
Temporary band-aid for handling empty classes somewhat better.
...
llvm-svn: 82124
2009-09-17 04:42:56 +00:00
Anders Carlsson
49fe8b4f97
Treat an unqualified RecordType as a RecordDecl when substituting.
...
llvm-svn: 82123
2009-09-17 04:38:23 +00:00
Anders Carlsson
4245bf9e13
Substitution for prefixes.
...
llvm-svn: 82122
2009-09-17 04:16:28 +00:00
Anders Carlsson
90332b8db4
Convert mangle-subst.cpp over to using FileCheck.
...
llvm-svn: 82121
2009-09-17 04:13:54 +00:00
Daniel Dunbar
07806ca7ab
Improve driver error message when only running the preprocessor and an input is
...
already preprocessed.
--
ddunbar@giles:tmp$ touch t.i
ddunbar@giles:tmp$ gcc -E t.i
ddunbar@giles:tmp$ clang -E t.i
clang: warning: t.i: previously preprocessed input unused when '-E' is present
ddunbar@giles:tmp$
--
<rdar://problem/6813375> [driver] driver prints confusing message when running -E on preprocessed file
llvm-svn: 82120
2009-09-17 04:13:26 +00:00
Anders Carlsson
a2fb9bcd19
Substitute unscoped template names.
...
llvm-svn: 82119
2009-09-17 04:02:31 +00:00
Daniel Dunbar
df0e62d0a1
IRgen/ObjC: Correctly construct the function info for variadic message sends.
...
This fixes some bad -O0 codegen and the unnecessary clearing of al on entry to objc_msgSend for most message sends.
<rdar://problem/7102824> [irgen] unnecessary xorb on calls to objc_msgSend on x86_64
llvm-svn: 82118
2009-09-17 04:01:40 +00:00
Daniel Dunbar
aff9fcaa02
IRgen/ObjC: Make the target method decl available to GenerateMessageSendSuper.
...
llvm-svn: 82117
2009-09-17 04:01:22 +00:00
Anders Carlsson
a96f56fba8
Add mangleSubstitution/addSubstitution variants that take a NamedDecl.
...
llvm-svn: 82116
2009-09-17 03:53:28 +00:00
Anders Carlsson
3e0d1e0747
Get rid of the last grep.
...
llvm-svn: 82115
2009-09-17 03:48:45 +00:00
Anders Carlsson
df644fb773
When mangling function template specialization, mangle the type encoding of the original function template. Also, port mangle.cpp and function-template-specialization.cpp over to using FileCheck.
...
llvm-svn: 82114
2009-09-17 03:46:43 +00:00
Anders Carlsson
98e00bb162
Add new functions to the mangler for the <unscoped-name> and <unscoped-template-name> productions.
...
llvm-svn: 82113
2009-09-17 03:17:01 +00:00
Daniel Dunbar
5bb5ec5b07
PCH: When writing PCH files, tweak the predicate function deciding whether to mark a decl as "external" to be closer to reality.
...
This still isn't perfect, but I believe it is conservatively accurate at marking decls which IRgen needs to see, while still keeping the "deserialization footprint" on Cocoa.h.
llvm-svn: 82112
2009-09-17 03:06:51 +00:00
Daniel Dunbar
865c2a7f23
PCH: When deserializing an explicit "external definition", don't pass it to HandleTopLevelDecl -- this is already being done inside the reader.
...
This is something of a hack, since whether the reader actually did this depends on the "isConsumerInterestedIn" predicate. I think we need to rework how this works, but I need to discuss with Doug.
llvm-svn: 82111
2009-09-17 03:06:44 +00:00
Daniel Dunbar
e9fee8a361
Initial support for code generation from .ast files.
...
- Doesn't actually work yet because only module level asm's get correctly marked as externally visible in the PCH.
- Other things like 'clang-cc foo.ast -ast-dump' now work, as well.
llvm-svn: 82107
2009-09-17 00:48:13 +00:00
Daniel Dunbar
691b9337a6
clang-cc: Factor out code for creating one of the standard AST consumer actions.
...
llvm-svn: 82106
2009-09-17 00:48:00 +00:00
Daniel Dunbar
d112f103e7
We don't need a -compile-ast clang-cc action, we can just use -S.
...
llvm-svn: 82105
2009-09-17 00:47:53 +00:00
Daniel Dunbar
785d51c45b
Simplify.
...
llvm-svn: 82104
2009-09-17 00:47:46 +00:00
Daniel Dunbar
1188987e23
clang-cc: Remove -ObjC -ObjC++ handling from clang-cc.
...
llvm-svn: 82103
2009-09-17 00:47:27 +00:00
Anders Carlsson
feb60501a8
Add basic substitution to the C++ mangler. It currently only looks at types.
...
llvm-svn: 82102
2009-09-17 00:43:46 +00:00
Daniel Dunbar
db7ec04fed
Force triple, although probably the real fix is to tie __strong to -fobjc-gc.
...
llvm-svn: 82101
2009-09-17 00:28:00 +00:00
Daniel Dunbar
6f8f276ce4
Fix substituto.
...
llvm-svn: 82099
2009-09-17 00:07:21 +00:00
Daniel Dunbar
f8d26ad3a3
Add CLANG_{SOURCE,BINARY}_DIR cmake variables.
...
llvm-svn: 82098
2009-09-17 00:07:10 +00:00
Anders Carlsson
b3e533d9d0
Add a simple const mangling test.
...
llvm-svn: 82096
2009-09-16 23:53:19 +00:00
Fariborz Jahanian
1ff8299c67
Removed useless stuff from the test.
...
llvm-svn: 82095
2009-09-16 23:52:53 +00:00
Fariborz Jahanian
0bdc001b6e
More test for objc gc's mixed write-barriers.
...
llvm-svn: 82094
2009-09-16 23:49:04 +00:00
Anders Carlsson
e7e163cc0b
When creating function types, remove any top-level CVR qualifications in the function type argument types.
...
llvm-svn: 82093
2009-09-16 23:47:08 +00:00
Fariborz Jahanian
e29f04859b
Additional tests for write-bariers.
...
llvm-svn: 82092
2009-09-16 23:38:26 +00:00
Fariborz Jahanian
5f41a8c4af
Test for variety of write-barriers.
...
llvm-svn: 82091
2009-09-16 23:30:59 +00:00
Fariborz Jahanian
de1d324dce
patch for generating objc'2 objc_assign_ivar. WIP.
...
llvm-svn: 82090
2009-09-16 23:11:23 +00:00
John McCall
11083da4d0
Improved representation and support for friend class templates. Angst about same.
...
llvm-svn: 82088
2009-09-16 22:47:08 +00:00
Douglas Gregor
8addadc691
CMake: Generate LIT site configuration file for Clang tests, which Daniel will probably have to fix
...
llvm-svn: 82086
2009-09-16 22:30:48 +00:00
Douglas Gregor
24f01f1251
The CMake build system now derives the Clang version number from VER.
...
llvm-svn: 82085
2009-09-16 21:59:05 +00:00
Fariborz Jahanian
a7fa6beb2e
Starting patch to generate more specific API for objc's
...
GC. Currently, new API will be generated under
clang-cc's -fobjc-newgc-api flag which will eventually
become the default. WIP.
llvm-svn: 82082
2009-09-16 21:37:16 +00:00
Mike Stump
d611ebaa5e
Fix spelling.
...
llvm-svn: 82078
2009-09-16 20:41:09 +00:00
Chris Lattner
dd890b2b2e
fit in 80 cols
...
llvm-svn: 82073
2009-09-16 20:18:54 +00:00
Anders Carlsson
570af5d426
Improve handling of vector casts in C++.
...
llvm-svn: 82072
2009-09-16 19:19:43 +00:00
Chris Lattner
c15c252007
grammaro
...
llvm-svn: 82070
2009-09-16 18:56:12 +00:00
Douglas Gregor
64621e6eb3
Teach Sema::FindInstantiatedDecl to find instantiated RecordDecls even
...
when we are not instantiating the corresponding "current
instantiation." This happens, e.g., when we are instantiating a
declaration reference that refers into the "current instantiation" but
occurs in a default function argument. The libstdc++ vector default
constructor now instantiates properly.
llvm-svn: 82069
2009-09-16 18:34:49 +00:00
Fariborz Jahanian
cceedbff27
Do not generate write-barrier in indirect assignment to
...
a weak object.
llvm-svn: 82061
2009-09-16 18:09:18 +00:00
Fariborz Jahanian
4141deb68e
Removed a superfluous check before setting
...
a flag (objc GC).
llvm-svn: 82052
2009-09-16 16:49:08 +00:00
Anders Carlsson
20759ad54c
x86-64 ABI: If a type is a C++ record with either a non-trivial destructor or a non-trivial copy constructor, it should be passed in a pointer. Daniel, plz review.
...
llvm-svn: 82050
2009-09-16 15:53:40 +00:00
Benjamin Kramer
26ddfee3b2
PR4991: Properly remove trailing newline from __TIMESTAMP__.
...
Replace strcpy with memcpy while at it.
llvm-svn: 82043
2009-09-16 13:10:04 +00:00
Daniel Dunbar
306945d3d0
Incremental improvement to logic determining whether we emit unwind tables or
...
not.
- PR4932.
llvm-svn: 82021
2009-09-16 06:17:29 +00:00
Ted Kremenek
4f335c300a
Have divide-by-zero checker not handled undefined denominators. This is handled by the generic checking for undefined operands for BinaryOperators.
...
llvm-svn: 82019
2009-09-16 06:04:26 +00:00
Ted Kremenek
6879beda08
Remove ImplicitBadDivides/ExplicitBadDivides node sets. This checking is now down by a 'Checker' and not build into GRExprEngine.
...
llvm-svn: 82017
2009-09-16 06:03:39 +00:00
Chris Lattner
f7ff53d4d9
fix some ppc register name issues, patch by Richard Pennington!
...
llvm-svn: 82009
2009-09-16 05:05:27 +00:00
Daniel Dunbar
be657e5b28
A toy for Doug: Add some 'lit' tests which just run clang++ -fsyntax-only over all the files in a directory.
...
- 'lit utils/C++Tests' to run, you may need to fix the stdc++ include path, and your mileage may vary.
- A handful of the LLVM headers are XFAIL because they don't include the right headers.
llvm-svn: 81990
2009-09-16 01:40:13 +00:00
Daniel Dunbar
f47fd58476
tests: Stash clang/clang-cc and LLVM src/obj paths for use elsewhere.
...
llvm-svn: 81989
2009-09-16 01:39:52 +00:00
Mike Stump
eb963680b5
Chris doesn't want the FIXME.
...
llvm-svn: 81988
2009-09-16 01:35:21 +00:00
Mike Stump
1855a56f92
Add a FIXME, so the next person don't trip as hard on the landmines.
...
llvm-svn: 81986
2009-09-16 01:31:09 +00:00
Mike Stump
b4bed3a497
Collapse more clang version numbers down into fewer places.
...
llvm-svn: 81983
2009-09-16 01:26:05 +00:00
Mike Stump
1d0da3932e
Some people don't want to fix their broken code just yet, so turn off
...
hard error for falling off a noreturn function.
llvm-svn: 81971
2009-09-16 00:39:34 +00:00
Douglas Gregor
82e22869aa
Fix a typo in a FIXME
...
llvm-svn: 81960
2009-09-16 00:01:48 +00:00
Mike Stump
e18856dad1
Back to 1.1 we go.
...
llvm-svn: 81944
2009-09-15 23:04:22 +00:00
Fariborz Jahanian
a9c4041471
In building list of visible conversion functions, use
...
result type of template convesion functions.
llvm-svn: 81943
2009-09-15 23:02:16 +00:00
Mike Stump
37d0b678b6
Back out for now, as apparently there is some really broken code somewhere.
...
llvm-svn: 81941
2009-09-15 22:49:27 +00:00
Douglas Gregor
87f5406081
When implicitly declaring operators new, new[], delete, and delete[],
...
give them the appropriate exception specifications. This,
unfortunately, requires us to maintain and/or implicitly generate
handles to namespace "std" and the class "std::bad_alloc". However,
every other approach I've come up with was more hackish, and this
standard requirement itself is quite the hack.
Fixes PR4829.
llvm-svn: 81939
2009-09-15 22:30:29 +00:00
Douglas Gregor
e26d4e49df
Update Clang version for CMake
...
llvm-svn: 81938
2009-09-15 22:30:13 +00:00
Fariborz Jahanian
adcea10410
1) don't do overload resolution in selecting conversion
...
to pointer function for delete expression. 2)
Treat type conversion function and its 'const' version
as identical in building the visible conversion list.
llvm-svn: 81930
2009-09-15 22:15:23 +00:00
Mike Stump
1f4ec5c4c6
Bump.
...
llvm-svn: 81929
2009-09-15 22:08:24 +00:00
Mike Stump
a1874a91b6
Be sure to use the correct version instead of the wrong one.
...
llvm-svn: 81925
2009-09-15 21:49:22 +00:00
Mike Stump
c3844bea75
Be sure to use the correct version instead of inventing the wrong one.
...
llvm-svn: 81924
2009-09-15 21:48:34 +00:00
Anders Carlsson
c8bfc466f3
Add back the workaround since it lead to constructor conversion bugs :(
...
llvm-svn: 81917
2009-09-15 21:14:33 +00:00
Douglas Gregor
45068b3e29
Commit test case from PR4655, which tests the canonical-types fix in r81913
...
llvm-svn: 81916
2009-09-15 21:14:05 +00:00
Douglas Gregor
f70b2b4f38
Make sure we're comparing the canonical types when we determine
...
whether a constructor is a copy constructor.
Sadly, I wasn't able to get down to a test case smaller than libstdc++'s
<string>.
llvm-svn: 81913
2009-09-15 20:50:23 +00:00
Steve Naroff
54f22fb1de
- clang_getCursor(): Replace asserts with error codes (CXCursor_InvalidFile, CXCursor_NoDeclFound).
...
- Add predicate clang_isInvalid().
- Implement clang_getCursorFromDecl().
llvm-svn: 81908
2009-09-15 20:25:34 +00:00
Douglas Gregor
4fb9cde8ef
When printing an overload candidate that is a function template specialization,
...
point at the template and print out its template arguments, e.g.,
ambiguous-ovl-print.cpp:5:8: note: candidate function template specialization
[with T = int]
void f(T*, long);
llvm-svn: 81907
2009-09-15 20:11:42 +00:00
Fariborz Jahanian
3e6b57e593
Issue good diagnostics when initialization failes due to
...
ambiguity in type conversion function selection.
llvm-svn: 81898
2009-09-15 19:12:21 +00:00
Douglas Gregor
31fae89497
Add an assertion and a test case, in a fruitless attempt to track down an existing bug
...
llvm-svn: 81885
2009-09-15 18:26:13 +00:00
Ted Kremenek
188f62f1cc
Fix static analyzer regression when emitting undefined value warnings
...
with binary operators. The result of a binary operator may be
undefined even if its operands are well-defined.
llvm-svn: 81874
2009-09-15 17:43:54 +00:00
Fariborz Jahanian
c34c179f4b
Perform overload resolution when selecting a pointer conversion
...
function for delete of a class expression and issue
good diagnostic when result is ambiguous.
llvm-svn: 81870
2009-09-15 17:21:47 +00:00
Douglas Gregor
00a511f0c1
Slightly improved template argument deduction for use in partial
...
ordering, along with another test case for partial ordering of partial
specializations.
llvm-svn: 81869
2009-09-15 16:51:42 +00:00
Anders Carlsson
160e635ba6
Add test case.
...
llvm-svn: 81868
2009-09-15 16:36:17 +00:00
Anders Carlsson
1450adbbf9
Code generation of Conditional operators that are lvalues (but that aren't bitfields).
...
llvm-svn: 81867
2009-09-15 16:35:24 +00:00
Douglas Gregor
be999390eb
Implement partial ordering of class template partial specializations
...
(C++ [temp.class.order]).
llvm-svn: 81866
2009-09-15 16:23:51 +00:00
Fariborz Jahanian
44dfbbb69f
Update for inherited conversion function support.
...
llvm-svn: 81865
2009-09-15 16:15:23 +00:00
Anders Carlsson
01ccf998d5
Use getTrueExpr/getFalseExpr as suggested by Doug.
...
llvm-svn: 81863
2009-09-15 16:03:44 +00:00
Anders Carlsson
6b2737d591
If a conversion operator exists in a base class, make sure to cast the object to that base class.
...
llvm-svn: 81852
2009-09-15 07:42:44 +00:00
Anders Carlsson
110b07b848
When performing an user defined conversion sequence, perform the initial standard conversion sequence. This lets us remove a workaround in SemaCompleteConstructorCall.
...
llvm-svn: 81847
2009-09-15 06:28:28 +00:00
Anders Carlsson
611da28725
Revert for real.
...
llvm-svn: 81844
2009-09-15 05:49:31 +00:00
Anders Carlsson
e5506884cc
Whoops, didn't mean to commit this.
...
llvm-svn: 81842
2009-09-15 05:31:01 +00:00
Anders Carlsson
4e66cda3f7
Only reuse an already existing ImplicitCastExpr if the cast kinds are the same.
...
llvm-svn: 81841
2009-09-15 05:28:24 +00:00
Anders Carlsson
d3bc31f04f
Get rid of the CastInfo struct.
...
llvm-svn: 81839
2009-09-15 05:13:45 +00:00
Anders Carlsson
7cd39e0721
Handle reinterpret_cast between integral types and pointer types.
...
llvm-svn: 81837
2009-09-15 04:48:33 +00:00
Anders Carlsson
04c3bf4fab
Codegen support for nullptr from C++0x.
...
llvm-svn: 81835
2009-09-15 04:39:46 +00:00
Ted Kremenek
b66229464e
Per feedback from Eli, recognize in the transfer function logic for
...
__builtin_offsetof in the static analyzer that __builtin_offsetof is
not guaranteed to return an integer constant. We will need to shore
this up later, but now at least we have correct support for when this
*is* an integer constant.
llvm-svn: 81830
2009-09-15 04:19:09 +00:00
Ted Kremenek
3413f277d0
Fix typo in comment.
...
llvm-svn: 81825
2009-09-15 03:28:00 +00:00
Ted Kremenek
27347135dd
Add static analyzer transfer function support for __builtin_offsetof.
...
llvm-svn: 81820
2009-09-15 00:40:32 +00:00
Fariborz Jahanian
19c7328881
Issue a good diagnostics when attempt to select
...
a type convesion function results in ambiguity.
llvm-svn: 81812
2009-09-15 00:10:11 +00:00
Chris Lattner
f8122966a9
clang tracks multiple levels of macro expansion
...
llvm-svn: 81811
2009-09-14 23:44:08 +00:00
Anders Carlsson
3fa58d1f63
Diagnose taking the address of a bit-field inside a conditional operator.
...
llvm-svn: 81808
2009-09-14 23:15:26 +00:00
Douglas Gregor
6010da024c
Implement partial ordering of function templates when calling a
...
conversion function.
llvm-svn: 81807
2009-09-14 23:02:14 +00:00
Douglas Gregor
2e0807cd75
Slightly improve the test for partial ordering of overloaded function
...
templates.
llvm-svn: 81806
2009-09-14 22:31:20 +00:00
Douglas Gregor
48bc374d1e
Test function template partial ordering when resolving the address of
...
an overloaded function (template).
llvm-svn: 81804
2009-09-14 22:02:01 +00:00
Ted Kremenek
4112969df1
Fix: <rdar://problem/5905851> do not report a leak when post-dominated by a call
...
to a noreturn or panic function
llvm-svn: 81803
2009-09-14 22:01:32 +00:00
Anders Carlsson
2898af59dc
Update tests
...
llvm-svn: 81802
2009-09-14 22:00:20 +00:00
John McCall
27b5c253d8
Skeletal support for friend class templates.
...
llvm-svn: 81801
2009-09-14 21:59:20 +00:00
Daniel Dunbar
09d3362bf5
ARM/[A]APCS: Ignore empty records passed as arguments.
...
llvm-svn: 81798
2009-09-14 21:54:03 +00:00
Anders Carlsson
0e795ffbb0
For consistency, use "bit-field" instead of "bitfield" in our diagnostics.
...
llvm-svn: 81797
2009-09-14 21:48:24 +00:00
Douglas Gregor
e1d2ef3508
Refactor MarkDeductedTemplateParameters into
...
MarkUsedTemplateParameters, which is able to mark template parameters
used within non-deduced contexts as well as deduced contexts. Use this
to finish the implementation of [temp.deduct.partial]p11.
llvm-svn: 81794
2009-09-14 21:25:05 +00:00
Fariborz Jahanian
f4061e39a3
Used visible conversion function api to do overload
...
resolution of type conversion functions in base and
current class.
llvm-svn: 81784
2009-09-14 20:41:01 +00:00
Ted Kremenek
37a118520c
Implement FIXME: free up BugReportEquivClass objects when deleting BugTypes.
...
llvm-svn: 81783
2009-09-14 20:40:59 +00:00
Daniel Dunbar
0c33f44cd9
Force triple.
...
llvm-svn: 81781
2009-09-14 20:21:18 +00:00
Sam Weinig
b7608d7064
-Wchar-subscripts should not warn for explicit signed char subscripts either. Another fix for PR4978.
...
llvm-svn: 81780
2009-09-14 20:14:57 +00:00
Douglas Gregor
406f634df5
Tighten up checking of non-dependent arguments as part of template
...
argument deduction. This fixes the new test case (since partial
ordering does not have a "verify the results of deduction" step), and
will allow failed template argument deductions to return more quickly
for, e.g., matching class template partial specializations.
llvm-svn: 81779
2009-09-14 20:00:47 +00:00
David Chisnall
2997982ab4
Small fix to stop CGObjCGNU emitting symbols that break some versions of gas.
...
llvm-svn: 81778
2009-09-14 19:04:10 +00:00
Douglas Gregor
0ff7d92048
Implement partial ordering of function template specializations
...
(C++ [temp.func.order]).
llvm-svn: 81777
2009-09-14 18:39:43 +00:00
Sam Weinig
80cf843fe9
-Wchar-subscripts should not warn for unsigned char subscripts. Fixes PR4978.
...
llvm-svn: 81776
2009-09-14 18:17:16 +00:00
Sam Weinig
5be00aae4f
Remove duplicate definition of char-subscripts DiagGroup.
...
llvm-svn: 81775
2009-09-14 17:50:09 +00:00
Fariborz Jahanian
2243014431
Removed couple of FIXME comments from test case.
...
llvm-svn: 81774
2009-09-14 17:32:50 +00:00
Fariborz Jahanian
cb1c19147f
Using the property dot-syntax to invoke a non-eixsting
...
structure-valued setter should cause a user error instead of
crash.
llvm-svn: 81769
2009-09-14 16:40:48 +00:00
Anders Carlsson
ddf57d3df9
Remove an unnecessary FunctionDecl parameter to the synthesizing functions.
...
llvm-svn: 81759
2009-09-14 05:32:02 +00:00
Daniel Dunbar
ff0553ec61
Fix subtle bug in generating LLVM function declarations for builtin functions.
...
The decl wasn't being passed down, which meant that function attributes were not
being set correctly. This is particularly important for ARM, since it wants to
override the calling convention. Instead we would emit the builtin with the
wrong calling convention, and instcombine would come along and merrily shred all
the calls to it. :)
llvm-svn: 81756
2009-09-14 04:33:21 +00:00
Daniel Dunbar
d53bac7fa4
ARM/APCS: Don't treat structs w/ floating point types as "integer like".
...
llvm-svn: 81748
2009-09-14 02:20:34 +00:00
Sam Weinig
914244e7b0
Add support for -Wchar-subscripts. Fixes PR4801.
...
llvm-svn: 81747
2009-09-14 01:58:58 +00:00
Anders Carlsson
aedb46fe21
If a function call returns a reference, don't bind it to a temporary.
...
llvm-svn: 81743
2009-09-14 01:30:44 +00:00
Anders Carlsson
96bad9a5cd
Implement CodeGenFunction::EmitCXXExprWithTemporariesLValue.
...
llvm-svn: 81738
2009-09-14 01:10:45 +00:00
Daniel Dunbar
1ce7251a0a
Some minor clang/ARM/AAPCS tweaks.
...
llvm-svn: 81737
2009-09-14 00:56:55 +00:00
Daniel Dunbar
b4091a9c6a
Add TargetInfo::getABI(), and base ARM APCS vs AAPCS choice on that.
...
llvm-svn: 81735
2009-09-14 00:35:03 +00:00
Daniel Dunbar
4ed7898294
Support -mabi= for clang/ARM.
...
llvm-svn: 81734
2009-09-14 00:34:46 +00:00
Anders Carlsson
8783737029
Handle delete where the class has a virtual destructor.
...
llvm-svn: 81733
2009-09-14 00:16:25 +00:00
Daniel Dunbar
125f8fb761
ARM target tweaks.
...
- Change TargetData string to match llvm-gcc.
- Some -target-abi support for 'apcs-gnu', most importantly the alignment of double and long long changes.
llvm-svn: 81732
2009-09-14 00:02:24 +00:00
Daniel Dunbar
4e97bc3ee7
Add -target-abi clang-cc option, currently unused.
...
llvm-svn: 81731
2009-09-14 00:02:12 +00:00
Anders Carlsson
40a90c8754
Fix a bug in getFriendObjectKind where we would clear out all mask bits except IDNS_TagFriend and IDNS_OrdinaryFriend but then check for IDNS_Tag and IDNS_Ordinary.
...
llvm-svn: 81730
2009-09-13 23:59:13 +00:00
Anders Carlsson
1b12ed4a00
Perform the C++ specific semantic checks of a function declaration after it's been merged with the previous declaration. This ensures that getPreviousDecl() will have the right value when ActOnConversionDeclarator is called.
...
llvm-svn: 81720
2009-09-13 21:33:06 +00:00
Anders Carlsson
002f2b3eec
CXXMethodDecl::isVirtual needs to check the canonical declaration. Fixes PR4878.
...
llvm-svn: 81715
2009-09-13 21:01:57 +00:00
Anders Carlsson
ccbabc9645
Fix another byref bug. This should hopefully get QuickLookPlugins building successfully.
...
llvm-svn: 81681
2009-09-13 17:55:13 +00:00
Chris Lattner
22a0599816
rewrite readme.
...
llvm-svn: 81678
2009-09-13 17:23:57 +00:00
Eli Friedman
7d45c4884a
Add utility to evaluate lvalues which are an offset relative to a stack
...
location. Patch by Enea Zaffanella.
llvm-svn: 81672
2009-09-13 10:17:44 +00:00
Daniel Dunbar
626f1d8c3a
ARM/APCS: Only "integer like" aggregates should be returned in r0 (following
...
gcc's interpretation of APCS' somewhat loose specification).
llvm-svn: 81671
2009-09-13 08:03:58 +00:00
Douglas Gregor
299d76e901
Rework the way we determine whether an externally visible symbol is
...
generated for an inline function definition, taking into account C99
and GNU inline/extern inline semantics. This solution is simpler,
cleaner, and fixes PR4536.
llvm-svn: 81670
2009-09-13 07:46:26 +00:00
Daniel Dunbar
5e2de9fe00
Some formatting tweaks to clang(1)
...
llvm-svn: 81668
2009-09-13 02:21:55 +00:00
Daniel Dunbar
c676d3c167
Add minimal INSTALL.txt
...
llvm-svn: 81667
2009-09-13 02:21:31 +00:00
Daniel Dunbar
42684d5af8
Force triple to avoid spurious differences due to runtime choice.
...
llvm-svn: 81666
2009-09-13 01:45:29 +00:00
Daniel Dunbar
e9266a3ee1
Add RUN line.
...
llvm-svn: 81654
2009-09-12 23:06:30 +00:00
Daniel Dunbar
0482cfd790
Don't use the PredefinedExpr string as the global variable name, these don't
...
make very nice symbols, just use the function name.
llvm-svn: 81653
2009-09-12 23:06:21 +00:00
Chris Lattner
46d90f7b32
rewrite the parsing code for -miphoneos-version-min and
...
-mmacosx-version-min to work on llvm::Triple. Simplify
it to use x-'0' to parse single digit integer strings.
llvm-svn: 81646
2009-09-12 22:45:58 +00:00
Chris Lattner
ee7bd3b204
whitespace fix
...
llvm-svn: 81644
2009-09-12 22:45:21 +00:00
Benjamin Kramer
2864584b14
Update CMake files.
...
llvm-svn: 81631
2009-09-12 21:18:26 +00:00
Fariborz Jahanian
a954049875
More improvement in building list of visible conversion
...
functions for a class when needed.
llvm-svn: 81624
2009-09-12 19:52:10 +00:00
Anders Carlsson
085af1fd29
Add a test for PR3733.
...
llvm-svn: 81622
2009-09-12 19:35:43 +00:00
Fariborz Jahanian
edca0bcf48
Removed Context argument from couple of methods which don't
...
need them.
llvm-svn: 81621
2009-09-12 19:02:34 +00:00
Mike Stump
6768683933
Add FIXME for alignments that won't be honored.
...
llvm-svn: 81620
2009-09-12 18:58:28 +00:00
Mike Stump
d76611fac0
We can't have ctors in the vtable (right Doug?) :-)
...
llvm-svn: 81619
2009-09-12 18:57:58 +00:00
Fariborz Jahanian
b394f50ac9
More work toward having an access method for visible
...
conversion functions.
llvm-svn: 81618
2009-09-12 18:26:03 +00:00
Anders Carlsson
d95f9608ab
Handle CK_DerivedToBase when emitting lvalue casts.
...
llvm-svn: 81614
2009-09-12 16:16:49 +00:00
Benjamin Kramer
c1330af0b9
SmallVectorize preprocessor's token cache. Testing shows there is almost never
...
more than one token in the cache.
llvm-svn: 81612
2009-09-12 09:45:28 +00:00
Anders Carlsson
360e7d0a8f
When necessary, null check the base value in GetAddressCXXOfBaseClass.
...
llvm-svn: 81611
2009-09-12 06:04:24 +00:00
Anders Carlsson
12f5a25f15
Handle derived-to-base conversion in CGExprScalar::EmitCast, if the cast kind is CK_DerivedToBase.
...
llvm-svn: 81610
2009-09-12 04:57:16 +00:00
Anders Carlsson
7ec8ccde01
Use the correct CastKind for derived-to-base pointer conversions.
...
llvm-svn: 81608
2009-09-12 04:46:44 +00:00
Anders Carlsson
9a57c5ac6f
Whoops, add CGCXXClass.cpp
...
llvm-svn: 81607
2009-09-12 04:27:24 +00:00
Anders Carlsson
864d525533
Rename AddressCXXOfBaseClass to GetAddressCXXOfBaseClass. Add a NullCheckValue argument (currently unused).
...
llvm-svn: 81606
2009-09-12 04:26:35 +00:00
Anders Carlsson
307408d2af
Add CGCXXClass.cpp. and move CodeGenFunction::AddressCXXOfBaseClass there.
...
llvm-svn: 81604
2009-09-12 03:29:09 +00:00
Anders Carlsson
f8e94f2008
Add support for __block variables with alignment greater than __alignof(void *).
...
llvm-svn: 81602
2009-09-12 02:44:18 +00:00
Anders Carlsson
0168f4b202
For __block variables, cache the LLVM types as well as which LLVM field where the variable is stored.
...
llvm-svn: 81599
2009-09-12 02:14:24 +00:00
Daniel Dunbar
020daa9476
Stub out room for ARM APCS ABI implementation (and AAPCS_VFP, although you can't
...
hit this via command line options yet).
llvm-svn: 81595
2009-09-12 01:00:39 +00:00
Daniel Dunbar
d59655c992
Formatting fixes.
...
llvm-svn: 81594
2009-09-12 00:59:49 +00:00
Daniel Dunbar
0ef3479cb7
Change CodeGenModule::ConstructTypeAttributes to return the calling convention
...
to use, and allow the ABI implementation to override the calling convention.
llvm-svn: 81593
2009-09-12 00:59:20 +00:00
Douglas Gregor
15fc956ca0
Remove unnecessary ASTContext parameter from FunctionDecl::isBuiltinID
...
llvm-svn: 81590
2009-09-12 00:22:50 +00:00
Douglas Gregor
16618f2157
Remove unnecessary ASTContext parameters from isMain and isExternC
...
llvm-svn: 81589
2009-09-12 00:17:51 +00:00
Douglas Gregor
e2350a3b97
Eliminate FunctionDecl::getBodyIfAvailable
...
llvm-svn: 81588
2009-09-12 00:08:48 +00:00
Anders Carlsson
97c7eda14a
Fix a crash when generating vtables that contain destructors.
...
llvm-svn: 81587
2009-09-12 00:00:29 +00:00
Mike Stump
80f6ac5a4f
Add basic covariant thunk generation support. WIP.
...
llvm-svn: 81585
2009-09-11 23:25:56 +00:00
Douglas Gregor
cc2427c343
When performing name lookup within a class template or class template
...
partial specialization, make sure we look into non-dependent base
classes (but not dependent base classes). Fixes PR4951.
llvm-svn: 81584
2009-09-11 22:57:37 +00:00
Fariborz Jahanian
a31472def0
No need to build the visible conversionfunction list for root class.
...
llvm-svn: 81583
2009-09-11 22:27:50 +00:00
Daniel Dunbar
bbaeca4fef
Set the calling convention based on the CGFunctionInfo.
...
llvm-svn: 81582
2009-09-11 22:25:00 +00:00
Daniel Dunbar
7feafc70d9
Add CallingConvention argument to CGFunctionInfo.
...
- Currently unused.
llvm-svn: 81581
2009-09-11 22:24:53 +00:00
Ted Kremenek
7020eae076
Introduce "DefinedOrUnknownSVal" into the SVal class hierarchy, providing a way
...
to statically type various methods in SValuator/GRState as required either a
defined value or a defined-but-possibly-unknown value. This leads to various
logic cleanups in GRExprEngine, and lets the compiler enforce via type checking
our assumptions about what symbolic values are possibly undefined and what are
not.
Along the way, clean up some of the static analyzer diagnostics regarding the uses of uninitialized values.
llvm-svn: 81579
2009-09-11 22:07:28 +00:00
Fariborz Jahanian
b54ccb2782
Patch to build visible conversion function list lazily and make its
...
first use in calling the conversion function on delete statements.
llvm-svn: 81576
2009-09-11 21:44:33 +00:00
Douglas Gregor
4aa04b155a
Slight improvement for extern templates, so that an explicit
...
instantiation definition can follow an explicit instantiation
declaration. This is as far as I want to go with extern templates now,
but they will still need quite a bit more work to get all of the C++0x
semantics right.
llvm-svn: 81573
2009-09-11 21:19:12 +00:00
John McCall
2f212b3a72
Alter Action's friend interface to prepare for templated friend declarations and
...
to stop making promises we can't currently keep.
llvm-svn: 81571
2009-09-11 21:02:39 +00:00
Daniel Dunbar
c0f8eef710
Fix use of uninitialized, David please check.
...
llvm-svn: 81570
2009-09-11 20:56:53 +00:00
Douglas Gregor
dd3f5f1fca
Improve testing for extern temp templates, slightly. We are (properly) suppressing the implicit instantiation of members of extern templates
...
llvm-svn: 81567
2009-09-11 20:35:49 +00:00
Douglas Gregor
6411b92ee6
Tweak the semantics of FunctionDecl::isOutOfLine to consider an
...
instantiation of a member function template or member function of a
class template to be out-of-line if the definition of that function
template or member function was defined out-of-line. This ensures that
we get the correct linkage for explicit instantiations of out-of-line
definitions.
llvm-svn: 81562
2009-09-11 20:15:17 +00:00
Sam Weinig
cface2dd54
Add test for dependent PredefinedExprs.
...
llvm-svn: 81550
2009-09-11 18:49:46 +00:00
Fariborz Jahanian
f9012a3e9d
Undid my yesterday patch which is not needed with an upcoming patch.
...
llvm-svn: 81549
2009-09-11 18:46:22 +00:00
Douglas Gregor
c732aba9a9
Cleanup and test C++ default arguments. Improvements include:
...
- Diagnose attempts to add default arguments to templates (or member
functions of templates) after the initial declaration (DR217).
- Improve diagnostics when a default argument is redefined. Now, the
note will always point at the place where the default argument was
previously defined, rather than pointing to the most recent
declaration of the function.
llvm-svn: 81548
2009-09-11 18:44:32 +00:00
Anders Carlsson
af494faa57
Just ignore friend templates for now so we won't crash.
...
llvm-svn: 81536
2009-09-11 17:54:14 +00:00
Fariborz Jahanian
10e9bffde3
Fixes a regression in objc GC layout bitmap involving
...
block pointer ivars.
llvm-svn: 81535
2009-09-11 17:39:05 +00:00
Benjamin Kramer
1618c0113b
Update CMakeLists.
...
llvm-svn: 81519
2009-09-11 11:28:30 +00:00
John McCall
1806c2795b
Track a class template specialization's point of instantiation separately
...
from its location. Initialize appropriately.
When implicitly creating a declaration of a class template specialization
after encountering the first reference to it, use the pattern class's
location instead of the location of the first reference.
llvm-svn: 81515
2009-09-11 07:25:08 +00:00
John McCall
e1f2ec28d8
When stringizing a NamedDecl for a diagnostic, treat the template
...
specialization types differently.
llvm-svn: 81512
2009-09-11 06:45:03 +00:00
Daniel Dunbar
ea1c037177
Update prototype.
...
llvm-svn: 81510
2009-09-11 06:34:14 +00:00
Anders Carlsson
99056f23b7
Fix PR4878 for real.
...
llvm-svn: 81507
2009-09-11 05:54:14 +00:00
John McCall
7f41d98928
Support elaborated dependent types and diagnose tag mismatches.
...
llvm-svn: 81504
2009-09-11 04:59:25 +00:00
Zhongxing Xu
dc299bc481
Start to add a new transfer function that inlines callee. To be continued.
...
llvm-svn: 81501
2009-09-11 04:13:42 +00:00
Sam Weinig
bae6914314
Test commit
...
llvm-svn: 81500
2009-09-11 03:29:30 +00:00
Anders Carlsson
0b209a8632
Instantiate PredefinedExprs correctly. Patch by Sam Weinig!
...
llvm-svn: 81498
2009-09-11 01:22:35 +00:00
Daniel Dunbar
33a004e9eb
Swizzle the target triple based on -mthumb, and update clang-cc to recognize
...
thumb-foo-bar as an ARM target.
llvm-svn: 81497
2009-09-11 01:14:50 +00:00
Dan Gohman
0533ffa2a6
Update this test to expect the "inbounds" keyword, which LLVM's constant
...
folder is now automatically adding.
llvm-svn: 81491
2009-09-11 00:27:06 +00:00
Douglas Gregor
73341c4e63
Diagnose VLAs as an error in C++.
...
Also, treat the GNU __null as an integral constant expression to match
GCC's behavior.
llvm-svn: 81490
2009-09-11 00:18:58 +00:00
Steve Naroff
e0064d2e95
Make sure ObjCInterfaceDecl's that are forward declared always contain a valid location.
...
llvm-svn: 81487
2009-09-11 00:12:01 +00:00
Anders Carlsson
fd384d8065
Pass the GlobalDecl to getMangledName, fixes PR4890.
...
llvm-svn: 81486
2009-09-11 00:11:35 +00:00
Anders Carlsson
73fcc95f0f
Pass GlobalDecls to GenerateCode and StartFunction.
...
llvm-svn: 81485
2009-09-11 00:07:24 +00:00
Anders Carlsson
ecf9bf0158
GlobalDecl doesn't have an explicit constructor anymore.
...
llvm-svn: 81481
2009-09-10 23:43:36 +00:00
Anders Carlsson
38988d7ee0
Add stricter GlobalDecl constructors.
...
llvm-svn: 81480
2009-09-10 23:38:47 +00:00
Fariborz Jahanian
8d6298b272
Fix a regression where write-barrier was not being generated
...
for block pointer.
llvm-svn: 81479
2009-09-10 23:38:45 +00:00
Douglas Gregor
8ef65fbd49
Eliminate some "default"s in CheckICE.
...
llvm-svn: 81477
2009-09-10 23:31:45 +00:00
Anders Carlsson
78b5493994
Look for overloaded arrow operators in base classes.
...
llvm-svn: 81475
2009-09-10 23:18:36 +00:00
Daniel Dunbar
8c10ff8f13
Teach LIT2 how to run Clang tests in the objdir for srcdir != objdir builds.
...
llvm-svn: 81472
2009-09-10 23:00:15 +00:00