Граф коммитов

635 Коммитов

Автор SHA1 Сообщение Дата
Chad Austin 775f840e37 Add perfect forwarding throughout emscripten::val. This shaves 50 KB off the non-minified JS in Northstar. 2013-04-18 20:08:18 +03:00
Chad Austin d990cb17d8 Finally! JSInterface is dead 2013-04-18 20:08:17 +03:00
Chad Austin c2bc8d4f1e implement perfect forwarding in embind 2013-04-18 20:08:16 +03:00
Chad Austin 426cbf616c Support returning movable types 2013-04-18 20:08:15 +03:00
Chad Austin 6a4574cfe4 Add support for returning std::wstring 2013-04-18 20:08:09 +03:00
Bill Welden ebb2069d80 Removed dependency on Northstar. 2013-04-18 20:08:08 +03:00
Bill Welden de80f9c041 Support for intrusive pointers. This dependency on Northstar must be removed before pusing embind to GitHub. 2013-04-18 20:08:07 +03:00
Chad Austin bdeab9a671 fix a bug in optional argument lists 2013-04-18 20:08:06 +03:00
Chad Austin 17639c372a allow optional implementation of non-abstract virtual methods 2013-04-18 20:08:05 +03:00
Chad Austin f554c2fac0 Generalize class property access. 2013-04-18 20:08:04 +03:00
Alon Zakai 985765d9a5 Merge pull request #1044 from imvu/embind_update
Embind update
2013-04-16 14:03:43 -07:00
Jukka Jylänki 2f7322d0d0 Revert "Fix cxa_demangle compile errors". By feedback from azakai, we want to keep our libcxxabi clean from custom changes w.r.t. upsstream libcxxabi.
This reverts commit 848c186df3.
2013-04-16 11:44:51 +03:00
Alon Zakai 6749401c21 use compiled i64 div and rem 2013-04-14 17:19:50 -07:00
Alon Zakai 84c58ecc4a use compiled compiler-rt code for i64 multiplication 2013-04-14 16:33:12 -07:00
Alon Zakai eeaacf90a9 add compiler-rt files for 64-bit math 2013-04-14 09:10:15 -07:00
Arlo Breault 2ce87cf7d9 socketpair 2013-04-13 14:57:50 -07:00
Jukka Jylänki af586c3c8e Revert "Bring back EMSCRIPTEN_KEEPALIVE" - instead directly use the __attribute__((used)) macro in embind/bind.cpp.
This reverts commit cbf636a88bcfcabf084331fc4d8a445cacb158f9.
2013-04-12 14:27:39 +03:00
Chad Austin a28ef129d6 Allow instantiation of subclass wrappers with smart pointers. 2013-04-12 14:27:37 +03:00
Bruce Mitchener 01c2ac873f Stop using cxa_demangle in embind.
With an updated libcxx, we no longer have libcxxabi in the
include path, so we can't have the demangling code in the
build.
2013-04-12 14:27:35 +03:00
Chad Austin 545dc8ef97 support overloaded index access 2013-04-12 14:27:32 +03:00
Chad Austin 9baac4cd7c Add support for index access to value_tuple and value_struct 2013-04-12 14:27:30 +03:00
Chad Austin 7eb89c3e4f refactoring 2013-04-12 14:27:21 +03:00
Chad Austin f508d6306f Allow value_tuple and value_struct to be registered as global constants. This involved reworking how value_struct and value_tuple are registered. 2013-04-12 14:27:19 +03:00
Chad Austin d4bf6fbe29 Add support for global constants. 2013-04-12 14:27:18 +03:00
Chad Austin 034ebb08d3 add a convenience for selecting a particular overload when binding a function. 2013-04-12 14:27:12 +03:00
Chad Austin def5681c4f Generalize and support mix-and-match member/non-member getter/setter for value types. 2013-04-12 14:27:08 +03:00
Chad Austin fbcb6a4b34 add value_struct and value_tuple support for member function getters and setters. 2013-04-12 14:27:06 +03:00
Chad Austin ecb01ee4b1 Support accessing value struct and tuple fields and elements via base class pointers. 2013-04-12 14:27:04 +03:00
Chad Austin e5af621a18 Generalize support for struct fields 2013-04-12 14:27:03 +03:00
Chad Austin de48fdc5b0 Further generalize support for tuple elements, and in the meantime, fix a bug that made it into one variant of the function but not the other... 2013-04-12 14:27:01 +03:00
Chad Austin e30dd3017a Restructure and generalize tuple accessors. 2013-04-12 14:26:59 +03:00
Chad Austin 8b1b35d8e3 Move context generation/copying out of JavaScript and into C++, where we'll be able to do some cool things in the future. 2013-04-12 14:26:57 +03:00
Jukka Jylanki 0c11a28ccf Fix passing of UINT_MAX and ULONG_MAX from C++ to JS function. LLVM doesn't have u32 type, so UINT_MAX literal comes out as 'i32 -1' literal to JS, which whould treat it as a negative -1.0 double. 2013-04-12 14:26:50 +03:00
Jukka Jylanki 113721e6c6 Raise a TypeError if user tries to push an integer from JS side to C/C++ function exported with embind and the integer (char/short/int/long) is out of bounds of the data type expected by the C++ function. 2013-04-12 14:26:48 +03:00
Chad Austin 56783851c3 can look up module properties like HEAP8 from within C++ :) 2013-04-12 14:26:43 +03:00
Chad Austin dbd1a3bfe2 Allow multiple arguments to emscripten::val::new_() 2013-04-12 14:26:41 +03:00
Chad Austin d0d2471703 Fix a bug in external class function definitions and allow specifying functions that take smart pointers for 'this' 2013-04-12 14:26:38 +03:00
Chad Austin b7936b0a61 Unify 'this' handling in class functions. 'this' is just the first argument to the method. This removes several special cases and will remove even more soon. 2013-04-12 14:26:36 +03:00
Chad Austin 0b8597a8db Some tweaks to facilitate making value_struct and value_tuple simpler. 2013-04-12 14:26:34 +03:00
Chad Austin e10ede1e07 Add sensible error messages when working with classes that depend on unbound types. 2013-04-12 14:26:32 +03:00
Chad Austin 0a6f5476f1 If calling function that uses unbound types, give a sensible error message. 2013-04-12 14:26:30 +03:00
Chad Austin bfcc6330b2 Simplify getTypeName 2013-04-12 14:26:27 +03:00
Chad Austin 41b65f63c4 Fix a bug in embind when using const return values 2013-04-12 14:26:25 +03:00
Chad Austin 6f219fd0ca Change EMSCRIPTEN_BINDINGS syntax and allow for out-of-order registration of value_tuple elements. 2013-04-12 14:26:22 +03:00
Chad Austin 78568fe4c2 Remove some dead code 2013-04-12 14:26:14 +03:00
Chad Austin 09effb641c Simplify upcasting/downcasting, allow multiple smart pointer types per class, and use the same ClassHandle prototype so class handles and smart pointer handles share implementations for .clone() and .delete() 2013-04-12 14:26:12 +03:00
Chad Austin bb23c470f0 Give each class a typeid function 2013-04-12 14:26:03 +03:00
Chad Austin 7d783d874a Use typeid name for interface wrappers too. (Also introduce more uses of makeLegalFunctionName) 2013-04-12 14:25:57 +03:00
Chad Austin fb92020f00 Add a static assertion that a classes's smart_ptr is compatible 2013-04-12 14:25:55 +03:00
Chad Austin 0badaf9b00 Allow smart pointers to have their actual type names. 2013-04-12 14:25:50 +03:00
Chad Austin 7c49e9f886 :O it works. Use a sharing policy approach to autocasting pointers. 2013-04-12 14:25:48 +03:00
Chad Austin de9a8d6fec make smart_ptr a method of class_ instead of a global 2013-04-12 14:25:46 +03:00
Chad Austin 495c40ce18 enable_if is scary and cool 2013-04-12 14:25:44 +03:00
Chad Austin 808e914ce1 Just toodling around with smart pointer binding syntax 2013-04-12 14:25:43 +03:00
Chad Austin 8a58711ab6 Throw an error if calling non-const methods on const objects. 2013-04-12 14:25:35 +03:00
Chad Austin b2fb12ec07 I just learned about the sizeof... operator 2013-04-12 14:25:29 +03:00
Chad Austin b72bbd3938 .field -> .property 2013-04-12 14:25:27 +03:00
Chad Austin e698d8bbdb classmethod -> class_function 2013-04-12 14:25:24 +03:00
Chad Austin 66b9991931 .method -> .function 2013-04-12 14:25:23 +03:00
Chad Austin e7faeb6d50 reorder bindingtypes to make it easy to read 2013-04-12 14:25:15 +03:00
Chad Austin 3ac2105969 Kill the custom bindingtype for shared_ptr :) 2013-04-12 14:25:14 +03:00
Chad Austin 3dd168f24a checkpoint work towards unifying the binding type for classes and smart pointers. 2013-04-12 14:25:12 +03:00
Chad Austin 6a0976ce2e checkpoint work towards unifying the binding type for classes and smart pointers. 2013-04-12 14:25:11 +03:00
Chad Austin 6a1157c12b Make it possible (again) to define a class before its base class is defined. 2013-04-12 14:25:06 +03:00
Chad Austin ba6204bd5c Rewrite how dependent type registrations are implemented. This reduces code size both in JS and C++. There are some known bugs. I'll get to those soon. 2013-04-12 14:25:02 +03:00
Chad Austin 8be7ebc9cc Explicitly specify base classes. Alas, but it must be done for instanceof :( 2013-04-12 14:24:57 +03:00
Chad Austin 97373dc8c2 kinda start thinking about making isinstance work with base classes 2013-04-12 14:24:48 +03:00
Chad Austin ececfcc02e Add support for marshalling custom smart pointer types in and out of parameters. 2013-04-12 14:24:47 +03:00
Chad Austin 50c5092c4a Kill the malloc(16) by writing a test with a 1 MB smart pointer type :) 2013-04-12 14:24:45 +03:00
Chad Austin 1a35260184 Preliminary support for custom smart pointers. 2013-04-12 14:24:44 +03:00
Chad Austin 067dbfd946 Mike Ey and I decided the smart pointer constructor form is different enough to deserve its own name. 2013-04-12 14:24:39 +03:00
Chad Austin 3adc0bd5ed Turns out we can simplify and reuse a lot of code :o 2013-04-12 14:24:38 +03:00
Chad Austin f23cc669e3 Add support for rvalue reference parameters on factories. I don't really understand this code. 2013-04-12 14:24:36 +03:00
Chad Austin f22f586787 Apparently the WireType Marshaller is no longer necessary?? 2013-04-12 14:24:34 +03:00
Chad Austin 612076a7cd Kill a bunch of C-style casts 2013-04-12 14:24:33 +03:00
Chad Austin 088e1af2f1 allow specialization of get_element_type if using a smart pointer with a different mechanism for looking up the pointee type 2013-04-12 14:24:27 +03:00
Chad Austin 55ebc1f669 Rework how vectors and maps are bound: add bounds checking and return undefined if out of bounds. 2013-04-12 14:24:25 +03:00
Chad Austin 4185573aca Support external raw pointer constructors. 2013-04-12 14:24:22 +03:00
Chad Austin f7b5f283e1 Use length-prefix strings instead of null-terminated strings to support passing strings with embedded nul characters. 2013-04-12 14:24:12 +03:00
Chad Austin 78548810ba Allow const non-member functions 2013-04-12 14:24:10 +03:00
Chad Austin 07cd277b4d Use standard method machinery for array access. 2013-04-12 14:24:09 +03:00
Chad Austin 176000557d allow non-member functions bound as methods. 2013-04-12 14:24:08 +03:00
Chad Austin 04d596f040 Replace operator call with a method invoking said operator call, so isinstance works again. When Function.create exists we can have the benefit of both worlds. 2013-04-12 14:24:06 +03:00
Chad Austin 68845c447d fix a syntax error 2013-04-12 14:24:05 +03:00
Chad Austin 7d1614a3ee simplify embind a bit and checkpoint progress towards external constructors 2013-04-12 14:24:03 +03:00
Bill Welden 88e9806813 Change register_smart_ptr to smart_ptr. 2013-04-12 14:24:02 +03:00
Chad Austin dd618d24fc implement an api for allowing JS subclasses of C++ interfaces 2013-04-12 14:23:59 +03:00
Bill Welden 51dfc764bd Fix a couple of merge issues bringing down the lastest emscripten. 2013-04-12 14:23:57 +03:00
Chad Austin 771ee9e921 Fix a bunch of compiler warnings 2013-04-12 14:23:56 +03:00
Chad Austin aef932e3a9 Bring back EMSCRIPTEN_KEEPALIVE 2013-04-12 14:23:55 +03:00
Chad Austin 848c186df3 Fix cxa_demangle compile errors 2013-04-12 14:23:53 +03:00
Chad Austin 70aebcde9e EMSCRIPTEN_KEEPALIVE has been removed 2013-04-12 14:23:52 +03:00
Todd Lee 4fa56f7967 move vecFromJSArray from bind.h to val.h to make it unnecessary to include bind.h 2013-04-12 14:23:50 +03:00
Todd Lee 62b9f6a00f header dependency fix 2013-04-12 14:23:49 +03:00
Andy Friesen 3b6ea45565 emscripten::internal::optional is now copyable.
Fix JSInterface::JSInterface copy constructor to take a const&
2013-04-12 14:23:47 +03:00
Bill Welden c42eb7377e Removed explicit cast capability from bindings. 2013-04-12 14:23:43 +03:00
Bill Welden 40ad51a5c8 Revert "register_smart_ptr changed to .shared_ptr (mod to class definition) -- shared_ptr (outside of class definition) is still allowed"
This reverts commit c38bb38e9d6393dfacb4afb0e9ba80ce42aee965.
2013-04-12 14:23:41 +03:00
Bill Welden e5fca2885b register_smart_ptr changed to .shared_ptr (mod to class definition) -- shared_ptr (outside of class definition) is still allowed
shared pointers passed by reference can be modified by the called code -- the change is now reflected at the Javascript calling level
other minor clean-up and small syntactic changes
2013-04-12 14:23:37 +03:00
Chad Austin ba7a7200ec Document operators that are not exposed 2013-04-12 14:23:34 +03:00
Chad Austin 50e05c30bf Introduce val::new_ for constructor invocation 2013-04-12 14:23:30 +03:00
Chad Austin bacb23ed1a Kill eval_global_method: it's replaced with more primitives 2013-04-12 14:23:28 +03:00
Chad Austin 09bfd969bd after merge we need to fix hasOwnProperty to use [] 2013-04-12 14:23:27 +03:00
Chad Austin 066540930e Switch from val::get to val[] 2013-04-12 14:23:25 +03:00
Chad Austin 661e70cb38 simplify emscripten::val set and get 2013-04-12 14:23:24 +03:00
Chad Austin 2b173301ef Simplify emscripten::val a bit, reducing it closer to its primitive operations. 2013-04-12 14:23:18 +03:00
Bill Welden 6c56bdda8d It is now possible to access base class properties and methods from a derived class (multiple inheritance not yet supported). 2013-04-12 14:23:11 +03:00
Chad Austin c5b8e64a0b bring emscripten::val closer to the set of primitive operations provided by JS on values 2013-04-12 14:23:08 +03:00
Bill Welden d0969fc651 o Temporary shared pointers created to hold upcast argument values now share ownership with the original pointer.
o New test cases for edge cases.
o Other minor clean-up.
2013-04-12 14:23:06 +03:00
Bill Welden cfb3df1b48 Revert "Revert "Auto upcast of pointer parameters to C++ routines.""
This reverts commit 07e0daa5aab716b38acf9041a8baec3816976579.
2013-04-12 14:23:01 +03:00
Bill Welden 84b49c917c Revert "Auto upcast of pointer parameters to C++ routines."
This reverts commit 64cc5c47bed294d5efa2433655552530c0242503.
2013-04-12 14:23:00 +03:00
Bill Welden cd535236f6 Auto upcast of pointer parameters to C++ routines. 2013-04-12 14:22:56 +03:00
Todd Lee cd3be4e930 clean-up old interface binding implementation 2013-04-12 14:22:54 +03:00
mey 32ccee42ba Adding a register map function, fixing some errors in array access functions and invokers. 2013-04-12 14:22:51 +03:00
Bill Welden eac098fc24 Major re-factoring for auto downcasting 2013-04-12 14:22:49 +03:00
Bill Welden d069ed4142 clear distinction between raw (C++) and cooked (Javascript class instances) types. 2013-04-12 14:22:47 +03:00
Bill Welden 2308f2a5b1 More work on auto downcasting. 2013-04-12 14:22:43 +03:00
jinsuck ea98beba74 remove meaningless casting back and forth 2013-04-12 14:22:42 +03:00
jinsuck 77f2b4588b add a method to conveniently clone to shared pointer of wrapper 2013-04-12 14:22:41 +03:00
jinsuck 40773165f4 add const to a function in val 2013-04-12 14:22:38 +03:00
Todd Lee 0e3ca9c9d6 add ability for descendent to clone interface 2013-04-12 14:22:37 +03:00
jinsuck a7733270b0 add const to val 2013-04-12 14:22:35 +03:00
Todd Lee eab7bc729e remove unnecessary code 2013-04-12 14:22:34 +03:00
Bill Welden 50ba3a6ff9 Benchmark work on pointer casting. 2013-04-12 14:22:33 +03:00
mey 8929970461 Removing unused vector binding code that was missed during previous vector refactorings. 2013-04-12 14:22:31 +03:00
jinsuck 4f143f4638 Revert "remove an unused method"
This reverts commit 7300ba73d3004b8d5c69bd8e3dfbc971c3147ad8.
2013-04-12 14:22:30 +03:00
jinsuck a668fe09c4 remove an unused method 2013-04-12 14:22:28 +03:00
Bill Welden 77dd6c9e83 First fully functional automatic downcasting implementation. 2013-04-12 14:22:26 +03:00
Bill Welden 5fba40c9d8 Forward slashes! 2013-04-12 14:22:24 +03:00
Bill Welden 119ab2f1c4 Better error reporting
Fixed demangling routine and added it to RTL
New __typeName method to retrieve char* type name from type info
2013-04-12 14:22:23 +03:00
Bill Welden 03d90a32db More work toward dynamic downcasting of pointers. 2013-04-12 14:22:20 +03:00
mey 1276f9f5b7 Some additional clean up. 2013-04-12 14:22:19 +03:00
mey c9eb75d64a adding function to convert JS array to vector. 2013-04-12 14:22:18 +03:00
mey b5d84da03b Removing ability to return by reference: dangerous. 2013-04-12 14:22:16 +03:00
mey 15603bbafc Switching vector class_ instead of bound as an explicit type. 2013-04-12 14:22:15 +03:00
jinsuck 026a4d49e4 support creating val with null (needed for sending null parameter to a
WebGL function)
2013-04-12 14:22:14 +03:00
Todd Lee 73d2de4105 use simpler way to get length of an array 2013-04-12 14:22:12 +03:00
jinsuck 88b63143fa Upgrade libcxx from 11-month-ago version to the latest. The new version has memory
leak fixed in the weak_ptr. Note: to make this compile, I made two
 modifications (actually copied from the previous version) --
 system/include/libcxx/__locale line 28 and system/include/libcxx/locale
 line 229.
2013-04-12 14:22:11 +03:00
Todd Lee d161fccc9b added two utility functions to emval.
- check if a given key exists.
 - return length of an array.
2013-04-12 14:22:09 +03:00
Bill Welden 1b9928686e Automatic downcasting of function return values (first cut -- multiple inheritance still not supported). 2013-04-12 14:22:08 +03:00
Bill Welden ae311d2e8d Allow raw pointer return values (requires allow_raw_pointer<ret_val>) 2013-04-12 14:22:04 +03:00
Todd Lee 87b760c334 Add support for std::vector. 2013-04-12 14:22:03 +03:00
Chad Austin 8b7abef9db Returning an empty shared_ptr returns null to JavaScript. Similarly, passing null into a shared_ptr creates an empty shared_ptr. 2013-04-12 14:21:58 +03:00
Bill Welden 338d59e81e More files for upcast/downcast commit. 2013-04-12 14:21:57 +03:00
mey e237bfd79d Removing Functor as a specific type; folding operator call into the class definition. 2013-04-12 14:21:54 +03:00
jinsuck 0d745fa116 1) add a method to run global javascript function on val 2) fix a bug to
return val from interface wrapper
2013-04-12 14:21:53 +03:00
jinsuck 778b8eb983 add a syntactic sugar to for cloning to a shared pointer of interface
wrapper
2013-04-12 14:21:51 +03:00
jinsuck 2c34b6dc6c Allow constructing interface wrapper from existing interface object 2013-04-12 14:21:50 +03:00
mey 01212260c2 Merging. 2013-04-12 14:21:46 +03:00
mey d622aa9cab Exposing std::function to javascript. 2013-04-12 14:21:45 +03:00
Todd Lee 6326240227 This enables passing smart ptr as an element of val. 2013-04-12 14:21:43 +03:00
Llorens Marti Garcia d90ef85c03 Fix on EnumBindingType 2013-04-12 14:21:42 +03:00
Todd Lee 3c5dead674 Add support for std::vector. 2013-04-12 14:21:41 +03:00
Chad Austin 565823a14a Returning an empty shared_ptr returns null to JavaScript. Similarly, passing null into a shared_ptr creates an empty shared_ptr. 2013-04-12 14:21:39 +03:00
Chad Austin 848bdefa4e std::string's WireType::destroy should be free(), not delete. 2013-04-12 14:21:38 +03:00
jinsuck ebbe879255 to get string from emval 2013-04-12 14:21:36 +03:00
Chad Austin 8691fb1726 Allow multiple pointer arguments and allow multiple functions taking the same raw pointer type 2013-04-12 14:21:35 +03:00
Chad Austin 6014feed71 Add support for raw pointers to embind 2013-04-12 14:21:34 +03:00
Chad Austin eb5226e16c Class static methods were downright broken. 2013-04-12 14:21:29 +03:00
Chad Austin 3703d2b5cd Checkpoint work towards exposing call policies for raw pointers. 2013-04-12 14:21:28 +03:00
Chad Austin df6ba03eed Fix several ownership/lifetime bugs in argument wire types 2013-04-12 14:21:22 +03:00
Chad Austin 1c0c7be7aa Some minor generated code size reductions. 2013-04-12 14:21:21 +03:00
Todd Lee f91f1ddf37 removed duplicate code / unnecessary code 2013-04-12 14:21:20 +03:00
Todd Lee d0bf1b0aea Handle shared_ptr correctly.(keep underlying pointer point to the same address)
There was some global variable dependency. These bleed thru tests and affected test result. Adding a way to reset this state.
2013-04-12 14:21:18 +03:00
mey 681ea9fc51 Fixing some tabs and removing some duplication in smart ptr embind. 2013-04-12 14:21:17 +03:00
Chad Austin 60bae3faed Some simplifications and optimizations to smart pointer support 2013-04-12 14:21:15 +03:00
mey db4baa7a70 Exposing std::shared_ptr<T> to javascript. 2013-04-12 14:21:14 +03:00
mey a20c654c1f Supporting returning std::unique_ptr from C++ to javascript. 2013-04-12 14:21:12 +03:00
Arlo Breault b2a132cd66 consistent 2013-04-09 17:58:40 -07:00
Arlo Breault 294bdda3b3 implement setgroups 2013-04-09 17:53:10 -07:00
Alon Zakai eb50cbdde5 Merge pull request #1036 from arlolra/eai
Error codes
2013-04-08 19:25:38 -07:00
Arlo Breault 8e9e1f279b include arpa/inet.h in netinet/in.h 2013-04-08 17:21:42 -07:00
Arlo Breault ecaaf7a499 combine netdb.h 2013-04-08 17:20:08 -07:00
Arlo Breault 166cba0f6b pf_inet6 2013-04-05 09:05:17 -07:00
Arlo Breault 758d18bdbd Error codes. 2013-04-05 08:50:34 -07:00
Éloi Rivard 656bba1da1 * Added glfw headers and testcases. 2013-04-04 11:17:36 +02:00
Alon Zakai 00c2e03551 Merge pull request #1009 from waywardmonkeys/another-libcxx-update
Another libcxx update
2013-04-01 16:01:04 -07:00
Alon Zakai e4fec66245 fix resource.h for C++ usage 2013-03-31 17:39:36 -07:00
Alon Zakai b9d076fda6 headers fix; fixes #1013 2013-03-30 19:46:57 -07:00
Bruce Mitchener 09233ff934 Update symbols. 2013-03-29 16:39:38 +07:00
Bruce Mitchener fe73520cbf Update libcxx to work with emscripten. 2013-03-29 16:37:19 +07:00
Bruce Mitchener aa0108c75e Update to r178253 from March 29, 2013. 2013-03-29 16:19:55 +07:00
Alon Zakai 5cedd415bd Merge pull request #993 from waywardmonkeys/reinstate-attributes
Re-instate _ATTRIBUTE() usages.
2013-03-25 17:36:26 -07:00
Alon Zakai 8fd44ea267 Merge pull request #989 from waywardmonkeys/fix-strtof
Don't infinitely recurse in strtof().
2013-03-25 15:53:31 -07:00
Alon Zakai ad285f60d0 remove symbol removing hack; export all malloc symbols as weak; add test for a case where symbol removing made us not merge llvm constructors properly 2013-03-25 12:58:25 -07:00
Bruce Mitchener 09221ebd18 Get exceptions working as they were before.
This no longer uses headers from libcxxabi and
in fact uses libcxxabi a bit less than before.

This no longer lets some new C++11 stuff such as
exception_ptr work as the support for that relies
upon libcxxabi code.
2013-03-25 14:14:22 +07:00
Bruce Mitchener 90338c69f7 Get things working with the new libcxx / libcxxabi. 2013-03-25 00:34:11 +07:00
Bruce Mitchener 85879d9d47 Remove unused makefiles. 2013-03-25 00:34:11 +07:00
Bruce Mitchener 9e185cfabd update libcxxabi. 2013-03-25 00:34:11 +07:00
Bruce Mitchener 59ff5a6a3c Update to current libcxx.
This doesn't work yet as it needs to be customized for use with
emscripten still.
2013-03-25 00:34:11 +07:00
Bruce Mitchener bc2c6ba215 Re-instate _ATTRIBUTE() usages.
These were broken because the definition of _ATTRIBUTE() from
libcxx was different, so change the libc definition and usage
to match.

Fixes issue #992.
2013-03-23 12:46:34 +07:00
Bruce Mitchener ba50e35b5c Don't infinitely recurse in strtof(). 2013-03-22 15:57:03 +07:00
Bruce Mitchener 795a334b3b Replace broken _CTYPE_* definitions with correct.
These aren't currently used, but are used in the updated libcxx
port.

Fixes issues #939.
2013-03-19 23:08:15 +07:00
Ehsan Akhgari 38a151b96c Replace OpenAL headers with our own 2013-03-15 11:53:17 -07:00
Ehsan Akhgari 46e1c03ff0 Add OpenAL headers 2013-03-15 11:53:15 -07:00
Alon Zakai 645fcab6d3 Merge pull request #942 from waywardmonkeys/fix-typeof-decls
Use less generic names for variables.
2013-03-12 18:31:31 -07:00
Bruce Mitchener b7fd3b22de Use less generic names for variables.
These are generic enough that in libcxx, they get expanded into
functions which also have variables named the same thing (__x, __y)
and that then leads to a buggy libcxx.
2013-03-12 10:21:02 +07:00
Bruce Mitchener 8204d4ce68 Add missing iso646.h 2013-03-08 15:36:37 +07:00
Xuejie "Rafael" Xiao d4c9620fb5 Move strtod, strtold, strtof, strtod_l, strtold_l, atof from JS side to libc side, this can fix double precision bug in original strtod implementation. 2013-03-06 23:59:11 -05:00
manuels 6efef45cbf Add support for getopt/getopt_long 2013-03-05 22:05:11 +01:00
Alon Zakai 5f35f00af3 Merge pull request #908 from waywardmonkeys/fix-typos
Fix typos.
2013-03-05 12:42:19 -08:00