Commit Graph

121968 Commits

Author SHA1 Message Date
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