Douglas Gregor
be4092138f
Improve XML output for class/struct/union declarations, from Martin Vejnar!
...
llvm-svn: 116103
2010-10-08 21:05:46 +00:00
Douglas Gregor
63b0a1e9fb
Fix a typo in the Clang man page, from Alexander Best.
...
llvm-svn: 116102
2010-10-08 21:03:07 +00:00
Douglas Gregor
7a2b425ee1
Revert the hack Chris Lattner added in r97981 to work around
...
brokenness in the designated-initializer ASTs. The ASTs were fixed by
Alp Toker's patch (r116098) for PR6955. Fixes PR6537.
llvm-svn: 116101
2010-10-08 20:56:19 +00:00
Douglas Gregor
559c9fb134
This patch fixes multiple issues in clang's designated init builder and
...
completes support for C1X anonymous struct/union init features:
* Indexed anonymous member initializers should not be expanded. Doing so makes
little sense and would cause unresolvable semantic ambiguity in valid code
(regression introduced by r69153).
* Subobject initialization of (possibly nested) anonymous members are now
referred to with paths relative to the naming record context, eliminating the
synthesis of incorrect implicit InitListExprs that caused CodeGen to assert.
* Field lookup was missing a null check in IdentifierInfo comparison which
caused lookup for a known (already resolved) field to match the first unnamed
data member it encountered leading to silent miscompilation.
* Subobject paths are no longer built using the general purpose
Sema::BuildAnonymousStructUnionMemberPath(). If any corner cases crop up, we
will now assert earlier in Sema instead of passing invalid InitListExprs
through to CodeGen.
Fixes PR6955, from Alp Toker!
llvm-svn: 116098
2010-10-08 20:44:28 +00:00
Douglas Gregor
8ed5b77008
Fix the mapping of vertical-space cursor kinds to produce a newline,
...
rather than a space.
llvm-svn: 116097
2010-10-08 20:39:29 +00:00
Eric Christopher
366c146e79
Try to disable this again.
...
llvm-svn: 116094
2010-10-08 19:36:36 +00:00
Daniel Dunbar
a5af410dc5
libclang: Disable LLVM pretty stack trace functionality, which inadvertently
...
sets up signal handlers it shouldn't when we are being used a shared library.
llvm-svn: 116084
2010-10-08 19:30:33 +00:00
Eric Christopher
2f38b940e3
Disable this test temporarily in an attempt to green the buildbots.
...
llvm-svn: 116082
2010-10-08 19:18:57 +00:00
Devang Patel
3db5480b27
Tighter check in r116060 blcoked enums also. Emit enum const's debug info.
...
llvm-svn: 116071
2010-10-08 18:24:19 +00:00
John McCall
942687084f
__attribute__((aligned(n))) directly specifies the alignment of a declaration
...
unless it's a non-packed field, in which case it can only increase the
alignment. [[align]] effectively works the same way for well-formed code
(because it's ill-formed for [[align]] to decrease alignment ever).
Fixes rdar://problem/8335865
llvm-svn: 116070
2010-10-08 18:24:19 +00:00
Devang Patel
5e8ee2bb89
Do not repeat debug info for file variable constants.
...
This is tested by file-statics.exp in gdb testsuite.
llvm-svn: 116060
2010-10-08 17:02:40 +00:00
Douglas Gregor
bb6a881862
Fix three related, wily issues with the recompilation of precompiled
...
preambles:
- When we rebuild a precompiled preamble, make sure to disable
skipping anything in the main file; we may have had leftover
preamble-skipping values in the lexer, which leads to very empty
preamble. This is a correctness issue.
- When we rebuild a precompiled preamble, clear out any prior state
in the Diagnostic object. Otherwise, we might think that there
were errors when we were building the preamble itself, and
therefore reject the resulting preamble. This is mainly a
performance issue.
- Don't remove old remappings when digging out the remapping for the
main file. Having the old mappings around does not hurt in the
common case (later remappings will just overwrite them), and is
important when we fail to find a preamble: we don't want to have
removed the remapping, because we'll need it later.
llvm-svn: 116041
2010-10-08 04:03:57 +00:00
Argyrios Kyrtzidis
b5c7c51392
When we encounter a '==' in a context expecting a '=', assume the user made a typo:
...
t.c:1:7: error: invalid '==' at end of declaration; did you mean '='?
int x == 0;
^~
=
Implements rdar://8488464.
llvm-svn: 116035
2010-10-08 02:39:23 +00:00
John McCall
acf0ee57b6
Track the location of the context requiring an implicit conversion and use it
...
to white-list conversions required by system headers. rdar://problem/8232669
llvm-svn: 116029
2010-10-08 02:01:28 +00:00
Argyrios Kyrtzidis
74825bcfb9
Implement -fshort-enums (rdar://8490496).
...
llvm-svn: 116020
2010-10-08 00:25:19 +00:00
Devang Patel
251f859b23
Identify functions with prototype appropriately in debug info.
...
This is tested by callfuncs.exp in gdb testsuite.
llvm-svn: 115989
2010-10-07 22:03:49 +00:00
Argyrios Kyrtzidis
15a9edc7cf
Fix an infinite loop, caused by unintended syntax bug (the 'break;' after 'default:' was intended to break out of the while loop).
...
Fixes rdar://8518859&8520617.
llvm-svn: 115985
2010-10-07 21:52:18 +00:00
Fariborz Jahanian
e0587be735
Fix a crash encoding ivars of vector types and
...
to match gcc's encoding. Fixes //rdar: // 8519948.
llvm-svn: 115980
2010-10-07 21:25:25 +00:00
Abramo Bagnara
5d3e724fc5
Fixed cast to union with anonymous bitfields.
...
llvm-svn: 115979
2010-10-07 21:20:44 +00:00
Douglas Gregor
a881010621
Bugs should go to Bugzilla, not the mailing list
...
llvm-svn: 115972
2010-10-07 20:20:57 +00:00
Daniel Dunbar
29b8fb1771
tests: Force a triple to avoid wchar_t differences.
...
llvm-svn: 115970
2010-10-07 20:16:00 +00:00
Daniel Dunbar
355e850c6c
tests: Tweak test to also match MSVC format.
...
llvm-svn: 115969
2010-10-07 20:14:30 +00:00
Fariborz Jahanian
4fc98f664b
Start and end location of a property-dot syntax expression
...
must match start and end location of the expression
as expected by the rewriter client. Fixes // rdar: // 8520727
llvm-svn: 115934
2010-10-07 18:12:21 +00:00
Douglas Gregor
c0f5dfc9d5
Don't force spell checking when code-completing. Let the client decide
...
llvm-svn: 115931
2010-10-07 18:03:24 +00:00
Daniel Dunbar
6036264fb4
Driver: When clang is built with a VENDOR set, include the base LLVM version in
...
the version information, to help prevent user confusion about vendor version
numbers vs. LLVM version numbers.
llvm-svn: 115915
2010-10-07 15:00:30 +00:00
Daniel Dunbar
7bb159b33c
www: Grammar, etc.
...
llvm-svn: 115914
2010-10-07 15:00:19 +00:00
Chris Lattner
586c51e0b7
clang++ sorta works now
...
llvm-svn: 115903
2010-10-07 04:28:56 +00:00
Fariborz Jahanian
c74073cd20
Patch for adding message to unavailable attribute.
...
And its documentation.
Finishes off // rdar: // 6734520.
llvm-svn: 115862
2010-10-06 23:12:32 +00:00
Tom Care
ea53e82c78
UnreachableCodeChecker cleanup and improvements
...
- Fixed some iterator style issues
- Don't process blocks that have been visited already
- Fixed a case where a unreachable block cycle was not reported
- Minor test case changes
- Added one test case from flow-sensitive version of the check. More coming.
llvm-svn: 115861
2010-10-06 23:02:25 +00:00
Fariborz Jahanian
776653a70a
Simplified code for deprecated attribute wih message a little.
...
llvm-svn: 115856
2010-10-06 22:20:08 +00:00
Fariborz Jahanian
55106310ae
Add message to attribute(deprecated).
...
attribute(unavailable) to do next.
// rdar:// 6734520.
llvm-svn: 115842
2010-10-06 21:18:44 +00:00
Douglas Gregor
a3d3ba1cac
Fix a double-free error that can occur in rare cases where loading
...
of the precompiled preamble (or any PCH file it depends on) fails
during reparsing.
llvm-svn: 115838
2010-10-06 21:11:08 +00:00
Devang Patel
284fa417ec
Mark FunctionNoProtoType's argument as unspecified parameters.
...
llvm-svn: 115834
2010-10-06 20:51:45 +00:00
John McCall
569eafce63
Re-enable EH cleanups to destroy __block variables, now that we have a moment to
...
deal with the consequences. Fixes rdar://problem/8224178.
llvm-svn: 115816
2010-10-06 18:56:43 +00:00
Nick Lewycky
3005242401
Silence unused variable warning in Release builds.
...
llvm-svn: 115806
2010-10-06 18:37:39 +00:00
Devang Patel
c0601d1e99
Do not emit subrange for incomplete array type.
...
This is tested by ptype.exp in gdb testsuite.
llvm-svn: 115805
2010-10-06 18:30:00 +00:00
Fariborz Jahanian
4801cc6315
Issue deprecated warning when typeof uses typedef
...
based on underlying type's deprecatedness.
llvm-svn: 115800
2010-10-06 17:00:02 +00:00
Douglas Gregor
3999e15d93
Reject the allocation of variably-modified types in C++ 'new'
...
expressions. Fixes PR8209 in the narrowest way possible. I'm still
considering whether I want to implement the extension that permits the
use of VLA types in a 'new' expression.
llvm-svn: 115790
2010-10-06 16:00:31 +00:00
Devang Patel
5b389f495b
Remove unused argument.
...
llvm-svn: 115789
2010-10-06 15:58:57 +00:00
Francois Pichet
f804a97d4f
_inline is an alias for inline in MSVC.
...
llvm-svn: 115785
2010-10-06 13:02:48 +00:00
Chandler Carruth
a64aedb34b
Remove hard CRLF end-of-line markers from two files. These should be added
...
automatically when syncing due to the auto-props selecting svn:eol-style of
'native'.
llvm-svn: 115758
2010-10-06 06:50:05 +00:00
Nico Weber
9762e0a234
Add support for 4-byte UCNs like \U12345678. Warn about UCNs in c90 mode.
...
llvm-svn: 115743
2010-10-06 04:57:26 +00:00
Bill Wendling
964f521e85
Erm...this isn't the same as PR6658.
...
llvm-svn: 115737
2010-10-06 03:33:37 +00:00
Bill Wendling
6153d2c7bd
MMX conversion work is done. We can remove the FIXMEs.
...
llvm-svn: 115736
2010-10-06 03:31:26 +00:00
Bill Wendling
8700d39139
Add same hack to mmx-builtins.c as in Headers/c89.c to get it to pass on Win32. PR6658.
...
llvm-svn: 115735
2010-10-06 03:31:09 +00:00
Anders Carlsson
0f7e94fd7b
When checking for uninitialized fields in member initializers, special case static variables and enums. Fixes PR8075.
...
llvm-svn: 115732
2010-10-06 02:43:25 +00:00
John McCall
2a981c2056
Teach the driver to pass -fexceptions in Objective-C inputs on ARM.
...
I don't know when this stopped happening, but this seems to be the
right place to do it.
llvm-svn: 115730
2010-10-06 01:40:51 +00:00
John McCall
2551c1bbcd
Provide a slightly specialized diagnostic for tautological comparisons
...
of an enum value.
llvm-svn: 115725
2010-10-06 00:25:24 +00:00
John McCall
f449926a01
Use a more conventional/efficient implementation for isEnumeralType()
...
and isBuiltinType().
llvm-svn: 115724
2010-10-06 00:23:35 +00:00
Fariborz Jahanian
b292e32fd2
Ue TagType, added a FIXME. Per John's comment.
...
llvm-svn: 115723
2010-10-06 00:23:25 +00:00