Commit Graph

304 Commits

Author SHA1 Message Date
Stefano Sanfilippo 3b5a9be6b9 Emit position independent code by default, to enable support for shared libraries and PIE.
PIE is now default on Ubuntu LTS. PIC can be disabled with --no-pic.
2018-12-25 14:12:35 +01:00
Stefano Sanfilippo ab596da379 Port Monicelli to LLVM 6.0 2018-09-16 14:24:27 +02:00
Stefano Sanfilippo 7f2a9a34a8 Push Monicelli 2.0 "Cofandina" 2018-09-16 14:24:27 +02:00
Stefano Sanfilippo 8aa5c1a575 Merge branch 'location' 2015-03-27 12:02:55 +01:00
Stefano Sanfilippo 554f80ac5d Keeping track of locations in parser. 2015-03-26 15:19:07 +01:00
Stefano Sanfilippo 4c9c5dc13b Pass current node to reportError function.
This way, the location is included in the error message.
2015-03-26 15:18:44 +01:00
Stefano Sanfilippo 7c5b760a94 Add location traits to AST nodes.
This way, we keep trace of the exact source location where a
statement or symbol was defined and we are able to emit
more precise error messages in LLVM mode.
2015-03-26 14:43:42 +01:00
Stefano Sanfilippo 5c05d96b39 Merge branch 'master' into location 2015-03-25 01:36:26 +01:00
Stefano Sanfilippo 3dc5dc604a Ensure that a proper bb is created when "else" is omitted in a branch. 2015-03-25 01:32:49 +01:00
Stefano Sanfilippo 69f54847b4 Fixing typo in HEXDIGIT regex. 2015-03-25 01:32:38 +01:00
Stefano Sanfilippo d7fe87ee6e Add missing header in BitcodeEmitter.cpp 2015-03-25 01:26:15 +01:00
Stefano Sanfilippo aa927e698b Add Netbeans files to gitignore. 2015-03-25 01:26:01 +01:00
Stefano Sanfilippo 425dc1d9f4 Fixing typo in HEXDIGIT regex. 2015-03-12 18:59:45 +01:00
Stefano Sanfilippo 1ba0e79c01 Making output operator for Type and Operator part of the iface. 2015-03-12 17:52:27 +01:00
Stefano Sanfilippo 09c69f163f Adding template using decl to compile features check. 2015-03-12 15:25:15 +01:00
Stefano Sanfilippo f2ee32ca80 Remove unused headers. 2015-03-11 00:58:31 +01:00
Stefano Sanfilippo 6e832cf2f4 Use type shorthand macros in bitcode emitter. 2015-03-11 00:57:14 +01:00
Stefano Sanfilippo a191342dec Adding fibonacci example. 2015-03-11 00:52:53 +01:00
Stefano Sanfilippo 16d0e877bf Fix YAML-cpp minimum version required. 2015-03-11 00:50:08 +01:00
Stefano Sanfilippo a0a94d13eb Additional checks on input files. 2015-03-10 21:21:54 +01:00
Stefano Sanfilippo f83f3759d3 Qualify global regexes as static const in main. 2015-03-10 21:09:22 +01:00
Stefano Sanfilippo ca8a86d217 Updating list of dependencies in readme. 2015-03-10 21:00:03 +01:00
Stefano Sanfilippo 47302ea0de Slightly improved error reporting for << and >>. 2015-03-10 20:57:25 +01:00
Stefano Sanfilippo d10d8cf3fd Fix compile time errors in hello world. 2015-03-10 20:53:51 +01:00
Stefano Sanfilippo 69c4a80c81 Fix README for C++ transpiler. 2015-03-10 19:51:45 +01:00
Stefano Sanfilippo eb448f6ae5 Clearer messages on command line. 2015-03-10 19:48:53 +01:00
Stefano Sanfilippo f3356d5906 Add back the option to emit C++ instead of LLVM bitcode. 2015-03-10 19:45:43 +01:00
Stefano Sanfilippo 8061e9dd90 Merge branch 'agatti-homebrew' 2015-03-10 15:44:28 +01:00
Stefano Sanfilippo a34efebff9 Adding forgotten <iostream> include. 2015-03-10 15:44:07 +01:00
Stefano Sanfilippo 94dca845a5 Merge branch 'homebrew' of https://github.com/agatti/monicelli into agatti-homebrew
Conflicts:
	CMakeLists.txt
2015-03-10 15:43:55 +01:00
Stefano Sanfilippo 22f4c334b7 Adding command line options parser 2015-03-10 14:36:32 +01:00
Stefano Sanfilippo 04e031a6a0 Adding minimal test case for dead basic block optimization. 2015-03-10 13:33:34 +01:00
Stefano Sanfilippo ba5dbde1ea Build distributable packages with CPack 2015-03-10 13:32:43 +01:00
Stefano Sanfilippo c9c0e72bec Add install rules to CMake build scripts. 2015-03-10 13:31:02 +01:00
Stefano Sanfilippo d8e13b54fe Adding supercazzola version of mandebrot.mc 2015-03-10 01:41:58 +01:00
Stefano Sanfilippo 6e20935a1b Grouping source files under src/ directory. 2015-03-10 01:28:43 +01:00
Stefano Sanfilippo 8b355d8003 Adding a turtle graphics example with an external module. 2015-03-10 01:21:45 +01:00
Stefano Sanfilippo 4df447f23e Adding support for declaration of external modules as .mm files. 2015-03-10 00:52:51 +01:00
Stefano Sanfilippo ef0e1be751 Convenience ctor for Id from std::string. 2015-03-10 00:48:28 +01:00
Stefano Sanfilippo f35332cf89 Enable simple optimizations. 2015-03-09 22:48:10 +01:00
Stefano Sanfilippo f28172e9f2 Adding a Mandelbrot set plotter example. 2015-03-09 22:38:16 +01:00
Stefano Sanfilippo cf241951a0 Ensure that basic blocks in loops and branches are well formed. 2015-03-09 22:04:10 +01:00
Stefano Sanfilippo ec76d2a21d Use Pointer<...> in BitcodeEmitter.hpp instead of unique_ptr 2015-03-09 22:03:07 +01:00
Stefano Sanfilippo dc5fffbddc Cast the expression before deducing truth value in isTrue() 2015-03-09 21:41:11 +01:00
Stefano Sanfilippo 2d58363c50 Ext or trunc for integers types, not bitcast. 2015-03-09 14:26:25 +01:00
Stefano Sanfilippo 1f4fec77b3 Fix error reporting in FunctionPrototype bitcode emitter. 2015-03-09 13:58:43 +01:00
Stefano Sanfilippo ea94de076d Force return type of main to int in CppEmitter. 2015-03-09 13:52:34 +01:00
Stefano Sanfilippo e46ddfcd80 Fixing error message for parameter number mismatch in function call. 2015-03-09 13:43:22 +01:00
Stefano Sanfilippo 12ea83a4af Make sure vectors are not empty when calling back(). 2015-03-09 13:35:33 +01:00
Stefano Sanfilippo 0c3702ea34 Single ret point in functions, so that a ret is always in the codepath. 2015-03-09 12:33:10 +01:00