David Blaikie
09d20eefaa
Make use of const-correct ParseCommandLineOptions
...
llvm-svn: 150000
2012-02-07 19:36:38 +00:00
David Blaikie
0210e97680
Correct use of const in ParseCommandLineOptions
...
llvm-svn: 149999
2012-02-07 19:36:01 +00:00
Jean-Daniel Dupas
6255bd14f0
Implements support of format_arg attribute on C++ member.
...
llvm-svn: 149998
2012-02-07 19:01:42 +00:00
Benjamin Kramer
57d2c78572
ocaml bindings: landing pad is now the last opcode.
...
llvm-svn: 149997
2012-02-07 18:58:19 +00:00
Devang Patel
56a321df0b
Remove tabs.
...
llvm-svn: 149996
2012-02-07 18:55:08 +00:00
Devang Patel
37a5c9564d
Emit debug info for properites that are not backed by an ivar.
...
llvm-svn: 149995
2012-02-07 18:40:30 +00:00
Kostya Serebryany
f98fc08bc7
[asan] GET_CALLER_PC macro for Win. Patch by timurrrr@google.com
...
llvm-svn: 149994
2012-02-07 18:23:54 +00:00
Kostya Serebryany
d61255638f
[asan] print 'ALL TESTS PASSED' in makefile when running tests (convenience)
...
llvm-svn: 149990
2012-02-07 17:36:07 +00:00
Fariborz Jahanian
1167190344
objc rewriter: start supporting modern objective-c abi
...
in objective-c rewriter. wip.
llvm-svn: 149989
2012-02-07 17:11:38 +00:00
Argyrios Kyrtzidis
b6c6a58366
Make parsing of objc @implementations more robust.
...
Parsing of @implementations was based on modifying global state from
the parser; the logic for late parsing of methods was spread in multiple places
making it difficult to have a robust error recovery.
-it was difficult to ensure that we don't neglect parsing the lexed methods.
-it was difficult to setup the original objc container context for parsing the lexed methods
after completing ParseObjCAtImplementationDeclaration and returning to top level context.
Enhance parsing of @implementations by centralizing it in Parser::ParseObjCAtImplementationDeclaration().
ParseObjCAtImplementationDeclaration now returns only after an @implementation is fully parsed;
all the data and logic for late parsing of methods is now in one place.
This allows us to provide code-completion for late parsed methods with mis-matched braces.
rdar://10775381
llvm-svn: 149987
2012-02-07 16:50:53 +00:00
Benjamin Kramer
47ddf604b9
Add a unittest for rotating a really big APInt.
...
Clang miscompiles it under certain circumstances, and it's a good exercise for APInt.
llvm-svn: 149986
2012-02-07 16:27:39 +00:00
Aaron Ballman
b97a5addd5
Hex literals without a significand no longer crash the lexer. Fixes bug 7910
...
Patch by Eitan Adler
llvm-svn: 149984
2012-02-07 13:46:03 +00:00
Benjamin Kramer
db0fc5131d
Print NamedDecls directly to a raw_ostream where possible.
...
llvm-svn: 149982
2012-02-07 11:57:57 +00:00
Benjamin Kramer
2f56992964
Switch the ObjC*Decl raw_stream overloads to take a reference, for consistency with NamedDecls.
...
llvm-svn: 149981
2012-02-07 11:57:45 +00:00
NAKAMURA Takumi
59580dbf52
Bitcode/BitstreamReader.h: Tweak for big endian hosts.
...
llvm-svn: 149980
2012-02-07 10:53:19 +00:00
Douglas Gregor
e31e606ff3
Introduce basic ASTs for lambda expressions. This covers:
...
- Capturing variables by-reference and by-copy within a lambda
- The representation of lambda captures
- The creation of the non-static data members in the lambda class
that store the captured variables
- The initialization of the non-static data members from the
captured variables
- Pretty-printing lambda expressions
There are a number of FIXMEs, both explicit and implied, including:
- Creating a field for a capture of 'this'
- Improved diagnostics for initialization failures when capturing
variables by copy
- Dealing with temporaries created during said initialization
- Template instantiation
- AST (de-)serialization
- Binding and returning the lambda expression; turning it into a
proper temporary
- Lots and lots of semantic constraints
- Parameter pack captures
llvm-svn: 149977
2012-02-07 10:09:13 +00:00
Bill Wendling
8392a47174
Use SmallVector instead of std::vector.
...
llvm-svn: 149976
2012-02-07 09:40:07 +00:00
Bill Wendling
cb5b5ff36f
Use 'ArrayRef<>' instead of 'std::vector<>&' for passed-in arguments.
...
llvm-svn: 149975
2012-02-07 09:25:09 +00:00
Bill Wendling
5313685c2d
Calculate the .size() of the vector once.
...
llvm-svn: 149974
2012-02-07 09:06:01 +00:00
Bill Wendling
d5a2f4406e
Reserve a moderate amount of space for the back-end arguments.
...
llvm-svn: 149973
2012-02-07 09:05:34 +00:00
Bill Wendling
b377fc3bfa
Rephrase to add clarity.
...
llvm-svn: 149972
2012-02-07 08:42:29 +00:00
Anat Shemer
2306c54144
test commit
...
llvm-svn: 149971
2012-02-07 08:18:05 +00:00
Evan Cheng
45d8f8a08c
Do not fold ADD / SUB into load / store (to form pre-indexed, post-indexed
...
load / store) if the ADD / SUB has a live definition of CPSR.
Bug reported by David Meyer. Alas, no test case.
llvm-svn: 149970
2012-02-07 07:09:28 +00:00
Craig Topper
b27fd77c3f
Add instruction selection for 256-bit VPSHUFD and 128-bit VPERMILPS/VPERMILPD.
...
llvm-svn: 149968
2012-02-07 06:28:42 +00:00
Craig Topper
a2886c21d9
Convert assert(0) to llvm_unreachable
...
llvm-svn: 149967
2012-02-07 05:05:23 +00:00
Eli Friedman
a767941651
Fix a bug in semantic analysis involving anonymous structs and flexible arrays.
...
llvm-svn: 149966
2012-02-07 05:00:47 +00:00
Eli Friedman
2beed114ba
Fix a couple of nasty bugs involving negative enum constants. <rdar://problem/10760113>.
...
llvm-svn: 149965
2012-02-07 04:34:38 +00:00
Ted Kremenek
987dbdb56e
Update test case.
...
llvm-svn: 149964
2012-02-07 03:56:27 +00:00
Eli Friedman
1b125c3e31
Make FunctionDecl::doesDeclarationForceExternallyVisibleDefinition use the same logic as FunctionDecl::isInlineDefinitionExternallyVisible to figure out whether to emit a definition. Based on work by Anton Yartsev.
...
llvm-svn: 149963
2012-02-07 03:50:18 +00:00
Nick Kledzik
23384e84af
Add support for UndefinedAtom in yaml and native format. Add test cases with undefined atoms
...
llvm-svn: 149962
2012-02-07 02:59:54 +00:00
Craig Topper
e55c556a24
Convert assert(0) to llvm_unreachable
...
llvm-svn: 149961
2012-02-07 02:50:20 +00:00
Ted Kremenek
0298834e46
Create PathDiagnosticCallEnter and PathDiagnosticCallExit, to remark calls in PathDiagnostics from other events. This will
...
have potential uses later.
llvm-svn: 149960
2012-02-07 02:27:37 +00:00
Ted Kremenek
7d88ff436b
Tweak BugReporter extensive diagnostics to not add edges between function calls.
...
llvm-svn: 149959
2012-02-07 02:26:17 +00:00
Ted Kremenek
8ffd764702
Quote name of function in path diagnostics.
...
llvm-svn: 149958
2012-02-07 02:26:14 +00:00
Bill Wendling
c15a364cbf
Cache the sizes of vectors instead of calculating them all over the place.
...
llvm-svn: 149954
2012-02-07 01:48:12 +00:00
Kaelyn Uhrain
1c75d4084d
Remove the unused TypoCorrectionConsumer::MaxEditDistance.
...
MaxEditDistance was effectively unused as it being initialized to the max
unsigned valued but never updated. Removing it avoids conversion
headaches once the "edit distance" of a typo correction is a weighted
composite of several values instead of roughly the number of characters
changed; comparing the weighted composite value to the number of
characters in a typo would require some form of normalization to make it
comparable to the old, character-based notion of edit distance.
llvm-svn: 149953
2012-02-07 01:32:58 +00:00
Bill Wendling
3ae7dd377d
Reserve space in these vectors to prevent having to grow the array too
...
much. This gets us an addition 0.9% on 445.gobmk.
llvm-svn: 149952
2012-02-07 01:27:51 +00:00
Bob Wilson
7ecbd32e4e
Filter a few more options not recognized by gcc. <rdar://problem/10814020>
...
These are new options that gcc doesn't recognize so the clang driver needs
to remove them when it falls back to invoking gcc.
llvm-svn: 149951
2012-02-07 01:17:55 +00:00
Eli Friedman
96efec99eb
Add C11 FLT_TRUE_MIN and friends. <rdar://problem/10812837>.
...
llvm-svn: 149949
2012-02-07 01:02:19 +00:00
Anna Zaks
e0c7c27473
[analyzer] Allow each CString check to be enabled/disabled
...
separately.
llvm-svn: 149947
2012-02-07 00:56:14 +00:00
Bill Wendling
7ac747245f
Bump up the initial vector size to avoid having to grow the vector more often.
...
llvm-svn: 149945
2012-02-07 00:54:58 +00:00
Kostya Serebryany
614b53de1b
[asan] don't crash if /proc/self/maps has enormous size (linux)
...
llvm-svn: 149944
2012-02-07 00:47:35 +00:00
Chris Lattner
ece0409a1a
simplify a bunch of code to use the well-known LLVM IR types computed by CodeGenModule.
...
llvm-svn: 149943
2012-02-07 00:39:47 +00:00
Chris Lattner
8573dc7e1f
tidy up code, make the common case (1-byte strings) come first
...
llvm-svn: 149942
2012-02-07 00:39:21 +00:00
Derek Schuff
76b292f5ba
Fix win32 build breakage from bitcode streaming patch
...
llvm-svn: 149941
2012-02-07 00:28:46 +00:00
Kostya Serebryany
b5eb5a7a05
[asan] make sure the AsanThread object is destroyed if pthread_exit is called
...
llvm-svn: 149940
2012-02-07 00:27:15 +00:00
Ted Kremenek
a2bbac3ffc
Add basic BugReporter support for CallEnter/CallExit. WIP.
...
llvm-svn: 149939
2012-02-07 00:24:33 +00:00
Eli Friedman
dd053f6fba
Misc improvements to the diagnostic when a variable is odr-used in a context that is not allowed to capture variables.
...
Fixes PR11883.
llvm-svn: 149937
2012-02-07 00:15:00 +00:00
Bill Wendling
9972958a89
Use a more efficient container for these values. Also reserve space when using a
...
std::vector.
llvm-svn: 149936
2012-02-07 00:13:27 +00:00
Bill Wendling
1e375fa219
Use a SmallVector instead of std::vector. This improves compilation time in
...
445.gobmk by ~1.7%.
llvm-svn: 149935
2012-02-07 00:04:27 +00:00