Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
what is best in optimizer pipeline
value numbering
code motion
peepholing
loop idiom recognition
legalization
thread gassing
op banning
View Results
 
  • Locked thread
The Management
Jan 2, 2010

sup, bitch?
mods please change thread title to "language lawyers: the standard says I can format your hard drive"

Adbot
ADBOT LOVES YOU

The Management
Jan 2, 2010

sup, bitch?

Phobeste posted:

how long before the embedded world gets first class cortex m-4 and subsequent support for building from llvm. also how long until i can stop having to loving compile cross compilers. these questions are probably linked

if by first class you mean broken every other day then m4 is fully supported.

what's the alternative to compiling cross compilers? you just want to download a binary that builds for EVERYTHING?

The Management
Jan 2, 2010

sup, bitch?
hey, how about we make a c compiler that doesn't need declarations of local functions before use because it's not the 70's anymore?

no, I don't care about the standard.

The Management
Jan 2, 2010

sup, bitch?

rjmccall posted:

apple's arm32 abi is pretty terrible, mostly around floating-point arguments. the calling convention clearly predates the idea that arm processors might drive general-purpose computation and/or actually have a floating-point unit; it's basically an all-arguments-on-stack convention that pops the first 16 bytes into integer registers, which means e.g. an early double will get passed as two ints. also the arm bitfield layout rules are needlessly different from the standard sysv rules

AEABI was out before we shipped the Aspen OS 2 (with the App Store) and it fixes most of the stupid things in the old ABI, including passing floating point arguments in FPU registers. iPod engineering switched to it because they were using ARM's compiler. iPhoneOS didn't because they were stuck with lovely gcc.

The Management
Jan 2, 2010

sup, bitch?

you go to hell

The Management
Jan 2, 2010

sup, bitch?

Notorious b.s.d. posted:

the watch has its own abi ?

(as a related matter: does the touchbar run the same OS as the watch?)

what do you mean when you say "the same OS"?

The Management
Jan 2, 2010

sup, bitch?

Notorious b.s.d. posted:

well it didn't dawn on me until you guys brought it up that they would be anything but ios

since you are using a non-ios 32 bit abi, does that mean the whole system is 32 bit? is there a 32 bit kernel shared between watchos and ... whatever runs on the touchbar embedded thing?

the definition of what is "iOS" is not exactly clean cut.

it runs a Darwin OS (kernel plus system libraries), which is the same on everything from watch to phone to Mac. it has some kind of UI framework that is probably based on UIKit but who knows how they cut it down. since it doesn't run third party apps I don't see why it matters what the ABI is, they chose the best one for the architecture.

The Management
Jan 2, 2010

sup, bitch?

I.e., you were writing a non trivial program

The Management
Jan 2, 2010

sup, bitch?
that sounds like an os bug to me

The Management
Jan 2, 2010

sup, bitch?
do I know anyone stupid enough to run the linker as root 🤔

The Management
Jan 2, 2010

sup, bitch?
let me rephrase that. I know a lot of idiots running compilers and linkers as root

The Management
Jan 2, 2010

sup, bitch?

Spatial posted:

one of those classic coding moments where my entire day's work was changing one character for a thousand times performance improvement. :v:

more like one of those moments when you realize why C++ is a terrible language

The Management
Jan 2, 2010

sup, bitch?
java doesn't force me to declare a function that is in the same file if I use it before it's defined. it's time c[++] compilers caught up to this amazing 1995-era technology.

The Management
Jan 2, 2010

sup, bitch?

Silver Alicorn posted:

c/++ are supposed to compile down to asm in a very direct manner. if you want higher level functionality, you need to look elsewhere

I don't need to declare my labels in assembly before branching to them either

The Management
Jan 2, 2010

sup, bitch?

Spatial posted:

*reparses the same header for the 22,452nd time*

*writes the same header inclusion guard boilerplate for the 1,000th time*

The Management
Jan 2, 2010

sup, bitch?
on the other hand, Ive been stuck with gcc for the last month and I forgot how bad it is. clang is so good.

The Management
Jan 2, 2010

sup, bitch?

Silver Alicorn posted:

again, totally not the use case for C (operating systems, low level programs and embedded code too big for assembly)

use java or Visual Basic or whateverthefuck

my job is writing low level embedded code. I use c. declaring and maintaining static function declarations is a waste of my loving time.

The Management
Jan 2, 2010

sup, bitch?

Powaqoatse posted:

write a script that slurps them into a header file that you include lol

now I have two problems

The Management
Jan 2, 2010

sup, bitch?

rjmccall posted:

the type of an undeclared function is defined by the language standard, not the compiler, and it can never be changed because the old terrible code that uses it is the sort of old terrible code that would rely on it

honestly i would not even want to improve the signature "guess" if we could because it would just make people think that it was at all acceptable to use the feature

clang -Wall --i-am-never-calling-undeclared-functions --seriously-my-code-isnt-from-the-80s --go-ahead-and-find-my-static-defines foo.c

The Management
Jan 2, 2010

sup, bitch?

JawnV6 posted:

what's the worst overloading on a single word

i bet it's 'weak' is it weak

weak is pretty bad

The Management
Jan 2, 2010

sup, bitch?

Cocoa Crispies posted:

it's #pragma once now

in all my personal projects, definitely. but it's not portable and you can't always use it, which, in the fine C tradition, means we must revert to the lowest common denominator.

Adbot
ADBOT LOVES YOU

The Management
Jan 2, 2010

sup, bitch?

Plorkyeran posted:

it's portable to every compiler that actually exists. even tcc supports it.

agreed. let me post this to the mailing list of a few thousand developers and see how that turns out

  • Locked thread