Anonymous Maarten
Anonymous Maarten
I've installed StrawberryPerl on my system. @jeff-1amstudios Can we make the Perl dependency optional, add pre-generated files to the repo, and let cmake automatically regenerate when the source changes?
That's a legitimate bug. This needs a `va_start` and `va_end` before and after the call. Our BRender fork is getting a major update ATM, so perhaps this has already been...
> I haven't decided this yet. My 2c is if cake does not create the file passed through `-o xxxx.c`, then cake failed and should return a non-zero code. >...
Thanks for the suggestion! I can still reproduce the error by using this source: ```c static_assert(sizeof(unsigned char) == 1, "sizeof(unsigned char) == 1"); ``` by running: ``` cake -target=x86_x64_gcc /tmp/simple.c...
> I think this a a problem related with [#341](https://github.com/thradams/cake/issues/341). > > Please update, and try again with Cake 0.12.36 Yup! That gets rid of the `static_assert` errors. Thank you...
I forgot to add this macro from **/usr/include/cdefs.h**: ```c /* Since version 3.2, gcc allows marking deprecated functions. */ #if __GNUC_PREREQ (3,2) || __glibc_has_attribute (__deprecated__) # define __attribute_deprecated__ __attribute__ ((__deprecated__))...
[Here is a reproducer](http://cakecc.org/playground.html?code=IyBkZWZpbmUgX19USFJPVwovKiBUeXBlIG9mIGEgc2lnbmFsIGhhbmRsZXIuICAqLwp0eXBlZGVmIHZvaWQgKCpfX3NpZ2hhbmRsZXJfdCkgKGludCk7CgovKiBTaW5jZSB2ZXJzaW9uIDMuMiwgZ2NjIGFsbG93cyBtYXJraW5nIGRlcHJlY2F0ZWQgZnVuY3Rpb25zLiAgKi8KI2lmIF9fR05VQ19QUkVSRVEgKDMsMikgfHwgX19nbGliY19oYXNfYXR0cmlidXRlIChfX2RlcHJlY2F0ZWRfXykKIyBkZWZpbmUgX19hdHRyaWJ1dGVfZGVwcmVjYXRlZF9fIF9fYXR0cmlidXRlX18gKChfX2RlcHJlY2F0ZWRfXykpCiNlbHNlCiMgZGVmaW5lIF9fYXR0cmlidXRlX2RlcHJlY2F0ZWRfXyAvKiBJZ25vcmUgKi8KI2VuZGlmCgovKiBTaW5jZSB2ZXJzaW9uIDQuNSwgZ2NjIGFsc28gYWxsb3dzIG9uZSB0byBzcGVjaWZ5IHRoZSBtZXNzYWdlIHByaW50ZWQKICAgd2hlbiBhIGRlcHJlY2F0ZWQgZnVuY3Rpb24gaXMgdXNlZC4gIGNsYW5nIGNsYWltcyB0byBiZSBnY2MgNC4yLCBidXQKICAgbWF5IGFsc28gc3VwcG9ydCB0aGlzIGZlYXR1cmUuICAqLwojaWYgX19HTlVDX1BSRVJFUSAoNCw1KSBcCiAgICB8fCBfX2dsaWJjX2hhc19leHRlbnNpb24gKF9fYXR0cmlidXRlX2RlcHJlY2F0ZWRfd2l0aF9tZXNzYWdlX18pCiMgZGVmaW5lIF9fYXR0cmlidXRlX2RlcHJlY2F0ZWRfbXNnX18obXNnKSBcCiAgICAgICAgIF9fYXR0cmlidXRlX18gKChfX2RlcHJlY2F0ZWRfXyAobXNnKSkpCiNlbHNlCiMgZGVmaW5lIF9fYXR0cmlidXRlX2RlcHJlY2F0ZWRfbXNnX18obXNnKSBfX2F0dHJpYnV0ZV9kZXByZWNhdGVkX18KI2VuZGlmCgovKiBTZXQgdGhlIGRpc3Bvc2l0aW9uIG9mIFNJRyB0byBTSUdfSUdOLiAgKi8KZXh0ZXJuIGludCBzaWdpZ25vcmUgKGludCBfX3NpZykgX19USFJPVwogIF9fYXR0cmlidXRlX2RlcHJlY2F0ZWRfbXNnX18gKCJVc2UgdGhlIHNpZ25hbCBmdW5jdGlvbiBpbnN0ZWFkIik7CgovKiBTZXQgdGhlIGRpc3Bvc2l0aW9uIG9mIFNJRy4gICovCmV4dGVybiBfX3NpZ2hhbmRsZXJfdCBzaWdzZXQgKGludCBfX3NpZywgX19zaWdoYW5kbGVyX3QgX19kaXNwKSBfX1RIUk9XCiAgX19hdHRyaWJ1dGVfZGVwcmVjYXRlZF9tc2dfXyAKICAoIlVzZSB0aGUgc2lnbmFsIGFuZCBzaWdwcm9jbWFzayBmdW5jdGlvbnMgaW5zdGVhZCIpOwojZW5kaWYK&to=-2&options=) on your online playground It can be fixed by removing the newline between `__attribute_deprecated_msg__` and `("Use the signal and sigprocmask functions instead");`.
Btw, I'm currently just trying out the viability of using cake to support older toolchains by first building SDL in c89 mode for my host machine.
You're right. [This works locally](http://cakecc.org/playground.html?code=CiMgZGVmaW5lIF9fVEhST1cKCiNpZmRlZiBfX2hhc19leHRlbnNpb24KIyBkZWZpbmUgX19nbGliY19oYXNfZXh0ZW5zaW9uKGV4dCkgX19oYXNfZXh0ZW5zaW9uIChleHQpCiNlbHNlCiMgZGVmaW5lIF9fZ2xpYmNfaGFzX2V4dGVuc2lvbihleHQpIDAKI2VuZGlmCgojaWYgKGRlZmluZWQgX19oYXNfYXR0cmlidXRlIFwKICAgICAmJiAoIWRlZmluZWQgX19jbGFuZ19taW5vcl9fIFwKICAgICAgICAgfHwgMyA8IF9fY2xhbmdfbWFqb3JfXyArICg1IDw9IF9fY2xhbmdfbWlub3JfXykpKQojIGRlZmluZSBfX2dsaWJjX2hhc19hdHRyaWJ1dGUoYXR0cikgX19oYXNfYXR0cmlidXRlIChhdHRyKQojZWxzZQojIGRlZmluZSBfX2dsaWJjX2hhc19hdHRyaWJ1dGUoYXR0cikgMAojZW5kaWYKCi8qIENvbnZlbmllbmNlIG1hY3JvIHRvIHRlc3QgdGhlIHZlcnNpb24gb2YgZ2NjLgogICBVc2UgbGlrZSB0aGlzOgogICAjaWYgX19HTlVDX1BSRVJFUSAoMiw4KQogICAuLi4gY29kZSByZXF1aXJpbmcgZ2NjIDIuOCBvciBsYXRlciAuLi4KICAgI2VuZGlmCiAgIE5vdGU6IG9ubHkgd29ya3MgZm9yIEdDQyAyLjAgYW5kIGxhdGVyLCBiZWNhdXNlIF9fR05VQ19NSU5PUl9fIHdhcwogICBhZGRlZCBpbiAyLjAuICAqLwojaWYgZGVmaW5lZCBfX0dOVUNfXyAmJiBkZWZpbmVkIF9fR05VQ19NSU5PUl9fCiMgZGVmaW5lIF9fR05VQ19QUkVSRVEobWFqLCBtaW4pIFwKICAgICAgICAoKF9fR05VQ19fIDw8IDE2KSArIF9fR05VQ19NSU5PUl9fID49ICgobWFqKSA8PCAxNikgKyAobWluKSkKI2Vsc2UKIyBkZWZpbmUgX19HTlVDX1BSRVJFUShtYWosIG1pbikgMAojZW5kaWYKCi8qIFR5cGUgb2YgYSBzaWduYWwgaGFuZGxlci4gICovCnR5cGVkZWYgdm9pZCAoKl9fc2lnaGFuZGxlcl90KSAoaW50KTsKCi8qIFNpbmNlIHZlcnNpb24gMy4yLCBnY2MgYWxsb3dzIG1hcmtpbmcgZGVwcmVjYXRlZCBmdW5jdGlvbnMuICAqLwojaWYgX19HTlVDX1BSRVJFUSAoMywyKSB8fCBfX2dsaWJjX2hhc19hdHRyaWJ1dGUgKF9fZGVwcmVjYXRlZF9fKQojIGRlZmluZSBfX2F0dHJpYnV0ZV9kZXByZWNhdGVkX18gX19hdHRyaWJ1dGVfXyAoKF9fZGVwcmVjYXRlZF9fKSkKI2Vsc2UKIyBkZWZpbmUgX19hdHRyaWJ1dGVfZGVwcmVjYXRlZF9fIC8qIElnbm9yZSAqLwojZW5kaWYKCi8qIFNpbmNlIHZlcnNpb24gNC41LCBnY2MgYWxzbyBhbGxvd3Mgb25lIHRvIHNwZWNpZnkgdGhlIG1lc3NhZ2UgcHJpbnRlZAogICB3aGVuIGEgZGVwcmVjYXRlZCBmdW5jdGlvbiBpcyB1c2VkLiAgY2xhbmcgY2xhaW1zIHRvIGJlIGdjYyA0LjIsIGJ1dAogICBtYXkgYWxzbyBzdXBwb3J0IHRoaXMgZmVhdHVyZS4gICovCiNpZiBfX0dOVUNfUFJFUkVRICg0LDUpIFwKICAgIHx8IF9fZ2xpYmNfaGFzX2V4dGVuc2lvbiAoX19hdHRyaWJ1dGVfZGVwcmVjYXRlZF93aXRoX21lc3NhZ2VfXykKIyBkZWZpbmUgX19hdHRyaWJ1dGVfZGVwcmVjYXRlZF9tc2dfXyhtc2cpIFwKICAgICAgICAgX19hdHRyaWJ1dGVfXyAoKF9fZGVwcmVjYXRlZF9fIChtc2cpKSkKI2Vsc2UKIyBkZWZpbmUgX19hdHRyaWJ1dGVfZGVwcmVjYXRlZF9tc2dfXyhtc2cpIF9fYXR0cmlidXRlX2RlcHJlY2F0ZWRfXwojZW5kaWYKCi8qIFNldCB0aGUgZGlzcG9zaXRpb24gb2YgU0lHIHRvIFNJR19JR04uICAqLwpleHRlcm4gaW50IHNpZ2lnbm9yZSAoaW50IF9fc2lnKSBfX1RIUk9XCiAgX19hdHRyaWJ1dGVfZGVwcmVjYXRlZF9tc2dfXyAoIlVzZSB0aGUgc2lnbmFsIGZ1bmN0aW9uIGluc3RlYWQiKTsKCi8qIFNldCB0aGUgZGlzcG9zaXRpb24gb2YgU0lHLiAgKi8KZXh0ZXJuIF9fc2lnaGFuZGxlcl90IHNpZ3NldCAoaW50IF9fc2lnLCBfX3NpZ2hhbmRsZXJfdCBfX2Rpc3ApIF9fVEhST1cKICBfX2F0dHJpYnV0ZV9kZXByZWNhdGVkX21zZ19fIAogICgiVXNlIHRoZSBzaWduYWwgYW5kIHNpZ3Byb2NtYXNrIGZ1bmN0aW9ucyBpbnN0ZWFkIik7Cgo%3D&to=-2&options=). All right: Source: ```c # define __THROW #ifdef __has_extension # define __glibc_has_extension(ext) __has_extension (ext) #else # define __glibc_has_extension(ext) 0 #endif #if (defined __has_attribute \ &&...
Indeed, moving `__attribute__` into a macro, and spreading it over multiple lines causes an issue. [I reduced the sample a bit](http://cakecc.org/playground.html?code=I2RlZmluZSBERVBSRUNBVEVEKFMpIF9fYXR0cmlidXRlX18gKChfX2RlcHJlY2F0ZWRfXyAoUykpKQoKZXh0ZXJuIHZvaWQgc29tZV9mdW5jdGlvbih2b2lkKQogIERFUFJFQ0FURUQKICAoIlRoaXMuIERvIG5vdCB1c2UuIC0teW9kYSIpOwogIAo%3D&to=-2&options=)