1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-24 03:33:20 +01:00
llvm-mirror/lib/AsmParser
Reid Spencer 38002bb037 For PR950:
Remove all grammar conflicts from assembly parsing.  This change involves:
1. Making the "type" keyword not a primitive type (removes several
   reduce/reduce conflicts)
2. Being more specific about which linkage types are allowed for functions
   and global variables. In particular "appending" can no longer be
   specified for a function. A differentiation was made between the various
   internal and external linkage types.
3. Introduced the "define" keyword which is now required when defining a
   function. This disambiguates several cases where a named function return
   type could get confused with the definition of a new type. Using the
   keyword eliminates all shift/reduce conflicts and the remaining
   reduce/reduce conflicts.

These changes are necessary to implement the function parameter attributes
that will be introduced soon. Adding the function parameter attributes in
the presence of the shift/reduce and reduce/reduce conflicts led to severe
ambiguities that caused the parser to report syntax errors that needed to
be resolved. This patch resolves them.

llvm-svn: 32770
2006-12-29 20:29:48 +00:00
..
.cvsignore
Lexer.cpp.cvs For PR950: 2006-12-23 06:05:41 +00:00
Lexer.l For PR950: 2006-12-29 20:29:48 +00:00
Lexer.l.cvs For PR950: 2006-12-23 06:05:41 +00:00
llvmAsmParser.cpp.cvs For PR950: 2006-12-23 06:05:41 +00:00
llvmAsmParser.h.cvs For PR950: 2006-12-23 06:05:41 +00:00
llvmAsmParser.y For PR950: 2006-12-29 20:29:48 +00:00
llvmAsmParser.y.cvs For PR950: 2006-12-23 06:05:41 +00:00
Makefile
Parser.cpp
ParserInternals.h Remove backwards compatibility goop. Now implemented in llvm-upgrade. 2006-12-03 05:45:44 +00:00